لطفا صبر کنید ...

.Net چیست و چه کاربردی در برنامه نویسی دارد؟

محمد اژدری

توسط محمد اژدری

دیدگاه ها: 0
بازدید ها : 10847
رایگان
هدف ما این است که شما، در بالاترین سطح طراحی و توسعه وب باشید.

ثبت نام کنید

.Net چارچوبی برای توسعه نرم‌افزار در پلتفرم‌های مختلف است. در این مقاله شما را با .Net و نحوه عملکرد آن آشنا می‌کنم.


برای تعریف .Net از واژه‌هایی مثل چارچوب، فریم ورک، سَکو و پلتفرم استفاده می‌شود. اما واقعا .Net چیست و در برنامه نویسی چه کاربردی دارد؟ برای آشنایی بیشتر با این مفهوم، در این مقاله از لیداوب با من همراه باشید.

در این مقاله می‌خوانید:

.Net به زبان ساده | معرفی بیشتر .Net | انواع .Net | .Net و دنیای متن‌بازها | زبان‌های پشتیبانی شده

.Net به زبان ساده

.Net چیست؟ چقدر به آن نیاز داریم؟

یک جعبه ابزار را تصور کنید که در آن ابزارهای مختلفی وجود دارد. آیا می‌توانید بدون استفاده از پیچ گوشتی یا آچاری که در جعبه دارید، یک پیچ را باز کنید؟ جواب کاملا مشخص است، بله می‌شود! شما خیلی سریع با طی کردن مراحل زیر می‌توانید یک پیچ را باز کنید:

یک معدن آهن پیدا می‌کنید یا می‌خرید.

۱. پس از استخراج آهن و طی کردن مراحلی که در کتاب‌ها نوشته شده است، آهن تولید می‌کنید.

۲. به سراغ مهندسان مواد می‌روید و با آهن و سایر فلزات لازم، یک آلیاژ مناسب می‌سازید.

۳. حالا نوبت ساخت دو قالب برای پیچ گوشتی و آچار است.

۴. همه چیز تقریبا آماده است، آلیاژ را درون آن قالب می‌ریزید.

۵. تمام شد. شما حالا یک پیچ گوشتی و یک آچار دارید.

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

ما برای ساخت ابزارهای این چنینی واقعا به این مراحل ۷ گانه – که احتمالا به خاطر ضعف علمی من از مراحل ساخت ابزار، اشتباهات زیادی هم دارد – نیاز داریم. اما قبلا افرادی این مراحل را طی کرده‌اند؛ و جعبه ابزار ما هم اکنون با پرداخت مبلغ ناچیزی نسبت به استخراج سنگ آهن از معدن، قابل تهیه است. در برنامه نویسی هم .Net همین جعبه ابزار است. با استفاده از دات نت دیگر شما نیازی نیست که خیلی از مراحل را خودتان طی کنید.

معرفی بیشتر .Net

برنامه نویسی دات نت

.Net تقریبا برای هر مشکلی که یک برنامه نویس با آن مواجه می‌شود، یک راه حل دارد و از چندین ابزار تشکیل شده است. منظورم از ابزار، تکه کدهایی است که از قبل برای انجام وظیفه‌ای خاص نوشته شده‌اند. بعضی‌ها .Net را به کتابخانه هم تشبیه می‌کنند که این تعریف هم درست به نظر می‌رسد.

ابزارهای درون .Net به چند دسته تقسیم می‌شوند. به این دسته‌ها، فضای نام (Name Space) می‌گوییم. این که چرا به این دسته‌بندی‌ها فضای نام گفته می‌شود، در مقاله‌های بعدی به صورت تخصصی‌تر به آن خواهم پرداخت.

یکی از این فضای نام‌ها System.Windows.Forms است. این فضای نام از نسخه اول .Net حضور داشته است. System.Windows.Forms به ما این امکان را می‌دهد که بتوانیم نرم افزارهای مبتنی بر ویندوز توسعه بدهیم. منظورم از «به ما این امکان را می‌دهد» این است که می‌توانیم با استفاده از آن، با نوشتن چند خط کد کوتاه، مثلا یک پنجره (Window) شبیه به Windows Explorer که هر روز با آن سر و کار داریم بسازیم.

 انواع دات نت

انواع .net

تا همین چند وقت پیش اگر تصمیم می‌گرفتید که C#.Net را یاد بگیرید، یک راه بیشتر نداشتید؛ اینکه یک نرم‌افزار به نام Visual Studio را نصب کنید و کد نویسی را شروع کنید. اما دیگر فقط با یک نوع .Net سر و کار نداریم. چون مایکروسافت پا به دنیایی فراتر از ویندوز گذاشته است. .Net تقریبا روی تمام دستگاه‌هایی که شما می‌شناسید پشتیبانی می‌شود. حالا دیگر حتی کدنویسی با NotePad هم آسان شده است. در ادامه با انواع .Net آشنا می‌شویم.

 .Net Core

مثال جعبه ابزار یادتان است؟ اگر بخواهید یک جعبه ابزار بزرگ را هر جا که می‌روید با خود حمل کنید، کارتان خیلی سخت می‌شود. به جای آن می‌توانید از یک جعبه کوچک که فقط یک پیچ گوشتی و یک آچار  درون آن گذاشته‌اید استفاده کنید. .Net Core همان جعبه کوچک است و می‌توانید با استفاده از آن، فقط ابزاری که مورد استفاده نرم افزارتان است را همراه داشته باشید.

باید بگویم که من عاشق .Net Core هستم و آن را در دوره C#.Net آموزش خواهم داد. از همین امروز می‌دانم که چه دوره هیجان‌انگیزی خواهد بود. 

.Net Framework

همان .Net قدیمی خودمان است. هرچند قدیمی است، اما کهنه نیست. کمتر از دو ماه پیش بود که نسخه 4.7.1 «دات نت فریم ورک» منتشر شد. نرم‌افزاری که با .Net Framework توسعه پیدا می‌کند، در هیچ سیستم عاملی به جز ویندوز قابل اجرا نیست. 

Mono

بیشتر بخوانید:

C# چیست و چه کاربردی دارد؟

ابتدا به شکل متن باز (Open Source)‌ و توسط شرکتی غیر از مایکروسافت پشتیبانی می‌شد. اما مایکروسافت زیر نظر مدیر عامل جدید خود، پس از تغییر رویه و ورود به دنیای سایر پلتفرم‌ها، به صورت رسمی از Mono پشتیبانی کرد. با Mono می‌توان برای دستگاه‌های مختلف اپ تولید کرد؛ فرقی نمی‌کند، برای اندروید یا یکی از توزیع‌های لینوکس باشد. زیبا نیست؟ کافی است یکی از زبان‌هایی که از .Net پشتیبانی می‌کنند (مثل C#) را یاد بگیرید، و بعد برای هر دستگاهی که دلتان بخواهد، می‌توانید کد نویسی کنید.

Universal Windows Platform

اگر ویندوز 8، 8.1 و 10 روی کامپیوتر شما نصب شده باشد، حتما متوجه Windows Store شده‌اید. این فروشگاه نرم افزار هم دقیقا چیزی شبیه به Google Play، AppStore و Bazar است. نرم‌افزارهایی که از طریق Windows Store نصب می‌شوند، ظاهری متفاوت از دیگر اپلیکیشن‌ها و نرم افزارهایی دارند که به صورت عادی روی کامپیوتر شما نصب می‌شوند. این نرم‌افزارها با اینکه برای استفاده در ویندوز توسعه پیدا می‌کنند، اما نمی‌توان کد آن‌ها را با .Net Framework نوشت. نرم‌افزارهایی که با UWP ایجاد می‌شوند علاوه بر ویندوز‌های 8 و بالاتر، می‌توانند روی تبلت‌ها و موبایل‌های ویندوزی هم نصب شوند.

پلتفرم دیگری به نام .Net Standard وجود دارد که می‌توان به وسیله آن کدهایی نوشت که همه انواع .Net را پشتیبانی می‌کند. در واقع یک کد مشترک است که می‌توان از آن، در پروژه‌های مختلف که با .Netهای مختلف نوشته شده‌اند، استفاده کرد.

مایکروسافت، .Net و دنیای متن بازها

.net

تا همین چند وقت پیش، منتقدین تکنولوژی‌های مایکروسافت، محدودیت این تکنولوژی‌ها به استفاده انحصاری در ویندوز را، مورد نقد قرار می‌دادند. در واقع این بهانه، برگ برنده آن‌ها در منازعات نرم‌افزاری بود. حالا دیگر آن زمان‌ها گذشته است. مایکروسافت در زمان مدیریت ساتیا نادلا، به یکباره تغییر ۱۸۰ درجه‌ای کرد. نادلا خیلی زود فهمید که دوران طلایی مجذوب بودن بازار سخت افزارها تمام شده است. هر چند مایکروسافت هنوز به کلی از دنیای سخت افزار دست برنداشته‌ است، اما تمرکز اصلی این شرکت، تصاحب بی چون و چرای دنیای نرم‌افزار است. جایی که به آن تعلق دارد.

بیشتر بخوانید:

محبوب‌ترین زبان‌های برنامه نویسی دنیا کدام هستند؟

مایکروسافت علاوه بر اینکه یکی پس از دیگری نرم‌افزارهای محبوب خود را به سایر پلتفرم‌ها می‌آورد، موتور ساخت نرم‌افزار خود یعنی .Net را متن باز کرده است. با این کار، امکان اجرای آن روی سایر پلتفرم‌ها فراهم شده است. شاید امروز که این مقاله نوشته می‌شود، این تغییر را احساس نکنید؛ اما می‌توانم زمانی را پیش‌بینی کنم که آنقدر روی گوشی اندرویدی‌تان نرم‌افزارهای نوشته شده با .Net داشته باشید که راضی کردنتان برای خرید یک گوشی ویندوزی اصلا کار سختی نباشد. 

.Net از چه زبان‌هایی پشتیبانی می‌کند؟

تعداد قابل توجهی از زبان‌های برنامه نویسی، امکان استفاده از .Net را فراهم کرده‌اند. در بین این زبان‌های برنامه نویسی اسامی آشنایی مثل Python و Java نیز به چشم می‌خورد. اما بیشتر برنامه نویسان در دنیا، از زبان C# برای بهره بردن از .Net استفاده می‌کنند.

جمع‌بندی

.Net یک کتابخانه از امکاناتی ارزشمند است و برای استفاده از آن می‌توان از زبان‌های مختلفی مثل C#، Java و Python استفاده کرد. در دو سال اخیر و با روی کار آمدن .Net Core این امکان فراهم شده است که بتوانیم از .Net تقریبا در هر دستگاه و سیستم عاملی استفاده کنیم. .Net متن باز است و هر کسی که فکر می‌کند به اندازه کافی توانمند است، می‌تواند تغییراتی که لازم می‌داند در آن اعمال کند و نسخه جدیدی از آن را در اختیار دیگران بگذارد.

برای کسانی که با دنیای برنامه نویسی و نرم‌افزارها آشنایی چندانی ندارند، توضیح درست عملکرد فریم ورک‌هایی مثل .Net کار آسانی نیست. اما می‌توانم این اطمینان را به این دسته از خوانندگان این مقاله بدهم، که داشتن فریم ورک قدرتمندی مثل .Net زندگی هر برنامه نویسی را شیرین‌تر می‌کند. آیا شما تا به حال از .Net استفاده کرده‌اید؟ آیا زبان مورد علاقه شما قابلیت استفاده از .Net را دارد؟ من مشتاقانه منتظر تبادل نظر با شما در بخش کامنت‌های این مقاله هستم.

4.7 از 35 رای

 مطالب مرتبط  

در قسمت زیر مطالبی وجود دارند که با مقاله فعلی مرتبط هستند



متاسفانه فقط اعضای سایت قادر به ثبت دیدگاه هستند

برترین مطالب

آموزش در لیداوب

از مقالات و ویدیو های آموزشی خودتان کسب درآمد کنید!

جدیدترین سرویس ما برای دوستان متخصص و خوش بیان در زمینه طراحی وب ارائه شد. این سرویس به شما این امکان را می دهد که به آسانی مقالات و یا ویدیو های آموزشی خود را در لیداوب منتشر کنید. فرصت مناسبی است که بدون داشتن وب سایت و یا وبلاگ و مهم تر از همه بدون هزینه، مطالب خود را در لیداوب منتشر کنید و مهم تر از همه با فروش آنها کسب درآمد کنید. همین حالا شروع کنید و این فرصت استثنایی را از دست ندهید.