آشنایی با وب فرم ها در ASP.NET

ASP.NET فریم ورک قدرتمند مایکروسافت برای ایجاد وب اپلیکیشن های تجاری و بزرگ است. این فریم ورک با پشتیبانی مایکروسافت و داشتن یک محیط قدرتمند و سریع توسعه به نام Visual Studio به یکی از محبوب ترین و قدرتمند ترین ابزارهای توسعه وب تبدیل شده است. در این نوشته قصد داریم مروری بر یکی از ویژگی های اساسی ASP.NET به نام Web Forms بپردازیم.

Web Forms پایه و اساس ASP.NET است. وب فرم ها قلب و روح ASP.NET هستند. وب فرم ها رابط کاربری وب اپلیکیشن شما را شکل می دهند و راه حلی مناسب برای توسعه ی آن به شما ارائه می کنند. وب فرم ها شبیه به ویندوز فرم ها دارای مشخصات، متدها و رویدادهای کنترل های داخلشان هستند. اجزای رابط کاربری داخل وب فرم ها بر اساس درخواستی که به آن ها فرستاده می شود، به زبان نشانه گذاری مناسب (مثل HTML) رندر می شوند.

وب فرم ها شامل دو قسمت هستند : قسمت بصری (فایل aspx)، و Code Behind که هر کدام در کلاس های جداگانه ای قرار می گیرند. فایل aspx کدهای مربوط به طراحی وب فرم ها را شامل می شود و Code Behind شامل کدهای منطق برنامه و رویدادهای مروبط به کنترل های سمت سرور است. Code Behind می تواند به زبان ویژوال بیسیک یا سی شارپ نوشته شود.

asp-dot-net-web-forms

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

  • جداسازی منطق برنامه از کدهای HTML
  • استفاده از مدل برنامه نویسی مبتنی بر رویدادها
  • کد کامپایل شده و پشتیبانی از چند زبان برنامه نویسی
  • مجموعه ای از کنترل های سمت سرور که قادر به شناسایی مرورگر کاربر هستند و بر اساس آن کد زبان نشانه گذاری (مثل HTML یا WML) را تولید می کنند
  • به شما اجازه می دهند تا کنترل های جدید با قابلیت های جدید به آن اضافه کنید
  • کد کمتری برای کارهای مختلف همچون بایند کردن داده های بانک اطلاعاتی به کنترل ها خواهید نوشت
  • زمان توسعه را به حداقل می رساند و بهره وری را افزایش می دهد

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

کنترل های HTML همانطور که از نامشان پیداست شامل همین کنترل های معمول HTML مانند Button, Text Field, Text Area, Dropdown هستند. اگر تا به حال از نرم افزارهای ویرایشگر HTML برای طراحی رابط کاربری وب استفاده کرده باشید، کاملاً با این کنترل ها آشنایی دارید. شما می توانید از کنترل های استاندارد HTML در وب فرم ها استفاده کنید. کنترل های HTML که در ویژوال استادیو یافت می شوند همان هایی هستند که در Front Page هم پیدا می شدند. این کنترل ها نیازی به پردازش تحت سرور ندارند و به سادگی توسط مرورگر رندر می شوند. هر چند شما می توانید با اضافه کردن runat=»server» به مشخصات هر یک از کنترل های HTML کاری کنید تا به رویدادهای تحت سرور هم پاسخ گوید.
کنترل های وب فرم روی سرور ساخته می شوند و پس از اینکه وظیفه ای که برایشان مشخص شده را به انجام رساندند، کد HTML متناظر را تولید کرده و به خروجی می فرستند. این کنترل ها برخلاف کنترل های استاندارد HTML، هوشمند هستند؛ یعنی قادر به تشخیص مرورگر کاربر و فرستادن کد زبان نشانه گذاری مناسب هستند. به طور مثال اگر مروگر کاربر فایرفاکس باشد، کد HTML مناسب با آن را تولید می کنند و اگر کاربر بوسیله یک گوشی هوشمند درخواستی فرستاده باشد، کد WML را به خروجی می فرستند. تمام کنترل های وب فرم از یک کلاس عمومی با نام System.Web.UI.WebControls مشتق می شوند. این کلاس پایه مجموعه ای از مشخصات عمومی را برای کنترل های وب فرم پیاده سازی می کند.

وب فرم ها چگونه کار می کنند؟

مانند ویندوز فرم ها، رویدادهایی به صورت پشت سر هم و یا بر اساس درخواست کاربر در وب فرم ها اتفاق می افتند. رویدادهایی مانند Load, Draw (Render) و Unload برای وب فرم ها اتفاق می افتد. در زمان این اتفاقات ممکن است روال های مختلفی صدا زده شوند یا اشیای مختلفی ایجاد شوند. در ابتدا رویداد Init مقداردهی های اولیه صفحه وب را بر اساس تگ های به کار رفته در فایل aspx انجام می دهد. بعد از این، رویداد Load برای صفحه اتفاق می افتد. رویداد Load جایی است که شما می توانید چک کنید که آیا صفحه برای اولین بار توسط کاربر بارگذاری شده یا توسط کلیک روی یک دکمه، صفحه وب به سرور وصل شده و به اصطلاح به خودش Post Back کرده است. در رویداد Load می توانید کاری کنید که برخی اعمال فقط برای اولین بارگزاری صفحه وب انجام شوند؛ مثل بایند کردن داده های دیتابیس به کنترل ها. سپس اگر صفحه Post Back شود، رویدادهای کنترل های روی وب فرم ها اتفاق می افتند. مثلاً هنگامی که روی یک دکمه کلیک می شود، صفحه وب اطلاعاتی را به سرور می فرستد و دوباره به صفحه بر می گردد. در این صورت رویداد کلیک برای دکمه فوق اتفاق افتاده و کدی که شما برای آن نوشته اید اجرا شده است.

االبته قبل از Dispose شدن صفحه وب، رویداد Page_Unload هم اتفاق می افتد. به این علت که صفحه از قبل رندر شده و رویدادهای مورد نیاز کاربر اتفاق افتاده اند، این رویداد بیشتر به منظور عملیات لاگینگ استفاده می شود. پس از این رویداد صفحه وب از حافظه سرور حذف می شود.

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :

پ.ن : این مطلب در جهت معرفی ASP.NET نوشته شده و مقدمه ای بود در مورد ویژگی های آن. از این پس بیشتر در مورد ASP.NET مطلب خواهم نوشت. دوستان ایراد میگرفتن که چرا در این مطلب از PHP طرفداری کردم و از ASP.NET مطلبی نمی نویسم. از این به بعد از هر دو مطلب خواهم نوشت!

با فریم ورک های PHP هرچه سریعتر وب سایت بسازید!

برای برنامه نویسان PHP

php-logoبا فراگیر شدن وب و وب سایت های اینترنتی، ابزارهای گوناگونی برای تولید برنامه هایی مبتنی بر وب عرضه شد. یکی از ابزارهایی که در این چند سال اخیر توانست قسمت اعظمی از بازار تولید نرم افزارهای تحت وب را تسخیر کند بی شک PHP بوده است. PHP زبان اسکریپت نویسی ساده ای است که شامل کتابخانه ها و توابع نقریباً کاملی برای استفاده در برنامه های تحت وب است و کمتر نیازی در وب یافت می شود که با PHP نتوان آن را رفع نمود. PHP توانست در این چند سال علاقه مندان فراوانی را جذب خود کند و پروژه های بسیار قدرمتند و معروفی همچون وردپرس به این زبان نوشته شده اند.

PHP از نسخه های اولیه تا به حال تغییرات زیادی کرده است و فریم ورک های بسیاری برای هرچه سریع تر نوشتن برنامه های تحت وب توسط شرکت ها و افراد مختلف عرضه شده است. یک فریم ورک PHP به شما کمک می کند تا وب سایت های خود را سریع تر و مناسب تر از همیشه بسازید. در این مطلب قصد داریم شما را با چندتا از بهترین فریم ورک های PHP آشنا کنیم.

Zend Framework : این فریم ورک که از طرف سازندگان PHP عرضه شده است، یکی از کاملترین فریم ورک های PHP است. دارای توابعی برای تامین امنیت وب سایت های شما و همچنین توابعی برای استفاده از سرویس های وب 2.0 مثل سرویس های گوگل، یاهو، آمازون و فلیکر است. این فریم ورک بر روی ساخت وب سایت های کاربردی و وب سرویس ها با رویکرد وب 2.0 تمرکز دارد.

zend-framework

CakePHP : یکی از قدرتمند ترین فریم ورک های PHP با روش استفاده آسان و پشتیبانی از مدل های طراحی MVC و ORM. این فریم ورک زمان توسعه و کدنویسی را به حداقل ممکن می رساند و کمک می کند تا برنامه های تحت وب قدرتمندتری بسازید.

Qcodo : فریم ورک اوپن سورس برای PHP 5 که به شما در ساخت وب سایت های کاربردی کمک بسیاری می کند. توسعه دهندگان به جای اینکه هفته ها وقت خود را صرف کارهای تکراری بکنند، می توانند به سادگی از توابع از پیش تعریف شده در این فریم ورک بهره ببرند. این فریم ورک کاملاً بر اساس برنامه نویسی شیء گرا پیاده سازی شده است و پلت فرمی برای ایجاد سریع برنامه های تحت وب فراهم می کند.

Symfony : یک فریم ورک قدرتمند دارای کلاس های متعدد که ساختن وب سایت های پیچیده را آسان تر می کند. انتخاب این فریم ورک به شما کمک می کند تا بدون دردسر برنامه های تحت وب خود را توسعه دهید و آن ها را زودتر از انتظار بقیه آماده کنید. بسیاری از توسعه دهندگان PHP از این فریم ورک استفاده می کنند.

Seagull : فریم ورک اوپن سورس که با مجوز BSD توزیع شده است. به توسعه دهندگان PHP امکانات و ابزارهای مختلفی ارائه می کند تا برنامه های خود را هر چه سریع تر و کاراتر تولید کنند. همچنین این فریم ورک قابلیت های خوبی برای توزیع برنامه های PHP روی وب یا به صورت محلی (Local host) در اختیار برنامه نویسان قرار می دهد و دارای اجتماع کاربری مناسبی است.

Solar : فریم ورکی برای نوشتن سریع وب سایت هایی است که با PHP 5 ساخته می شوند. این فریم ورک از مدل های طراحی تجاری پشتیبانی می کند و به صورت توکار از بومی سازی (Localization) پشتیبانی می کند.

Prado : فریم ورکی است بر اساس کامپوننت که شما را قادر به ساختن برنامه های تحت وب به زبان PHP با قابلیت های برنامه نویسی شیء گرا می کند.

Codeigniter : یکی از قدرتمند ترین فریم ورک های PHP است که به توسعه دهندگان امکان ساخت وب سایت هایی با کارایی بالا را می دهد. این فریم ورک دارای آموزش های مناسب و مستندات بسیار است تا شما هر چه آسان تر نحوه ی کار با آن را یاد بگیرید.

AjaxAC : فریم ورک اوپن سورس برای استفاده از تکنولوژی Ajax در برنامه های مبتنی بر PHP است.

xAjax : کتابخانه ای از کلاس ها برای استفاده از تکنولوژی Ajax در زبان PHP است. با این کتابخانه کلاس می توانید با استفاده از جاوا اسکریپت، CSS، HTML و PHP برنامه های تحت وب  قدرتمند و با بازدهی بالا بنویسید.

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

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :

آیا دلفی 2009 می تواند دلفی 7 دیگری باشد!؟

شرکت Embarcadero Technologies که چندي پيش CodeGear را از شرکت بورلند خريده بود به تازگي نسخه اي جديد از دلفي و C++ Builder را براي توسعه نرم افزارهاي تحت ويندوز عرضه نموده است. Embarcadero نسخه 2009 دلفي را «بزرگترين نسخه دلفي در طول سال هاي گذشته» مي داند و انتظار دارد تا اين نسخه از دلفي توليد نرم افزارهاي کاربردي را راحت تر و لذت بخش تر از گذشته کند. دلفي از نسخه 3 تا 7، به عنوان يکي از کاراترين و قدرتمندترين محيط هاي برنامه نويسي و توليد نرم افزار در پلت فرم ويندوز يکه تاز بازار اين بخش بود. حتي شرکت مايکروسافت در مقابل بورلند کم آورده بود و از ايده هاي اين شرکت در محصولات خود از جمله ويژوال بيسيک از ايده هاي اين شرکت استفاده مي کرد. تا قبل از ايجاد تکنولوژي دات نت توسط مايکروسافت، اين شرکت بازار توليد نرم افزار براي ويندوز را به بورلند واگذار کرده بود. نسخه 7 دلفي اوج قدرت و محبوبيت دلفي بود که در آن زمان و سال هاي بعد از آن محصولات نرم افزاري بسيار زيادي با استفاده از آن توليد شد به طوري که خاطره لذت بخش برنامه نويسي در محيط دلفي 7 به اين زودي ها از ذهن برنامه نويسان پاک نخواهد شد.

Embarcadero Technologies صاحب فعلي شرکت CodeGear برنامه هاي زيادي براي دلفي و C++ Builder دارد. به گفته خودشان قرار است نسخه 2009 دلفي خاطره نسخه 7 آن را تکرار کند و حتي بيشتر از آن به موفقيت برسد. دلفي اين بار بر خلاف نسخه هاي قبل که تمايل به سياست هاي مايکروسافت داشت و به پلت فرم دات نت توجه خاصي داشت، راه قبلي خود را در پيش گرفته است و اين بار بخشي از بازار نرم افزار را که «توليد بسته هاي نرم افزاري، نرم افزارهاي کاربردي، سرويس گيرنده/سرويس دهنده و بانک اطلاعاتي» است را هدف قرار داده است که البته اين محصولات بخش مهم و بزرگي از بازار و نياز نرم افزار را تشکيل مي دهند. هر چند که با دلفي 2009 تقريباً هر نرم افزاري را که فکر کنيد مي توانيد توليد نمایید.

توسعه دهندگان با دلفی 2009 دیگر نگران جهانی کردن نرم افزار خود نخواهند بود. دلفی 2009 به صورت توکار از یونیکد پشتیبانی می کند. این بدین معنی است که برنامه نویسان دیگر نباید نگران زبان استفاده شده در برنامه خود باشند. شاید خاطرتان باشد که بسیاری از برنامه های دلفی 7، پس از اجرا شدن در سیستم های دیگر کاراکترها را به صورت ؟ نمایش می دانند. این به خاطر عدم پشتیبانی درست از سیستم یونیکد در برنامه ها بود. هم اکنون دلفی 2009 این مشکل را به طور کامل برطرف کرده است.

با دلفی می توانید برنامه های بانک اطلاعاتی را هر جه سریعتر، کاراتر و قدرتمندتر بنویسید. این کار با استفاده از جدا کردن لایه های مختلف برنامه (جدا کردن لایه داده، لایه تجاری و لایه نمایش از هم) بوسیله DataSnap جدید انجام می گیرد. ابزارهای مختلف IDE دلفی 2009 به شما امکان تحلیل ساختار بانک اطلاعاتی را با استفاده از مدل سازی و نمودارهای گوناگون می دهد.

دلفی 2009 شامل کنترل های متنوع و جدیدی است که توسعه برنامه های کاربردی تحت ویندوز را هرچه آسان تر و لذت بخش تر می کند. کنترل های VCL جدید شامل Microsoft Office Style Ribbon (کنترل های ریبون که در رابط کاربری آفیس 2007 استفاده شده اند) و کنترل Image که فرمت PNG را پشتیبانی می کند.

با دلفی 2009 علاوه بر نرم افزارهای تحت وب، قادرید پروژه های تحت وب تجاری که از تکنولوژی های AJAX و Silverlight بهره می برند، ایجاد کنید. با دلفی 2009 می توانید همانند برنامه های کاربردی تحت ویندوز، وب سایت هایی با ظاهر زیبا و بر مبنای وب 2.0 تولید کنید. این قابلیت دلفی به نام VCL for the Web شناخته می شود. البته در نسخه های قبل دلفی هم این قابلیت وجود داشت ولی در این نسخه کاملاً بهینه و پیشرفته شده است.

دلفی 2009 در سه نسخه Professional، Enterprise و Architect عرضه می شود و توسعه و توزیع برنامه های کاربردی در ویندوزهای ویستا، اکس پی، سرور 2003، ویندوز 2000 و سرور 2008 را پشتیبانی می کند.

دلفی 2009 | امکانات جدید نسخه 2009

حال باید منتظر ماند و دید که آیا دلفی 2009 می تواند دلفی 7 دیگری باشد و برنامه نویسان را دوباره به استفاده از دلفی علاقه مند کند!؟

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

پ.ن : من هنوز شخصاً از دلفی 2009 استفاده نکردم و اطلاعاتم را از مقالاتی که تا به حال در مورد دلفی 2009 خواندم بدست آورده ام. به محض آنکه خودم تجربه استفاده از این نسخه را پیدا کردم سعی می کنم مقاله کاملی در موردش بنویسم. فعلاً این نوشته را در حد یک خبر خلاصه داشته باشید.

مطالب مرتبط :

تفاوت «دات نت» از نظر گوگل و مایکروسافت!

با جستجوی کلمه «dot net» در جستجوگرهای گوگل و لایو به این نتیجه می رسیم که گوگل منظور کاربر را تکنولوژی دات نت مایکروسافت تعبیر می کند ولی جستجوگر لایو مایکروسافت به کاربر پیشنهاد استفاده از سرویس های اینترنتی سایت dotnet.com را می دهد. مثل اینکه گوگل نظر بهتری نسبت به پلت فرم دات نت دارد تا خود مایکروسافت 🙂

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :