ASP.NET MVC; ساخت صفحات وب بدون فرم های وب!

15 09 2009

اگر برای توسعه وب اپلیکیشن ها از ASP.NET استفاده می کنید و با نام MVC آشنایی ندارید، پس در حال حاضر از وب فرم ها در ASP.NET استفاده می کنید. اگر نمی دانید منظور از وب فرم ها (WebForms) چیست، این مطلب را بخوانید. شرکت مایکروسافت علاوه بر وب فرم ها، فریم ورک دیگری به نام ASP.NET MVC برای ایجاد وب اپلیکیشن ها در ASP.NET در اختیار توسعه دهندگان وب قرار داده است. این فریم ورک جدید، رایگان و کدباز است و روشی متفاوت از وب فرم ها برای توسعه صفحات وب به توسعه دهندگان ASP.NET ارائه می کند. در این مطلب به معرفی فریم ورک قدرتمند ASP.NET MVC می پردازم.

ASP.NET MVC فریم ورک قدرتمندی برای ایجاد اپلیکیشن های تحت وب است که از الگوی MVC استفاده می کند و توسط مایکروسافت به صورت اوپن سورس توسعه داده می شود. MVC یک الگوی طراحی و مخفف کلمات Model-View-Controller است. فریم ورک ASP.NET MVC الگوی طراحی MVC را در پلت فرم وب اپلیکیشن مایکروسافت یعنی ASP.NET پیاده سازی می کند. این فریم ورک اولین بار در دسامبر 2007 و با یک نسخه CTP توسط مایکروسافت معرفی شد. در مارس 2009 نسخه 1 پایدار آن عرضه شد و یک ماه بعد یعنی در آپریل 2009 شرکت مایکروسافت سورس کد فریم ورک ASP.NET MVC را تحت مجوز MS-PL منتشر نمود.

MVC چیست!؟

mvc

مفهوم کلیدی این فریم ورک همان سه حرف آخر آن یعنی MVC است. پس کمی در مورد آن توضیح می دهم. همانطور که گفتم، MVC یک الگوی طراحی است که همانطور که از نامش پیداست، یک پروژه نرم افزاری را به سه قسمت منطقی Model, View و Controller تقسیم می کند. شاید شما در حال حاضر با معماری 3 لایه نرم افزاری آشنا باشید. اگر اینطور است، شما مشکلی در درک الگوی طراحی MVC نخواهید داشت. MVC مفهوم جدیدی نیست، خیلی وقت است که در جاوا، رابی، PHP و بسیاری پلت فرم های دیگر از این الگو برای طراحی نرم افزار استفاده می شده است. اما خب برای توسعه دهندگان ASP.NET تازه است. سه قسمت اصلی الگوی MVC :

  • Model : مدل قسمتی از یک اپلیکیشن است که وظایف سنگین دسترسی به داده ها، پیاده سازی منطق و موجودیت ها را بر عهده دارد. به طور معمول یک مدل وظیفه Map کردن جداول اطلاعاتی یک دیتابیس را به کلاس های شیء گرا و برعکس را بر عهده می گیرد. احتمالاً شما همین الان هم در پروژه های خود، مدل را پیاده سازی می کنید و به آن لایه دسترسی به داده می گویید! Model باید طوری پیاده سازی شود که به هیچ وجه به رابط کاربری وابستگی نداشته باشد.
  • View : احتمالاً کاربرد View را حدس زده اید! رابط کاربری همان View است. در واقع بخشی که یک کاربر نهایی با آن تعامل خواهد داشت و اطلاعات را نمایش می دهد، View نام دارد. همانطور که رابط کاربری برای Model هیچ اهمیتی ندارد، اینکه چطور داده ها اعتبارسنجی یا ذخیره می شوند یا منطق اپلیکیشن شما چطور پیاده سازی شده است، برای View مهم نیست.
  • Controller : فضای خالی میان Model و View را Controller پر می کند. از آنجا که Model و View هیچ ارتباطی با هم ندارند و برای یکدیگر هیچ اهمیتی قائل نیستند، Controller داده ها را از Model به View برای نمایش به کاربر انتقال می دهد. کنترلرها تصمیم می گیرند که اطلاعاتی که شما وارد کرده اید را به کجا برسانند و همینطور چه چیزی را باید در خروجی مشاهده کنید. در واقع کنترل کننده و هماهنگ کننده میان Model و View است.

فقط به این نکته توجه داشته باشید که در یک اپلیکیشن MVC کامپوننت View فقط جهت نمایش خروجی به کاربر مورد استفاده قرار می گیرد و این Controller است که ورودی ها را از کاربر می گیرد و به آن ها پاسخ می دهد.

چرا از ASP.NET MVC استفاده کنیم؟

حالا که با الگوی طراحی MVC آشنا شدین، حتماً درک می کنید که چرا فریم ورک ASP.NET MVC علاوه بر ASP.NET WebForms توسط مایکروسافت ایجاد شده است. وب فرم ها که تا قبل از این تنها روش مورد استفاده در توسعه یک اپلیکیشن تحت ASP.NET بودند، حالا صاحب یک برادرخوانده قدرتمند شده اند. نمی گویم رقیب، چون ASP.NET MVC به هیچ وجه قصد از بین بردن وب فرم ها و جایگزین شدن به جای آن ها را ندارد. ASP.NET WebForms هم توسط مایکروسافت در نسخه های بعدی پشتیبانی خواهد شد و حتمآً بهبود خواهند یافت.

یکی از مزایای مهم استفاده از متدولوژِی ASP.NET MVC این است که شما را مجبور می کند تا یک جداسازی شفاف میان اجزای برنامه خود ایجاد کنید. این کار باعث می شود که توسعه پروژه در دراز مدت و آزمایش آن به آسانی انجام گیرد. الگوی MVC به شما کمک می کند تا بتوانید از Test Driven Development یا TDD در پروژه خود استفاده کنید. شما را قادر می سازد تا از تست واحد یا Unit Test استفاده کنید. به طور مثال شما می توانید عملکرد یک Controller را بدون اینکه روی ASP.NET اجرا شود، بررسی کنید که این کار عملیات تست واحد را سرعت می بخشد. برای انجام تست، می توانید از هر فریم ورک تست واحدی مثل NUnit استفاده کنید.

URLهای ایجاد شده در یک پروژه مبتنی بر فریم ورک ASP.NET MVC بسیار بسیار واضح هستند و البته برای موتورهای جستجوگر دوستانه (SEO Friendly) هستند. این کار را کامپوننت URL Mapping فریم ورک ASP.NET MVC برای شما انجام می دهد. URLهایی که نیازی به داشتن پسوند aspx یا هر پسوند دیگری ندارند و به آسانی از قوانین SEO و الگوهای نام گذاری REST پشتیبانی می کنند.

نکته ای که شما را خوشحال خواهد کرد این است که فریم ورک ASP.NET MVC از بسیاری از امکاناتی که در حال حاضر در ASP.NET هستند مثل MasterPage, Data Binding, Form/Windows Authorization, Membership/Roles, Data Caching, Session/Profile state management, Health Monitoring پشتیبانی کامل می کند.

نکته ای هم که ممکن است شما را اذیت کند این است که در فریم ورک ASP.NET MVC از برنامه نویسی مبتنی بر رویداد خبری نیست و همچنین نمی توانید از Post Back برای تعامل دوباره با سرور استفاده کنید. ASP.NET MVC برخلاف وب فرم ها که به صورت خودکار و با استفاده از ViewState حالت یک صفحه وب را به صورت مصنوعی حفظ می کنند، از مدل طبیعی بی حالت (=Stateless) وب پیروی می کند. البته این موضوع آنقدرها هم بد نیست چون باعث حذف ViewState می شود و حذف ViewState هم به معنی صفحات سبک تر و در نتیجه لود شدن سریعتر صفحات وب است.

برای شروع ASP.NET MVC به چه چیزهایی احتیاج دارید!؟

منابع این مطلب :

farasun.wordpress.com

برای باخبر شدن از مطالب آینده این وبلاگ مشترک فید فراسان شوید!

farasun.wordpress.com

پ.ن : مطلب مناسبی به زبان فارسی در مورد ASP.NET MVC در وب پیدا نکردم، به همین علت این مطلب را نوشتم. در آینده اگر علاقه مند بودید، در مورد تفاوت های ASP.NET MVC و ASP.NET WebForms خواهم نوشت.





یادگیری ASP.NET با پروژه های کدباز

13 09 2009

برای یادگیری هر تکنولوژی جدیدی، در کنار خواندن کتاب و مقاله، بهترین راه، مشاهده مثال های واقعی و قرار گرفتن در سناریوهای عملی است. در برنامه نویسی شما هر چقدر هم که کتاب بخوانید و آموزش ببینید اما تمرین نکنید و کد ننویسید هیچ پیشرفتی نخواهید کرد. ASP.NET فریم ورک رایگان و قدرتمند مایکروسافت برای تولید اپلیکیشن های تحت وب است. اگر هم اکنون در حال یادگیری ASP.NET هستید و یا حتی در آن حرفه ای شده اید، به شما توصیه میکنم حتماً به پروژه های کدباز جامعه ASP.NET نگاهی بیندازید. علاوه بر نکات و ترفندهای جدیدی که در این پروژه ها فرا خواهید گرفت، می توانید از آن ها به عنوان پایه پروژه های خود استفاده کنید.

پروژه های کدباز زیر توسط اجتماع کاربری ASP.NET تولید شده اند که مثال های عملی و بسیار مناسبی برای کسانی که می خواهند با فریم ورک ASP.NET برنامه نویسی کنند، فراهم کرده اند.

My Web Pages Starter Kit

My_Web_Pages یک CMS کوچک و جمع و جور برای راه اندازی یک وب سایت شخصی است. تغییر ظاهر آن ساده است. به راحتی می توانید امکانات آن را بر اساس نیازهای خودتان ارتفا دهید. با استفاده از ASP.NET 2.0 توسعه داده شده و برای ذخیره داده ها از روش مبتنی بر فایل های XML استفاده می کند و بیخود شما را درگیر پیچیدگی های SQL Server نمی کند. MasterPage, Themes, Data binding, Navigation, Custom Membership Provider از مفاهیمی هستند که در این پروژه مورد استفاده قرار گرفته اند. توسعه دهندگان این پروژه سعی کردند تا سادگی در استفاده برای کاربران نهایی و سادگی در توسعه برای توسعه دهندگان را حفظ کنند.

TheBeerHouse: CMS and E-commerce Starter Kit

TheBeerHouseاین پروژه به شما کمک می کند تا یک وب سایت تجارت الکترونیکی راه اندازی کنید و آن را به خوبی مدیریت کنید. با مشاهده کدها و مستندات این پروژه با قابلیت های کلیدی موجود در ASP.NET 2.0 آشنا خواهید شد. با نحوه استفاده از Master Page، Theme، Membership، WebParts و کنترل های GridView, FormView، DetailsView آشنا خواهید شد. این پروژه کدباز، مثال مورد استفاده در کتاب “ASP.NET 2.0 Website Programming / Problem – Design – Solution.” است.

Club Site Starter Kit

Clubاین پروژه می تواند نقطه شروعی برای ایجاد وب سایت باشگاه یا سازمان شما باشد. شامل سیستم اخبار، اعضاء، تقویم و آلبوم عکس است. ایجاد اخبار و مقالات و انتشار و به اشتراک گذاری تصاویر بسیار آسان انجام می گیرد. توسعه و اضافه کردن قابلیت های جدید به این پروژه کدباز بسیار آسان است. دو پروژه دیگر که بر اساس این پروژه کدباز شکل گرفته اند، اماکنات بیشتری را در اختیار شما و کاربران نهایی می گذارند.

CodePlex Club Site Starter Kit

نسخه گسترش داده شده پروژه اصلی Club Site است که شامل ابزار وبلاگ نویسی و قابلیت های مدیریتی بهتر است. امکانات نسخه اصلی بهبود یافته اند و امکانات جدیدی مثل نظرسنجی، مدیریت لیگ و فاروم به آن اضافه شده است.

Extended  Club Site Starter Kit

نسخه گسترش یافته دیگری از پروژه  Club Site است که صفحات مدیرتی جدیدی برای تعیین نقش های کاربران (User Roles) و ساختار نقشه سایت (Site Map) فراهم می کند. کاربران وب سایت با استفاده از WebParts می توانند صفحات خانگی خودشان را سفارشی کنند و به علت استفاده از قابلیت Theme در ASP.NET 2.0 کاربران می توانند ظاهر سایت را بر اساس سلیقه خود تغییر بدهند.

Job Site Starter Kit

Job

یک اپلیکیشن وب برای راه اندازی وب سایت های کاریابی است. کارفرمایان نیازهای شغلی خود را تعریف می کنند و کارجویان با جستجو میان این نیازها، شغل مورد نظر خود را پیدا می کنند. مفاهیم کلیدی ASP.NET 2.0 از جمله Master Page, Themes, Membership, Roles, Profiles و Data Controls در این پروژه استفاده شده اند. ساده طراحی شده و استفاده از آن برای کاربران ساده است اما امکانات خیلی زیادی ندراد.

Kigg

Kigg

یک وب سایت با کارکرد شبیه به Digg که با استفاده از ASP.NET MVC ، LINQ to SQL و ASP.NET AJAX توسعه داد شده است. کاربران می توانند لینک های خود را ارسال کنند و دیگر کاربران می توانند به آن ها امتیاز دهند.

FlexWiki

FlexWiki

اپلیکیشنی مناسب برای راه اندازی ویکی ها است که برای ذخیره داده هایش از فایل های معمولی استفاده می کند. البته می توانید از مخزن مبتنی بر SQL Server هم استفاده کنید.

YetAnotherForum

YetAnotherForum
یک اپلیکیشن قدرتمند برای راه انداری فاروم های بحث و گفتگو در دنیای دات نت است. YAF هم به صورت جداگانه می تواند نصب شود و هم می تواند به عنوان یک ماژول برای دات نت نیوک مورد استفاده قرار گیرد.

BlogEngine.NET

benlogo80
اپلیکیشن کدباز بسیار قدرتمند برای ایجاد و نوشتن وبلاگ که نصب و استفاده از آن بسیار آسان است. داده های وبلاگ می توانند بر اساس انتخاب کاربر در یک دیتابیس SQL Server یا در فایل های XML ذخیره شوند. این پروژه کدباز با C#x و ASP.NET 2.0 نوشته شده و با مهارتی که در دات نت دارید می توانید به راحتی آن را توسعه دهید.

nopCommerce

nopCommerce

اپلیکیشن تحت وب برای ایجاد وب سایت های تجارت الکترونیکی است که مبتنی بر ASP.NET 3.5 و SQL Server است. این پروژه راه حلی حرفه ای برای تجارت الکترونیکی در اختیار کاربران قرار می دهد و از آخرین تکنولوژی های مایکروسافت برای توسعه آن استفاده شده است.

JobPers

jobpers

یک پروژه کاملاً فارسی برای ایجاد وب سایت های کاریابی/نیرویابی است که با استفاده از ASP.NET 3.5 و LINQ to SQL ساخته شده است. با استفاده از معماری سه لایه و کاملاً شیء گرا توسعه داده شده است. من این پروژه را برای درس مهندسی نرم افزار خودم ارائه داده ام. قرار بود در تابستان کتابی در مورد ASP.NET 3.5 و LINQ to SQL چاپ شود و از این پروژه به عنوان مثال استفاده شود که متاسفانه به علت یکسری مشکلات، این اتفاق رخ نداد. به هر حال هنوز نمی توان با این پروژه یک وب سایت کاریابی و نیرویابی کامل راه اندازی کرد اما برای یادگیری مفاهیم مناسب خواهد بود. این پروژه کدباز بوده و تحت مجوز GPL نسخه 2 توزیع شده است.

farasun.wordpress.com

منبع : ASP.NET Starter Kits and Community Projects

مشترک فید فراسان شوید! نمی دانید فید چیست!؟

مطالب مرتبط :





بررسی بهترین ویرایشگرهای متن آنلاین برای توسعه دهندگان وب

6 08 2009

یکی از تصمیمات مهمی که هر توسعه دهنده وب هنگام ایجاد یک وب سایت خواهد گرفت، همانا انتخاب یک ویرایشگر متن مناسب است. بسیاری از سیستم های مدیریت محتوای تحت وب، برای تولید محتوای متنی، ویرایشگرهایی با امکانات قالب بندی متون غنی (Rich Text) به کاربرانشان ارائه می دهند. نمونه های این ویرایشگرها را در هنگام نوشتن مطلب جدید در وبلاگ هایتان دیده اید. به طور مثال وردپرس، برای ایجاد مطلب یا صفحه، یک ویرایشگر با امکانات قالب بندی متن، درج تصویر و لینک در متن به شما می دهد.

rte

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

TinyMCE

ویرایشگر اوپن سورس و قدرتمندی است که در تمامی مرورگرهای استاندارد فایرفاکس، اپرا، اینترنت اکسپلورر، سافاری و کروم به خوبی کار می کند. TinyMCE به راحتی و با نوشتن دو سه خط کد در صفحه مورد نظر شما جای می گیرد و به کاربران شما اجازه استفاده از یک ویرایشگر غنی و قدرتمند را می دهد. از مزایای این ویرایشگر می توان به سرعت لود مناسب، سازگاری با AJAX، قابلیت چند زبانگی و رایگان بودن اشاره کرد. TinyMCE دارای اجتماع کاربری، راهنما و مستندات بسیار خوبی است. بسیاری از سیستم های مدیریت محتوا مثل ورپرس از این ویرایشگر قدرتمند استفاده می کنند.

FCKeditor

ویرایشگریست که سعی می کند بیشتر امکانات ویرایشگرهای تحت دسکتاپ مانند MS Word را در وب پیاده سازی کند. سبک است و برای استفاده از آن احتیاجی به نصب در کامپیوتر کلاینت ندارد. این ها جملاتی است که در وب سایت رسمی FCKeditor در وصف آن نوشته شده اند. این ویرایشگر قدرتمند با تمامی مرورگرهای استاندارد سازگار است و با بیشنر زبان های برنامه نویسی تحت وب مجتمع می شود. امکانات مناسب برای قالب بندی متن، پشتیبانی از CSS، آپلود تصاویر، مرور فایل های روی سرور، ایجاد جدول، درج فرم فیلد، منوی راست کلیک (Context Menu) اختصاصی، پوسته اختصاصی، تشخیص خودکار مرورگر کاربر و خروجی HTML مطلوب از قابلیت های این ویرایشگر هستند.

Yahoo! UI Editor

یاهو یکی از پیشرو ترین شرکت های وب در زمینه تولید ابزارهای مربوط به توسعه دهندگان وب است. کنترل Rich Text Editor یاهو یکی از بهترین و قدرتمند ترین راه حل ها در این زمینه است. از امکانات این ویرایشگر میتوان به مجوز اوپن سورس، قابلیت های خوب قالب بندی متون، پشتیبانی از مرورگرهای مختلف، تنظیمات قابل انعطاف، پشتیبانی از قابلیت کشیدن و رها کردن و روش شیء گرا در برنامه نویسی آن اشاره کرد. این کنترل جزئی از پروژه کتابخانه YUI شرکت یاهو! است.

FreeRichTextEditor

یک ویرایشگر قدرتمند و مبتنی بر جاوا اسکریپت که با اضافه کردن فقط سه خط کد به صفحات خودتان می توانید به کاربران خودتان لذت استفاده از یک ویرایشگر زیبا و قوی را بدهید. ظاهر این ویرایشگر شبیه به MS Word ساخته شده که کاربران با آن احساس نا آشنایی نکنند. تقریباً تمام امکاناتی که از یک ویرایشگر تحت وب انتظار دارید، FreeRichTextEditor دارای آن می باشد.

NiceEdit

یک ویرایشگر بسیار سبک، کم حجم و با نصب آسان است که روی تمام مرورگرها و سیستم عامل های موجود به خوبی کار می کند. هر چند مانند TinyMCE و FCKeditor قوی نیست و امکانات کمتری دارد اما برای کسانی که یک ویرایشگر ساده و بدون دردسر نیاز دارند بسیار مناسب است. این ویرایشگر سبک فقط 35کیلوبایت حجم دارد و فقط از دو فایل (js و icon) تشکیل شده است. این را با تعداد فایل های دیگر ویرایشگر ها مقایسه کنید. پشتیبانی از متد HTTP Post و AJAX برای ذخیره متن خروجی، کم حجم بودن، اسفاده آسان هم برای برنامه نویسان و هم برای کاربران نهایی، تنظیمات قابل انعطاف و پشتیبانی از تمامی مرورگرهای استاندارد از مزایای استفاده از NiceEdit هستند.

FreeTextBox

پر استفاده ترین ویرایشگر متن در دنیای ASP.NET است. بسیاری از وب سایت های مبتنی بر تکنولوژی ASP.NET از FreeTextBox به عنوان ویرایشگر HTML استفاده می کنند. کاملاً با IE و فایرفاکس سازگار است و امکانات خوبی به کاربر نهایی جهت قالب بندی متن می دهد. نسخه های اخیر این ویرایشگر روی پلت فرم مونو هم اجرا می شود.

RTE ASP.NET Control

اگر شما هم مثل من یک برنامه نویس ASP.NET هستید، حتماً با User Controlها آشنایی دارید. هدف این پروژه در کدپلکس جمع آوری تمامی امکانات یک ویرایشگر متن غنی در یک کنترل ASP.NET است. فایل dll این ویرایشگر را به شاخه bin پروژه خود اضافه کنید و به راحتی در هر صفحه ای که خواستید از آن استفاده کنید. متاسفانه کیفیت خروجی این کنترل هنوز به سطح مطلوبی نرسیده و به جز IE و فایرفاکس، از مرورگر دیگری پشتیبانی نمی کند.

Silverlight RichTextEditor

همانطور که از عنوان این ویرایشگر پیداست، یک ویرایشگر غنی برای سیلورلایت است. اوپن سورس است و با سیلورلایت نسخه 2 سازگاری دارد. متاسفانه در حال حاضر توسعه این پروژه تا اطلاع بعدی متوقف شده است.

farasun.wordpress.com

مشترک فید فراسان شوید! نمی دانید فید چیست!؟

مطالب مرتبط :





کاهش زمان و هزینه تولید پروژه های تحت وب با CMSهای اوپن سورس دات نت

2 05 2009

CMS یا سیستم مدیریت محتوا، نرم افزاری است که برای ایجاد، ویرایش، مدیریت و جستجوی محتوای دیجیتالی بر روی وب به کار گرفته می شود. اگر بگوییم نرم افزارهای مدیریت محتوا، وب را متحول کردند، حرف اشتباهی نزده ایم. هم اکنون تعداد بسیار زیادی CMS برای ایجاد وب سایت های پویا در دنیا وجود دارد. بسیاری از این CMSها به صورت اوپن سورس و آزاد در اختیار کاربران قرار می گیرند. نمونه ی بارز یک CMS خوب و اوپن سورس را می توان همین نرم افزار وردپرس عنوان کرد، که به شما اجازه مدیرت محتوای وبلاگتان را می دهد.
اهمیت CMS به حدی است که ارزش یک زبان برنامه نویسی تحت وب مثل PHP را با تعداد، قدرت و نفوذ CMSهایی که با آن توسعه داده شده اند، می سنجند. البته امروزه تعداد CMSهای کاربردی تحت وب به حد انفجار رسیده است و تقریباً برای رفع هر نیازی در وب یک CMS خوب وجود دارد. به همین علت توصیه می شود به جای ایجاد یک CMS جدید، CMSهای اوپن سورس را توسعه دهید.
پلفت فرم ASP.NET مایکروسافت هم دارای چندین CMS قدرتمند و اوپن سورس است که شما می توانید از آن ها در پروژه های خودتان استفاده کنید و با کمی تغییر و کدنویسی به نتیجه دلخواهتان برسید.

ASP.NET


DotNetNuke

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

DotNetNuke

umbraco
شعار umbraco سادگی، زیبایی و انعطاف است. این CMS قدرتمند بوسیله سی شارپ توسعه داده شده و در عمل کارایی خوبی را از خودش نشان داده است. هر چند برخی از برنامه نویسان توسعه این CMS را مشکل می دانند اما در واقع این طور نیست. اجتماع کاربری این CMS به گستردگی DNN نیست، اما مطمئن باشید کسی پیدا می شود که جواب سئوال ها و مشکلات شما را بدهد.

Rainbow
این CMS یک موتور ایجاد وب سایت و پرتال های پویا است که امکانات خوبی را به کاربران خود ارائه می کند. Rainbow با استفاده از سی شارپ توسعه داده می شود، هر چند به اندازه دان نت نیوک قدرتمند نیست اما دارای اجتماع کاربری مناسبی است. ماژول های زیادی برای این CMS نوشته شده و دارای پشتیبانی تقریباً مناسبی است.

mojoPortal
موجوپرتال CMS قدرتمند دیگری است که شما را در مدیریت وب سایت ها و پرتال های بزرگ یاری می کند. با استفاده از موجوپرتال ایجاد وب سایت های پیشرفته ساده خواهد بود. امکاناتی که این CMS در اختیار کاربران نهایی میگذارد شامل وبلاگ، فاروم، گالری عکس، تجارت الکترونیکی، سرویس نقشه گوگل، نظرسنجی، خبرنامه و امکانات متنوع دیگر است. موجوپرتال اجتماع کاربری بزرگ و مناسبی هم دارد. زبان فارسی در موجوپرتال به صورت رسمی پشتیبانی می شود. در ضمن این CMS برنده جایزه بهترین CMS غیر PHP در سال 2007 شده است.

Cuyahoga
این CMS برخلاف دیگر CMSها که فقط در هاست ویندوز قابل اجرا هستند و اغلب از SQL Server به عنوان پایگاه داده استفاده می کنند، قادر است روی پلت فرم مونو اجرا شود و در نتیجه با هاست لینوکس و پایگاه داده MySQL و PostgreSQL هم کار می کند. قابلیت مدیریت چندین وب سایت با یک پایگاه داده، موتور جستجوی قدرتمند و ایجاد آدرس های SEO از ویژگی های بارز این CMS است. در ایجاد این نرم افزار از NHibernate استفاده شده، و به همین علت به پایگاه داده خاصی وابستگی ندارد.

N2 CMS
N2 یک CMS سبک، ساده و در عین حال قدرتمند برای ایجاد وب سایت های پویا است. به گفته سازندگانش، توسعه این CMS بسیار آسان است و استفاده از آن در عمل برای کاربران نهایی بسیار آسان تر. به علت استفاده از NHibernate در این پروژه، کاربر می تواند از هر پایگاه داده ای شامل SQL Server و MySQL برای نصب N2 بهره ببرد. استفاده از کتابخانه jQuery و AJAX و داشتن رابط کاربری دوستانه N2 را به یکی از انتخاب های مناسب برای راه اندازی وب سایت های بزرگ تبدیل نموده است.

نتیجه
در این مطلب با 6 CMS اوپن سورس و قدرتمند که با استفاده از فریم ورک ASP.NET مایکروسافت توسعه داده می شوند، آشنا شدیم. البته تعداد CMSهای اوپن سورس دات نت بیش از این هاست، CMSهایی مثل XMLNuke، nkCMS، JMDCMS، VWD-CMS و GO.Kryo یا سیستم های مدیریت محتوای وبلاگ مثل BlogEngine.NET یا Subtext. امروزه دیگر کسی وقتش را صرف ایجاد سیستمی که از قبل اوپن سورس آن وجود دارد نمی کند. در کشور خودمان هم خیلی از شرکت های نرم افزاری، نرم افزارهای اوپن سورس را به صورت سفارشی شده به مشتریان شان می فروشند. حالا بگذریم که بعضی ها بدون در نظر گرفتن موارد مجوزنامه های اوپن سورس، از این نرم افزارها سوء استفاده می کنند، اما در کل استفاده از نرم افزارهای اوپن سورس در راه درست خیلی بهتر و به صرفه تر از نوشتن یک نرم افزار از ابتدا است. مثلاً تا نرم افزاری مثل دات نت نیوک وجود دارد، عاقلانه نیست که شما یک وب سایت بزرگ را از ابتدا تولید کنید. بلکه می توانید از مثلاً دات نت نیوک استفاده کنید و ویژگی هایی که لازم دارید یا مشتری سفارش داده است را به آن اضافه کنید.

farasun.wordpress.com
شاید این مطالب هم برای شما خواندنی باشند :

  • انواع فایل ها و دایرکتوری ها در ASP.NET
  • آشنایی با وب فرم ها در ASP.NET
  • سیلورلایت 3.0 ارائه شد
    farasun.wordpress.com
    اگر تمايل به دنبال کردن مطالب اين وبلاگ داريد، مي توانيد مشترک فيد فراسان شويد.

    چطور مشترک شويم؟