
معماری MVC در سال ۱۹۷۰ معرفی گردید اما در آن زمان پیاده سازی برنامه های Stand Alone با استفاده از این معماری چندان مورد استقبال برنامه نویسان قرار نداشت. اما با آمدن اینترنت و برنامه های مبتنی بر وب این معماری شانس دوباره ای پیدا کرد. ASP.NET MVC فریم ورک مبتنی بر معماری MVC مایکروسافت است .از دلایل محبوبیت معماری MVC نظم بخشیدن به پروژه هامی باشد. معمولا به علت همکاری چندین تکنولوژی مختلف با هم در برنامه های مبتنی بر وب ساختار پروژه های بزرگ پیچیده می شوند و اعمال تغییرات و همچنین رفع خطا های پروژه مشکل و زمانبر می شوند که معماری MVC با جداسازی لایه های مختلف برنامه نویسی تا حد زیادی این مشکل را رفع کرده اند. از دیگر مزایای این فریم ورک می توان به کنترل کامل بر روی کدهای HTML ، پشتیبانی از فریم ورک های مختلف برای Unit Testing ، کنترل بر روی آدرسهای URL و تعامل راحت تر با فریم ورکهای javascript اشاره کرد.
MVC چیست؟
نام MVC از Model View Controller برگرفته شده و هدف اصلی آن جدا سازی اجزای تشکیل دهنده برنامه است.بخصوص برنامه هایی که دارای واسط کاربری گرافیکی هستند (GUI-Graphical User Interface) این الگوی طراحی در سایر فریم ورک ها مثل Ruby on Rails و Django و Zend هم بکار برده شده است.
Mدر MVC معادل Model است و حاوی اطلاعاتی است که در اختیار کاربر قرار خواهد گرفت.
V در MVC معادل View است. و حاوی اطلاعاتی است که کاربر نهایتا در مرورگرخواهد دید. view در واقع userinterface برنامه است.
C در MVC معادل Controller است. کنترلر رابط بین model وview است. کنترلر ۳ مسئولیت اصلی دارد:
پردازش درخواست های ورودی
انجام عملیات بر روی مدل(Domain Model)
انتخاب view ای که باید در پاسخ به درخواست رندر شود
هر کنترلر شامل چندین متد public است که هر متد یک action ارائه میدهد که قرار است کنترلر بر روی مدل اجرا کند. هر action method در کنترلر با یک URL مرتبط است. وقتی کنترلر درخواستی برای آن URL خاص دریافت میکند، Action متناسب با آن را اجرا کرده و view انتخابی را رندر کرده و به بروزر برمیگرداند.

فریمورک متن باز CSS که با استفاده از آن میتوان قالب سایت را با سرعت طراحی نمود. Bootstrap در واقع از چند فایل CSS و Java Script تشکیل شده است که موجب میشود تا دیگر نیازی به نوشتن کدهای سی اس اس یا جاوا اسکریپت نباشد و از کلاسهای آماده بوت استرپ استفاده نمود. به عبارت دیگر Bootstrap مجموعهای از ابزارهای رایگان است برای ایجاد صفحات وب و نرم افزارهای تحت وب جهت تولید و نمایش فرمها، دکمهها، تبها، ستونها و سایر المانهای مورد نیاز.
یکی از موارد زمانبر در طراحی سایت اختصاص ویژگیهای مختلف به عناصر صفحه مانند لینکها، هدرها، دکمهها و … است که بوت استرپ به طور پیش فرض این کار را انجام داده است. در واقع به کمک فریمورک Bootstrap طراحان صفحات وب قادر خواهند بود تا صفحاتی با پویایی بالا ایجاد کنند. بوتاسترپ شامل قالبهای آماده طراحی با محوریت HTML و CSS برای تایپوگرافی، فرمها، دکمهها، نمودارها، منوهای راهبری و دیگر اجزاء رابط کاربری است. بوتاسترپ یکی از محبوبترین پروژهها در سایت GitHub است که توسط سایتهای مطرحی چون istockphoto و who.is و godaddy از آن استفاده میکنند.
از دیگر موارد مهم در طراحی وبسایت، نمایش صحیح سایت در دستگاههای مختلف نظیر تبلت و موبایل است. طراحی واکنش گرا قابلیتی است که Bootstrap برای این مساله تدارک دیده است. برای استفاده از قابلیت طراحی Responsive باید از سیستم شبکه بندی استفاده نمود؛ سیستم GRID بوت استرپ به صورت پیش فرض با ۱۲ ستون و عرض ۹۴۰ پیکسل طراحی شده است که قابل تغییر است.
ویژگی های Bootstrap
بهبود نمایش صفحات وب
سرعت بالای کار با آن و کاهش زمان اجرای یک پروژه
همخوانی با تمامی مرورگرهای استاندارد
امکان ایجاد صفحه بندی، امکان ساخت انواع، قابلیتهای زیبا سازی
امکان طراحی صفحات وب بصورت واکنش گرا

jQuery یک فریمورک جاوا اسکریپت است که امکان استفاده ازقابلیت های از پیش تعریف شده ای را فراهم می کند . در واقع jQuery کتابخانه ای از جاوا اسکریپت است که به کمک آن میتوان نرمافزارهای مبتنی بر ایجکس، برنامههای سطح پایین مبادله ای (ارتباط مرورگر با کاربر) و حتی حرکات انیمیشنی با افکتهای پیشرفته را ایجاد نمود. به کمک jQuery میتوان صفحات وب قدرتمند و داینامیک(پویا) طراحی نمود. با توجه به اینکه jQuery برخی از میانبرهای نوشتاری را ارائه میکند اما نمیتوان آن را جایگزین جاوا اسکریپت دانست، چرا که زبان اصلی نگارش کدها همان جاوا اسکریپت می باشد.
jQuery هیچ دخالتی در کدهای html نمیکند و به عبارتی Unobtrusive محسوب میشود؛ این یعنی هیچ یک از کدهای جاوا اسکریپت، داخل کدهای XHTML قرار نمیگیرند و از این نظر کدهای سایت کاملاً مجزا و مرتب خواهند بود. از طرفی وقتی JS روی مرورگر فعال باشد، کدهای جاوا اسکریپت اجرا میشوند ولی اگر JS فعال نباشد، هیچ مشکلی در نمایش سایت بوجود نخواهد آمد. از دیگر نوآوریهای jQuery میتوان به انتخاب تگها بر اساس قواعد CSS اشاره نمود که باعث سهولت در اجرای پروژه میشود. همچنین هر مرورگر کدهای JSرا به گونه ای متفاوت تفسیر میکند؛ جی کوئری محیطی را فراهم کرده است که این اطمینان را به توسعه دهنده وب میدهد که کد نوشته شده، در همه مرورگرها و IE نسخه ۶ به بعد به درستی کار خواهد کرد.
ویژگی های jQuery :
دستورات ساده و قابل درک در زمینه بکار گیری فناوری Ajax
وجود پلاگین های متعدد و بسیار کار آمد
امکان تغییر آسان ظاهر یک صفحه و پشتیبانی از انواع مرورگرها
کنترل و جلوگیری از اتفاقات غیرمنتظره بهنگام کلیک کردن کاربر
افزودن انیمیشن به یک صفحه سایت
کسب اطلاعات از یک سرور بدون نیاز به بارگذاری دوباره آن صفحه
سادهسازی عملکردهای مشترک / تکراری جاوا اسکریپت
سهولت در شناسایی و تغییر مختصات صفحات وب

PHP یکی از پرکاربرد ترین و محبوب ترین زبانهای برنامه نویسی open source است که برای طراحی وب توسعه یافته است. php را میتوان بر روی اکثر سرورهای وب که نرمافزار php بر روی آن نصب باشد، اجرا و کامپایل کرد. دستورات این زبان می توانند به صورت مستقیم در درون کدهای Html قرار بگیرند. php عمدتاً مانند یک فیلتر عمل می کند، کد برنامه را به عنوان ورودی می گیرد و صفحات وب را به عنوان خروجی (غالبا از نوع Html) ایجاد می کند.
کارایی بالا، واسطههای مختلف برای سیستم پایگاههای اطلاعاتی مختلف، کتابخانه داخلی برای انجام امور متداول، هزینه پایین، امنییت بالا و … از ویژگیهای مهم php است. یکی از نکات مهم زبان php ، مستقل بودن آن از محیط کار است، بدین صورت که در تمامی کامپیوترها و سیستم عاملها نظیر لینوکس و ویندوز قابل اجرا است.
زبان PHP بصورت Html embedded است و این بدان معناست که دستورات این زبان در بین کدهای html قرار می گیرند. بنابراین برنامه نویسی به زبان PHP کمی پیچیده تر از برنامه نویسی به زبان Html به حساب میآید.
PHP بر خلاف زبانهای برنامه نویسی، یک زبان اسکریپتی می باشد به عبارت دیگر دستورات PHP بعد از رخداد یک رویداد (Event) اجرا میشوند. این رویدادها میتوانند شامل ارسال یک فرم رفتن به یک URL مشخص و یا مواد دیگر باشند متداولترین زبان اسکریپتی زبان Java Script میباشد که معمولاً برای پاسخ به رویدادهای کاربر در مرورگر وب بــه کار میرود تفاوت عمده Java Script با PHP در این است که Java Script یک تکنولوژی سمت سرویس گیرنده (Client-side) میباشد
ویژگی های php
open source بودن و امکان دسترسی به منابع رایگان زیاد
زبان تخصصی برنامهنویسی تحت وب
سرعت بسیار بالای سرویس دهی نسبت به سایر زبانهای برنامهنویسی مشابه نظیر asp
استفاده بهینه از منابع و حافظه
سرعت بسیار بالا در کار با SQL
سرعت و سهولت در رفع ایرادات به دلیل منبع باز بودن زبان php
اجرا بر روی Platform های مختلف
قابلیت اجرا بر روی هاستهای لینوکس که ارزانتر و دارای امکانات بیشتر هستند

css زبان نشانه گذاری تحت وب است که برای توصیف ظاهر یک وب سایت برای مرورگر استفاده می شود. CSS از سه حرف ابتدای کلمات cascading style sheet تشکیل شده است؛ CSS3 در واقع آخرین ورژن CSS است که دارای قابلیت هایی فراتر از دو نسل اول است. CSS3 به خاطر ساختار ماژولارش، به طراحان وب این امکان را می دهد که صفحات وب با محتوای غنی که نیاز به کد سبکتری دارند، ایجاد کنند. این یعنی ایجاد ظاهری رویایی ، واسط های کاربری بهتر و بارگذلری سریعتر وب سایت به کمک عملکرد هایی که برای طراحان وب نسبتا غیر ممکن بود تا بتوانند بدون استفاده از jQuery و Photoshop آنها را بسازند. ویژگی هایی نظیرshadow متن، گرد کردن لبه های کادرها، استفاده از چند تصویر پس زمینه به عنوان background، ایجاد افکت های حرکتی بر روی عناصر صفحه تنها بخشی از قابلیت های منحصر بفرد css3 است.
با آمدنCSS3 و html5 انقلاب بزرگی در طراحی وب سایت صورت گرفته است که امروزه اکثر مرورگر های جدید و استاندارد، از قابلیت های CSS3 و HTML5 پشتیبانی می کنند و طراحان وب می توانند از این فناوری جدید به خوبی استفاده کنند. البته باید توجه داشت که کار کردن با CSS3 به معنی تغییر دادن کدهای قبلی CSS نیست بلکه به معنی گسترش دادن آنهاست به طوری که قابلیت های جدید CSS3 را به کدهای قبلی اضافه نمود.
وجود خصیصههای متنوع و جدید نظیر:
انتخاب کننده ها، مدل جعبه ای، جلوه های متنی، زمینه و حاشیه، تبدیل های دو/سه بعدی، انیمیشن، ستون های چندگانه، واسط کاربری (UI)

HTML5 جهت ایجاد مطالب محتوای وب است که قابلیت های زیادی دارد و از مهمترین آنها میتوان به ایجاد حرکت و پشتیبانی از فناوری های جدید چند رسانهای اشاره کرد. بزرگترین مزیت HTML5 که بار بزرگی را از دوش طراحان وب و بهینه سازان وب برداشته است این است که جستجوگرها بویژه google از متن های داخلی انیمیشن ها پشتیبانی میکنند و این بدان معنی است که استفاده همزمان از نوشته و تصاویر متحرک همراه با صدا و موسیقی است.
HTML5 نسبتا با امکان بروزرسانی استانداردهای کدنویسی وب که برای فعال سازی وب سایت های گرافیکی غنی که با سطوح بالای تعامل صورت میپذیرد در ارتباط است. برای مثال، HTML5 این ویژگی را به طراحان وب میدهد تا به کد نویسی مستقیم ویدیو در سایت ها بپردازند، عناصر “drag &drop” را در صفحه اضاف کرد و گرافیک و تصاویری در وب سایت گذاشت که به درخواست کاربر پاسخ می دهند.
همچنین در این ورژن جدید روشهای جدید معرفی شده است تا هماهنگی مرورگرها با این نوع HTML کاملتر باشد. در این نوع کدنویسی به طراح وب این امکان داده می شود تا بدون نصب پلاگین های اضافی یا استفاده از فلش، به سایت خود عناصری را اضافه کنند.
ویژگی های HTML۵:
برنامه های تمیز و ساختار یافته جهت بارگذاری سریعتر صفحه
تعامل بهتر کاربر با سایت و کاربرد پذیری
استفاده از تگهای نشانه گذاری برای دسته بندی مطالب وب سایت
امکان طراحی اشیا و اشکال به صورت دو بعدی و غیر منظم با استفاده از تگ
امکان گذاشتن فایل های صوتی و تصویری بدون نیاز به نرم افزارهای جانبی با استفاده از تگها
اضافه شدن کنترل های جدید فرم همانند Email، Calendar، Date و Time
امکان ذخیره اطلاعات بر روی مرورگر کاربر
طراحی مناسب سایت برای نسخه responsive