ASP تلاش میکند تحول توسعه دهندهها را ازتوسعه کاربرد ویندوز تا توسعه WEB توسط ارائه قابلیت ساخت صفحات مرکب از کنترل ها همانند یک رابط کاربری ویندوزساده نماید. یک کنترل WEB ازقبیل یک Button یا یک Label دربسیاری ازسبک ها همانند همتای ویندوزخودش عمل میکند. کد میتواند خصوصیات وپاسخ خود را به رویدادهایش ارجاع دهد. کنترل ها معلومات"فوت و فن" ترجمه خود را دارند: درحالی که کنترل های ویندوزخودشان را برروی پرده ترسیم میکنند، کنترل های WEB قطعاتی ازHTML وJAVASCRIPT را تولید میکنند که بخشی ازفرم صفحه حاصل را به مرورگرکاربرنهایی می فرستد.
ASP.NET برنامه نویس را به توسعه کاربردها با استفاده ازنمونه رابط کاربرگرافیکی رویدادی(مدل event-driven GUI) وسریعترازمحیط های سندی مرسوم درWEB مانند ASP و PHP تشویق میکند. چارچوب کاری تلاش میکند فناوری های موجود از قبیل JAVASCRIPT را با مؤلفههای درونی همانند حالت دید برای به دست آوردن حالت پایدار"درخواست درونی" درمحیط WEB نا متمرکزاصلی ترکیب کند. سایرتفاوت های مقایسهای ASP قدیمی هستند:
سایرتفاوت های مقایسهای ASP قدیمی هستند:
- کد تألیف شده سبب اجرای سریع تر برنامههایی همراه با به دام انداختن خطاهای زمان طراحی بیشتر درحین توسعه میشود .
- عمدتاً با استفاده از مستثنی کردن بهوسیلهٔ قالب Try-Catch مدیریت خطاهای زمان اجرا را بهبود می بخشد .
- شباهت به کاربردهای ویندوزی ازقبیل کنترل ها ورویدادها ، که سبب ایجاد امکان توسعه رابط های کاربردی توانمند میشود که سابقاً تنها درمیزکاریافت میشد .
- مجموعه وسیعی ازکنترل ها و کابخانههای کلاس اجازهٔ ساخت سریعتر برنامههای را میدهد ، بعلاوه کنترل های تعریف شده توسط کاربر همچون منوها ، اجازه میدهد که معمولاً از قالب ها استفاده شود . طراحی این کنترل ها روی صفحه آسانتراست زیرا اغلب آنها میتوانند دربیشترویرایشگرها به صورت بصری عمل کنند.
- ASP.NET دارای قابلیت استفاده هم زمان از چند زبان شناسایی شده در VB.NETمی باشد که اجازه میدهد تا صفحات WEB نوشته شوند با VB.NET و C# و J# و غیره .
- توانایی Cache شدن تمام صفحه یا فقط بخشی ازآن برای بهبود نمایش.
- توانایی استفاده ازمدل کد پشتیبان برای جداسازی منطق کار از ارائه.
- اگرهرکاربرASP.NET درحافظه نفوذ کند، مجری ASP.NET میزبان دامنهٔ برنامهٔ دارای خطا را از بین میبرد و برنامه را مجدداً راه اندازی میکند .
- حالت جلسه درASP.NET میتواند دریک پایگاه داده SQL Server یا دریک پردازش جداگانه در حال اجرا برروی دستگاه ساده مانند سرویس دهنده WEB یا یک ماشین متفاوت ذخیره میشود. زمانیکه سرویس دهندهWEB مجدداً راه اندازی میشود یا پردازش کننده ASP.NET بازیافت میشود ، مقادیر راههای جلسه از بین نمیرود.
- نسخههای قبلی ASP.NET (1.0 and 1.1) به دلیل مغایرت با استاندارد های تاییدی مورد انتقاد بودند . HTML و JavaScript های تولید شده به مرورگرسرویس گیرنده فرستاده میشدند که همیشه در برابر استاندارد های W3C/ECMA تایید شده نبودند . بعلاوه گاهی اوقات چارچوب کاری مرورگر خصایص را نا درست تشخیص میدهد و یا مرورگر های WEB ، به غیر از IE ساخته شده توسط مایکروسافت مانند نسخههای قبلی ، HTML/JAVASCRIPT بازگردانی شده به این سرویس گیرندهها را با بعضی از خصایص از بین رفته و یا بعضی اوقات شکسته و یا ناقص شناسایی میکنند .
- کنترل های سرویس دهندهWEB: این ها کنترل های معرفی شده توسط ASP.net برای فراهم سازی رابط کاربری برای وب فرم هستند. این کنترل ها ، کنترل ها ی مدیریت شده هستند و کنترل های WYSIWYG هستند. (چیزی که می بینید چیزی است که به دست آورده اید."نمایش اطلاعات درحالت چاپ شدنی")
معایب ASP
صفحات سرویس دهنده فعال قدیمی (ASP) وASP.NET میتوانند درکنار یکدیگر در یک برنامه WEB اجرا شوند. این رویکرد به توسعه دهنده اجازه میدهد برنامهها را به آهستگی جا به جا کند بجای آنکه همه آنها را یک باره تغییرحالت دهد . درIIS 6.0 وقبل ازآن، صفحاتی که با نسخههای متفاوتی ازچارچوب کاری ASP نوشته میشوند نمیتوانستند حالت جلسه را بدون استفاده ازکتابخانههای مشخص ثابت تقسیم کند . این ایراد درASP.NET وجود ندارد و برنامههای ASP درکنار یکدیگر بر روی IIS 7 اجرا میشود . در IIS 7 ، نمونهها میتوانند درخطوط مجتمع اجرا شوند که اجازه میدهد تا نمونهها درهرزبانی نوشته شود ، تا برای هر درخواستی قابل نمایش گردد. [۲]
دربرخی موارد در زمان اجرای ASP.NET پردازش عامل در حلقه می افتد . (به طور مثال اگرآن بدون توجه "بی احتیاط" بیاید یا اگرهرکاربرد خارج از کنترل اجرا شود ،سبب میشود که پردازش عامل بیش از 60 درصد از رم موجود را استفاده کند ) آن همچنین میتواند در شرایطی که تعداد معینی ازدرخواست ها ارسال میشود ، اتفاق بیافتد ، برای مثال در یک سیکل زمانی . دراین حالات اگربرنامه برای استفاده از جلسه داخلی تنظیم شده باشد ، ممکن است کاربران حالت جلسه را ازدست بدهند "گم کنند" . اگربرنامه به حالت جلسه برای ذخیره کردن اطلاعات اعتبار سنجی وابسته باشد ، و برنامه با استفاده ازجلسات درون پردازشی پیکربندی شود ، ممکن است در صورتی که پردازش درحلقه بیافتد ، ارتباط کاربر قطع شود .
نشانههایی که ASP.NET 2.0 تولید میکند توسط W3C تایید شده اند .اما این نکته حائز اهمبت است که ایا این افزایش قابل دسترسی است ؟ یکی از این مزایا از یک لحاظ صفحات XHTML + نمایش CSS است . کنترل های متعدد از قبیل کنترل های ورود و کنترل های چند مرحلهای ، به صورت پیش فرض از جداول HTML استفاده میکنند . Microsoft هم اکنون به سمت طرقی میرود که این مشکل را به وسیله انتشار کنترل های سازگار کنندهٔ ASP.NET 2.0 CSS حل کند . به طور مثال افزودنی های رایگان که نشانههایی مطابق با XHTML+CSS در دسترس تولید میکنند . به هر حال برخی از کنترل ها هنوز به JAVASCRIPT استناد میکنند .
ابزارهای توسعه
برخی ازبستههای نرم افزاری دردسترس که برای توسعه کاربردهای ASP.NET وجود دارند:
- Microsoft Expression Web بخشی ازمجموعه کاربردی Microsoft Expression Studio
- Visual Studio .NET برای (for ASP.NET 1.x)
- ASP.NET Web Matrix (برای ASP.NET 1.x ; اکنون کمتر پشتیبانی میشود: جایگزین شده توسط Visual Web Developer 2005 Express Edition مستقل)
- Visual Web Developer 2005 Express Edition یا Visual Studio 2005 (برای ASP.NET 2.0 )
- Visual Studio 2008 (برای ASP.NET 3.5 )
- Macromedia HomeSite 5.5 (برای برچسب های ASP )
- Microsoft SharePoint Designer 12
- Delphi 2006
- MonoDevelop (مستقل"رایگان" /کد باز)
- SharpDevelop (مستقل"رایگان" /کد باز)
- Adobe Dreamweaver
چارچوب کاری ها
زمانی که عملیات توسعه توسط ASP.NET انجام میشود ، لزومی به استفاده از آن برای مدل توسعه فرم های استاندارد وب نیست . چارچوب کاری های قابل ملاحظهای که برای انواع طراحی شده اند شامل :
- Castle Monorail ، یک چاچوب کاری MVC کد باز با یک مدل اجرایی شبیه به Ruby on Rails . چارچوب کاری معمولاً به همراه Castle Active Record استفاده میشود که یک لایه ORM ساخته شده درNHibernate میباشد .
- Spring.NET ، بخشی ازچارچوب کاری ارتجاعی برای JAVA.
|