برای برنامه نویسی BackEnd زبان ها و تکنولوژی های متنوعی وجود دارد که باید یکی از آنها را برای انجام پروژه های وب انتخاب و به صورت تخصصی دنبال کنید.

در این نوشته قصد داریم در رابطه با تکنولوژی Asp.NET  یکی از قویترین تکنولوژی های بک اند صحبت کنیم.

تکنولوژی Asp.NET که توسط شرکت مایکروسافت در سال 1996 بر پایه زبان های C# و VB.NET ارائه شد و با توجه به محبوبیت این زبان ها طرفداران بسیاری را به سمت خود جذب کرد و امروزه میلیون ها وبسایت و نرم افزار تحت وب موتور بک اندشان را با این تکنولوژی توسعه داده اند.

فهرست مطالبی که در این نوشته بررسی شده است :

  • تاریخچه و دلیل نام گذاری NET
  • نسخه های NET از ابتدا تا الان
  • فریم ورک های NET
  • ASP MVC و مفهوم آن
  • ASP Core و جدید ترین نسخه CORE
  • بازار کار برنامه نویسی ASP در ایران
  • مزایا و معایت ASP نسبت به پایتون و PHP
  • برترین نرم افزارهای نوشته شده با NET

تاریخچه و دلیل نام گذاری ASP.NET

ASP مخفف کلمه Active Server Page به معنای صفحات فعال تحت سرور می باشد. یعنی صفحات پویایی که روی سرور برای دسترسی عمومی اجرا می شود.

سال 1996 اولین نسخه از تکنولوژی asp با سروصدای زیاد بین برنامه نویسان عرضه شد، در آن زمان اعتقاد بر این بود که ASP می تواند انقلابی در زمینه برنامه نویسی وب ایجاد کند و باعث ایجاد اشتیاق بیشتر برای سوق دادن برنامه نویسان به سمت وب شود. در آن زمان هنوز محیط توسعه ویژوال استودیو اجرایی نشده بود و asp با محیط Visual Interdev عرضه شد. این نسخه از ASP هنوز تحت چارچوب گسترده .NET نبود و یک نسخه متفاوت با امکاناتی همچون ارتباط با دیتابیس با روش ADO و … بود.

در واقع همراه با عرضه اولین نسخه از NET. در سال 2002 اولین نسخه از ASP.NET نیز که در قالب چارچوب کاری یا فریم ورک NET. فعالیت میکرد، همزمان با اولین نسخه از ویژوال استودیو ارائه شد.

برخی از ویژگی های ASP.NET در شروع فعالیت مثل مبتنی بر شی گرایی بودن، کتابخانه ها و DLL های متنوع و کاربردی باعث شد محبوبت ASP بالاتر رفته و طرفداران بیشتری به خود جذب کند، این استقبال بی نظیر باعث شد مایکروسافت تا به امروز بیش از 20 نسخه از ASP و سایر موارد مرتبط را عرضه کند.

اطلاعات درباره سیر تکامل هر تکنولوژی به کسب دانش درباره آن کمک شایانی میکند، اما با توجه به اینکه در این نوشته قصد داریم در رابطه با موارد کاربردی ASP صحبت کنیم، مرور گذشته ASP را به صورت خلاصه فقط اشاره میکنیم و در ادامه به سراغ موارد کلیدی مانند Core ، MVC و … خواهیم رفت.

تاریخ ارائه ورژن موارد قابل توجه قابلیت های جدید
ژانویه 2002 1.0 اولین ورژن از ASP.NET

ارائه همزمان با ارائه اولین نسخه از ویژوال استودیودات نت

·         توسعه برنامه های تحت وب به صورت شی گرا

·         پشتیبانی از قابلت های ارث بری ، چند ریختی و سایر قابلیت های شی گرایی

·         ارتباط با دیتابیس با روش ado.net و راحت تر شدن ارتباط با دیتابیس

·         مانند ویندوز پروگرمینگ در asp هم قابلیت استفاده از dll ها و سایر اکستنشن ها اضافه شد.

آپریل 2003 1.1 ارائه و انتشار همزمان با ویندوز سرور 2003 ·         اضافه شدن موبایل کنترلر ها

·         اعتبار سنجی اتوماتیک ورودی ها

نوامبر 2005 2.0 انتشار به همراه ویژوال استودیو 2005 و ویژوال وب دولوپر اکسپرس و اس کیو ال 2005 ·         اضافه شدن کنترل های مربوط به مدیریت داده مانند دیتاگرید ویو و فرم دیتا و …

·         اضافه شدن تکنیک های جدید دسترسی به داده مثل(SqlDataSource, ObjectDataSource, XmlDataSource controls)

·         کنترل های پیمایش

·         مستر پیج ها

·         کنترل های مربوط به لاگین

·         تم ها

·         اسکین ها

·         قابلیت Web parts

·         سرویس های شخصی سازی

·         قابلیت Full pre-compilation

·         روش های جدید بومی سازی

·         پشتیبانی از پردازنده های 64 بیت

نوامبر 2006 3.0 ·         اضافه شدن قابلیت wpf

·         اضافه شدن قابلیت WF

·         اضافه شدن قابلیت WCF

آپریل 2010 4.0 ارائه موازی و همزمان با dotNetFramework 4 دو پراپرتی MetaKeyword و  MetaDescription به صفحات اضافه شد
April 18, 2019[9] 4.8 Released[14] ·         بهبود GIT و NGEN

·         به روز رسانی  ZLib

·         کاهش تاثیر FIPS بر رمزنگاری

·         قابلیت های دستیابی برای windows Form  ها

·         خدمات بهبود رفتار برای WCF

·         ارتقا UIA برای WPF

نوامبر 2015 5 RC1 این نسخه بعدا از ASP.NET جدا شد و به پروژه جدیدی به نام ASP Core  تغییر نام داد و از ASP Core1  شروع شد. یک پروژه کاملا جدید و با اهداف و قابلیت های کاملا ارتقا یافته و خاص

فریم ورک های ASP.NET

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

در زبان ASP.NET هم فریم ورک NET. جز مشهورترین و پرکاربردترین می باشد. اما با توجه به اینکه چارچوب تکنولوژی  Asp.NET بر پایه این فریم ورک می باشد و الزاما همه برنامه نویسان باید از این فریم ورک استفاده کنند عموما آن را به عنوان یک چارچوب به معنای مرسوم آن نمیشناسند، در واقع NET. یک فریم ورک مادر است که سایر فریم ورک ها استانداردها و چارچوب ها باید از قوانین و استانداردهای آن پیروی کنند.

فریم ورک ها در برنامه نویسی وب به دو دسته فریم ورک های FrontEnd و BackEnd تقسیم می شوند.

مشهور ترین فریم ورک های FrontEnd که با ASP.NET سازگاری بالایی دارند عبارت اند از :

  • Sass
  • Bower
  • Jasmine
  • Karma
  • Bootstrap
  • AngularJS
  • Grunt
  • Yeoman

و برترین فریم ورک های BackEnd عبارت اند از :

  • NET WEBPI
  • NET MVC  (  یک الگوی طراحیست و با توجه به اینکه شامل استانداردهایی می باشد که به کار چارچوب می دهد میتوان از آن به عنوان یک فریم ورک نام برد.)
  • Sharp Tests Ex
  • Servicestack
  • Autofixture
  • CacheCow
  • Redis
  • NET
  • Windsor Container
  • Automapper
  • Common Logging
  • XUnit
  • Nancyfx
  • Signalr

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

در آینده در یک نوشته جداگانه ویژگی همه فریم ورکهایی که نام برده ام را کامل باز خواهم کرد.

ASP MVC و مفهوم آن

اگر در حال تحقیق درباره ASP باشید بیشتر از هر واژه ای احتمالا با MVC و Core مواجه شده اید.

Model-View-Controller) MVC) اجزای وبسایت را به سه گروه اصلی تقسیم می کند : مدل ها ، نمایش دهنده ها و کنترل کننده ها

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

این روش کار باعث می شود پیچیدگی پروژه با شکسته شدن به سه بخش کلی، بسیار کمتر شود. همچنین امکان خطایابی یا تغییر در ساختار هر کدام از بخش ها با کمترین تغییرات در بخش های دیگر امکان پذیر می باشد.

مهمترین مزایای استفاده از الگوی MVC :

  • کنترل کامل بر کدهای HTML
  • قابلیت SoC یا تفکیک ریسک و نگرانی های پروژه را امکان پذیر می کند.
  • توسعه امکان تست پروژه یا TDD را فعال می کند.
  • تعامل بهتر و آسان تر با جاوااسکریپت و فریم ورک های آن
  • قابلیت RestFul URLs که برای Seo بسیار موثر است.
  • عدم وجود رویدادهای PostBack و ViewState

Asp.Net Core چیست؟

ASP.NET Core نسخه منبع باز از ASP.NET است که بر روی سیستم عامل های Windows ، MacOs و لینوکس اجرا می شود.

ASP Core برای اولین بار سال 2016 ارائه شد و آخرین نسخه آن که اخیرا همزمان با dotNetFrameWork 5 ارائه شد به عنوان ASP Core 5 شناخته می شود.

یک موضوع غلط که گاها شنیده می شود این است که ASP Core به عنوان جایگزین ASP Mvc ارائه شده است در حالی که این دو هیچ ارتباطی به هم ندارند و در ASP Core هم الگوی MVC وجود دارد و پشتیبانی می شود.

در واقع ASP Core جهت متن باز شدن و قابل اجرا شدن محصول ASP در سیستم عامل ها و پلتفرم های مختلف ارائه شده است.

این تغییر و open source شدن بعد از آن شکل گرفت که زبان های رقیب ASP.NET یعنی PHP و Python  گوی سبقت را از ASP ربودن و کاربران بیشتری به سمت آنها سوق پیدا کردند.

با OpenSource شدن هسته ASP و قابلیت اجرا در سیستم عامل های مختلف بار دیگر مایکروسافت با محصول ASP به طرفدارانش جان دیگری داد.

بازار کار ASP.NET در ایران

محصولات مایکروسافت در ایران با توجه به ارزان بودن در پی عدم رعایت قانون کپی رایت، دارای محبوبیت و درصد بازار بالایی می باشند.

تمام سیستم ها از سیستم عامل ویندوز استفاده میکنند، در همه ادارات و سازمان ها ویندوز سرور نصب شده است، مدیریت پایگاه های داده بر عهده SQL Server مایکروسافت می باشد و در یک کلام سیستم نرم افزاری ایران، مایکروسافت شده است…

در این شرایط طبیعتا ASP.NET که یکی دیگر از محصولات مایکروسافت می باشد و برای استفاده از آن هزینه ای پرداخت نمی شود طرفداران و همچنین کارایی بسیار بالایی دارد.

این درصد بالای استقبال باعث شده پروژه های بیشتری برای افرادی که به صورت فریلنسری فعالیت میکنند وجود داشته باشد و شرکت های زیادی متقاضی استخدام متخصصان این حوزه باشند.

پس شما هم اگر به دنبال انتخاب تکنولوژی هستید که بعد از یادگیری بتوانید کسب درآمد مناسب داشته باشید، ASP انتخاب آگاهانه ای می باشد.

مزایا و معایب ASP نسبت به پایتون و PHP

مزایا :

  • مهمترین مزیت ASP نسبت به رقبای خود ، سازگاری بسیار بالا با محصولات مایکروسافت می باشد.
  • مزیت دیگری که قابل تامل می باشد IDE یا محیط توسعه قدرتمند آن یعنی ویژوال استودیو با قابلیت های خطایابی متعدد می باشد.
  • پشتیبانی و بروزرسانی توسط کمپانی قدرتمند مایکروسافت را هم می توان در لیست مزایای ASP گنجاند.

معایب :

  • مهمترین عیب ASP قیمت بالای آن برای استفاده می باشد که این مشکل در ایران تقریبا حل شده است 😊
  • عیب بعدی که می توان نام برد سرعت پایینتر load و سنگین تر بودن سیستم طراحی شده نسبت به رقبا می باشد.
  • کم بودن اکسنتنشن های رایگان نسبت به بقیه زبان های OpenSource عیب قابل توجه دیگر آن می باشد.

در نهایت باید با توجه به موارد مطرح شده در این مقاله بین زبان های برنامه نویسی تحقیقات خود را انجام دهید و برای پیاده سازی BackEnd یک وبسایت نهایتا یک زبان برنامه نویسی را کاملا مسلط و حرفه ای شوید و با استفاده از آن پروژه های خود را اجرا کنید.

برای حرفه ای شدن در این مسیر چه آموزش هایی باید ببنیم؟

  • اولین قدم یادگیری موارد پایه NET می باشد، ما در آموزش Asp.NET دانشجویار سعی کرده ایم به صورت کامل به آن بپردازیم و هر آنچه در شروع کار نیاز به یادگیری دارید را با آن کسب خواهید کرد. از اینجا می توانید این آموزش را مشاهده کنید.
  • سپس لازم از به بحث MVC در NET مسلط شوید، برای این موضوع آموزش ASP MVC دانشجویار دارای بار محتوایی لازم و دقت در ارائه مطلب با سطح بالایی می باشد که می توانید استفاده کنید.
  • سپس برای تسلط به طراحی سایت با asp core لازم است در این زمینه آموزش ببینید،آموزش مقدماتی asp core را ببنید و این مبحث را بیاموزید و سپس با آموزش های حرفه ای تر و پروژه محور تسلط کافی به موضوع پیدا کنید.

امیدوارم این نوشته و اطلاعاتی که در آن به اشتراک گذاشته شده است بتواند برای انتخاب مسیر صحیح به شما کمک کند.