دات نت کور یا NET Core. چیست؟ [مقایسه سایر پلتفرمهای NET. با دات نت کور]
در سال ۲۰۱۴ شرکت مایکروسافت از Net core. رونمایی کرد. سال ۲۰۱۶ نیز از Net core framework. به جای نسخه ی پنجم Net farmework. معرفی شد. در این مقاله در مورد net core. چیست و ویژگی های دات نت کر و بخش های مختلف دات نت کور صحبت می کنیم.
net core. چیست ؟
در پاسخ به دات نت کور یا NET Core. چیست بایستی گفت Net Core. پلتفرمی است چند منظوره برای توسعه و برنامه نویسی (development) که توسط مایکروسافت و اجتماع Net. در GitHub تهیه و بست داده شده است. چارچوب دات نت کر کاملا cross-platform طراحی شده به شکلی که در ویندوز، لینوکس و مک قابل استفاده بوده است. همچنین برای دستگاهای مختلف، فضاهای ابری و سناریوهای مرتبط با اینترنت اشیاء کاربرد دارد. حتی می توانید با خرید هاست ویندوز حرفه ای نیز از آن استفاده نمایید.
ویژگی های اصلی دات نت کور چیست ؟
- انعطاف پذیری در استفاده: می تواند به صورت یک افزونه در اپلیکیشن مورد نظر شما قابل استفاده شود و یا اینکه به صورت کاملا مجزا و با کاربری های مختلف در سرویس شما نصب گردد.
- قابلیت چند سکویی (Cross-Platform): قابلیت نصب بر روی ویندوز، لینکوس و macOS؛ امکان پورت کردن به سایر OSها. با توجه به برنامه های مایکروسافت و دیگر کمپانی ها و طراحان و توسعه دهندگان دخیل، پشتیبانی از سایر سیستم عاملها، CPUها و اپلیکیشن ها با گذر زمان رشد و بهبود خواهد یافت.
- ابزارهای Command-line: تمامی محصولات مشتق شده از سناریوهای مختلف قابل استفاده و ویرایش و اجرا به صورت خط فرمان هستند.
- سازگاری: به لطف استفاده از کتابخانه استاندارد Net ،.Net Core. توانایی سازگاری با Net Framework ، .Xamarin. و Mono را داراست.
- متن باز بودن (Open source): پلتفرم Net Core. کاملا متن باز بوده و از لایسنسهای MIT و Apache 2 استفاده می کند.
حال که با مفهوم و ویژگی net core. چیست آشنا شدید در امتداد مقاله به بررسی چارچوب آن می پردازیم.
چارچوب دات نت کور
منظور از بخش های مختلف دات نت کور چیست ؟
- Net runtime. ، که مجموعه ای از سرویس های پایه همانند type system ، assembly loading ، garbage collector ، native interop و … را ارائه می دهد.
- مجموعه ای از کتابخانه های فرم ورک؛ که گونه های ابتدایی دیتا، انواع ساختار اپلیکیشن و ابزارهای بنیادی کاربردی را شامل می شود.
- مجموعه ای از ابزارهای SDK و کامپایلرها که محیط پایه برای توسعه دهنده که در .Net Core SDk ارائه شده است را فعال می کنند.
- Dotnet app host ، که برای اجرای اپلیکیشنهای .Net Core استفاده می شود. وظیفه آن انتخاب runtime و میزبانی آن ، ارائه سیاستهای assembly loading و اجرای اپلیکیشن است. همچنین از همان “میزبان” برای اجرای ابزارهای SDK با روشی مشابه استفاده می شود.
منظور از زبانهای پشتیبانی شده net core. چیست ؟
برای نوشتن اپلیکیشنها و کتابخانه ها برای Net Core. می توان از زبانهای C# ، F# و VB استفاده کرد. بیشتر درباره اینکه زبان برنامه نویسی ویژوال بیسیک صحبت کرده ایم و تفاوت میان c# و VB را گفته ایم.
از آنجاکه کامپایلرها با Net Core. اجرا می شوند، این امکان را فراهم می آورد که در هرجایی که خود Net Core. امکان اجرا داشته باشد بتوانید به طراحی و توسعه بپردازید. به این معنا که؛ از کامپایلرها به صورت مستقیم استفاده نخواهید کرد، بلکه به صورت غیر مستقیم و با استفاده از ابزارهای SDK از آنها بهره خواهید برد.
از آنجاکه کامپایلر C# Roslyn و ابزارهای Net Core. این توانایی را دارند که با ویرایشگرهای متنی (Text editors) و IDEهای مختلفی از جمله Visual Studio ، Visual Studio Code ، Sublime Text و Vim تلفیق و یکپارچه شوند، دات نت کور را تبدیل به بستری مناسب برای توسعه دهندگان کرده است تا کدنویسی مورد نظر خود را در محیط و سیستم عامل مورد علاقه خود به انجام برسانند.
رابطهای برنامه نویسی (API) .NET و نحوه سازگاری آنها
در لایه BCL (.NET Framework Base Class Libraries) می توان به NET Core. به عنوان نسخه ایی چند سکویی از NET Framework. نگاه کرد، در جایی که شاخصه های کتابخانه استاندارد دات نت را اجرا و پیاده سازی می کند. NET Core. زیر مجموعه هایی از APIهایی که در NET Framework. یا در Mono/Xamarian وجود دارد را ارائه می دهد. البته در بعضی از موارد پیاده سازی به صورت کامل انجام نشده است.
نحوه تعامل با کتابخانه استاندارد NET.
.NET Standard Library یک دستورالعمل “رابط برنامه نویسی” است که مجموعه ی به هم پیوسته ی APIهای دات نتی که در هر بار اجرا و پیاده سازی.NET -توسط توسعه دهنده- انتظار می رود را شرح می دهد. از آنجاکه پیاده سازی های دات نتی نیاز دارند که به عنوان تابعی از کتابخانه استاندارد .NET شناخته شوند باید این دستورالعمل را اجرا کنند تا نهایتا بتوانند کتابخانه هایی را که .NET Standard Library هدف قرار می دهد را، پشتیبانی کنند.
اختصاراً، دات نت کور کتابخانه استاندارد دات نت را اجرا کرده، فلذا کتابخانه های استاندارد دات نت را می تواند پشتیبانی کند.
بارهای کاری جدید
به خودی خود، NET Core. شامل اپلیکیشن مدل مجزا و منفرد است که برای ابزارهای مختلف، سرویسهای لوکالی و بازیهای مبتنی بر متن کاربردی می باشد. اپلیکیشن مدلهای دیگر نیز بر روی NET Core. توسعه یافتند تا توانایی و اثربخشی آن را افزایش دهند. از آن جمله می توان به این موارد اشاره کرد:
- ASP .NET Core
- Windows 10 Universal Windows Platform (UWP)
- Forms
تفاوت سایر پلتفرمهای NET. با NET Core. چیست ؟
xamarin چیست؟
زامارین چیست؟ Xamarin یک بستر منبع باز برای ساخت برنامه های کاربردی مدرن و اجرایی برای iOS ، Android و ویندوز با است. … این الگوی اجازه می دهد تا توسعه دهندگان تمام منطق کسب و کار خود را به یک زبان واحد بنویسند (یا استفاده مجدد از کد برنامه های موجود) اما به عملکرد بومی در هر سیستم عامل دست پیدا کنند.
تفاوت NET Framework. با NET Core. چیست ؟
در مقایسه و تفاوت .net core و .net framework بایستی گفت پلتفرم .NET اولین بار در سال ۲۰۰۰ معرفی شد و در گذر زمان دستخوش دگرگونی های بسیاری شد، که .NET Framework را می توان محصول اصلی این دگردیسی دانست.
- App-model : .NET Core تمام اپلیکیشن مدلهای تحت .NET Framework را پشتیبانی نمی کند،به این دلیل که اکثر آنها با تکنولوژی هایه ویندوزی همانند WPF (ساخته شده بر روی DirectX) ساخته و توسعه داده شده اند. اپلیکیشن مدلهای کنسول و ASP .NET توسط هر دو پلتفرم پشتیبانی می شوند.
- APIs : .NET Core رابطهای برنامه نویسی بسیاری را که توسط .NET Framework پشتیبانی می شود را شامل می شود اما در مجموع این تعداد کمتر بوده و همچنین در فاکتورهای خاصی نیز متفاوت می باشند. در حال حاضر موارد باقی مانده نیاز به یک سری تغییرات ریشه ای دارند تا امکان پورت شدن به .NET Core را داشته باشند. .NET Core API کتابخانه استاندارد دات نت را اجرا می کند، و همانطور که گفته شد به مرور رشد و توسعه یافته و تعداد بیشتری از کتابخانه های پایه API دات نت فرم ورک را شامل خواهد شد.
- Subsystems : به منظور ساده کردن پروسه بارگذاری و اجرا و همچنین سهولت در مدل برنامه نویسی، .NET Core به شکلی طراحی شده است که زیرمجموعه ای از زیرسیستمها را اجرا کند. به عنوان مثال؛ از طرفی Code Access Security (CAS) پشتیبانی نشده اما قابلیت reflection پشتیبانی می شود.
- Platforms : دات نت فرم ورک تنها ویندوز و ویندوز سرور را پشتیبانی نموده در صورتیکه، .NET Core در macOS و Linux نیز قابل استفاده است.
- Open source : .NET Core کاملا متن باز بوده در حالیکه بخش بسیار کوچکی از زیر مجموعه های دات نت فرم ورک متن باز هستند.
تفاوت Mono با NET Core. چیست ؟
Mono مشتق اصلی مجموعه .NET بوده که قابلیتهای چند سکویی و متن باز بودن را دارا بوده است و اولین بار در سال ۲۰۰۴ ارائه شد، که میتوان به آن به عنوان عضو اجتماعی تر شده .NET Framework نگریست. تفاوتها اصلی آن با .NET Core به شرح ذیل است :
- App-models : Mono مجموعه ای از زیردسته های اپلیکیشن مدل دات نت فرم ورک (به عنوان مثال؛ Windows Form) و همچنین تعدادی مضاف بر آن (به عنوان مثال؛ iOS) را از طریق Xamarin پشتیبانی می کند. .NET Core این موارد را پشتیبانی نمی کند.
- APIs : Mono مجموعه گسترده ای از زیر دسته های رابطهای نرم افزاری دات نت فرم ورک را با استفاده از همان فاکتورها و نامهای اسمبلی ساپورت می کند.
- هدف گذاری : در سالهای اخیر هدف اصلی Mono پلتفرم موبایل بوده است در صورتیکه جهت گیری .NET Core بر روی فضای ابری می باشد.
چه زمانی NET Core را استفاده کنیم؟
۱. زمانی که معماری میکروسرویس داریم، این نوع معماری ترکیبی از تکنولوژی ها را به ما ارائه می دهد. به عنوان مثال این قابلیت وجو دارد که سرویس های خود را با Java، Ruby یا سایر تکنولوژی ها ترکیب کنید.
۲. NET Core و ASP .NET Core برای زمانی که نیاز به مقیاس پذیری و بهترین عملکرد داریم گزینه ی بسیار مناسبی است زیرا در زمان اجرای سرور برای ویندوز سرور و لینوکس عملکرد اجرا بالا است.
۳. زمانی که نیاز داریم چند نسخه در کنار هم داشته باشیم، NET Core نصب نسخه های مختلف در کنار هم را برای شما امکان پذیر می کند و این امکان باعث صرفه جویی در هزینه ی بروزرسانی می شود.
ویژگیهای هاست مناسب asp.net core
پشتیبانی از نسخههای ASP.NET شرط اساسی در انتخاب هاست:
یکی از ویژگیهای اصلی که در انتخاب هاست asp.net core باید به آن توجه کنیدپشتیبانی از نسخههای مختلف آن است. نسخههای ۱ و ۲ و ۳ دات نت کور، هر کدام ویژگیهای خاصی دارند که شما باید با توجه به نیاز وب سایت و چارچوب خود، یکی از آنها را انتخاب نمایید.
استفاده از آخریبن نسخه Microsoft SQL Server:
در کنار ASP.NET استفاده از آخرین نسخه MSSQL یک مورد ضروری است تا همه ویژگیهای دیتابیس را جهت طراحی و ساخت وب سایتهای پویا (Dynamic)، پشتیبانی کند. ورژنهای جدیدتر، سازگاری خیلی مناسبتری با برنامه نویسی دات نت کور دارند. همچنین فعال بودن ویژگیهای Reporting و دیگر موارد، برای شما مزیت به حساب میآید.
کاربری آسان پنل هاست:
کنترل پنل مورد استفاده در سرویس شما، باید کاربری آسان و راحتی داشته باشد. با چند کلیک ساده بتوانید وبسایت ساخته و تغییر نسخهها را اعمال کنید. همچنین رابط کاربری و گرافیک مناسب هم جزء مزیتها به حساب میآید. همچنین شما باید اطمینان حاصل کنید که سرویس دهنده هاست شما میتواند نیاز شما را برطرف سازد یا خیر. میزان منابع کم RAM و CPU، برای وب سایت شما مشکل ایجاد میکند.
سلام وقت بخیر
ما توی visual studio در حال حاضر ۳ نوع کلاس میتونیم تعریف کنیم:
Class Library (.NET Framework)
Class Library (.NET Standard)
Class Library (.NET Core)
الان که این سه نوع library class وجود دارن کی باید ازشون استفاده بشه؟