اشتراکها
احتمالا همیشه برای شما سؤال بوده است که مجوزهای گوناگون سورس باز با هم چه فرقی دارند، یا اینکه اگر روزی خواستم پروژهی خود را به صورت سورس باز ارائه کنم، کدامیک از مجوزهای موجود مناسبتر است و همچنین وقت مطالعه مقالات طولانی یا کتابهایی چند صد صفحهای در این مورد را نداشتهاید.
جدول زیر کار مقایسه این مجوزها (موارد رایجتر) را به صورت مختصر و مفید و بر اساس سؤالات رایج کاربران، انجام میدهد:
نام مجوز | آیا به کار مشتق شده از پروژه اصلی، میتوانم نامی دیگر بدهم؟ | آیا باید حتما کار مشتق شده سورس باز باقی بماند؟ | آیا میتوانم برای کار مشتق شده مجوزی جدید انتخاب کنم؟ | آیا میتوانم کار مشتق شده را بفروشم و کسب درآمد کنم؟ |
Apache License 2.0 | بله | خیر | بله | بله |
Common Development and Distribution License (CDDL) | بله | خیر | بله (به مجوزهای سازگار دیگری از همین دست) | بله |
GNU General Public License 2.0 (GPLv2) | بله، اما حتما باید لیست تغییرات انجام شده نسبت به پروژه اصلی را نیز ارائه بدهید. | بله | بله (به مجوزهای سازگار دیگری از همین دست یا توافق با نویسنده اصلی) | بله |
GNU Library General Public License (LGPL) | بله | بله، اما امکان استفاده از کتابخانههای کامپایل شده یک پروژه سورس باز تحت این مجوز در یک پروژه سورس بسته نیز وجود دارد. | بله (به مجوزهای سازگار دیگری از همین دست) | بله |
Microsoft Public License (Ms-PL) | بله، اما نمیتوانید از علامت تجاری خود استفاده کنید. | خیر | خیر | بله |
Microsoft Reciprocal License (Ms-RL) | بله، اما نمیتوانید از علامت تجاری خود استفاده کنید. | بله | خیر | بله |
Mozilla Public License 1.1 (MPL) | بله | خیر | خیر | بله |
BSD License | بله | خیر | بله | بله |
MIT License | بله | خیر | بله | بله |
همچنین لازم به ذکر است که
مجوزهای کار اصلی و کار مشتق شده هر دو باید ذکر شوند.
پسندیده است که از نویسندگان کار اصلی، نامبرده شده و قدردانی گردد.
هیچکدام از این مجوزها مسؤولیتی را در قبال کار انجام شده نمیپذیرند!
جهت مطالعه بیشتر:
http://khason.net/blog/open-source-licenses-comparison-table/
http://developer.kde.org/documentation/licensing/licenses_summary.html
http://en.wikipedia.org/wiki/Comparison_of_free_software_licences
اشتراکها
مقایسهای بین Xamarin.Forms و MAUI
Xamarin.Forms vs MAUI
| Xamarin.Forms | MAUI |
---|---|---|
Platforms | | |
Android | API 19+ | API 21+ |
iOS | 9-14 | 10+ |
Linux | Community | Community |
macOS | Community | Microsoft |
Tizen | Samsung | Samsung |
Windows | UWP Microsoft WPF Community | Microsoft |
Features | | |
Renderers | Tightly coupled to BindableObject | Loosely coupled, no Core dependencies |
App Models | MVVM, RxUI | MVVM, RxUI, MVU, Blazor |
Single Project | No | Yes |
Multi-targeting | No | Yes |
Multi-window | No | Yes |
Misc | | |
.NET | Xamarin.iOS, Xamarin.Android, Mono, .NET Framework, ... | .NET 6+ |
Acquisition | NuGet & Visual Studio Installer | dotnet |
Project System | Franken-proj | SDK Style |
dotnet CLI | No | Yes |
Tools | | |
Visual Studio 2019 | Yes | Yes |
Visual Studio 2019 for Mac | Yes | Yes |
Visual Studio Code | No | Yes |
اشتراکها
NET Core 2.0. منتشر شد
.NET Core 2.0 is available today as a final release. You can start developing with it at the command line, in your favorite text editor, in Visual Studio 2017 15.3, Visual Studio Code or Visual Studio for Mac. It is ready for production workloads, on your own hardware or your favorite cloud, like Microsoft Azure.
Download Link: ISO File
Visual Studio Team Foundation Server 2013 is the source-code-control, project-management, and team-collaboration platform at the core of the Microsoft suite of Application Lifecycle Management (ALM) tools, which help teams be more agile, collaborate more effectively, and deliver quality software more consistently.
اشتراکها
سری آموزشی مقدمات Typescript
سایت ExtensionMethod.NET بانک اطلاعاتی است از قابلیتی تحت عنوان extension methods معرفی شده در C# 3.0 و Visual Basic 2008 . هدف اصلی از extension methods ، بسط کلاسهای دات نت فریم ورک توسط جامعهی برنامه نویسها میباشد.
مثلا در کلاس پایه string ، متدی به نام Right وجود ندارد. برای اضافه کردن آن میتوان به صورت زیر عمل کرد:
public static string Right(this string s, int length)
{
length = Math.Max(length, 0);
if (s.Length > length)
{
return s.Substring(s.Length - length, length);
}
else
{
return s;
}
}
و پس از آن هم استفاده از این متد که کلاس پایه string را بسط داده است به شکل زیر خواهد بود (همانند یکی از متدهای کلاس string میتوان از آن استفاده کرد):
string s = "abcde";
s = s.Right(3); //s becomes "cde"
برای پیگیری سایت هم میتوان از فید آن استفاده نمود.