معرفی فریم ورک دات نت .NET + مزایا و معایب آن
شرکت مایکروسافت در سال 2002 فریم ورک .NET را برای سیستم عامل خود یعنی ویندوز عرضه کرد. در حقیقت این فریم ورک یک ماشین مجازی (Virtual Machine) است که برای کامپایل و اجرا کردن کدهای نوشته شده بر اساس زبان های دیگر (مانند C# و VB.NET) مورد استفاده قرار می گیرد.
در واقع برای توسعه اپلیکیشن های تحت فُرم (Form-Based) و تحت وِب (Web-Based)، از فریم ورک دات نت استفاده می شود. در این مقاله با نگاهی به تاریخچه فریم ورک .NET ، به معرفی مزایای و معایب آن خواهیم پرداخت.
تاریخچه فریم ورک .NET
همانطور که می دانید یک فریم ورک دارای مجموعه ای از کتابخانه ها (حاوی Class، API و کدها ) می باشد که در واقع کار برنامه نویسان را برای توسعه یک اپلیکیشن آسان می کنند. به عنوان مثال برای طراحی یک اپلیکیشن، دیگر نیاز نیست برنامه نویسان تمامی کدهای مورد نیاز را از اول بنویسند بلکه برخی از انواع رایج آن به صورت پیشفرض در فریم ورک ها قرار گرفته اند. به عبارت دیگر توسعه دهندگان با مراجعه به این کدهای رایج، زمان کمتری را صرف بازنویسی کدهای جدید خواهند کرد، در نتیجه باعث می شود با تمرکز بیشتری بر روی نیازهای دیگر یک اپلیکیشن کار کنند.
یکی از این فریم ورک های محبوب .NET نام دارد که در اوایل قرن 21 توسط شرکت Microsoft تولید و معرفی شد. این فریم ورک ابتدا تنها برای استفاده بر روی پلتفرم ویندوز طراحی شده بود اما امروزه بر روی پلتفرم های لینوکس و مکینتاش نیز قابل اجرا می باشد.
این فریم ورک در واقع با استفاده از یک ماشین مجازی (Virtual Machine)، کدهای نوشته شده بر اساس زبان های دیگر را کامپایل می کند. به عبارت دیگر برنامه نویسان اپلیکیشن مورد نظر را با هر زبانی که بخواهند، توسعه خواهند داد همچنین برای هر زبان یک کامپایلر خاص در نظر گرفته شده است. فریم ورک دات نت از حدود 60 زبان پشتیبانی می کند که حدود 11 مورد آن توسط مایکروسافت و مابقی به وسیله شرکت های دیگر توسعه یافته اند. در ادامه زبان هایی که توسط فریم ورک NET. پشتیابنی می شوند را مشاهده خواهیم کرد :
- C# که همانند زبان Java ، C++ و Delphi است.
- C++/CLI که تنها بر روی فریم ورک .NET اجرا می شود.
- Cobra که یک زبان منبع باز شی گراست.
- زبان قراردادی Eiffel، که یک زبان شی گراست.
- IronPython که نسخه مخصوص زبان برنامه نویسی پایتون برای اجرا در فریم ورک.NET می باشد.
- NET که توسط مایکروسافت برای سازگاری در فریم ورک دات نت منتشر شده است.
- Visual Basic.NET که در واقع جانشین نسخه اصلی آن می باشد که برای سازگاری با فریم ورک .NET، در سال 2002 توسط مایکروسافت عرضه شده است.
هدف از طراحی فریم ورک .NET
این فریم ورک به منظور طراحی و توسعه نسل جدید اپلیکیشن ها و سرویس های XML، به بهره برداری رسیده است. به عبارت دیگر اهداف فریم ورک .NET عبارتند از :
- فراهم کردن یک محیط یکپارچه برای زبان های برنامه نویسی شی گرا (Object-Oriented)
- فراهم کردن محیطی برای اجرای کدها، بدون نیاز به آپدیت های فراوان
- فراهم کردن محیطی امن برای اجرای کدها، مانند کدهای نوشته شده توسط نرم افزارهای ناشناخته و غیر قابل اعتماد
- برطرف کردن مشکلات عملکردی محیط های اسکریپتی یا تفسیری
- آشنا کردن برنامه نویسان با انواع مختلف اپلیکیشن مانند App های ویندوزی یا نرم افزاهای تحت وب
- استاندارد سازی کدها به گونه ای که قابلیت ادغام با هر کد دیگری را نیز داشته باشند.
معماری فریم ورک دات نت
ساختمان اصلی فریم ورک NET. از سه جز اصلی تشکیل شده است :
- زمان اجرای زبان مشترک یا Common Language Runtime
به پلتفرمی که برنامه های .NET بر روی آن اجرا می شود CLR گفته می شود. وظیفه آن در واقع مدیریت حافظه، اجرای رشته ها (Threads)، اجرای کدها، تضمین امنیت کدها، گردآوری و ارائه سرویس های دیگر می باشد. به عبارت دیگر ماشین مجازی فریم ورک دات نت همین پلتفرم CLR است که در ادامه به معرفی برخی از ویژگی های آن می پردازیم :
مدیریت موارد استثنایی : موارد استثنایی در واقع همان اِرورهایی هستند که هنگام اجرای برنامه رخ می دهند. مثل :
- هنگامی که اپلیکیشن می خواهد فایلی را در ماشین مجازی باز کند، اما آن فایل اصلا وجود ندارد.
- اگر اپلیکیشن سعی کند مستندانی را از دیتابیس استخراج کند، اما ارتباط بین آن دو قطع باشد.
مدیریت حافظه : در صورت عدم نیاز به برخی منابع، آنها را از روی حافظه پاک کند. برای مثال :
- اگر اپلیکیشن تمامی عملیات مورد نیاز بر روی فایل را انجام داده است، دیگر نیازی به آن بر روی حافظه نیست.
- اگر اپلیکیشن تمامی عملیات مورد نیاز در دیتابیس را انجام داده باشد ، نیازی به ارتباط با دیتابیس نیست.
کار با زبان های برنامه نویسی متفاوت : در فریم ورک .NET برنامه نویس با هر برنامه ای که مایل باشد می تواند اپلیکیشن مورد نظرش را طراحی و توسعه دهد. زبان های بسیاری در این فریم ورک استفاده می شوند به علاوه، هر زبان کامپایلر (Compiler) مخصوص به خودش را دارد. در مرحله پایانی و برای اجرای فریم ورک دات نت از یک مترجم زبان مشترک (Common Language Interpreter) نیز استفاده می شود.
- کتابخانه سرشار از Class :
فریم ورک .NET ، دارای چندین کتابخانه Class می باشد که هر کدام از آنها حاوی مِتُد ها و کاربردهای مرتبط با هسته زبان برنامه نویسی هستند. برای مثال یک کتابخانه حاوی مِتُد های انجام عملیات بر روی فایل ها را تصور کنید، باید در آن یک مِتُد برای خواندن متن از روی فایل و یک مِتُد برای نوشتن متن روی فایل وجود داشته باشد. اکثر این مِتُد ها تقسیم به Namespace های مختلف می شوند که برای جداسازی توابع همنام در کتابخانه ها، بسیار کاربردی هستند.
- زبان :
با استفاده از فریم ورک .NET ، اپلیکیشن های زیادی می توان ساخت که به 3 نوع کلی تقسیم می شوند :
- WinForms : اپلیکیشن های فرم محور (Form-Based) که در یک سیستم با کاربران نامحدود قابل اجرا هستند. نرم افزار Notepad مثال خوبی از یک اپلیکیشن سمت کاربر (Client-Side) می باشد.
- NET : برای توسعه اپلیکیشن های وِب محور (Web-Based)، که در مرورگرهای مختلف از قبیل گوگل کروم، فایر فاکس و غیره، اجرا می شوند.
- NET : اپلیکیشن هایی که با دیتابیس تعامل زیادی دارند و مانند Oracle، از این تکنولوژی استفاده می کنند.
موارد استفاده از فریم ورک .NET
این فریم ورک با ویژگی های خاصی که دارد برای طراحی و توسعه نسل آینده اپلیکیشن ها، بسیار کاربردی است. حالا می خواهیم نیم نگاهی به زمینه های استفاده از این فریم ورک داشته باشیم :
- کسب و کار : یکی از اهداف کسب و کار مدرن، استفاده بهینه از نرم افزارها و اپلیکیشن های اینترنتی است. در زمینه های مدیریت سرمایه یا مدیریت فروش، استفاده از این اپلیکیشن ها بسیار مفید می باشد. برنامه نویسان با استفاده از فریم ورک .NET می توانند نرم افزارهایی مناسب (مانند CRM) برای کسب و کارهای امروزی، توسعه دهند.
- طراحی دوباره : هر کسب وکاری قطعاً رو به جلو حرکت خواهد کرد و بالطبع نرم افزارهای مورد استفاده آنها نیز دستخوش تغییرات زیادی خواهند شد. با استفاده از فریم ورک .NET می توان اپلیکیشن های قدیمی مورد استفاده آنها را مورد بازبینی قرار داده و بروز رسانی کرد.
- طراحی بازی : فریم ورک دات نت، یک فریم ورک چند کاره است. به همین خاطر بهترین گزینه برای طراحان بازی استفاده از این فریم ورک می باشد. فریم ورک .NET برای توسعه اپلیکیشن های درجه بندی شده سازمانی نیز گزینه خوبی بشمار می رود.
- ارتباطات : کسب و کارهای آنلاین نیازمند استفاده از سرویس های ایمیل و پیامرسان هستند. فریم ورک دات نت محبوب ترین گزینه برای توسعه خدمات ایمیلی و مسنجرهاست. برای مثال سازگاری آن با نرم افزار OutLook منجر به عملکرد بهتر آن می شود.
مزایای فریم ورک .NET
- شی گرایی (Object-Oriented) : تمام چیزهایی که در این فریم ورک مشاهده می کنید یا می نویسید به صورت یک شی (Object) می باشند. به عبارت دیگز شما ابزار بسیار قدرتمندی در دست دارید که قابلیت دسترسی و کنترل اپلیکیشن ها را برایتان به ارمغان می آورد.
- مدیریت Cache : سیستم مدیریت کَش در این فریم ورک به راحتی قابل استفاده است.
- تعمیر و نگهداری : به دلیل اینکه کدهای منبع و HTML هر دو در یک مکان قرار گرفته اند، تعمیر اپلیکیشن های توسعه یافته به کمک فریم ورک .NET کار بسیار راحتی است. علاوه بر این اجرای کدهای منبع بر روی سرور به قدرتمندتر شدن و انعطاف پذیری هر چه بیشتر اپلیکیشن منجر می شود.
- سادگی : اجرای Taskهای معمولی در این فریم ورک بسیار ساده و مستقیم الخط می باشد. همچنین ارسال فُرم ها، تنظیمات صفحات و احراز هویت کاربران به راحتی هر چه تمام انجام می پذیرد.
- کنترل : فریم ورک دات نت ابزارهای قدرتمندی برای کنترل اپلیکیشن دارد. برای مثال شناسایی لوپ های نامحدود و نشت های حافظه به صورت خودکار توسط آن انجام می گیرد و پس از رفع مشکلات دوباره راه اندازی می شود.
- مجهز به Visual Studio IDE : یکی از محیط های یکپارچه توسعه نرم افزار (IDE) توسعه یافته توسط شرکت مایکروسافت Visual Studio نام دارد، که تمامی ابزارهای لازم برای توسعه یک نرم افزار را در خود دارد.
- رابط کاربری : رابط کاربری آن در پلتفرم ویندوز بسیار روان است و توسعه دهندگان به راحتی می توانند با آن کار کنند.
معایب فریم ورک دات نت
- پشتیبانی محدود از Object-Relational Mapping : در این فریم ورک برای تبدیل داده های دیتابیس به Object های برنامه نویسی از فریم ورک Entity استفاده می شود. گزارش ها نشان می دهد که فریم ورک Entity هنگام کار با دیتابیس های جدید و بروز رسانی شده، دچار مشکل می شود.
- عدم پشتیبانی مایکروسافت : اگر چه دات نت به صورت منبع باز در اختیار برنامه نویسان قرار دارد، اما در آخر این سیاست های شرکت سازنده آن است که باعث بروزرسانی و پیشرفت قابلیت های آن با نیازهای روز برنامه نویسان می شود. بنابراین امکان اینکه این فریم ورک در آینده از طرف شرکت مایکروسافت کنار گذاشته شود وجود دارد.
- هزینه های زیاد : علیرغم اینکه سورس کدهای این فریم ورک به صورت رایگان در اینترنت وجود دارد، اما برای افزونه ها و نرم افزارهای دیگر مایکروسافت باید هزینه های زیادی پرداخت کنید. برای مثال استفاده از Visual Studio سالانه 2 هزار دلار برای شما هزینه در بردارد.
- سرعت پایین اجرای کدها : کدهایی که در این فریم ورک نوشته می شوند به نسبت کدهای Native، از سرعت کمتری برخوردارند.
- عدم پشتیبانی از چند پلتفرم : پس از نصب نرم افزار Visual Studio، قابلیت اجرای آن در پلتفرم های دیگر از بین می رود.
نتیجه گیری
مایکروسافت با طراحی این فریم ورک قدم بزرگی در حوزه برنامه نویسی و توسعه صفحات وب برداشت. حال پس از گذشت چند سال و پشت سر گذاشتن آزمون های بسیار سخت، فریم ورک .NET همچنان یکی از محبوب ترین فریم ورک ها برای توسعه اپلیکیشن های مدرن است که در ایران نیز همیشه دارای برخی موقعیت های شغلی مناسب می باشد.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.