PDA

View Full Version : ویژگی‌های جدید Visual Studio 2008



amir_saniyan
دوشنبه 19 آذر 1386, 01:32 صبح
سلام.
من در زیر تجربیات خودم رو از VS2008 (ویژوال استودیو 2008) نوشتم.
شما هم اگه چیز جدیدی در مورد VS2008 می‌دونید و به درد بخور هستش به ما هم بگید.

به نظر می‌رسه که مایکروسافت حداقل چند هدف اصلی رو در VS2008 رو دنبال کرده:

اولی چرخه تولید نرم افزار هستش که خیلی مهمه و متاسفانه ظاهرا ما خیلی به اون توجهی نداریم (همون درس‌های مهندسی نرم‌افزار: رعایت اصول صحیح برنامه نویسی همچون نامگذاری‌ها و ..، نوشتن برنامه‌های تست [به نظر خودم خیلی مهمه و حالا حتی تو نسخه Professional هم اومده]، رعایت نسخه بندی صحیح برای کار گروهی برنامه‌نویسی و ...)

دوم WPF: ظاهرا این قضیه Code Behind توی ASP.NET داره کم کم به Windows Application ها هم منتقل می‌شه. یعنی کار برنامه نویس از کار طراح GUI کاملا جداست. من تغییر زیادی توی Windows Application نسبت به VS2005 ندیدم اما ظاهرا کم کم باید اونو کنار بگذاریم و بیام سراغ WPF (مثلا همونطور که از DOS به ویندوز مهاجرت کردیم حالا هم باید یک مهاجرت دیگه بکنیم). پروژهای WPF تقریبا دیگه شبیه Windows Application ها نیستند. یک چیزی به نام XAML (با تلفظ «زامل») وجود داره که شبیه XML است و رابط کد و GUI هستش. اگه اشتباه نکنم خلاصه‌اش اینه که گرافیک دو بعدی و حتی سه بعدی رو می‌تونی بیاری تو برنامه‌های ویندوزی و این کار با توجه به استفاده صحیح WPF از کارت گرافیکی هیچ باری رو CPU نمی‌ندازه. یک جورایی برنامه‌های ویندوزی با کمک WPF دارن شبیه برنامه‌های WEB می‌شن. اگه دقت کرده باشید تو ویستا هم اکثر فرم‌ها (مثل فرم‌های Control Panel) شبیه صفحات وب هستند. یعنی منو (که از اصول مسلم پنجره‌های قدیمی بودند) حذف شده‌اند. دکمه‌ها تبدیل به لینک شده‌اند. فرم‌ها Scroll می‌خورند. جالب اینجاست که فرم‌ها دارای دکمه Back و Forward (دو دکمه آبی رنگ بالا و سمت چپ) هستند، دقیقا مثل Browser ها. خلاصه کلام این که بالاخره برنامه‌های ویندوزی و برنامه‌های تحت وب تو یک نقطه دارند به هم می‌رسند (WPF) و شاید در آینده دیگه اصلا برنامه تحت وب و برنامه تحت ویندوز اصلا معنی نداشته باشد و همه یک چیز باشند.

سوم LINQ: خوب ظاهرا تنها چیزی که شی‌گرا نشده بود Database بود که اونم به سلامتی یک جورایی داره شی گرا می‌شه. من که خودم خیلی دوست داشتم از یک آرایه تو حافظه با دستور SQL یک Query بگیرم و جالب اینجاست که الان همچین چیزی امکان پذیر است.

چهارم قدرتمند کردن زبان‌های برنامه‌نویسی: ویژگی‌های نسخه جدید زبان C# این‌هاست (توجه کنید خود زبان سی‌شارپ بدون در نظر گرفتن .NET به نگارش 3 رسیده): 1-بدون نیاز به تعریف متغیر اضافه Property تعریف کنید و کدتون کمتر کثیف می‌شه. 2- علاوه بر اینکه Class ها Partial بودند حالا متدها هم می‌تونند Partial باشند. 3- LINQ که بالا گفته شد. 4- مقدار دهی به اعضای کلاس تو همون خط ایجاد شی (دیگه آبروی هر چی گلابی بردند :) ). 5- تعریف متغیر به شکل گلاب یعنی دیگه حتی لازم نیست فکر کنی متغیرت از چه نوعی باشه فقط بگو var i = 7 خود VS به جای تو فکر می‌کنه و می‌فهمه که i باید صحیح باشه و اگر هم برنامه نویش اصلا نفهمه چی تعریف کرده لابد VS می‌فهمه دیگه و خلاصه یک نوعی از خودش در می‌یاره. به خصوص مثلا اگه با چند تا دستور SQL و JOIN و ... با کمک LINQ از یک آرایه تو حافظه Query گرفتی دیگه اصلا به نوع برگشتی فکر نکن فقط بنویس var. (همینه دیگه) 6- عبارات Lambada: راستش خوندم ولی نفهمیدم ولی فکر کنم معادلش رو قبلا تو PHP دیدم. 7- چند تا چیز دیگه هم هست... :)

خوب یک خبر بد: واسه کسایی مثل خودم که هنوز تو شوک VS2005 هستند چه برسه به VS2008 :) باید بگم می‌تونید نسخه بعد از VS2008 رو هم می‌تونید از الان دانلود کنید. اسم کدش هم Rosario هستش (بابا مایکروسافت بذار اول VS2008 بیاد تو بازار بعد...). اینم لینکش:

http://msdn2.microsoft.com/en-us/vstudio/bb725993.aspx

موفق باشید.

Mahdavi
دوشنبه 19 آذر 1386, 21:29 عصر
با سلام
دوست عزیز XAML چیزی که سالها پیش مایکروسافت ادعاشو میکرد . در این روش فرمهای تولیدی شما XML هستند که Browser ها اونا رو ترجمه و نمایش میدند.

Linq برخلاف دید شما فقط یک ORM (Object Relational Mapping) هست نه دیتابیس شی گرا.
اونم با اشکالات بسیار. که در مقابل ORMهای موجود که سالهاست ( از زمان VS2003) استفاده میشه هنوز جای کاره بسیاری داره.
با توجه به کاری که من چند سالیست با ORMها می کنم و الان مجبورم در یک پروژه جدید از Linq استفاده کنم. Linq فاصله زیادی از ORM های موجود همچون NHibernate داره.
بهر حال VS 2008 در کد نویسی و UI خودش فرقهای بسیاری با 2005 کرده است.

amir_saniyan
سه شنبه 20 آذر 1386, 12:35 عصر
Popfly:

خوب این هم یک ویژگی جدید:

Popfly یک افزودنی برای نسخه‌های Express ویژوال استدیو است (حجم حدود 1 مگا بایت). وقتی شما این افزودنی رو نصب کنید یک گزینه به نام Popfly به منوهای ویژوال استودیو اضافه می‌شه و یک پنجره هم به نام Popfly Explorer نمایش داده می‌شه. با استفاده از این پنجره شما می‌تونید پروژه‌هاتون رو تو اینترنت Upload کنید و یا اون رو به اشتراک بگذارید و یا از پروژه‌های دیگران استفاده کنید. الان که من دارم این متن رو می‌نویسم اگه اشتباه نکنم بیش از 11000 پروژه توسط کاربران به اشتراک گذاشته شده. به این طریق شما می‌تونید هر کجا که باشید از طریق اینترنت به پروژه‌تون دسترسی پیدا کنید و اون رو تغییر بدید. البته اگر هم دوست داشتید می‌تونید پروژه‌تون رو Share کنید تا دیگران هم بتونند اون رو Download کنند(اختیاری) و همچنین می‌تونید برای خودتون یک صفحه وب بسازید(اختیاری).

Popfly رو می‌تونید از لینک زیر دریافت کنید:
http://www.microsoft.com/express/popfly/default.aspx

این هم صفحه وب من و یک پروژه که به نام HelloWorld توش به اشتراک گذاشتم:
http://www.popfly.ms/users/Amir-Saniyan/index
http://www.popfly.ms/users/Amir-Saniyan/HelloWorld.details

(راهنمایی: تو صفحه وب از Create Stuff استفاده کنید. تو ویژوال استودیو از منو Popfly گزینه Save <Project name> to Popfly استفاده کنید).

البته Popfly فعلا نسخه بتاست. :)

artistramin
پنج شنبه 04 بهمن 1386, 01:51 صبح
با سلام
می خواستم در مورد lambda که گفتی نمی دونی چیه یه توضیح مختصری بدم. این خصوصیت مربوط به زبانهای تابعی بود. مثل lisp و یا scheme. به برنامه نویس این امکان رو میده که یک تابع تعریف کنه بدون اینکه اسمی برای اون در نظر بگیره. البته علت استفاده از این روش و اینکه اصلا آیا واقعا به درد بخور هست یا نه خودش جای کلی بحث داره فقط اینو بگم که علت استفاده از lambda گرایشی به سمت زبانهای برنامه نویسی تابعی می تونه باشه. شاید لازم به توضیح باشه که این اسم تابع با اون اسم تابعی که خیلیامون شاید به روال ها در برنامه هامون میدیم خیلی فرق داره!!!