راه های دسترسی به داده در دات نت فریم ورک!

29 11 2009

در اکثر برنامه های کامپیوتری نیاز به ذخیره و بازیابی داده ها وجود دارد. داده هایی که بدون آن ها سیستم نرم افزاری ما معنایی ندارد. برنامه نویسان معمولاً راه های مختلفی برای این کار سراغ دارند. کسانی که با دات نت فریم ورک برنامه نویسی می کنند راه های مختلفی برای دسترسی به داده ها دارند. در این مطلب با تکنولوژی های مایکروسافت برای این کار آشنا خواهیم شد و سه ORM معروف دنیای دات نت را معرفی خواهیم کرد. مایکروسافت انتخاب های زیادی برای دسترسی به داده ها به برنامه نویسان دات نت می دهد که شما باید با بررسی آن ها و با توجه به نیازهای خودتان یکی از آن ها را انتخاب کنید.

ADO.NET

ADO.NET مجموعه ای از کامپوننت هاست که برنامه نویسان می توانند از آن ها برای برقراری ارتباط با دیتابیس های مختلف استفاده کنند. ADO.NET بخشی از کتابخانه کلاس های پایه دات نت فریم ورک است که توسط مایکروسافت توسعه داده می شود. برنامه نویسان به صورت گسترده از این تکنولوژی برای دسترسی و دستکاری داده های ذخیره شده در یک دیتابیس رابطه ای استفاده می کنند. ADO.NET می تواند با اکثر دیتابیس های موجود کار کند، هر چند به صورت پیش فرض در دات نت فریم ورک فقط فراهم کننده های SQL Server، OleDb و Odbc وجود دارد، افراد و شرکت های دیگر فراهم کننده های دیتابیس های دیگر را برای دات نت ایجاد کرده اند.

برای هر Provider کامپوننت هایی وجود دارند که برنامه نویس با استفاده از آن ها به مقصودش می رسد. به طور مثال برای استفاده از SQL Server در روش ADO.NET کامپوننت هایی مانند SQLConnection و SQLCommand وجود دارد که با استفاده از آن ها می توانید یک دستور SQL را روی داده های موجود در یک دیتابیس SQL Server اجرا کنید. با SQLConnection به دیتابیس موجود در SQL Server وصل می شویم و با استفاده از یک SQLCommand می توانیم یک عبارت T-SQL را که می تواند دستور INSERT, UPDATE, DELETE یا SELECT باشد یا حتی یک Stored Procedure یا عبارت DDL باشد را برای مقصود خاصی روی دیتابیس اجرا کنیم. چون ADO.NET در مورد سینتاکس دیتابیس چیزی نمی داند، دستورات را به صورت یک رشته ساده به SQLCommand می دهیم و این شیء نیز به صورت مستقیم به دیتابیس دستور می دهد.

string query = "SELECT * FROM tblCustomers";
SqlConnection con = new SqlConnection(cnnString);
SqlCommand command = new SqlCommand(query, con);
con.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Response.Write(reader.GetInt32(0) +
reader.GetString(1));
}

نکته ای که باید در مورد ADO.NET بدانید این است که برای استفاده از هر سیستم دیتابیس رابطه ای، مجموعه کامپوننت های جدایی وجود دارد. در مثال بالا از آبجکت های مربوط به SQL Server استفاده کردیم. اگر بخواهید مثلاً از یک دیتابیس اوراکل در برنامه خود استفاده کنید، بایستی از کامپوننت های مربوط به اوراکل استفاده کنید. خوشبختانه تمام این کامپوننت ها بر پایه یک Interface ساخته شده اند، این یعنی شما می توانید با استفاده از کلاس DbProviderFactory برنامه ای بسیازید که با چند نوع دیتابیس مختلف کار کند.

Linq to SQL

مایکروسافت با دات نت فریم ورک 3.0 و 3.5 یک ORM به نام Linq to SQL را به عنوان بخشی از پروژه LINQ خود عرضه کرد. این شرکت مدت ها پیش از آن قول داده بود که یک ORM برای دات نت فریم ورک طراحی کند اما تا نسخه 3.0 دات نت فریم ورک خبری از آن پروژه نشد. Linq to SQL به شما اجازه می دهد که کوئری های LINQ را روی دیتابیس های SQL Server اجرا کنید. علاوه بر این از یک Mapping Framework بهره می برد که به برنامه نویسان اجازه Map کردن جدول های یک دیتابیس را به کلاس ها و بالعکس می دهد. این کار در ویژوال استادیو می تواند به صورت ویژوال یا کدنویسی انجام گیرد. به این صورت که برای هر جدول از دیتابیس یک کلاس تعریف می شود که هر ستون از یک جدول به عنوان یک Property درون آن کلاس تعریف می شود.

نمایی از ابزار طراحی ویژوال Linq to SQL

به مثال زیر توجه کنید :
public class Customer
{
[Column(Name="CustomerID",IsPrimaryKey = true)]
public long ID
{
get { return _ID;}
set { _ID = value;}
}
[Column(Name = "CustomerName")]
public string Name
{
get { return _name; }
set { _name = value; }
}
}

کلاس بالا به جدول tblCustomers که دارای دو ستون CustomerID و CustomerName است Map می شود. قبل از اینکه بخواهید از Linq to SQL استفاده کنید باید این کلاس ها را تعریف کنید. ویژوال استادیو 2008 دارای ابزاری است که به صورت ویژوال به شما امکان Map کردن جدول های یک دیتابیس SQL Server را به کلاس های دات نت می دهد. این ابزار می تواند به صورت اتوماتیک کلاس های مورد نیاز شما را از روی مدل دیتابیس بسازد، و حتی اجازه تغییرات دستی و ایجاد Viewهای مختلف از دیتابیس را به شما می دهد. عملیات Mapping با استفاده از DataContext (که یک رشته اتصال به سرور نیاز دارد) پیاده سازی می شود. سپس شما قادر خواهید بود کوئری های LINQ خود را روی دیتابیس موجود در سرور اجرا کنید، که البته این کوئری ها ابتدا به دستوارت T-SQL متناظر ترجمه و سپس روی دیتابیس مورد نظر اجرا می شوند.

Entity Framework

Entity Framework یک فریم ورک ORM برای دات نت فریم ورک است که نسخه یک آن به همراه دات نت فریم ورک 3.5 سرویس پک 1 عرضه شد اما مورد استقبال توسعه دهندگان قرار نگرفت. نسخه 2 این فریم ورک به صورت بتا به عنوان بخشی از ویژوال استادیو 2010 قابل دسترس است. ADO.NET Entity Framework نام اصلی این فریم ورک است و جزئی از تکنولوژی ADO.NET است.

ابزار طراحی Entity Framework در ویژوال استادیو

ابزار طراحی Entity Framework در ویژوال استادیو

Entity Framework مدل رابطه ای موجود در یک دیتابیس را به مدل مفهمومی تبدیل می کند و آن را به اپلیکیشن ما تحویل می دهد. در مدل رابطه ای عناصر ترکیبی از جداول هستند، به همراه کلید های اصلی و خارجی که جدول ها را به هم مرتبط می سازند. برعکس آن، انواع موجودیت ها مدل مفهومی داده را تعریف می کنند. انواع موجودیت  اجتماعی از چند فیلد است (هر فیلد به یک ستون از دیتابیس Map می شود) و می تواند شامل اطلاعات از چند جدول فیزیکی باشد. انواع موجودیت می توانند به هم مرتبط باشند، مستقل از ارتباطاتی که در مدل فیزیکی دارند. شمای منطقی و نگاشت (mapping) آن به شمای فیزیکی به عنوان یک Entity Data Model یا EDM نمایش داده می شوند که مشخصات EDM در یک فایل XML ذخیره می شود. Entity Framework از EDM برای انجام عملیات نگاشت و دادن قابلیت کار با موجودیت ها به اپلیکیشن استفاده می کند. Entity Framework اطلاعات مورد نیاز هر موجودیت را با Join کردن چندین جدول از مدل فیزیکی (دیتابیس) بدست می آورد. هنگامی که اطلاعات یک موجودیت آپدیت می شود، Entity Framework بررسی می کند که داده ها مربوط به کدام یک از جدول های موجود در دیتابیس هستند، سپس آن ها را با دستور SQL مناسب آپدیت می کند.

هر چند Entity Framework و Linq to SQL بسیار شبیه به هم به نظر می رسند، هر دو ابزارهایی برای طراحی گرافیکی و ویزاردی برای نگاشت یک دیتابیس به مدل شیء گرا دارند و هر دو می توانند از کوئری های LINQ برای مقصود خاصی استفاده کنند، اما با هم تفاوت هایی هم دارند. بیان تفاوت های این دو در این مطلب جایی ندارد.

NHibernate

نمی توان در مورد ORMها در دات نت صحبت کرد اما نام NHiernate را ذکر نکرد. NH یک فریم ورک ORM اوپن سورس برای دات نت فریم ورک است که از روی پروژه موفق Hibernate جاوا وارد دنیای دات نت شد. توضیحات بیشتر در مورد NHibernate توضیحات اضافی است، زیرا این فریم ورک هم وظیفه ORMهای دیگر را انجام می دهد. اکثر برنامه نویسانی که از NH برای نگاشت استفاده می کنند، ابتدا کلاس های خود را تعریف می کنند و سپس با استفاده از یک فایل XML آن ها را به جدول های دیتابیس Map می کنند. Linq to SQL و Entity Framework برخلاف NHibernate از روش Model-first یا مبتنی در دیتابیس استفاده می کنند، به این معنی که هر دو ORM تصور می کنند شما دیتابیسی در اختیار دارید که می خواهید آن به تعدادی آبجکت Map کنید.

در مورد Nhibernate بیش از این صحبت نمی کنم، آقای وحید نصیری در اینجا به صورت کامل در مورد این ORM محبوب نوشته است.

farasun.wordpress.com

انتخاب از میان روش های بالا به عهده خود شماست. در این مطلب کوتاه نمی توان به بررسی تمام زوایا و تفاوت های میان آن ها پرداخت. در مطالب آینده سعی میکنم در مورد نحوه استفاده از هر کدام یک مثال عملی بزنم (البته به جز NHibernate).





لینک به توییتر! راهی دیگر برای استفاده از توییتر در دات نت

25 10 2009

من قبلاً هم مطلبی نوشته بودم و نحوه استفاده از API توییتر در دات نت را توضیح داده بودم +. اگر نمی دانید توییتر چیست به همان مطلب مراجعه کنید. در این مطلب به معرفی یک کتابخانه کدباز می پردازم که تمام امکانات API توییتر را به شما در قالب یک Linq Provider می دهد.

LinqToTwitter یک فراهم کننده LINQ برای استفاده از معروف ترین سرویس دهنده میکرو بلاگینگ یعنی توییتر در برنامه های مبتنی بر دات نت فریم ورک 3.0 به بعد است. LINQToTwitter از سینتاکس استاندارد LINQ برای ایجاد کوئری و انجام متدهایش استفاده می کند. این یعنی برای استفاده از آن در برنامه خود باید با قواعد LINQ آشنایی داشته باشید.

200xColor_2اگر با LINQ آشنایی داشته باشید به راحتی می توانید با استفاده از این کتابخانه با وب سایت توییتر ارتباط برقرار کنید و کوئری های خود را روی آن اجرا کنید و نتیجه را مشاهده کنید. این کتابخانه علاوه بر امکان برگرداندن PublicTiemLine و FriendsTimeLine، می تواند TimeLine یک کاربر خاص را نیز به شما تحویل دهد و متدهایی برای آپدیت کردن وضعیت، فرستادن دایرکت مسیج، بلاک کردن یک کاربر خاص، فالو کردن، تغییر در پروفایل کاربر وسرچ کردن در تایم لاین توییتر را در اختیارتان قرار میدهد تا بتوانید یک کلاینت بی نقص برای توییتر بسازید.

با این کتابخانه اوپن سورس شما می توانید از توییتر در وب سایت های مبتنی بر ASP.NET و ASP.NET MVC و برنامه های WinForms و دیگر نرم افزارهای تحت دات نت فریم ورک استفاده کنید. هیچکس نمی تواند منکر محبوبیت و تاثیر بسیار زیاد توییتر در دنیای امروز شود. به طور مثال می توانید کاری کنید که خبرهای وب سایت خودتان یا مشتری تان به محض انتشار در اکانت توییتر مخصوص به آن نیز توییت شود.

چطور از LinqToTwitter استفاده کنیم؟

ابتدا به وب سایت  LinqToTwitter بروید و آخرین نسخه آن را دریافت کنید. همانطور که گفتم این کتابخانه کدباز است، وقتی دانلود شما تمام شد، سورس کد کامل این پروژه را در اختیار دارید. برای استفاده از این کتابخانه در پروژه خود باید ابتدا آن را کامپایل کنید. سولوشن LinqToTwitter.sln را با ویژوال استادیو 2008 باز کنید. این سولوشن دارای چند دمو بسیار مناسب هم هست که نحوه استفاده از این کتابخانه را به شما نشان می دهند. روی پروژه LinqToTwitter در Solution Explorer کلیک راست کنید و گزینه Build را انتخاب کنید.الان فایل LinqToTwitter ساخته شده. در پروژه خودتان به فایل LinqToTwitter.dll ارجاع دهید. حالا برای استفاده از آن در هر جا که نیاز دارید فضای نام LinqToTwitter را using/Import کنید.

مانند LinqToSQL که یک DataContext وجود دارد، در این کتابخانه نیز یک TwitterContext وجود دارد. حداقل کاری که می توانید با آن بکنید این است که نام کاربری و زمز عبور حساب توییتر خود را ست کنید و یک توییت با آن انجام دهید. در زیر مثالی به زبان سی شارپ را برای انجام این کار می آورم.

var context = new TwitterContext("[myusername]", "[mypassword]");
var status = context.UpdateStatus("Tweeted via linq2twitter");

اگر می خواهید لیستی از توییت های خود را در وب سایت خود نمایش دهید می توانید به صورت زیر عمل کنید :

var context = new TwitterContext("[yourusernamehere]", "[yourpasswordhere]");
var MyTweets =
from tweet in context.Status
where tweet.Type == StatusType.User
&& tweet.ID == "[youruserid]"
&& tweet.Page == 1
&& tweet.Count == 10
select tweet;

در مثال بالا، شما باید نام کاربری و رمز عبور خود را ست کنید تا این کوئری 10 توییت آخر شما را برگرداند.

اگر عضو توییتر نیستید، می توانید برای امتحان کردن این کتابخانه از کد زیر استفاده کنید. این مثال آخرین توییت ها در تایم لاین عمومی توییتر را برمیگرداند (مثال موجود در وب سایت رسمی پروژه) :

var twitterCtx = new TwitterContext();
var publicTweets =
from tweet in twitterCtx.Status
where tweet.Type == StatusType.Public
select tweet;

LinqToTwitter مثال خوب دیگری است که نشان می دهد LINQ فقط برای دسترسی به داده های یک دیتابیس نیست، بلکه می توان از آن برای کار با داده های مختلف، اشیاء و حتی توییت ها استفاده کرد.

farasun.wordpress.com

مطالب مرتبط با این پست را بخوانید :





Paint.NET، داستان موفقیت یک پروژه کدباز

17 10 2009

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

paint.net logo

Paint.NET یک پروژه اوپن سورس و آزاد است. هر کس می تواند با رفتن به وب سایت رسمی Paint.NET (یا هرسایت دیگر +) نسخه ای از آن را دریافت و روی ویندوز خودش نصب کند و بدون پرداخت هیچ هزینه ای از آن برای هر کاری (چه شخصی و چه تجاری) استفاده کند. کد این پروژه در دسترس همه قرار دارد و هرکسی می تواند در پیشرفت این پروژه سهیم باشد.

در این مطلب کوتاه به تاریخچه ایجاد نرم افزار Paint.NET و داستان موفقیت آن می پردازیم. سپس در مورد اینکه چطور درآمدزایی می کند بحث می کنیم و در آخر نیز دلایل موفقیت این پروژه را از نظر خودم به صورت خیلی خلاصه بیان می کنم.

همه چیز از یک پروژه دانشجویی شروع شد…

Paint.NET در بهار سال 2004 به عنوان یک پروژه دانشجویی سال آخر رشته علوم کامپیوتر مقطع لیسانس از دانشگاه Washington State University شروع شد. Rick Brewster دانشجوی با سلیقه ای که روی طراحی رابط کاربری و گرافیک مسلط بود به عنوان رهبر توسعه تیم انتخاب شد. زبان سی شارپ به عنوان زبان برنامه نویسی و دات نت فریم ورک به عنوان پلت فرم توسعه برگزیده شدند. پس از طراحی نسخه اولیه  و پس از هماهنگی با شرکت مایکروسافت، Paint.NET به عنوان نام این پروژه انتخاب شد. پس از این اتفاق، توجه مایکروسافت به این پروژه معطوف شد.

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

نمایی از نسخه 3.5 بتا Paint.NET

نمایی از نسخه 3.5 بتا Paint.NET

در دسامبر 2004، نسخه 2.0 پایدار با امکانات قدرتمند و پشتیبانی از افکت های بیشتر عرضه شد. در می 2005 نسخه 2.1 در حالی که اکثر باگ های نسخه های قبل رفع شده بود و کارایی نرم افزار بالاتر رفته بود، عرضه شد. در نسخه 2.5 پشتیبانی از محلی سازی برای زبان های مختلف اضافه شد و در نسخه 2.6 پروژه به دات نت فریم ورک نسخه 2.0 منتقل شد و از معماری 64بیت به صورت کامل پشتیبانی شد. از این نسخه به بعد Rick Brewster و Tom Jackson توسعه دهنده های اصلی Paint.NET هستند. در می 2006 Paint.NET با دو میلیون دانلود خود را به عنوان یکی از بهترین نرم افزارهای ویرایش تصاویر دیجیتالی در سیستم عامل ویندوز معرفی کرد.

Rick Brewster

Rick Brewster

ریک بروستر شرکتی به نام dotPDN تاسیس کرد و لوگو و نشان تجاری Paint.NET را به نام خود ثبت کرد. dotPDN شرکتی است که تا الان تنها محصولش Paint.NET است و هزینه های خود را از راه Donation و تبلیغات اینترنتی تامین می کند. هم اکنون آخرین نسخه Paint.NET نسخه 3.5 بتا است که با استفاده از دات نت فریم ورک 3.5 توسعه پیدا می کند. (دریافت کنید) Paint.NET دارای اجتماع کاربری مناسبی است که در آن کاربران به یکدیگر در زمینه های مختلف نرم افزار Paint.NET کمک می کنند. (اینجا) هیچ سئوالی در این جامعه کوچک بی پاسخ نمی ماند.

Paint.NET چگونه درآمدزایی می کند؟

شاید این سئوال برای شما پیش بیاید که این نرم افزار که هم کدباز است و هم رایگان، چگونه درآمدزایی می کند و چه نفعی برای سازنده اش دارد. در پاراگراف بالا اشاره کردم که شرکت dotPDN از طریق Donation (هدیه نقدی کاربران) و تبلیغات اینترنتی هزینه های خود را تامین می کند. اگر به وب سایت Paint.NET مراجعه کنید، در بخش هایی از آن، حتماً تبلیغات گوگل را مشاهده خواهید کرد. بسیاری از کاربران Paint.NET نیز به صورت داوطلبانه به سازنده آن کمک نقدی کرده اند و می کنند. شرکت مایکروسافت هم که اسپانسر این پروژه است. Donation و استفاده از تبلیغات یکی از معمول ترین راه های درآمدزایی نرم افزارهای کدباز هستند. (اطلاعات بیشتر)

ریک بروستر توسعه دهنده اصلی Paint.NET در حال حاضر، در دنیای دات نت و اوپن سورس اسم و رسمی دارد. اینطور که به نظر میرسد در مایکروسافت نیز مشغول به کار است (البته برای این حرفم منبع معتبری پیدا نکردم). موقعیت های شغلی یکی از مزایای توسعه پروژه های نرم افزارهای کدباز است که برای ریک نیز بوجود آمده است.

دلایل موفقیت Paint.NET (از نظر من)

اولین و مهمترین دلیل موفقیت Paint.NET از نظر من اوپن سورس بودن این پروژه است. اگر کدباز نبود امکان این که توجه شرکت مایکروسافت را به خودش جلب کند بسیار پایین بود و اگر مایکروسافت از آن پشتیبانی نمی کرد، شاید هیچ وقت تا این حد موفق نمی شد. دلیل مهم دیگر موفقیت این پروژه، بی شک دانشگاه واشنگتن استیت واستاد راهنمای ریک بروستر آقای Jack Hagemeister بوده اند که با انجام چنین پروژه ای موافقت نموده اند و امکان همکاری با مایکروسافت را برای او فراهم کرده اند.

موقعیت ریک را در زمان دانشجویی با یک دانشجوی رشته کامپیوتر در ایران مقایسه کنید. آیا دانشگاه های ما به چنین پروژه هایی بها می دهند؟ آیا ارتباط دانشگاه و صنعت در ایران آنقدر قوی است که یک شرکت تجاری اسپانسر یک پروژه دانشجویی شود و به پیشرفت آن کمک کند؟

به نظر شما اگر آقای بروستر در یکی از دانشگاه های ایران دانشجو بود، می توانست چنین پروژه موفقی را به انجام برساند!؟

farasun.wordpress.com

منابع :





یادگیری 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

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

مطالب مرتبط :