۱۳۹۰/۰۱/۱۷

شايعاتي در مورد نسخه‌ي بعدي ASP.NET Webforms


مدتي قبل مطلبي تحت عنوان "What’s coming in the next version of ASP.NET Webforms" منتشر شد (كه نويسنده آن دقيقا مشخص نيست اين اطلاعات را از كجا آورده و همچنين تكذيبيه‌اي هم جايي در مورد آن صادر نشد ...)؛ بنابراين خلاصه‌اي از آن‌را با هم مرور خواهيم كرد:

اخيرا تمام توجه تيم ASP.NET معطوف نسخه‌ي MVC آن شده است؛ هر چند هنوز تعداد قابل توجهي از پروژه‌هاي ASP.NET بر اساس Webforms تهيه شده‌اند يا مي‌شوند. همچنين برخلاف مطالب منتشره در انجمن‌ها يا بلاگ‌هاي مرتبط، تيم ASP.NET ، نگارش Webforms را فراموش نكرده و حتي نگارش 4 آن نيز تعدادي از قابليت‌هاي MVC مانند URL Routing، حجم كمتر ViewState و كنترل بيشتر بر روي HTML نهايي را به همراه داشته است.
به روز رساني‌هاي متوالي MVC (كه اكنون به نگارش 3 رسيده است)، شايد اين تصور را پيش آورده باشد كه ديگر Webforms مرده است! اما مهترين دليل به روز رساني‌هاي دير هنگام نسخه‌ي Webforms ، يكي بودن اسمبلي‌هاي آن با مجموعه‌ي اصلي دات نت فريم ورك است (برخلاف نسخه‌ي MVC كه به صورت افزونه‌اي براي اين مجموعه ارائه شده است).

نسخه‌ي بعدي Webforms (حداقل) شامل تازه‌ها و پيشرفت‌هاي زير خواهد بود:

MVC ModelBinders
در نسخه‌ي MVC مفهومي به نام Model binders وجود دارد. كار آن مقدار دهي مدل برنامه به صورت خودكار بر اساس اطلاعات وارد شده توسط كاربر در رابط كاربري برنامه است. براي مثال در Webforms داريم employee.Name = txtName.Text . به اين معنا كه مقدر Text يك جعبه‌ي متني به نام txtName را به خاصيت Name شيء employee نسبت بده. اينكار (انقياد اطلاعات رابط كاربر به مدل برنامه) با وجود Model binders در نسخه‌ي MVC به صورت خودكار انجام مي‌شود. اين مورد دو مزيت عمده را به همراه خواهد داشت: الف) سادگي و حجم كمتر كد ب) امكان تهيه ساده‌تر unit test جهت قسمت‌هاي مختلف برنامه (چون ديگر به txtName گره نخواهد خورد).
امكانات Model binders ، گفته شده (مطابق مرجع فوق!) كه قرار است جزئي از نگارش بعدي Webforms باشد ... (اميدوارم!)

بهبودهاي حاصل شده در اعتبار سنجي
نسخه‌ي بعدي Webforms شامل پيشرفت‌هاي اعتبارسنجي نسخه‌ي MVC نيز خواهد بود. به اين معنا كه امكان كنارگذاشتن كنترل‌هاي اعتبار سنجي Webforms و استفاده يكپارچه از امكانات jQuery فراهم خواهد شد (به اين صورت ديگر شما محدود به يك سري كنترل از پيش تعيين شده نخواهيد بود و امكان دسترسي به كوهي از افزونه‌هاي اعتبار سنجي jQuery را خواهيد داشت).


CSS Sprites
CSS Sprites كه در نگارش بعدي Webforms پشتيباني خواهد شد (+)، تكنيكي است جهت كاهش تعداد رفت و برگشت‌هاي به سرور با ارائه‌ي يك فايل حاوي تمام تصاوير قرار گرفته شده در يك شبكه يا گريد. به اين صورت بجاي دها يا صدها رفت و برگشت به سرور جهت دريافت تصاوير يك صفحه، تنها يك رفت و برگشت انجام خواهد شد.