برنامه نویسی Net. چیست و چه کاربردی دارد که ما در این مقاله، به معرفی و برنامه نویسی Net میپردازیم و شما را با ویژگیها و ترفندهای مختلف آن آشنا میکنیم. تا انتهای مقاله با وب سایت آموزش برنامه نویسی شاه کد همراه باشید.
برنامه نویسی Net
دات نت یک مدل پیاده سازی نرم افزار است که در آن امکان تولید و توسعه نرم افزار به صورت مستقل از پلات فرم و نوع دستگاه امکان پذیر است. در واقع دات نت لايه اي ميان سيستم عامل و زبان برنامهنويسي است. Net Framework. یک زبان برنامه نویسی نیست، بلکه چارچوبی است که چندین زبان برنامه نویسی از جمله VB.NET، C# و… را پشتیبانی می نماید. هدف از ایجاد دات نت، تسهیل در پیاده سازی نرم افزارهای وب می باشد. این مجموعه توسط شرکت مایکروسافت تولید شده است.
دات نت فریم ورک (NET Framework.) شامل مجموعه ای از فایل های مورد نیاز سیستم عامل (فایل های dll و…) است که وجود این فایل ها برای اجرای برنامه های نوشته شده تحت دات نت ضروری می باشد. با استفاده از دات نت برنامه نویس مجبور نیست که برای اجرای هر برنامه رجیستری ها و فایل های dll را به طور دستی در سیستم عامل خود نصب نماید. بلکه با نصب دات نت تمامی این فایل ها در سیستم نصب و اجرا می گردند.
تاریخچه:
مایکروسافت در دهه 1990 میلادی شروع به تولید NET. نمود و اولین نسخه آن (NET 1.0) در سال 2000 به بازار آمد. پس از آن نسخه 3 دات نت (NET3.0) بوسیله Windows Server 2008 و Windows Vista توزیع شد. در سال 2007 دات نت 3.5 (NET3.5) توسط Windows 7 و Windows Server 2008 R2 توزیع گردید، دات نت فریم ورک نسخه 4 (NET Framework 4.) به همراه ابزار ویژوال استودیو (Visual Studio 2010) در سال 2010 به بازار آمد. نسخه 4.5 Net Framework. با Visual Studio 2012 و نسخه 4.5.1 به همراه ابزار توسعه Visual Studio 2013 نیز به ترتیب در سال های 2012 و 2013 به بازار عرضه گردیدند.
CLR چیست؟
CLR (مخفف عبارت Common Language Runtime ) یک زبان میانی بین برنامه نویس و سیستم عامل است. وقتی برنامه نویس در چارچوب دات نت با زبان دلخواه خود (c، c#، VB و…) برنامه ای را می نویسد ابتدا کامپایلر دات نت کد برنامه را به یک زبان میانی (Intermediate Language یا IL ) تبدیل می نماید، پس از آن CLR به وسیله یک Just in Time Compiler(کامپایلر هم زمان) کد IL را با توجه به سیستم عامل و پلت فرم سیستمی که برنامه قرار است در آن اجرا شود، ترجمه می نماید.
Net Class library.
برای سهولت در تولید و توسعه نرم افزار، مایکروسافت در دات نت مجموعه ای از کتابخانه های قوی ایجاد نموده است که در آن از فناوری های ADO.NET و ASP.NET استفاده شده است.
NET Framework Class Library. مجموعه اي از کلاس ها و توابع مي باشد که قبلا توسط مايکروسافت نوشته شده اند. کتابخانه ها، امکان استفاده مجدد از کدها برای اکثر عملیات متداول نظیر دستیابی به داده ها، پیاده سازی سرویس های وب XML ، فرم های وب و یا ویندوز را فراهم می نماید و بدین ترتیب برنامه نويسان می توانند برای پیاده سازی عملیات تکراری، از توابع و کلاس های موجود در این کتابخانه استفاده کرده و راحت تر برنامه نویسی نمایند.
اين کتابخانه شامل سه قسمت اصلي است:
ASP.NET براي تهيه برنامه هاي کاربردي تحت وب، فرم های ويندوزی براي تهيه ساده تر برنامه هاي کاربردی و ADO.NET براي ارتباط برنامه ها با بانک های اطلاعاتي.
دات نت فریم ورک باعث شد قدرت برنامه نویسی در زبان های این چارچوب یکسان شود و این امکان را به برنامه نویسان داد تا بتوانند از قدرت تمام زبان های برنامه نویسی استفاده نمایند. برای مثال یک برنامه نویس می تواند در قسمت محاسباتی برنامه خود از زبان F# که در حوزه محاسبات قوی است استفاده نموده و مابقی برنامه را به زبان دلخواه خود بنویسد.
در واقع در دات نت فریم ورک ابزارها و قدرت آن ها وابسته به دات نت هستند نه به زبان برنامه نویسی. یعنی برنامه با هر زبانی که نوشته شود از قابلیت های NET Framework. بهره مند می گردد. همین امر باعث قدرت بالای دات نت و موفقیت آن شده است.
انواع دات نت
تا همین چند وقت پیش اگر تصمیم میگرفتید که C#.Net را یاد بگیرید، یک راه بیشتر نداشتید؛ اینکه یک نرمافزار به نام Visual Studio را نصب کنید و کد نویسی را شروع کنید. اما دیگر فقط با یک نوع Net. سر و کار نداریم.
چون مایکروسافت پا به دنیایی فراتر از ویندوز گذاشته است. Net. تقریبا روی تمام دستگاههایی که شما میشناسید پشتیبانی میشود. حالا دیگر حتی کدنویسی با NotePad هم آسان شده است. در ادامه با انواع Net. آشنا میشویم.
Net Core.
اگر بخواهید یک جعبه ابزار بزرگ را هر جا که میروید با خود حمل کنید، کارتان خیلی سخت میشود. به جای آن میتوانید از یک جعبه کوچک که فقط یک پیچ گوشتی و یک آچار درون آن گذاشتهاید استفاده کنید. .Net Core همان جعبه کوچک است و میتوانید با استفاده از آن، فقط ابزاری که مورد استفاده نرم افزارتان است را همراه داشته باشید.
Net Framework.
همان .Net قدیمی خودمان است. هرچند قدیمی است، اما کهنه نیست. کمتر از دو ماه پیش بود که نسخه ۴٫۷٫۱ «دات نت فریم ورک» منتشر شد. نرمافزاری که با Net Framework. توسعه پیدا میکند، در هیچ سیستم عاملی به جز ویندوز قابل اجرا نیست.
ابتدا به شکل متن باز (Open Source) و توسط شرکتی غیر از مایکروسافت پشتیبانی میشد. اما مایکروسافت زیر نظر مدیر عامل جدید خود، پس از تغییر رویه و ورود به دنیای سایر پلتفرمها، به صورت رسمی از Mono پشتیبانی کرد.
با Mono میتوان برای دستگاههای مختلف اپ تولید کرد؛ فرقی نمیکند، برای اندروید یا یکی از توزیعهای لینوکس باشد. زیبا نیست؟ کافی است یکی از زبانهایی که از Net. پشتیبانی میکنند (مثل #C) را یاد بگیرید، و بعد برای هر دستگاهی که دلتان بخواهد، میتوانید کد نویسی کنید.
Universal Windows Platform
اگر ویندوز ۸، ۸٫۱ و ۱۰ روی کامپیوتر شما نصب شده باشد، حتما متوجه Windows Store شدهاید. این فروشگاه نرم افزار هم دقیقا چیزی شبیه به Google Play، AppStore و Bazar است.
نرمافزارهایی که از طریق Windows Store نصب میشوند، ظاهری متفاوت از دیگر اپلیکیشنها و نرم افزارهایی دارند که به صورت عادی روی کامپیوتر شما نصب میشوند.
این نرمافزارها با اینکه برای استفاده در ویندوز توسعه پیدا میکنند، اما نمیتوان کد آنها را با .Net Framework نوشت. نرمافزارهایی که با UWP ایجاد میشوند علاوه بر ویندوزهای ۸ و بالاتر، میتوانند روی تبلتها و موبایلهای ویندوزی هم نصب شوند.
پلتفرم دیگری به نام .Net Standard وجود دارد که میتوان به وسیله آن کدهایی نوشت که همه انواع .Net را پشتیبانی میکند. در واقع یک کد مشترک است که میتوان از آن، در پروژههای مختلف که با .Netهای مختلف نوشته شدهاند، استفاده کرد.
مایکروسافت، Net. و دنیای متن بازها
تا همین چند وقت پیش، منتقدین تکنولوژیهای مایکروسافت، محدودیت این تکنولوژیها به استفاده انحصاری در ویندوز را، مورد نقد قرار میدادند. در واقع این بهانه، برگ برنده آنها در منازعات نرمافزاری بود. حالا دیگر آن زمانها گذشته است.
مایکروسافت در زمان مدیریت ساتیا نادلا، به یکباره تغییر ۱۸۰ درجهای کرد. نادلا خیلی زود فهمید که دوران طلایی مجذوب بودن بازار سخت افزارها تمام شده است. هر چند مایکروسافت هنوز به کلی از دنیای سخت افزار دست برنداشته است، اما تمرکز اصلی این شرکت، تصاحب بی چون و چرای دنیای نرمافزار است. جایی که به آن تعلق دارد.
مایکروسافت علاوه بر اینکه یکی پس از دیگری نرمافزارهای محبوب خود را به سایر پلتفرمها میآورد، موتور ساخت نرمافزار خود یعنی Net. را متن باز کرده است. با این کار، امکان اجرای آن روی سایر پلتفرمها فراهم شده است.
شاید امروز که این مقاله نوشته میشود، این تغییر را احساس نکنید؛ اما میتوانم زمانی را پیشبینی کنم که آنقدر روی گوشی اندرویدیتان نرمافزارهای نوشته شده با Net. داشته باشید که راضی کردنتان برای خرید یک گوشی ویندوزی اصلا کار سختی نباشد.
Net. از چه زبانهایی پشتیبانی میکند؟
تعداد قابل توجهی از زبانهای برنامه نویسی، امکان استفاده از Net. را فراهم کردهاند. در بین این زبانهای برنامه نویسی اسامی آشنایی مثل Python و Java نیز به چشم میخورد. اما بیشتر برنامه نویسان در دنیا، از زبان #C برای بهره بردن از Net. استفاده میکنند.
جمع بندی
Net. یک کتابخانه از امکاناتی ارزشمند است و برای استفاده از آن میتوان از زبانهای مختلفی مثل C#، Java و Python استفاده کرد. در دو سال اخیر و با روی کار آمدن Net Core. این امکان فراهم شده است که بتوانیم از Net. تقریبا در هر دستگاه و سیستم عاملی استفاده کنیم.
Net. متن باز است و هر کسی که فکر میکند به اندازه کافی توانمند است، میتواند تغییراتی که لازم میداند در آن اعمال کند و نسخه جدیدی از آن را در اختیار دیگران بگذارد.
برای کسانی که با دنیای برنامه نویسی و نرمافزار ها آشنایی چندانی ندارند، توضیح درست عملکرد فریم ورکهایی مثل Net. کار آسانی نیست.
اما میتوانم این اطمینان را به این دسته از خوانندگان این مقاله بدهم، که داشتن فریم ورک قدرتمندی مثل Net. زندگی هر برنامه نویسی را شیرینتر میکند. آیا شما تا به حال از Net. استفاده کردهاید؟ آیا زبان مورد علاقه شما قابلیت استفاده از Net. را دارد؟
منابع:
دیدگاه و پرسش