asp.net چیست
منظور از asp.net چیست
در این مقاله قصد داریم فضای کاری ASP.NET، مزایا و معایب، معماری و هزاران مورد دیگر را در رابطه با ASP.NET بررسی کنیم. به طور خلاصه مایکروسافت این محصول را اینگونه تعریف میکند «فریمورکی متنباز (اوپنسورس) برای طراحی وبسرویسها و وباپلیکیشنهای مدرن با .NET». این محیط کاری که به هیچ سیستم عاملی محدود نیست، جایگاه ویژهای را در بین توسعهدهندگان وب و موبایل به خود اختصاص داده است. برای اینکه دریابید asp.net چیست با مکتبخونه همراه باشید.
پیشینه asp.net چیست
مایکروسافت در سال 1996 با ارائه ASP تلاش کرد تا محیط و زبانی برای طراحی صفحات تعاملگرای وب به بازار عرضه کند. زبان ASP یا Active Server Pages برای توسعه صفحاتی عرضه شد که در طول زمان نیاز به تغییر دارند. عرضه ASP تحول عظیمی را در برنامهنویسی وب ایجاد کرد و به برگ برنده مایکروسافت تبدیل شد.
سرعت بالای پیشرفت در این صنعت و محدودیتهای ASP باعث شد مایکروسافت خیلی سریع به فکر ارائه یک آپگرید برای این محصول محبوب بیافتد. در همین راستا اولین ورژن ASP.NET در سال 2002 و همزمان با اولین ورژن Visual Studio .NET به بازار عرضه شد. از آن زمان تا به حال، مایکروسافت با ارائه یک سری بهروزرسانی، این محصول خود را با نیازهای روز مطابق میکند.
مشکلات asp کلاسیک
شاید بپرسید چرا ASP خیلی سریع به دلیل محدودیتهایش با ASP.NET جایگزین شد اما از سال 2002 تا به حال مایکروسافت به جای ارائه محصولات جدید، برای ASP.NET بهروزرسانی ارائه میدهد؟ قبل از همه چیز باید بدانید مایکروسافت یک محصول دیگر هم در ادامه این روند و در سال 2015 با نام ASP.NET core منتشر کرد اما باز هم از ارائه آپدیت برای ASP.NET دست نکشید (آخرین آپدیت مربوط به سال 2019 است) . دلیل اصلی این اتفاق را میتوان در دستوپاگیر نبودن ایرادهای ASP.NET به اندازه ASP جستجو کرد. این مشکلات عبارت بودند از:
- مبنای ASP برای استفاده جاوا اسکریپت و ویژوال بیسیک اسکریپت بود. این یعنی کدها به صورت خطبهخط تفسیر میشدند و این اتفاق در هربار فراخوانی صفحه وب میافتاد.
- امکان پیدا کردن خطا در زمان نوشتن کد تقریبا وجود نداشت.
- در فایلهای ذخیره شده توسط ASP، کدهای اسگریپت با دستورات HTML ترکیب میشدند. این اتفاق باعث سردرگمی مدیران و توسعهدهندگان سایت خصوصا در سایتهای بزرگ و محتوامحور میشد.
- ابزارهای بسیار کمی جهت Debugging در اختیار کدنویسان قرار میگرفتند.
- امکانات محیط کاری برای توسعه بسیار محدود بود.
- برای سایتهایی که تعامل پیچیدهتری با کاربر داشتند (مثلا پنل کاربری) نیاز به نوشتن کد بیشتر بود و به صورت پیشفرض از قابلیت کار با جلسات (Sessions) حضور کاربر پشتیبانی نمیشد.
- برای ایجاد هرگونه تغییری در سایت نیاز بود آن را از دسترس کاربران خارج کنید.
- انتقال سایت از یک سرور به سروری دیگر زمانی که برنامه با ASP نوشته شده بود، چیزی شبیه به یک کابوس را برای مدیران میساخت.
مفهوم asp.net چیست
تمام این مشکلات و محدودیتها باعث شد مایکروسافت محصولی جدید را ساخته و روانه بازار کند. شروع قرن 21 در واقع شروع عصری تازه در صنایع دیجیتال و کسبوکارهای اینترنتی بود و توسعهدهندگان تقاضای روزافزونی برای ابزاری کارآمد و اثربخش در زمینه طراحی صفحات تعاملی (Interactive) اینترنتی داشتند. مایکروسافت در سال 2002 توانست با ارائه ASP.NET به خوبی این تقاضا را با پاسخی مناسب روبرو کند.
asp.net چیستیک محیط کار متنباز و سمتسرور است که برای توسعه وبسایتها، وباپلیکیشنها و وبسرویسها کاربرد دارد. با استفاده از این محصول مایکروسافت، برنامهنویسان میتوانند صفحات وب پویا (Dynamic) تولید کنند. امکاناتی که مایکروسافت در دو دههی اخیر در اختیار برنامهنویسان وب قرار داده باعث پیشرفت این صنعت و بهوجود آمدن قابلیتهای جدید در زمینه طراحی وب شده است.
تفاوت HTML و asp.net چیست
در این قسمت میخواهیم تفاوتهای این دو زبان معروف را در قالب یک جدول بررسی کنیم:
HTML | ASP |
یک زبان سمت کلاینت است که با فرانتاند و رابط کاربری سایت کار دارد. | یک زبان سمت سرور است که با سرور در تعامل است و اطلاعاتی را از آن در قالب کدها درخواست کرده و پاسخ خود را نیز در قالب کد دریافت میکند. |
این زبان اجازه طراحی اشیای گرافیکی موجود در صفحات وب را به توسعهدهنده فرانتاند میدهد. | این زبان برای اسکریپت کردن جریانات درونی وبسایت و اتفاقات پشت دکمهها و عکسها ساخته شده است. |
برای طراحی صفحات استاتیک (ایستا) کاربرد دارد. | برای طراحی صفحات تعاملی و پویا (داینامیک) کاربرد دارد. |
به بزرگ یا کوچک بودن حروف حساس نیست. | به بزرگ یا کوچک بودن حروف حساس است. |
درخواست HTML با یک فایل پاسخ داده میشود. | درخواست ASP با دستورات HTML از سمت سرور پاسخ داده میشود. |
توانایی اتصال به پایگاه داده را ندارد. | اطلاعات درخواست شده را از پایگاه داده میگیرد. |
مزایای asp.net چیست
در یکی از بخشها به مشکلات ASP.NET پرداختیم. تفاوتهای زبان ASP با زبان ASP.NET را در ادامه میبینید. این تفاوتها باعث شدهاند که ASP.NET نیاز به جایگزین نداشته باشد و همچنان به سلطه خود ادامه دهد.
- جدایی فرانتاند و بکاند: گفته شد که در ASP کلاسیک، کدهای اسکریپت با کدهای HTML تلفیق شده و ذخیره میشوند. جدایی این دو باعث راحتتر شدن کار برنامهنویسان در بهینه ساختن صفحات خصوصا برای سایتهای محتوامحور میشود.
- پشتیبانی از زبانهای کامپایل شونده: تفسیرشونده بودن ASP باعث میشد در هربار فراخوانی صفحه، خط به خط کدها تفسیر و سپس اجرا شوند. همین اتفاق باعث پایین آمدن سرعت و اشکال در اجرای کد میشد. پشتیبانی از زبانهای کامپایل شونده در دات نت به این معناست که کدها در زمان فراخوانی سایت برای اولین بار کامپایل شده و به صورت بایت کد در قالب Cache ذخیره میشوند. این بایتکدها در زمان فراخوانیهای بعدی از خود کامپیوتر برداشته میشوند و به این ترتیب نیاز به اجرا شدن خط به خط کد برای هر بار اجرای کل برنامه نیست. از طرف دیگر زبانهای کامپایلشونده به برنامهنویس امکان استفاده از شیگرایی و دستورات ساختار یافتهتری را میدهند که در زبانهای تفسیر شونده این دو امکان موجود نیست.
- امکان استفاده از سرویسهای داتنت فریمورک
- محیط گرافیکی توسعه برنامه: همانطور که گفتیم، اولین ورژن این فریمورک همراه با ویژوال استودیو داتنت به بازار عرضه شد. این دو محصول مکمل یکدیگرند. محیط گرافیکی ویژوال استودیو داتنت امکانات مختلفی را با Drag and Drop در اختیار توسعهدهنده قرار میدهد.
- ذخیره اطلاعات جلسات حضور کاربران: در ASP برای این مسئله نیاز به کدنویسی بود اما NET این امکان را در اختیار شما قرار میدهد که اطلاعات حضور کاربران در سایت را ذخیره و بازیابی کنید.
- بهروزرسانی آنلاین: برای ایجاد تغییر در سایت دیگر لازم نیست سایت را از کار بیندازید.
- ذخیره تنظیمات در فایل XML: فایلهای XML به راحتی قابل خواندن و ویرایش بوده و از همین جهت مناسبترین گزینه برای ذخیره تنظیمات به حساب میآیند.
کاربردهای ASP.NET چیست
یادگیری زبان ASP و کار با فریمورک .NET برای توسعهدهندگان بکاند یک ضرورت محسوب میشود. با استفاده از این فریمورک میتوانید صفحات پویا و rich را در قالب کدهای C# یا ویژوال بیسیک طراحی کنید. در کنار اینها ASP.NET از اسکریپت هم پیروی میکند. در واقع با استفاده از این فریمورک دست شما برای کدزنی باز خواهد بود.
اگر قصد کار مرتبط با برنامهنویسی وب را دارید همین امروز یادگیری ASP.NET را آغاز کنید. تسلط به کار با محیط ASP نهتنها در ایران بلکه در جهان میتواند برای شما فرصت شغلی ایجاد کند. در حال حاضر کسبوکارهای اینترنتی بسیاری نیاز به جذب توسعهدهنده یا تیم توسعه وب دارند و ASP.NET را از مهارتهای لازم برای بهدستآوردن موقعیت شغلی معرفی میکنند.
نصب ASP.NET
در مورد کاربرد ASP و مزایای آن صحبت کردیم. حالا میخواهیم شیوه نصب ASP را به شما آموزش دهیم. برای نصب این فریمورک باید مراحل زیر را طی کنید:
نصب .NET Framework
ASP.NET در واقع قابلیتهای دات نت فریمورک را به زبان ASP اضافه کرده است. برای استفاده از امکانات این نرمافزار قبل از هرچیزی نیاز به نصب آخرین نسخه .NET Framework خواهید داشت. برای این کار Start را باز کرده به بخش Command Prompt بروید و پس از راستکلیک، روی Run as adminstrator کلیک کنید. دستور زیر را پس از باز شدن پنجره تایپ کرده و منتظر نتیجه بمانید.
Dism /online /enable-feature /featurename:netfx3
نصب ماژولهای IIS و ASP.NET
- کلیک روی استارت
- رفتن به کنترل پنل
- کلیک روی Turn Windows features on or off
- در دیالوگباکس باز شده، کلیک روی Internet Information Services (موارد پیشفرض نصب میشوند)
- کلیک روی Application Development Features و اضافه کردن NET 4.5 (اگر .NET ورژن 3.5 را نصب کردهاید ASP.NET 3.5 را اضافه کنید)
- کلیک بر روی OK
- در انتها به مرورگر خود بروید و دستور زیر را تایپ کنید
http: // localhost
اگر صفحه خوشآمدگویی IIS ظاهر شود یعنی عملیات با موفقیت به پایان رسیسده است.
اضافه کردن سایت
- به کنترل پنل رفته وارد System and security شوید
- به Administrative Tools رفته و روی Internet Information Services manager کلیک کنید.
- در صفحه Connections روی Sites کلیک کرده و سایتی که قصد دارید با ASP روی آن کار کنید را وارد کنید.
- در قسمت Alias اسمی برای برنامه یا صفحه خود انتخاب کنید.
پس از به پایان رسیدن این مراحل شما میتوانید روی برنامه خود بر بستر وب با استفاده از زبان ASP و امکانات .NET کار کنید و از قابلیتهای آن لذت ببرید.
ASP.NET Core
اگرچه ASP.NET همچنان استفاده گستردهای دارد، نیاز برای کار بر روی بستر فضای ابری و مسائلی مانند اینترنت اشیا، مایکروسافت را وادار به ارائه ASP.NET Core کرد. این فریمورک که تا حدود زیادی مشابه ASP.NET است در سال 2015 عرضه شد.
مایکروسافت با انجام تغییرات جزئی از جمله حداقل کردن overhead، توانایی سازگاری با فضای ابری و اجرا شدن روی آن را برای ASP.NET افزایش داد. امتیازات ASP.NET Core عبارتند از:
- پشتیبانی از پلتفرمهای مختلف
- سرعت بالا
- آسان کردن نگهداری و ویرایش کد از طریق IoC Container
- یکپارچه بودن با فریمورکهای مدرن طراحی رابط کاربری مثل AngularJS
- پشتیبانی از هاستهای دیگر (به جز IIS)
- اجرای همزمان ورژنهای مختلف یک کد
- اشغال فضای کمتر برای اجرا نسبت به NET
یادگیری کار با این پلتفرم در حال تبدیل شدن به یکی از الزامات برای توسعهدهندگان وب است. در حال حاضر منابع محدودیت برای آموزش ASP Core وجود دارند اما یادگیری آن میتواند برگ برنده شما برای کار با تکنولوژیهای نسل بعد (مثل اینترنت اشیا) تلقی شود.
کلام آخر
با استفاده از ASP.NET میتوانید برنامههای وب را با سادهترین و دلچسبترین محیط ممکن توسعه دهید. این فریمورک که در سال 2002 توسط مایکروسافت به بازار عرضه شده است، در حال حاضر محبوبیتی جهانی دارد. امتیاز ویژهی این فریمورک نسبت به نسخه قبلی خود (ASP) پشتیبانی از زبانهای کامپایلشونده مثل C# است.
در واقع اگر به یک زبان سطح بالا مسلط هستید، بهراحتی میتوانید وارد دنیای ASP شوید. کاربرد ASP در طراحی صفحات پویا و تعاملی برای برنامههای بر بستر وب، وبسرویسها یا وبسایتها است.در این مقاله سعی کردیم بررسی کنیم asp.net چیست و چه ویژگیهایی دارد. برای یادگیری این زبان برنامهنویسی کاربردی و مهم میتوانید آموزش asp.net را با مکتب خونه شروع کنید.