برگزیده های پرشین تولز

کاربرد ASP.NET

marzlandad

کاربر تازه وارد
تاریخ عضویت
27 آپریل 2019
نوشته‌ها
2
لایک‌ها
1
سن
26
در سال ۲۰۰۹ مایکروسافت منبع کد ASP.NET را منتشر کرد. هرچند، هنوز این نسخه تا مارس ۲۰۱۲ هنوز تحت مجوز Apache 2.0 منتشر نشده بود تا هر کسی میتوانست در ارائه و بازخورد آن شرکت کند.

فریم ورک های NET. در چند سال اخیر پیشبرد کندی داشته است ولی با این حال هنوز در حال پیشرفت ،بروز رسانی و مشکل زدایی می باشند. علت این بوده که بیشتر منابع بر رویNET Core. متمرکز بوده اند و آن هم به سرعت در حال انجام است.

با توجه به ASP.NET MVC، نسخه جدیدی از ASP.NET MVC 5 از فوریه ۲۰۱۵ انتشار یافته است. چیزی در حدود ۲٫۵ سال می باشد . اما،ASP.NET Core MVC موجود که در نسخه ۲ خود قرار دارد و به طور پیوسته پیش می رود برای نسخه ۲٫۱ ASP.NET Core که پیش از این به تکامل رسیده است! بیایید دلایلی که باعث ترغیب به سمت Core ASP.NET می شود را مرور کنیم :

asp-core-300x300.png

آیا باید ASP.NET Core بلد باشم؟

ASP.NET Core اصلاح شده ، برای استفاده سریعتر و آسانتر است!



Core .NET وCore ASP.NET هیچ کدام از نسخه های خرابکاری شده و معلول .NET و ASP.NET نیستند. چیز مهم این است که بسیاری از بستر های ویندوز تنها از چارچوب حذف شده اند، اما تقریبا همه چیزی که ممکن است برای شما مفید باشد و بخشی از این چارچوب ها به یک پلت فرم NuGet متقابل پورت شده است.

بیاید ببینیم شما چرا باید از Core ASP.NET وASP.NET Core MVC استفاده کنید :

  • Core .NET یک نسخه کراس پلت فرم است که تقریبا از تمام پشتیبان های .NET پشتیبانی می کند (بجز چیز هایی مانند WPF, window forms, web forms, active directory)
  • Core .NET و NET رایگان و به بصورت منبع باز ارائه می شوند ولی با این حال توسط مایکروسافت هم پشتیبانی می شوند.
  • Core NET یک چارچوب وب متقابل پلت فرم است که در بالای Core .NET ساخته شده است. این Core از ابتدا ساخته شده است با این حال بسیاری از مفاهیم و الگو های قدیمی هنوز هم یکسان می باشند.
  • هم Core NET هم Core .NET برای استفاده آسانتر و سریعتر از دیگر تولیدات می باشند.
  • اگر میخواهید که سیستم خود را بروزرسانی کنید وسیستم شما از وب فرم ها و نسخه قدیمی MVC استفاده می کند شما ترجیح میدهید از NET Core MVC به جای ASP.NET MVC 5 استفاده کنید.
  • C# فوق العاده است.
  • Visual studio عالی است.


اگر این دلایل برای راضی کردن شما کافی نبوده است، بیایید چیز های جالب دیگری در مورد Asp.NET Core بازگو کنیم :



بعضی از چیز های شگف انگیز در دنیای NET Core. و ASP.NET Core



پشتیبانی مایکروسافت

صدها نفر از افراد مایکروسافت بر روی NET Core. و ASP.NET Core کار میکنند! و بسیاری از افراد جامعه وجود دارند که در GitHub مشارکت میکنند.

NET Core. و ASP.NET Core، Entity Framework Core ،Rosyln ممکن است که منبع باز و قابل دسترسی در GitHub باشند اما مایکروسافت پشتیبانی رسمی از این محصولات را نیز در GitHub فراهم میکند. هرچند، دقیقا مانند Visual Studio شما می توانید تلفن خود را بردارید و با پشتیبانی تماس گرفته و درخواست هر کدام از این تولیدات را بکنید. پس، همه این محصولات از طریق مایکروسافت پشتیبانی می شوند ولی همگی کاملا رایگان، بصورت منبع باز و چندین پلت فرمی می باشند که به این معناست که هزینه مجوزی را در بر نمیگیرد.



NET Standard. ” یک مشخصه برای ریاست بر بر همه مشخصات”

  • NET Standard. مجموعه ای از API هاست که باید در تمام سیستم عامل های NET. پیاده سازی شود. این کار باعث یکپارچه سازی سیستم عامل میشود و از تقسیم بندی آن در آینده جلوگیری میکند.
  • NET Standard 2.0. پیاده سازی شده است بوسیله فریم ورک .NET ،Core >NET و Xamarin . برای Core .NET بسیاری از API های موجود درخواستی نیز اضافه شده است.
  • .NET Standard 2.0 شامل یک سازگاری برای دایرکتوری های چارچوب .NET می باشد ، به طور قابل توجهی مجموعه ای از کتابخانه هارا افزایش میدهد که می توانید از کتابخانه های .NET Standard استفاده کنید.
  • .NET Standard جایگزین خواهد کرد کلاس های کتابخا ای قابل حمل (PCLs) را عنوان ابزاری برای ساختن کتابخانه چند پلت فرمی .NET .
  • شما می توانید تعریف .NET Standard API را در dotnet/standard در GitHub تماشا کنید.

اگر شما میخواد بیشتر در مورد .NET Standard بدانید به FAQ در GitHub مراجعه فرمایید


Core .NET بهتر، سریعتر و آسانتر است

Core ASP.NET اصلاح شده است. امروزه همه چیز مدرن شده است. و شما پکیج های فردی NuGet را برای نیازتان اضافه کرده اید. اگر میخواهید از MVC استفاده کنید شما یک پکیج MVC به NuGet برای استفاده خود اضافه می کنید.( به خاطر داشته باشید که API های وب جزئی از MVC می باشد.اگر میخواهید از LINQ در برخی از کتابخانه ها استفاده کنید میتوانید فقط پکیج NuGit آن را اضافه کنید.)

زمانی که یک پروژه را بوجود آوردید میبینید که کار کردن با آن سانتر و سریعتر می باشد.

Dependency Injection یک ساختار داخلی می باشد همه چی حول محور آن می باشد. وقتی که شما میخواهید از بعضی از ابزار ها و سرویس های آن استفاده کنید شما پکیج NuGit را اضافه کرده و شما از یکی از روش های افزودنی برای اضافه کردن پکیج به مخزن DI Core ASP.NET استفاده می کنید.

Configuration یک ساختار داخلی می باشد و همچنین قسمتی از Dependency Injection می باشد. از آن در هرجای کد خود استفاده کنید برای بارگزاری مجدد در تغییرات پیکربندی از منابع. همچنین لغو، گسترش و تنظیم پیکربندی بسیار آسان می باشد. هیچ پیکربندی گسترده ای در web.config وجود ندارد، راه های جالبتراین است که ترکیب appsttings.json با میکس متغییر های محیطی همراه با cmd-lin arge.

Logging یک ساختار داخلی می باشد و شما دسترسی به ساختار log ها از طریق خود میزبان Core ASP.NET به برنامتان را دارا هستید. همچنین گسترش آن اسان است و از منابع مختلف و متعدد برای خروجی استفاده می شود. با ابزار هایی مانند Serilog میتوانید ورود به سیستم خود را به آسانی گسترش دهید و log های مربوط به فایل خود را ذخیرع کنید، َAzure,Amazon یا هر خروجی دیگر.

درخواست و پاسخ را در یک روش پیکر بندی کنید. این کار با استفاده از سری متوالی از نمایندگان بدست می آید که می توانند هر اتصال کوتاه یا درخواست HTTP را به نماینده بعدی منتقل کنند. این ها به عنوان middleware شناخته می شوند، مفهومی که به خوبی برای افرادی که با node.js کار میکنند آشناست.

یکی درگر از چیز های مهم در مورد Core ASP.NET این است که به طور کامل async است کل خطوط async می باشند.

همچنین زمان استارت سرد بسیار بهبود یافته است.

.csproj

اکسپلور فایل و اکسپلور پروژه هم اکنون همگام هستند. برای پروژه های Core .NET، می توانید به آسانی یک فایل را از اکسپلور فایل خود بیاورید و در برنامه شرکت دهید یا میتوانید آن را از فایل سیستم حذف کنید و شاهد آن باشد که از لیست پروژه نیز حذف میشود.دیگر نیازی به منابع فایل ها در .csproj ندارید.

شما هم اکنون می توانید فایل .csproj را مستقیما بدون تخلیه پروژه ویرایش کنید.

پکیج ها

فایل .csproj تمیز شده است و همچنین نقش pachages.confing را اجرا می کند. بدان معناست که اینجا جایی است که نسخه ها و پکیج های شما نگهداری میشود.

پکیج های Nuget واحد مرجع می باشند و میتوانند به بسته های NuGet دیگر وابسته باشند ،اما همچنین می توانند در پروژه های دیگر وابستگی داشته باشند. همانند قبل، پروژه ها نیز می توانند بر روی بسته های NuGet و سایر پروژه ها بستگی داشته باشند. این بدان معنی است که پروژه ها و بسته ها NuGet قابل تعویض می باشند.

با استفاده از Core .NET می توانید به راحتی پروژه خود را فقط با کلیک کردن بر روی مشخصاتش به پکیج NuGet تبدیل کنید.

Metapackage

اگر که نمی خواهید با نصب بسته های رسمی ASP.NET مایکروسافت و حفظ نسخه های آن وقت خود را بگیرید Metapackage به شما فرصت این را میدهد که در وقت خود صرفه جویی کنید.

میتوانید بسته های NuGet مخصوصی را برای تمام نیاز خود اضافه کنید، اما با Core ASP.NET 2 در ارتباط با بسته های NuGet که مایکروسافت توصیه میکند تا یک Microsoft.AspNuGetCore.All استفاده بشود برای بسته های دیگر شما هنوز هم آن هارا به عنوان بسته فردی استفاده میکنید.

آیا به SQLite احتیاجی دارید؟ مشکلی نسیت، در meta-package وجود دارد. آیا شما به همه یا یکی از بسته های احراز هویت احتیاج دارید؟ این هم جزئی از meta-package می باشد. آیا به CORS احتیاجی دارید؟این هم موجود است.

Authentication,Authorization,Kestrel,Logging,Razor,sqlServer,SqlLite,EntityFramwork و دها تن دیگر. به معنای واقعی کلمه، همه آنچه که شما نیاز دارید وجود دارد.

این بسته شامل همه چیزی است که برای Core ASP.Net نیاز دارید و همگی آنها توسط مایکروسافت ساخته شده اند. منابع آن شامل ۱۳۶ بسته می باشد.

Microsoft.AspNuGetCore.All فقط بر روی برنامه های ساخته شده بوسیله Core ASP.NET 2 و تمام بسته های مراجعه میکنند به فروشگاه Runtime وجود دارد. فروشگاه Runtime شامل هم .NET Core 2 Runtime و .NET Core 2 SDK میشود.زیبایی کار اینجاست که بسته هایی را که از آن ها در کد هایتان استفاده میکنید نمایش و انتشار داده می شوند.چیز های دیگر چشم پوشی می شود، فروشگاه Runtime همه بسته های غیر ضروری را محو می کند.

Kestrel

Kestrel یک وب سرور متقابل پلت فرم برای Core ASP.NET مبتنی بر libuw ساخته شده است که یک پلت فرم متقابل کتابخانه I/O می باشد.

این وب سرور به طور پیش فرض است، از این رو در تمام الگو های Core ASP.NET استفاده می شود. به اندازه کافی امنیت دارد که بدوم یک پروکسی معکوس از آن استفاده کنید.

به اندازه کافی خوب هست که بدون استفاده از پروکسی معکوس ازش استفاده بشه. هرچند، می توانید IIS,Nginx یا Apache یا هر چیز دیگری استفاده کنید.

بغیر از پلت فرم متقابل، یکی دیگر از قدرت های Kestrel سرعت است. بسییییییییییییار سریعه.



Rider

JetBrains یک شرکت است که بسیاری از توسعه دهندگان دوستش دارند.آنها ReSharper, WebStorm, Intellij IDEA, PyCham, PhpStorm, Teamcity و بسیاری از ابزار های مهم دیگر را منتشرمی کنند.

اکنون بیایید قدرت Intellij, ReSharper و WebStorm را در یک ابزار تصور کنید!

آن ها پارا فراتر گذاشته اند و پلت فرم متقابل خود .NET IDE را بهبود بخشیده اند : Rider. می توانید برنامه های .NET, ASP.NET, .NET Core, Xamarin را در لینوکس ، مک و ویندوز بهبود ببخشید.

این برنامه هنوز نوپا است و در حال بهبود، ولی بهترین چیزی است که شما میتوانید بر روی مک OS یا لینوکس پیدا کنید.

Docker

مایکروسافت ایمیج Docker را برای Core .NET SDK و همچنین برای Core ASP.NET فراهم و بروز رسانی کرده است.

هنگام ایجاد برنامه های کاربردی جدید وب با Core .NET بلافاصله می توانید پشتیبانی Docker را فعال کرده و تمام فایل های Docker که لازم دارید را ایجاد کنید و می توانید از انها استفاده کنید. می توانید از ویژوال استودیو و یا ابزار خط فرمان استفاده کنید.

Slack

یک کمپانی Slack وجود دارد که شما در آن جا میتوانید بسیاری از متخصصان حرفه ای، توسعه دهندگان و علاقمندان .NET, ASP.NET Core .NET Core را بیابید و از هر چیزی که ممکن است احتیاج داشته باشید استفاده کنند و می توانید از آن ها کمک بگیرید.علاه بر جامعه توسعه دهندگان بزرگ ، در Slack می توانید افرادی مانند جان گالووی (کارگردان پایه .NET)، دمیان ادواردز (سازنده ی SignaIR)، دیوید فولر (معمار ASP.NET و سازنده ی SignaIR) و دیگر افرادی را که در مایکروسافت کار میکنند را بیابید و مشکلاتتان را برطرف کنید.

Disclaimer

خیر من در مایکرو سافت کار نمی کنم ولی استفاده از C# و ASP.NET Core را دوس دارم و فقط میخواهم که بعضی از چیز هارا مشخص کنم که باعث گمراهی اذهان دیگر نشود. بعضی از مردم اعتقاد دارند که مایکروسافت فقط مربوط به تکنولوژی های اختصاصی می باشد و هیچ کاری با دنیای منابع باز ندارد. این تفکر به طور کامل غلط می باشد.

نکاتی جالب در مورد مایکروسافت

  • مایکروسافت بهترین مشارکت کننده منابع باز در GitHub می باشد.
  • مایکروسافت از اعضای پایه لینوکس می باشد.
  • TypeScript یکی از مهم ترین تولیدات مایکروسافت می باشد. یک زبان برنامه نویسی رایگان و اوپن سورس می باشد که برای توسعه برنامه های بزرگ و گسترده مربوط به JavaScript طراحی شده است.
  • ویژوال استودیو کد یکی از محبوب ترین ویراستار های کد می باشد اگر نخواهیم بگویم محبوب ترینشان. سریع، اوپن سورس، یک پلت فرم متقابل و قابل گسترش است که در TypeScript, NodeJS و JavaScript بهبود و توسعه یافته است.


جمع بندی

مهم ترین چیز ها برای یادآوری :

  • .NET Core, ASP.NET Core, Entity Framework Core همگی به طور کامل رایگان می باشند.
  • شما همچنان پشتیبانی کامل را برای .NET Core, ASP.NET Core, Entity Framework Core را دارا می باشید.
  • ابزار عالی Visual studio, ReSharper, Visual Studio Code, Rider برای استفاده مک.
  • js سریعه – بالای ۴۰۰۰۰۰ در خواست در ثانیه
  • تبدیل کننده Roslyn – C#
  • از سال ۲۰۱۴ به صورت اوپن سورس ارائه می شود و بسیاری از ابزار از آن به عنوان یک سرویس دهنده استفاده می کنند.
  • NET Core فوق العاده سریع است به طوری که در لینوکس می تواند پاسخ گوی بالای ۲۰۰۰۰۰۰ در خواست در ثانیه باشد. ASP.NET Core MVC می تواند پاسخ گوی ۱۰۰۰۰۰۰ درخواست در ثانیه باشد.
  • Rider یک پلت فرم متقابل IDE .NET از شرکت JetBrains می باشد که ابزار های فوق العاده ReSharper, IntelliJ IDEA,Webstorm و ابزار های دیگری را می سازد که در .NET Core 2 و NET Core 2 پشتیبانی می شود.
 
بالا