چرا باید به استک مایکروسافت بیشتر از گذشته توجه کرد؟

علی بهرامی‌نژاد - - زمان تقریبی مطالعه: 4 دقیقه

Microsoft Stack

اگر به دلایل زیر توجه کنید:

  • SQL Server برروی لینوکس
  • توسعه و اجرای برنامه‌های .Net برروی لینوکس، مک
  • توسعه برنامه‌های Native موبایل با استفاده از Xamarin
  • متن باز شدن .Net Framework و Xamarin
  • ارائه ابزارهای رایگان و متن باز برنامه‌نویسی

حتماً نگاه دقیقتری به استک مایکروسافت برای برای توسعه برنامه‌های آینده/فعلی خود خواهید داشت. درصورتی که علاقه‌مند به این استک هستید ادامه مطلب را مطالعه کنید.


چند سکویی - Cross Platform


در گذشته، یکی از مشکلات بزرگ مایکروسافت، عدم پشتیبانی ابزارهای توسعه نرم افزار این شرکت از دیگر سیستم‌عامل ها نظیر Linux و Mac بود. در تاریخ 12 نوامبر 2014 مایکروسافت اعلام کرد، NET Core. (نسخه جدید دات نت ) برروی پلتفرمهای مختلف ویندوز، لینوکس و مک اجرا خواهد شد! با این اتفاق بزرگ نرم‌افزارهایی که با دات نت نوشته می‌شوند این امکان را خواهند داشت که با یک کد روی چندین سیستم عامل با کارایی یکسان اجرا شوند.

Microsoft Stack

نسخه NET Core RTM. امروز 7 تیر 1395 بصورت رسمی ارائه خواهد شد.


ارائه SQL Server برروی لینوکس!


مایکروسافت به شکل رسمی اعلام کرد اواسط 2016 نسخه قابل اجرای SQL Server برروی Linux ارائه خواهد شد. در همین رابطه ویدئویی برروی Channel9 قرار گرفته است که در آن دموی کوتاهی از مراحل نصب و اجرای SQL Server برروی Ubuntu Linux نمایش داده می‌شود. پیش از این SQL Server تنها برروی سیستم عامل ویندوز اجرا می‌شد.

فقط تصور کنید با نوشتن دستور sudo apt-get install mssql-server در ترمینال لینوکس بتوانید آنرا نصب کنید.

SQL Server on Ubutnu


ابزار توسعه برنامه‌های Native موبایل Cross-Platform


Xamarin Joins Microsoft

در طی دو سال گذشته شایعات زیادی مبنی بر خرید شرکت Xamarin توسط مایکروسافت در اینترنت منتشر شد. زامارین گذشته‌ی بسیار طولانی و طی کرد؛ زمانی که مایکروسافت جهت اجرای برنامه‌های دات نت برروی Linux برنامه‌ای نداشت، این شرکت، Mono Framework و عرضه کرد که یک نسخه متن باز و رایگان از NET Framework. بود که امکان تهیه و تولید و اجرای برنامه‌های دات نتی رو روی لینوکس/مک فراهم میکرد. پس از مدتی اون‌ها پلتفرم بزرگتری برای توسعه برنامه های Native موبایل ارائه دادند. فقط تصور کنید با یک بستر کد مشترک بتوانید برنامه موبایل خود را برای iOS، Android یا Windows Phone بصورت Native ارائه کنید یا حتی اگر کدها یا برنامه‌هایی دارید که با NET. قبلاً توسعه پیدا کردن با هزینه بسیار کمتر اون‌ها رو برروی موبایل بیارید.

.NET Shared Code in Xamarin

بزرگترین مشکل Xamarin پولی بودن و قیمت بسیار زیاد اون بود، خوشبختانه مایکروسافت اون رو خرید و بصورت رایگان به تمامی کاربران ارائه کرد!

برنامه Native برنامه‌ای است که کد کامپایل شده آن بدون وابستگی به هرگونه Runtime یا ابزار خارجی برروی سیستم عامل اجرا می‌شود. برای مثال برنامه‌های تولیدی با Xamarin تفاوتی با برنامه‌های تولید شده با استفاده از Android SDK را ندارند.


متن باز - Open Source


ایراد بزرگ دیگری که همیشه از مایکروسافت گرفته میشد عدم متن باز بودن ابزارها و نرم افزارهایش بود. در چند سال اخیر مایکروسافت حرکت‌های مثبتی در جهت متن باز انجام داد از جمله این موارد را می‌توان به راه اندازی وب سایت CodePlex، متن باز کردن EntityFrameowrk و MVC Framework اشاره کرد، در نوامبر 2014 مایکروسافت اعلام کرد که نسخه جدید دات نت یعنی NET Core. ( به همراه ASP.NET Core ) نه تنها بصورت چند سکویی ارائه شده است بلکه تماماً متن باز هم هست، همچنین پس از خرید Xamarin مایکروسافت اعلام کرد که و Runtime زامارین به شکل متن باز منتشر خواهد شد!

از دیگر نکات جالب میتوان به قرار گرفتن سورس دات نت برروی github.com اشاره کرد.

.NET Core Github.com


کارایی - Performance


برنامه‌نویسان علاقه‌مند به استفاده از Frameworkهایی هسنتد که سرعت و کارایی کافی در اختیار آنان قرار دهد. مایکروسافت با تغییرات بزرگی که در NET Core. و ASP.NET Core ایجاد کرد کارایی بسیار بالایی برای نرم افزارهای تولیدی با این Framework را به ارمغان آورده است. لازم به ذکر است که بخشی از این کارایی رو باید مدیون متن باز بودن اون دونست چون کاربرانی از بیرون مایکروسافت برروی سورس دات نت نت کار کردن و باعث بهبود شدید اون شدن از جمله ی این برنامه نویسان میتوان Ben Adams رو نام برد.

هم اکنون کارایی ASP.NET Core در پردازش درخواستهای همزمان بسیار خوب بوده و روز به روز برکارایی اون افزوده میشه؛ برای مثال در تست‌های یکسان حتی از NodeJS نیز کارایی بالاتری دارد.

بنچمارک های تست کارایی ASP.NET Core

درخواست در ثانیه سرور تکنولوژی
57,843 perfsvr ASP.NET 4.6
276,727 perfsvr IIS Static File (kernel cached)
231,609 perfsvr IIS Static File (non-kernel cached)
106,479 perfsvr NodeJS
127,017 perfsvr2 (Linux) NodeJS
313,001 perfsvr ASP.NET Core on Kestrel
176,509 perfsvr Scala - Plain
447,993 perfsvr Netty


ابزارهای توسعه


مایکروسافت در سالی که گذشت Code Editor رایگان و متن باز خود یعنی Visual Studio Code را ارائه کرد. این ویرایشگر علاوه بر داشتن ویژگی‌های ویرایشگرهایی مانند Atom و VIM از امکان debug کدها و پشتیبانی از ابزار git نیز بهره مند است و برروی سیستم عامل های ویندوز، مک و لینوکس قابل اجرا می‌باشد.

تصویر محیط Visual Studio Code: VS Code


مایکروسافت همچنین نسخه ای رایگان از Visual Studio با نام Visual Studio Community برای تمامی کاربران عرضه کرد. امکانات نسخه Community همانند نسخه Professional است و برخی از امکانات را ندارد.

نسخه رایگان Visual Studio جزوی از برنامه Dev Essentials مایکروسافت است. اگر عضو این برنامه باشید سرویس‌های متنوع مانند SQL Server 2016 Developer Edition به صورت رایگان شما ارائه خواهد شد.


آمدن bash به ویندوز 10


Windows is home for developers

در کنفرانس Build 2016 مایکروسافت برای ویندوز 10 با شعار Windows is home for developers نسبت به معرفی امکانانت جدید پرداخت و یکی از این امکانات آوردن bash لینوکس برروی ویندوز بود! همکاری بین شرکت Canonical ( شرکت حامی Ubuntu ) و مایکروسافت صورت گرفته که طی اون یک نسخه بسیار سبک از Ubuntu برروی ویندوز اجرا میشود و از طریق اون میشه به bash دسترسی داشت.

Linux bash on Windows 10


Microsoft Stack


با توجه به سیاست‌های بسیار مثبت مایکروسافت و ابزارهای قدرتمند ارائه شده، آینده خیلی خوبی برای برنامه‌نویسان دراین استک می‌توان دید. اگر هنوز پروژه ای را آغاز نکرده اید یا در مراحل ابتدایی آن هستید بد نیست نگاهی درست به ابزارهای مایکروسافت بیندازید.

دیدگاه‌ها