10 منبع برای شروع یادگیری WPF

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

MSDN : بهترین مکان برای شروع یادگیری تکنولوژی های مربوط به مایکروسافت MSDN بوده و هست. MSDN مرجع خوبی برای تمام برنامه نویسانی است که با تکنولوژی های مایکروسافت کار می کنند. تمام موضوعات مربوط به WPF در MSDN طبقه بندی شده اند و شما به راحتی می توانید مطلب مورد نظر خود را پیدا کنید. اگر سئوالی داشتید می توانید در فاروم WPF مطرح کنید و جواب خود را بگیرید.

WindowsClient : سایت رسمی مایکروسافت و مرجع برنامه نویسان WPF و WinForm یکی از منابع خوب برای شروع یادگیری WPF است. در این سایت علاوه بر مقالات متعدد، ویدئوهای آموزشی مناسبی درباره آموزش WPF پیدا خوهید کرد.

CodeProject : کد پراجکت نامی آشناست که با داشتن مثال ها و مقالات متعدد در زمینه WPF منبع بسیار مناسبی برای یادگیری WPF و حرفه ای شدن در آن است.

WPF Tutorial.net : این سایت آموزش های پایه ای متعددی در دسته بندی های مشخص به شما ارائه می کند که برای شروع WPF گزینه بسیار مناسبی است. مخصوصاً بخش «یادگیری WPF در یک هفته» با فراهم نمودن یک آموزش ساختارمند، از نکات پایه ای WPF تا موضوعات پیشرفته را به شما آموزش می دهد.

LearnWPF.com : یک وبلاگ خوب با دسته بندی های مشخص و مطالب خوب است. مطالب پایه ای WPF را به خوبی توضیح داده و برای شروع می تواند گزینه مناسبی باشد.

وبلاگ Josh Smith on WPF : آقای Josh Smith در این وبلاگ به صورت حرفه ای در مورد WPF و الگوی طراحی MVVM مطلب می نویسد. شما می توانید در این صفحه از وبلاگ آقای اسمیت یادگیری WPF را آغاز کنید.

WPF Training Guide : در این سایت می توانید به صورت قدم به قدم شروع به یادگیری مباحث پایه ای WPF کنید.

وبلاگ های WPF : وبلاگ ها همیشه در آموزش تکنولوژی های جدید پیش قدم هستند. در این صفحه می توانید لیستی از وبلاگ هایی که در زمینه WPF، Silverlight و مباحث مربوط به آن ها می نویسند را مشاهده کنید.

WPFplex.com : این سایت یک دایرکتوری از منابع آموزشی، کتاب ها و ابزارها برای WPF است. این سایت هم برای کسی که می خواهد شروع به یادگیری WPF کند مناسب است و هم به درد حرفه ای های WPF می خورد.

Channel9 : در این سایت می توانید ویدئوهای با کیفیتی در مورد WPF پیدا کنید که توسط کارمندان مایکروسافت ساخته شده اند.

farasun.wordpress.com

اگر برنامه نویس دات نت هستید و می خواهید در آینده نیز برنامه نویس دات نت بمانید، WPF را جدی بگیرید و برای یادگیری آن وقت بگذارید!

MSDN

بهترین مکان برای شروع یادگیری تکنولوژی های مربوط به مایکروسافت MSDN بوده و هست. MSDN مرجع خوبی برای تمام برنامه نویسانی است که با تکنولوژی های مایکروسافت کار می کنند. تمام موضوعات مربوط به WPF رد MSDN طبقه بندی شده اند و شما به راحتی می توانید مطلب مورد نظر خود را پیدا کنید.

CodeProject

کد پراجکت با داشتن مثال ها و مقالات متعدد در زمینه WPF منبع بسیار مناسبی برای یادگیری WPF و حرفه ای شدن در آن است.

http://www.wpftutorial.net/

این سایت آموزش های پایه ای متعددی در دسته بندی های مشخص به شما ارائه می کند که برای شروع WPF گزینه بسیار مناسبی است.

LearnWPF.com

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

مزیت های استفاده از WPF به عنوان رابط کاربری

WPF یک زیر سیستم گرافیکی جدید برای توسعه رابط کاربری در ویندوز است که برای اولین بار به عنوان بخشی از دات نت فریم ورک 3.0 عرضه شد. WPF برای رندر کردن گرافیک صفحه به جای استفاده از سیستم GDI از DirectX استفاده می کند و به همین دلیل قادر به ایجاد گرافیک های پیچیده تری است. در این مطلب به برخی از مزیت های استفاده از WPF به عنوان رابط کاربری اشاره خواهیم کرد.

1) ظاهر زیبای رابط کاربری طراحی شده : تمام اجزای رابط کاربری در WPF با استفاده از Direct3D رندر می شوند و می توانند دارای گرافیک بسیار پیچیده ای باشند که از اجزای مختلفی تشکیل شده اند. با WPF می توانید عکس، صدا، ویدئو و متن های گرافیکی پیچیده را در رابط کاربری خود داشته باشید، بدون اینکه سرعت پاسخگویی UI به کاربر را تحت تاثیر قرار دهید. اجازه استفاده از فایل های مالتی مدیا در پنجره های ویندوز و قابلیت هایی مثل Styles و Templates به طراحان اجازه می دهد تا یک رابط کاربری گرافیکی زیبا و چشم نواز بسازند. نرم افزارهایی که رابط کاربری شان را با WPF توسعه داده اند، از ظاهر بسیار زیبایی برخوردار هستند. شما می توانید یک رابط کاربری طراحی شده توسط WPF را به راحتی از بقیه تشخیص دهید. مثال قابل درک یک رابط کاربری زیبا و انطاف پذیر که با WPF توسعه داده شده، Visual Studio 2010 و Expression blend هستند. در شکل زیر نمایی از برنامه Family Show را مشاهده می کنید که UI آن با WPF طراحی شده است.

Family Show

2) جداسازی رابط کاربری از منطق برنامه : تعریف اجزای رابط کاربری در WPF در یک فایل جداگانه و به زبان تعریفی XAML انجام می گیرد. کدهای C#یا VB شما که منطق برنامه را شکل می دهند در فایل جداگانه ای قرار می گیرند. WPF جداسازی شفافی میان رابط کاربری و دیگر اجزای برنامه ایجاد می کند. این قابلیت به شما اجازه می دهد تا به راحتی از الگوهای طراحی MVP یا MVVM برای طراحی نرم افزار خود استفاده کنید. این جداسازی کار توسعه و نگهداری نرم افزار را در دراز مدت بسیار آسان می کند.

3) قالبیت اجرا در مرورگر : اپلیکیشن های WPF علاوه بر اجرا به صورت stand alone قادر به اجرا درون یک مرورگر به صورت هاست شده، هستند. شما با استفاده از قابلیت XBAP می توانید اپلیکیشن WPF خود را در مرورگرهای IE و Firefox به همان صورت که در دسکتاپ اجرا می شود، اجرا کنید. در حقیقت مایکروسافت با ایجاد این قابلیت یک قدم به یکپارچه سازی توسعه ویندوز و وب نزدیک تر شده است. اپلیکیشن های XBAP همان قابلیت های یک اپلیکیشن تحت دسکتاپ WPF را به شما در قالب یک برنامه هاست شده در مرورگر ارائه می کنند.

4) استفاده از XAML برای تعریف اجزای UI : موفقیت یک زبان نشانه گذاری به نام HTML برای توسعه رابط کاربری وب، باعث شد تا مایکروسافت به فکر ایجاد یک زبان نشانه گذاری برای طراحی UI در ویندوز بیفتد. نتیجه این تلاش، زبان XAML است که هم اکنون در WPF و Silverlight مورد استفاده قرار می گیرد. XAML یک زبان تعریفی بر اساس XML است که منطق برنامه را از رابط کاربری جدا می کند و یادگیری آن آسان است. تعریف تمام اجزای رابط کاربری در WPF با زبان XAML انجام می گیرد. شما می توانید خصوصیات و رفتار هر یک از کنترل های ویژوال و غیر ویژوال رابط کاربری خود را به جای استفاده از برنامه نویسی روالی، با یک زبان declarative  انجام دهید. در آخر کدهای XAML می توانند به عنوان یک اسمبلی مدیریت شده کامپایل شوند.

Visual Studio StartPage XAML source

5) سازگاری با WinForms : در WPF می توانید از فرم های ویندوزی معمولی هم استفاده کنید و در واقع WPF سازگاری کاملی با WinForms و API ویندوز دارد. با استفاده از کلاس های ElementHost و WindowsFormsHost قادر به استفاده از اجزای WinForms در WPF خواهید بود. همچنین در پروژه های WinForms خود می توانید از اجزای WPF به خوبی استفاده کنید.

6) سرعت رندر بالا : WPF به جای استفاده از GDI+ برای رندر کردن رابط کاربری، به صورت مستقیم از DirectX استفاده می کند. در این حالت رندر کردن گرافیک های بکار رفته در رابط کاربری به جای اینکه بر عهده CPU باشد، بر عهده GPU خواهد بود. WPF با استفاده از شتاب دهنده سخت افزاری گرافیک ها و افکت های رابط کاربری را با سرعت بیشتری اجرا می کند.

7) Data Binding قوی و انعطاف پذیر : WPF به صورت توکار دارای قابلیت های Data Binding فوق العاده انعطاف پذیر و موثری است. شما در WPF تقریباً می توانید هر منبع داده ای را به مشخصه های مختلف کنترل های پنجره bind کنید. به طور مثال کوئری های LINQ یا مجموعه ای از کلاس های شامل داده می توانند به کنترل هایی مثل ListView و DataGrid بدون احتیاج به نوشتن کد اضافی Bind شوند. WPF از سه حالت Data binding پشتیبانی می کند: 1- One Way : کلاینت دسترسی فقط خواندنی به اطلاعات دارد و زمانی که سورس آپدیت می شود خودش را آپدیت می کند 2- TwoWay : تغییر کردن سورس باعث آپدیت شدن کلاینت و تغییر کردن اطلاعات کلاینت باعث آپدیت شدن سورس می شود. این روش برای فرم های Editable بسیار مناسب است 3- OneWayToSource : بر عکس روش OneWay است، زمانی که اطلاعات کلاینت توسط کاربر تغییر می کند، سورس را آپدیت می کند.

8 ) سرویس های مالتی مدیا : در پنجره های WPF شما می توانید از فایل های image, audio و video به راحتی استفاده کنید. WPF یک سیستم انیمیشن خوب به علاوه قابلیت رندر کردن دو بعدی و سه بعدی فراهم می کند. قابلیت های 3 بعدی در WPF زیر مجموعه ای از قابلیت های فراهم شده توسط Direct3D هستند که این باعث می شود شما توانایی طراحی رابط کاربری 3 بعدی را داشته باشید.

9) Templates & Styles : در WPF شما می توانید ظاهر یک عنصر را با استفاده از مشخصاتش تعریف کنید یا اینکه از Template و Style برای این کار استفاده کنید. Style مجموعه ای از مقادیر propertyهاست که می تواند بر روی یک عنصر اعمال شود. Style در WPF همان نقشی را که CSS در صفحات وب بازی می کند، بر عهده دارد. تمپلیت ها نیز مکانیزمی برای سفارشی کردن ظاهر کنترل های ویژوال رابط کاربری در WPF است که به همراه سیستم Style یک راه حل جامع و مناسب برای شکل دهی ظاهر UI به شما ارائه می کنند.

10) توانایی کار کردن برنامه نویسان و طراحان با همدیگر : WPF به صورتی پیاده سازی شده است که یک برنامه نویس بتواند بدون داشتن کد XAML یک پنجره برای آن برنامه نویسی کند. همانطور که اشاره شد، در WPF جداسازی شفافی از منطق برنامه و رابط کاربری وجود دارد که این امر باعث می شود تا ما بتوانیم طراحی رابط کاربری را به یک طراح بسپاریم و در همان حال منطق برنامه را بدون نیاز به داشتن UI پیاده سازی کنیم. طراحان می توانند با ابزاری مثل Expression blend پنجره های رابط کاربری را به خوبی طراحی کنند، و توسعه دهندگان به پیاده سازی منطق برنامه در ویژوال استادیو مشغول باشند.

farasun.wordpress.com

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

طراحی و برنامه نویسی وب با تکنولوژی های رایگان مایکروسافت

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

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

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

IIS یک وب سرور

سرویس دهنده وب قدرتمند مایکروسافت که پس از آپاچی، پر استفاده ترین Web Server جهان است. این وب سرور رایگان است هنگامی که شما هزینه ویندوز غیر رایگان را داده باشید! این وب سرور تمام پروتکل های استاندارد وب را پشتیبانی می کند و بهترین انتخاب برای توسعه وب اپلیکیشن های مبتنی بر ASP.NET است. اگر از ویندوزهای غیر سرور استفاده می کنید باید این وب سرور را از روی CD یا DVD ویندوز یا از اینترنت نصب کنید.

ASP.NET MVC یک فریم ورک

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

Visual Web Developer Express یک محیط توسعه و طراحی

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

SQL Server Express یک سرویس دهنده دیتابیس

یک نسخه سبک و رایگان از سیستم مدیریت پایگاه داده های قدرتمند مایکروسافت است که راه حلی مناسب برای ذخیره داده های برنامه های تحت وب شما خواهد بود. این نسخه رایگان می تواند به دیتابیسی تا حجم 4 گیگابایت سرویس دهد، فکر می کنم این اندازه جواب گوی برنامه های تحت وب شما باشد!

پلت فرم وب مایکروسافت

برنامه نویسان PHP نیز به همچین ابزارهایی برای ساختن یک وب اپلیکیشن احتیاج دارند. آن ها با نصب نرم افزارهایی مثل WAMP خود را درگیر نصب تک تک ابزارهای مورد نیاز خود و انجام تنظیمات آن ها نمی کنند. شما هم برای استفاده از تکنولوژی های رایگان مایکروسافت برای توسعه وب نیازی به دانلود تک تک این ابزارها و نصب جدای آن ها ندارید! می پرسید چطور!؟ …. مایکروسافت راه حلی برای این کار ارئه داده است به نام Web Platform Installer که علاوه بر نصب تکنولوژی های فوق برای شما، امکانات و ابزارهای سودمند و فوق العاده دیگری نیز در اختیارتان می گذارد آن هم به صورت کاملاً رایگان!

ابتدا Web Platform Installer را با حجم بسیار کم از اینجا دانلود کنید. با استفاده از آن می توانید :

  • IIS را به علاوه اکستنشن های سودمندش دانلود، نصب و تنظیم کنید.
  • SQL Server Express را دانلود، نصب و تنظیم کنید.
  • ابزارهایی برای ساخت وب اپلیکیشن های وب 2.0 مثل سیلورلایت را دانلود و نصب کنید.
  • یک محیط توسعه مناسب به نام Visual Web Developer در اختیار بگیرید.
  • وب اپلیکیشن های محبوب اوپن سورس مثل دات نت نیوک را سفارشی کنید.

نصب URL Rewrite برای IIS 7.0

Microsoft Web Platform Installer راه سریع و راحتی برای نصب و سفارشی کردن تمام نرم افزارهای مورد نیاز برای توسعه و توزیع وب سایت ها و وب اپلیکیشن ها بر روی ویندوز ارائه می دهد. این ابزار به صورت خودکار سیستم شما را چک می کند تا بفهمد چه ابزارهایی از قبل روی سیستم شما نصب است و سپس در صورت نیاز به شما پیشنهاد آپدیت آن ها یا اضافه کردن ابزارهای جدید را می دهد. سپس این شما هستید که تصمیم می گیرید چه ابزارهایی واقعاً نیاز دارید و Web PI آن ها را دانلود کرده و بر روی ویندوز شما نصب می کند.

گالری اپلیکشن های آماده و اوپن سورس

پلت فرم وب مایکروسافت یک گالری پر از وب اپلیکشن های آماده سودمند، رایگان و اوپن سورس دارد که به صورت مستقیم از داخل Web PI قابل نصب هستند. این گالری شامل وب اپلیکیشن های محبوب و اوپن سورس دات نت مثل دات نت نیوک، SubText، BlogEngine.NET، DasBlog و Ubraco CMS و اپلیکیشن های اوپن سورس PHP مثل وردپرس، Drupal و Jomla است. شما به آسانی می توانید در Web PI عنوان این پلیکیشن های آماده را مرور کنید و در صورت نیاز آن را بر روی سرور مورد نظر خود نصب کنید.

نصب اپلیکشن های تحت وب کدباز از داخل Web PI

همانطور که مشاهده می کنید، علاوه بر دانلود و نصب اپلیکیشن های دات نت، امکان دانلود و نصب اپلیکیشن های PHP را نیز بر روی وب سرور IIS به شما می دهد.

دریافت Web Platform Installer

Make Web, Not War

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

ابزارهایی برای ساخت وب اپلیکیشن های وب 2.0 مثل سیلورلایت را دانلود و نصب کنید.

کدپلکس به عنوان جایگزینی برای سورس فورج

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

کدپلکس -  میزبان نرم افزارهای اوپن سورس

CodePlex یک وب سایت میزبانی پروژه های اوپن سورس از طرف مایکروسافت است. این سایت اجازه کار کردن به صورت گروهی بر روی یک پروژه را به توسعه دهندگان می دهد. از قابلیت های کدپلکس می توان به داشتن سیستم ویکی، سورس کنترل (TFS و Subversion)، فاروم گفتگو، Issue Tracking و خروجی  RSS برای هر پروژه اشاره نمود. شما برای هر پروژه می توانید تگ های مختلفی تعریف کنید تا کاربران آسان تر با جستجو پروژه شما را پیدا کنند. کدپلکس به شما اجازه می دهد برای هر Release پروژه خود فایل های مختلفی را آپلود کنید و یادداشت های مربوط به آن را در کنارش قرار دهید. کدپلکس سیستم آمار مناسبی برای هر پروژه در اختیار شما قرار می دهد که با آن می توانید از تعداد دانلودهای هر یک از Releaseهای پروژه یا فایل های دیگری که آپلود کرده اید در زمان های مختلف آگاه شوید. این سیستم آمار حتی لینک های ارجاع دهنده به پروژه شما را نیز نشان می دهد، که با این ویژگی می توانید بفهمید که پروژه شما در چه سایت ها یا بلاگ هایی معرفی و بررسی شده است.

هرچند تمرکز اصلی کدپلکس روی میزبانی پروژه های مبتنی بر پلت فرم دات نت مایکروسافت است، اما در آن می توانید پروژه های PHP و دلفی را نیز پیدا کنید. جو غالب برکدپلکس هاستینگ پروژه های کدباز دات نت، SharePoint، SQL Server و در کل محصولات مایکروسافتی است اما اگر شما یک پروژه غیر مایکروسافتی ایجاد کنید هیچکس به شما ایراد نخواهد گرفت! در حال حاضر بیش از 13هزار پروژه کدباز در کدپلکس ثبت شده است. در کدپلکس جا برای پروژه کدباز شما نیز وجود دارد، دست به کار شوید!

ایجاد یک پروژه جدید

قبل از هر کاری اگر هنوز عضو کدپلکس نیستید، از اینجا عضو شوید. پس از ورود به کدپلکس، برای ایجاد یک پروژه جدید از اینجا اقدام کنید. در این صفحه، کدپلکس به صورت یک ویزارد به شما در ایجاد یک پروژه جدید کمک می کند. در اولین قدم شما باید عنوان پروژه خود و یکسری توضیحات در مورد آن را وارد کنید. همچنین باید سیستم سورس کنترل خودتان را مشخص کنید. کدپلکس از Team Foundation Server و Mercurial و Subversion برای کنترل سورس پروژه ها پشتیبانی می کند. اگر در حال حاضر از هیچ سورس کنترلی استفاده نمی کنید همان گزینه اول را انتخاب کنید. کدپلکس به شما اجازه می دهد پروژه خود را روی یکی از ساب دامین های Codeplex.com قرار دهید. این ساب دامین را می توانید در قسمت URL پروژه خود مشخص کنید. در قسمت آخر نیز می توانید مشخص کنید که آیا تبلیغات در صفحه پروژه شما نشان داده شوند یا خیر. البته این قابلیت برای ما ایرانی ها فایده چندانی ندارد چون به این راحتی نمی توانیم از این طریق پول در بیاوریم!

ایجاد یک پروژه جدید در کدپلکس

پس از تکمیل فرم روی دکمه Next کلیک کنید. در این صفحه جدید اگر لازم بود ایمیل خود را تغییر دهید، توافقات کدپلکس را قبول کنید، کد عکس را وارد کنید و روی دکمه Finish کلیک کنید. در صفحه بعد کدپلکس به شما یادآوری می کند که شما باید پروژه را حداکثر تا 30 روز دیگر منتشر کنید، در غیر این صورت حذف خواهد شد. منظور کدپلکس از انتشار پروژه، نوشتن توضیحات پروژه در ویکی، آپلود کردن سورس کد و ایجاد حداقل یک Release برای پروژه است. حالا می توانید به صفحه پروژه خود بروید و کارتان را آغاز کنید.

صفحه خانگی پروژه در کدپلکس

صفحه پروژه جدید شما نیز باید یک چیزی شبیه به تصویر بالا باشد. همانطور که در تصویر بالا مشخص کردم، برای ویرایش محتویات صفحه اصلی پروژه خود بر روی لینک Edit کلیک کنید. اگر می خواهید جزئیات یا توضیحات خلاصه پروژه خود را تغییر دهید بر روی لینک Edit Project Summary & Deatails کلیک کنید.

در صفحه ویرایش صفحه اصلی می توانید از سینتاکس ویکی کدپلکس جهت قالب بندی متن خود استفاده نمایید. در این ویرایشگر نمی توانید از تگ های HTML استفاده کنید. در سمت راست این ویرایشگر راهنمای کوچک استفاده از تگ های ویکی کدپلکس وجود دارد. به طور مثال اگر می خواهید کلمه فراسان را به صورت ضخیم نشان دهید باید آن را به صورت *فراسان* بنویسید. در اینجا می توانید فایل های مورد نیاز صفحه، به طور مثال اسکرین شات های پروژه خود را تا سقف 10 مگابایت آپلود کنید. وقتی کارتان تمام شد روی دکمه Save کلیک کنید تا تغییرات شما اعمال شوند.

ایجاد مستندات پروژه

در تب Documentation می توانید راهنمای کاربران برای استفاده از برنامه و راهنمای برنامه نویسان برای توسعه پروژه را قرار دهید. برای تغییر این صفحه همانند صفحه اصلی بر روی لینک Edit بالای آن کلیک کنید. در این تب همچنین می توانید پیش نیازهای پروژه خود را برای اجرا و توسعه تعیین کنید. برای این کار روی لینک Edit کنار System Requirements کلیک کنید تا یک فرم کوچک باز شود. در قسمت For Use پیش نیازهای کاربران برای اجرای پروژه و در قسمت For Development پیش نیازهای برنامه نویسان برای توسعه پروژه را بنویسید و سپس روی دکمه Save کلیک کنید.

تعیین پیش نیازهای پروژه

فاروم گفتگو

تب Discussion جهت استفاده کاربران برای گفتگو در مورد پروژه شما و احیاناً پرسیدن سئوال هایشان از شماست. در این قمست شما تنها امکان مدیریتی که دارید ویرایش جزئیات در لیست گفتگوهاست. برای این کار روی لینک Edit Discussion List Details کلیک کنید. در صفحه جدید می توانید متنی را برای نمایش در لیست گفتگوها و تگ هایی را برای دسته بندی موضوعات گفتگوها تعیین کنید.

گزارش خطا و درخواست قابلیت های جدید

تب بعدی Issue Tracker است که به کاربران پروژه شما اجازه میدهد تا مشکلات پروژه شما را گزارش دهند، یا قابلیت جدیدی را درخواست کنند. به طور مثال اگر کاربری با خطای مبهمی در پروژه شما برخورد کرد، می تواند از آن اسکرین شات تهیه کند و همراه با توضیحات خود در این قسمت آن را ثبت کند. همچنین کاربران می توانند درخواست خود را برای قابلیت های جدید در این قسمت ثبت کنند و دیگر کاربران می توانند به این درخواست ها رای دهند تا شما بتوانید بر اساس بازخورد کاربران و نیاز آن ها برای توسعه پروژه برنامه ریزی کنید. Issue Tracker علاوه بر امکاناتی که به کاربران پروژه شما می دهد، به شما و اعضای پروژه تان نیز کمک می کند تا برای پروژه خود برنامه ریزی کنید. شما در این قسمت می توانید یک Task برای پروژه خود تعریف کنید یا برای Releaseهای بعدی پروژه خود برنامه ریزی کنید.

CodePlex Issue Tracker

کنترل سورس پروژه

اگر قصد استفاده از سورس کنترل را ندارید یا با نحوه کار با آن آشنایی دارید می توایند این پاراگراف را نخوانید. در تب Source Code شما می توانید کد منبع پروژه خود را در اختیار عموم قرار دهید. شما این کار را باید با استفاده از نرم افزارهای کنترل نسخه مثل TFS یا Subversion انجام دهید. در اینجا با نحوه کنترل نسخه با استفاده از Subverion و کدپلکس آشنا خواهید شد. برای استفاده از Subversion شما باید یک کلاینت روی کامپیوتر خودتان نصب کنید. کدپلکس TortoiseSVN را پیشنهاد می کند. پس از دانلود این کلاینت و نصب آن بهتر است جزوه آموزش Subversion آقای نصیری را مطالعه کنید. برای اینکه پروژه خود را تحت کنترل Subversion در بیاورید روی پوشه آن کلیک راست کنید و از TortoiseSVN گزینه Repo-Browser را انتخاب کنید. حالا در پنجره کوچکی که باز می شود URL مخزن کد SVN پروژه خود در کدپلکس که چیزی شبیه به https://yourproject.svn.codeplex.com/svn است را وارد کنید. مانند شکل زیر :

مرورگر مخزن

پس از اینکه روی OK کلیک کردید پنجره ای باز می شود و نام کاربری و رمز عبور اکانت کدپلکس شما را درخواست می کند. آن ها را وارد کنید و تیک کنار Save authentication را نیز بگذارید تا هر بار از شما این درخواست را نکند. حالا روی پوشه ای که به نام URL مخزن کد شماست کلیک راست کنید و Create directory را انتخاب کنید و نام دایرکتوری را trunk بگذارید (هر چند نام گذاری به این صورت الزامی نیست). وقتی کارتان تمام شد روی OK کلیک کنید.

مرورگر مخزن

حال دوباره روی پوشه پروژه خودتان کلیک راست کنید و گزینه SVN Checkout را انتخاب کنید. پنجره ای شبیه به شکل زیر پدیدار می شود :

Checkout

پیش فرض ها را قبول می کنیم و روی OK کلیک می کنیم تا به مخزن کد موجود در URL کدپلکس وصل شود و پروژه ما را تحت کنترل SVN قرار دهد. حالا باید فایل هایی را که مربوط به پروژه است را به SVN معرفی کنیم. دوباره روی پوشه پروژه خود کلیک راست کنید و از منوی TortoiseSVN گزینه Add را انتخاب کنید تا پنجره ای برای انتخاب فایل ها و فولدرهای پروژه تان را مشاهده کنید. در این پنجره با انتخاب فایل های مورد نیاز خود و زدن دکمه OK به SVN می فهمانیم که پروژه ما چه فایل هایی دارد.

افزودن فایل های به مخزن

تا اینجا فقط گفتیم پروژه ما چه فایل هایی دارد، هنوز فایل ها را به سرور SVN کدپلکس نفرستاده ایم. برای این کار روی فولدر پروژه خود کلیک راست کنید و از منوی باز شده SVN Commit را انتخاب کنید. در پنجره ای که شبیه به شکل زیر است می توانید یک توضیح در مورد این نسخه وارد کنید و آن را به سرور کدپلکس بفرستید. پس از OK کردن این پنجره پروژه شما بر روی مخزن کد SVN موجود در کدپلکس آپلود می شود.

SVN Commit

پس از اتمام کار به قسمت Source Code پروژه خود در کدپلکس بروید و نتیجه را مشاهده کنید. حالا کاربران می توانند سورس کد پروژه شما را به صورت کامل یا گزینشی مرور یا دانلود کنند. خودتان نیز می توانید به راحتی سورس پروژه خود را کنترل کرده و به صورت مرتب از آن نگهداری کنید. این کار مزایای بسیار زیادی دارد. یادتان باشد اگر پس از این تغییری در سورس پروژه خود دادید، باید آن را با مخزن کد موجود در کدپلکس هماهنگ کنید. برای این کار روی پوشه پروژه خود کلیک راست کنید و گزینه SVN Commit را انتخاب کنید و فایل های تغییر داده شده را با سرور هماهنگ کنید.

مدیریت افراد پروژه (کار گروهی)

یکی از قابلیت های مهم کدپلکس، قابلیت کار کردن به صورت گروهی بر روی یک پروژه است. شما می توانید افرادی که در کدپلکس عضو هستند را به عنوان همکار در پروژه خود عضو کنید. برای این کار باید به تب People بروید. در این تب بر روی لینک Manage Team کلیک کنید. در صفحه باز شده با وارد کردن نام کاربری شخص مورد نظر و مشخص نمودن نقش او در پروژه (توسعه دهنده، هماهنگ کننده یا ویرایشگر) او را به عنوان همکار در تیم پروژه خود عضو کنید.

Team Management

در همین تب با رفتن به لینک Manage Project Openings می توانید نیازهای همکاری پروژه خود را برای بازدیدکننده ها و دیگر توسعه دهنده ها مشخص کنید. به طور مثال اگر به دنبال شخصی جهت همکاری در تهیه راهنمای پروژه خود هستید، می توانید در اینجا مشخص کنید. هرگاه شخصی برای همکاری درخواست بفرستد، کدپلکس شما را مطلع خواهد نمود.

تعیین مجوز (License)

در تب License می توانید مجوز کدباز پروژه خود را مشخص کنید. برای این کار بعد از رفتن به تب License روی لینک Choose License کلیک کنید، سپس از منوی کشویی که ظاهر می شود مجوز اوپن سورس پروژه خود را انتخاب کنید. در آخر نیز روی دکمه Save کلیک کنید تا مجوز پروژه شما تغییر کند.

Project License

انتشار یک نسخه از پروژه

تنها تبی که در مورد آن صحبت نکردیم، تب Downloads است. در این تب شما به عنوان یکی از اعضای پروژه می توانید یک نسخه جدید از پروژه را منتشر کنید. برای این کار در صفحه Downloads روی لینک Create New Release کلیک کنید. در صفحه جدیدی که باز می شود شما باید عنوان Release را همراه با توضیحاتی در مورد نسخه جدید و تغییراتی که روی آن اعمال شده است بنویسید. سپس بر اساس نیاز فایل های پروژه اعم از فایل های اجرایی، فایل های راهنما، مستندات پروژه یا حتی سورس کد آن را برای آپلود انتخاب کنید. بهترین حالت این است که از نرم افزار کنترل نسخه استفاده کنید و سورس کد را به همان روشی که در بالا توضیح داده شد در قسمت Source Code پروژه خود قرار دهید. بهتر است در این قسمت فقط فایل های اجرایی و راهنمای پروژه را آپلود کنید.

Release Details

در قسمت Release Details می توانید وضعیت توسعه این نسخه (Planning, Alpha, Beta, Stable) را مشخص کنید. با انتخاب Yes در مقابل سئوال Show to public همه می توانند این نسخه پروژه شما را دانلود کنند و با انتخاب Yes در مقابل Recommended Release می توانید این نسخه را برای دانلود به کاربران توصیه کنید. اگر نمی خواهید تاریخ انتشار پروژه شما تاریخ روز باشد، با استفاده از تغییر Release Date این کار را انجام دهید.

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

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

Project Activity on CodePlex

برای اینکه بتوانید جزئیات بیشتری از بازدیدها و تعداد دانلودهای پروژه خود مشاهده کنید روی لینک View Detailed Stats کلیک کنید تا وارد صفحه جدیدی شوید. در این صفحه می توانید بازدید ها، تعداد مشاهده صفحات و تعداد دانلود ها را در نمودار ببینید. در پایین این صفحه هم لیستی از سایت هایی که به پروژه شما ارجاع داده اند را خواهید دید.

farasun.wordpress.com

این مطلب را می توانید در قالب PDF دانلود کنید : کدپلکس به عنوان جایگزینی برای سورس فورج

همچنین بخوانید :

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

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

در اکثر برنامه های کامپیوتری نیاز به ذخیره و بازیابی داده ها وجود دارد. داده هایی که بدون آن ها سیستم نرم افزاری ما معنایی ندارد. برنامه نویسان معمولاً راه های مختلفی برای این کار سراغ دارند. کسانی که با دات نت فریم ورک برنامه نویسی می کنند راه های مختلفی برای دسترسی به داده ها دارند. در این مطلب با تکنولوژی های مایکروسافت برای این کار آشنا خواهیم شد و سه 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).

اینترنت اکسپلورر 9 به دنبال رقیبان است

چهارشنبه هفته پیش در کنفرانس PDC، مایکروسافت در مورد نسخه جدید مرورگر خود Internet Explorer 9 جزئیاتی را شرح داد. البته این توضیحات بیشتر مربوط به توسعه دهندگان بود تا کاربران نهایی، اما با نتیجه گیری از آن می توان آینده خوبی را برای این مرورگر تصور نمود.

اعضای تیم IE شروع به کار روی نسخه جدید این مرورگر کرده اند، در حالی که نسخه 8 این مرورگر با قابلیت های جدیدی که ارائه میکرد نتوانست جای خود را میان کاربران اینترنت پیدا کند. این موضوع دلایل زیادی دارد. یکی از مهمترین دلایل عدم استفاده کاربران اینترنت از این مرورگر، سرعت پایین تر آن نسبت به سایر مرورگر هاست. این که مرورگرهای کروم و فایرفاکس از IE سریع تر هستند را خود مایکروسافت هم قبول دارد. از دید طراحان وب مهمترین مشکل IE پشتیبانی نکردن از برخی استانداردهای وب است. وقتی که مرورگرهای فایرفاکس، کروم و اپرا از HTML 5 و CSS 3 پشتیبانی می کنند اما IE 8 این کار را نمی کند، باعث آزردگی خاطر طراحان وب می شود. مشکل بعدی IE کارایی پایین در اجرای کدهای جاوا اسکریپت است. تمام سایت های وب 2.0 از جمله Gmail و Facebook از مقداری زیادی کدهای جاوا اسکریپت استفاده می کنند، که باعث می شود کاربران پاسخ های سریعتری از سرور دریافت کنند. IE با کارایی کم در این زمینه از رقبای خود بسیار عقب است.

شرکت مایکروسافت و اعضای تیم IE خیلی بهتر از من و شما به این مشکلات واقف هستند. به همین خاطر برنامه ریزی هایی برای IE 9 دارند تا هم کاربران نهایی و هم طراحان و توسعه دهندگان وب را راضی کنند.

سرعت

مهمترین هدف مایکروسافت برای ارائه نسخه 9 مرورگرش، تسریع در بارگذاری صفحات وب است. این شامل تسریع در رندر کردن صفحات وب با استفاده از قابلیت های سخت افزاری مثل کارت گرافیک و بهبود کارایی کدهای جاوا اسکریپت می شود. هرچند بهبود کارایی کدهای جاوا اسکریپت معیار دقیقی برای تسریع بارگذاری صفحات وب نیست اما به دلیل استفاده وب اپلیکیشن ها از جاوا اسکریپت و فراگیر شدن آن در وب سایت های مبتنی بر وب 2.0 آیتم بسیار مهمی هم برای کاربران نهایی و هم برای توسعه دهندگان وب است. IE 7 و IE 8 در زمینه کارایی جاوا اسکریپت خیلی عقب تر از رقیبان خود هستند. تیم IE در وبلاگ خود گرافی را منتشر کرده که کارایی جاوا اسکریپت در مرورگرهای مختلف را نمایش می دهد. در این گراف که در زیر مشاهده می کنید، IE 9 با فاصله کمی عقب تر از رقیبان خود کارایی جاوا اسکریپت را افزایش داده است.

کارایی اجرای جاوا اسکریپت در مرورگرهای مختلف

همانطور که مشاهده می کنید هنوز هم IE 9 نتوانسته در این زمینه رقیبان خودش را شکست بدهد. البته باید تا ارائه نسخه نهایی این مرورگر صبر کرد و بعد نظر داد. هر چند موزیلا و گوگل در این مدت بیکار نخواهند نشست و حتماً کارایی مرورگر خودشان را افزایش خواهند داد.

پشتیبانی از استانداردهای وب

در سال های اخیر مرورگر اینترنت اکسپلورر به جز دردسر و مشکل برای طراحان و توسعه دهندگان وب، چیز دیگری به ارمغان نیاورده است. مایکروسافت در این نسخه قول داده است که از HTML 5 و CSS 3 به طور کامل پشتیبانی کند. این در حالی است که مرورگرهای کروم و فایرفاکس در آخرین نسخه خود از HTML 5 و CSS 3 به طور کامل پشتیبانی می کنند. این خبر بسیار خوبی برای طراحان وب است که بالاخره مایکروسافت قصد اضافه کردن پشتیبانی کامل از استانداردهای وب را دارد. البته زیاد هم به این قضیه خوش بین نباشید! در حال حاضر IE 9 از اکثر قابلیت های CSS 3 پشتیبانی می کند اما در زمینه HTML 5 پیشرفت کندی دارد. بحث های زیادی برای پشتیبانی از HTML 5 در مرورگر IE 9 وجود دارد، زیرا مایکروسافت هنوز در این زمینه مصمم نیست. به هر حال این قضیه ممکن است باعث شکست IE در مقابل رقیبانی مثل گوگل کروم که از استانداردهای HTML 5 پیروی می کند، شود.

استفاده کمتر از CPU

در اینترنت اکسپلورر 9 وظیفه رندر کردن گرافیک ها و متن های موجود در یک صفحه وب به جای اینکه بر دوش CPU باشد بر دوش کارت گرافیک خواهد بود. این یعنی استفاده کمتر از CPU وقتی که کاربر در حال مشاهده صفحاتی با گرافیگ های غنی و متن های با کیفیت است. IE برای این کار از DirectX استفاده می کند. این یعنی رندر کردن سریعتر صفحات وب، مخصوصاً در کامپیوترهای با کارت گرافیک قوی.

farasun.wordpress.com

به هر حال چه از IE خوشمان بیاید و چه خوشمان نیاید، این مرورگر سهم عمده بازار مرورگرهای وب را در اختیار دارد. چون روی هر PC جدیدی نصب است و کاربران تازه وارد، اینترنت را با این مرورگر می شناسند. اکثر کارشناسان و کاربران حرفه ای وب اعتقاد دارند که Internet Explorer مرورگر مناسب و استانداردی نیست. مایکروسافت با عرضه نسخه بعدی مرورگرش وارد عرصه تازه ای از رقابت با مرورگرهای پرقدرت فایرفاکس و کروم می شود. این رقابت در آخر به نفع کاربران تموم خواهد شد، زیرا هر کدام از طرفین سعی می کنند مروگری بهتر، سریع تر، امن تر و سازگار با استانداردهای روز وب را عرضه کنند. باید منتظر ماند و دید که آیا IE 9 می تواند شکست های قبلی مایکروسافت را جبران کند!؟ نظر شما چیست؟

ساخت روبات به روش مایکروسافت!

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

Microsoft Robotics Developer Studio یا به اختصار MRDS مجموعه کاملی از ابزارهای نرم افزاری تحت ویندوز برای کنترل و شبیه سازی انواع محتلف روبات است. از این مجوعه نرم افزاری می توان در ساخت روبات های آکادمیک و حتی تجاری کمک گرفت. MRDS در ساخت نرم افزارهای مبتنی بر سرویس برای انواع مختلف سخت افزار کاربرد دارد.

MRDS بیشتر از یک نرم افزار برای بازی با روبات هاست. تقریباً دو سال پیش واحد تحقیقات مایکروسافت راه حلی برای ساخت روبات ها و کنترل آن ها در محیط ویندوز ارائه نمود، که هم اکنون به یکی از بسترهای موفق و مناسب برای توسعه انواع روبات ها تبدیل شده است. یکی از مهمترین نکات مربوط به نرم افزارهای روباتیک این است که کدی که نوشته اید در محیط شبیه سازی و محیط واقعی به یک صورت عمل کند، یعنی بدون دستکاری کد روبات شما همانطور که در محیط شبیه سازی شده کار می کرده است در محیط واقعی نیز کار کند، که MRDS به خوبی این نکته را پیاده سازی کرده است. شما روبات خود را با استفاده از ابزارهای بصری (Visual) مدل می کنید و کدهای آن را می نویسید، سپس در محیط 3بعدی رفتار روبات را شبیه سازی می کنید، آن را تست و عیب یابی می کنید و در نهایت در محیط واقعی پیاده سازی اش می کنید.

شبیه سازی در MRDS

مهمترین ویژگی های MRDS به شرح زیر است :

زبان برنامه نویسی ویژوال یا Visual Programming Language یک محیط توسعه گرافیکی است که با دیاگرام های مختلف رفتار ربات را تعیین می کند. کاربر می تواند به صورت گرافیکی با ربات خود تعامل داشته باشد. یک سرویس یا یک فعالیت به صورت یک بلاک که دارای ورودی و خروجی است نشان داده می شود. کاربر فقط باید این بلاک ها را از کاتالوگ انتخاب و آن را به دیاگرام خود اضافه نماید. اتصال میان این بلاک ها بوسیله ماوس کشیده می شوند و جزئیاتی مانند نحوه عملیات و مقادیر ارسالی مشخص می شوند. VPL می تواند از روی سرویس های موجود در دیاگرام که توسط کاربر ایجاد شده اند، کد مربوطه را تولید کند. با VPL حتی افرادی که تا به حال یک خط برنامه ننوشته اند نیز می توانند ربات بسازند!

برای تست و خطایابی ربات می توانید از رابط های مبتنی بر ویندوز و وب استفاده کنید. این رابط ها به شما کمک می کنند تا به صورت ریموت ربات خود را کنترل و عیب یابی کنید.

محیط شبیه سازی 3بعدی MRDS به شما اجازه می دهد که رفتار ربات را در یک جهان مجازی که شامل قوانین پیشرفته فیزیکی است، شبیه سازی کنید.

دستیابی آسان و سریع به سنسورها و فعال کننده های ربات

پشتیبانی از زبان های برنامه نویسی سی شارپ، ویژوال بیسیک و IronPython به برنامه نویسان دات نت اجازه می دهد که با استفاده از تجربه ها و مهارت های قبلی خود برای ربات ها برنامه های پیشرفته بنویسند.

اجزای MRDS

  • Concurrency and Coordination Runtime یا CCR یک کتابخانه دات نت فریم ورک است که از پردازش غیر همزمان (آسنکرون) پشتیبانی می کند. استفاده از پردازش آسنکرون برای ساخت یک روبات بسیار مهم است، زیرا سنسورها ممکن است به صورت همزمان داده ها را ارسال و دریافت کنند.
  • Decentralized Software Services یا DSS یک ران تایم مبتنی بر سرویس بسیار سبک است که از مدل REST برای ارتباط استفاده می کند.
  • Visual Programming Language یا VPL (که در بالا در مورد آن مفصل توضیح داده شد) یک زبان گرافیکی است که رفتار یک روبات را به صورت دیاگرام مدل می کند.
  • Visual Simulation Environment یا VSE که محیطی برای شبیه سازی روبات ساخته شده توسط MRDS است. شما می توانید در این محیط مجازی رفتارهای روبات خود را در شرایط مختلف مشاهده کنید.

چگونه شروع کنیم

robotMRDS در سه نسخه Express، Standard و آکادمیک عرضه می شود. نسخه Express همانطور که از نامش پیداست رایگان است اما بعضی از قابلیت های نسخه استاندارد را ندارد و برای کاربردهای حرفه ای مناسب نیست. نسخه استاندارد پولی است و برای کاربدهای حرفه ای است. نسخه آکادمیک تمام ویژگی های نسخه استاندارد را داراست و برای دانشجویان رایگان است. پیش نیاز نصب MRDS یک کارت گرافیکی مناسب با پشتیبانی از Pixel Shader و Vertex Shader است. همچنین DirectX 9.0 باید روی ویندوز شما نصب باشد. به این صفحه از وب سایت مایکروسافت بروید و نسخه ای از MRDS را دانلود کنید. آن را نصب کنید. اگر ویژوال استادیو روی سیستم شما نصب باشد، تمپلیت های MRDS به صورت خودکار روی آن نیز نصب می شوند.

قدم بعدی شما تلاش برای یادگیری خواهد بود. یک راهنمای خوب به همراه نرم افزار نصب می شود، می توانید آن را مطالعه کنید یا از راهنمای آنلاین کمک بگیرید. مثال ها و تمرین های خوبی نیز همراه نرم افزار ارائه شده است. با تمرین و پشتکار و علاقه ادامه دهید تا روبات خود را بسیازید!

farasun.wordpress.com

راه حل غیر مایکروسافتی : اگر از مایکروسافت به هر دلیلی خوشتان نمیاد یا از این محصولش به خاطر کپی رایت و این حرفا نمی توانید استفاده کنید، من نرم افزار Simbad که یک نرم افزار اوپن سورس و رایگان  مبتنی بر جاواست را پیشنهاد میکنم.

Vote on iDevCenter