معرفی فرم های وب (Web Forms)

فرم های وب يکی از امکانات جديد ارائه شده توسط ASP.NET ، جهت طراحی و پياده سازی بخش رابط کاربر نرم افزارهای تحت وب می باشند . مهمترين ويژگی فرم های فوق ، قابليت برنامه نويسی بر روی آنها است . يک فرم وب اطلاعات مربوطه را برای کاربران صرفنظر از نوع مرورگر و دستگاه استفاده شده، فراهم می کند.فرمت خروجی ايجادشده توسط فرم های وب ، شامل اغلب زبانهای متکی بر پروتکل Http نظير: html ,xml, wml و ECMAScript(Jscript,JavaScript) است .
دوشنبه، 12 اسفند 1387
تخمین زمان مطالعه:
موارد بیشتر برای شما
معرفی فرم های وب (Web Forms)
معرفی فرم های وب (Web Forms)
معرفی فرم های وب (Web Forms)

فرم های وب يکی از امکانات جديد ارائه شده توسط ASP.NET ، جهت طراحی و پياده سازی بخش رابط کاربر نرم افزارهای تحت وب می باشند . مهمترين ويژگی فرم های فوق ، قابليت برنامه نويسی بر روی آنها است . يک فرم وب اطلاعات مربوطه را برای کاربران صرفنظر از نوع مرورگر و دستگاه استفاده شده، فراهم می کند.فرمت خروجی ايجادشده توسط فرم های وب ، شامل اغلب زبانهای متکی بر پروتکل Http نظير: html ,xml, wml و ECMAScript(Jscript,JavaScript) است . در ادامه به بررسی برخی از ويژگی های مهم اين نوع فرم ها خواهيم پرداخت.
● صفحاتی هستند که بر اساس تکنولوژی ASP.NET ماکروسافت ايجاد و کدها بر روی سرويس دهنده اجراء و در ادامه بصورت پويا و اتوماتيک صفحات وبی توليد می گردد که قابل استفاده برای مرورگرها و يا دستگاههای سرويس گيرنده است .
● کاملا" سازگار با مرورگرها و موبايل می باشند.يک فرم وب بصورت پويا و خودکار قابليت ها و توانائی های مرورگرها را از ابعاد متفاوت نظير Style, Layout و ... تشخيص داده و اطلاعات ارسالی را که متناسب با واقعيت های موجود است، ارسال خواهند کرد. وضعيت فوق با توجه به خواسته های طراحان می تواند بسمت يک مرورگر خاص همگرا گردد يعنی می توان يک فرم وب را بگونه ای طراحی نمود که از قابليت های خاص يک نسخه خاص مرورگر استفاده نمايد.
● سازگار با هريک از زبانهای حمايت شده در دات نت نظير #VisualBasic.NET, C و ...
● فرمهای وب بر اساس چارچوب دات نت ايجاد می گردند ،بنابراين از تمامی مزايای چارچوب فوق نظير : محيط مديريت يافته ، امنيت نوع داده ها، توارث و ... بهره مند خواهند بود.
● کاملا" انعطلاف پذير می باشند. طراحان می توانند کنترل های لازم را خود طراحی و به آن اضافه نمايند.(User Control) .

اجزای فرم های وب

در فرم های وب ، برنامه نويسی رابط کاربر به دو بخش مجزاء تقسيم شده است : عناصر ويژوال و منطق. عناصر ويژوال، صفحه فرم وب (Web Form Page) ، ناميده می شوند.صفحه فوق شامل فايلی است که در آن تگ های Html ( ايستا) ، کنترل های سرويس دهنده ASP.NET و يا هر دو قرار خواهند گرفت . صفحه فرم های وب بعنوان محلی برای نگهداری متن های ايستا و کنترل هائی که قصد نمايش آنها را داشته باشيم، مطرح می گردنند.
منطق مورد نظر برای صفحه فرم های وب شامل کدهائی است که از آنها برای ايجاد ارتباط متقابل با فرم استفاده می گردد. منطق برنامه نويسی در يک فايل مجزاء نسبت به فايل رابط کاربر قرار خواهد گرفت . اين فايل اصطلاحا" "Code behind" ، ناميده می شود. کدها را می توان با استفاده از VisualBasic.Net و يا C# نوشت . انشعاب اين نوع فايل ها aspx.vb ( در صورت استفاده از VisuaBasic.NET) و يا aspx.cs ( در صورت استفاده از زبان c#) در نظر گرفته می شود. شکل زير ساختار فايل های تشکيل دهنده يک فرم وب را نشان می دهد.
کدهای موجود در فايل های مربوط به فرم های وب پس از ترجمه بصورت فايل های .dll تبديل خواهند شد. فايل صفحه aspx ( بخش ويژوال فرم ) نيز با يک روش کاملا" متفاوت ترجمه خواهد شد.! اولين دفعه که کاربری درخواست يک صفحه aspx را داشته باشد ،ASP.NET بصورت خودکار يک فايل از نوع .Net Class را ايجاد که مسئوليت نمايش صفحه فرم وب را برعهده خواهد گرفت . فايل فوق در ادامه به.dll تبديل خواهد شد . کلاس ايجاد شده برای صفحه aspx خصايص خود را از کلاس مربوط به کلاس ايجاد شده کدها به ارث خواهد برد. زمانيکه کاربری درخواست صفحه ای را داشته باشد ،فايل های .dll بر روی سرويس دهنده بصورت اتوماتيک اجرا ء و خروجی Html را توليد خواهند کرد.

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

برنامه نويسی مبتنی بر وب ، چالش های جديدی را در زمينه برنامه نويسی مطرح نموده است که قبلا" در محيط های سنتتی برنامه نويسی سرويس دهنده /سرويس گيرنده با آن مواجه نبوده ايم . در ادامه به برخی از چالش های فوق اشاره شده تا از اين رهگذر آماده شناخت عميق تر فرم های وب در زمينه نحوه برخورد با چالش های فوق شويم.

چالش های برنامه های مبتنی بر وب

● پياده سازی يک رابط کاربر وب قدرتمند . طراحی و پياده سازی يک کاربر با چارچوپ پيچيده ،حجم بالای محتويات پويا ،قابليت های ويژه جهت ارتباط متقابل با کاربر و ... با استفاده از تگ های Html بسيار مشکل و گاها" غيرممکن است . رابط کاربر می بايست بسيار انعطاف پذير بوده تا بتواند با هر نوع مرورگر و هر نوع دستگاه براحتی و بدون بروز مشکل فعاليت نمايد.
● تفکيک سرويس دهنده و سرويس گيرنده . در يک برنامه تحت وب ،سرويس گيرنده( مرورگرها) و سرويس دهنده برنامه های متفاوتی بوده که حتی بر روی کامپيوترهای متفاوت اجراء می گردنند.( حتی دارای سيستم های عامل متفاوت می باشند. ) . برنامه های فوق ، اطلاعات بسيار کمی را با يکديگر به اشتراک گذاشته و صرفا" قادر به ارتباط با يکديگر جهت تبادل اطلاعات ضروری با حجم بسيار ناچيز خواهند بود.
● Stateless Execution . زمانيکه سرويس دهنده وب درخواستی برای يک صفحه وب را دريافت می نمايد ،در ابتدا صفحه درخواستی را پيدا کرده ،آن را پردازش و در نهايت آن را برای مرورگر ( متقاضی ) ارسال خواهد کرد. پس از ارسال، تمامی اطلاعات مرتبط با صفحه درخواست شده حذف خواهند شد.در صورتيکه کاربر مجددا" درخواست همان صفحه را از سرويس دهنده داشته باشد ،سرويس دهنده می بايست تمامی عمليات فوق را مجددا" تکرار نمايد. بدين ترتيب می توان گفت که در حافظه سرويس دهنده ، هيچگونه اثری از عمليات بر روی صفحات پردازش شده قبلی ثبت و ضبط نخواهد شد.
● قابليت های ناشناخته سرويس گيرنده . برنامه های تحت وب برای تعداد کاربران متعدد که از مرورگرهای متفاوتی استفاده می نمايند ، طراحی و پياده سازی می گردنند. مرورگرها دارای قابليت های متفاوت بوده و همين امر ايجاد يک نرم افزار را که تحت هر مرورگری اجراء و عملکرد يکسانی را از بعد منطق و شکل ظاهری داشته باشد، مشکل می نمايد.
● پيچيدگی در دستيابی به داده ها . خواندن و نوشتن داده ها در يک بانک اطلاعاتی با اتکاء بر روش های سنتی استفاده شده در برنامه نويسی تحت وب تاکنون ، کار مشکلی بنظر آمده و مستلزم بکارگيری مجموعه ای وسيع از منابع خواهد بود.
● پيچيدگی در Scalability . در اغلب موارد برنامه های طراحی شده تحت وب با استفاده از متدهای موجود در رابطه با اهداف scalability ، بدليل عدم سازگاری بين اجزاء متفاوت يک نرم افزار موفق نبوده اند.
فرم های وب و تکنولوژی ASP.NET با علم به چالش های گفته شده ،راهکارهای زير را ارائه نموده اند:
● استفاده از يک محيط همگن و اشياء مستحکم . با توجه به مدل اشياء ارائه شده توسط ASP.NET ، می توان اين تصور را داشت که فرم ها بعنوان يونيت ( واحد) در نظر گرفته می شوند نه بعنوان بخش های مجزای سرويس دهنده / سرويس گيرنده . در مدل فوق می توان فرم ها را برنامه نويسی و صفات مربوط به عناصر موجود بر روی فرم را تغيير و در صورت لزوم پاسخ لازم را به يک رويداد خاص داد.
● مدل برنامه نويسی Event-Driven . فرم های وب باعث استفاده از تکنولوژی آشنای نوشتن Event-handler برای برنامه های تحت وب شده اند. در اين مدل پس از تشخيص بروز يک رويداد بر روی سرويس گيرنده ،متد مربوطه بصورت خودکار فراخوانی خواهد شد. فرم های وب امکان نوشتن کدهای ساختيافته برای برخورد با رويدادهای مورد نظر را فراهم می کنند.
● مديريت وضعيت برنامه . فريمورک صفحات ASP.NET بصورت خودکار عمليات مربوط به پشتيبانی از وضعيت فرم مورد نظر را برعهده گرفته و آن را کنترل خواهد کرد.بدين ترتيب با استفاده از روش های موجود، مديريت و پشتيبانی از وضعيت يک فرم بسادگی بوجود خواهد آمد.عمليات فوق بدون استفاده زياد از منابع سرويس دهنده انجام و می توان آن را بکمک ارسال Cookie و يا بدون ارسال Cookie پياده سازی نمود.
● برنامه های مستقل از مرورگر. فريمورک صفحات ASP.NET برای ايجاد تمامی منطق برنامه بر روی سرويس دهنده ، امکانات لازم را ارائه خواهد نمود. بدين ترتيب از نوشتن کدهای اضافه در يک برنامه ممانعت بعمل آمده و برنامه نوشته شده مستقل از نوع مرورگر خدمات محوله را در اختيار کاربران قرار خواهد داد.
● حمايت از CLR . فريمورک صفحات ASP.NET يک تکنولوژی از نوع ASP.NET است. ASP.NET بر اساس چارچوب های دات نت ايجاد شده است ، بنابراين تمامی فريمورک برای هر برنامه ASP.NET قابل دستيابی و استفاده خواهد بود. برنامه ها را می توان با استفاده از هر يک از زبانهای برنامه نويسی حمايت شده در دات نت نوشت. دستيابی به داده ها در بانک اطلاعاتی با توجه به ايجاد بستر لازم توسط دات نت، از طريق بکارگيری ADO.NET انجام خواهد شد.
● فريمورک صفحه ASP.NET اين امکان را فراهم می نمايد که يک برنامه را بر روی سيستمی با يک پردازنده و يا چندين پردازنده اجراء نمود در اين حالت نيازمند اعمال تغييرات زيادی در منطق برنامه ها نخواهد بود.




نظرات کاربران
ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.
مقالات مرتبط