این وبلاگ تقریبا تخصصی است و در گوشه کنار آن جک و پیام زیبا گذاشته می شود
چهارشنبه 10 بهمن‌ماه سال 1386

شرکت مایکروسافت در نوزدهم نوامبر 2007 ( بیست و هشتم آبان ماه هشتاد و شش ) ، رسما" نسخه ASP. NET 3.5 و ویژوال استودیو 2008 را عرضه کرد .
همانند نسخه شماره 3 که نسبت به نسخه شماره 2 دارای امکانات بیشتری بود ، در این نسخه نیز نسبت به نسخه قبلی امکانات جدیدی اضافه شده است .    اسمبلی های اساسی نصب شده توسط نسخه شماره 2 فریمورک ، همچنان در نسخه های 2 و 5 / 3 قابل استفاده می باشند . به عبارت دیگر ، در نسخه شماره 5 / 3 ، مفاهیم و نحوه نوشتن کد و مواردی از این قبیل نسبت به نسخه شماره 2 تغییر نکرده است . در این نسخه ، نوع ها ، ویژگی ها و قابلیت های جدیدی به فریمورک اضافه شده است .
ویژوال استودیو 2008 ، ابزاری قدرتمند برای پیاده سازی برنامه های ASP. NET است . برخلاف نسخه قبل که صرفا" مختص یک نسخه خاص فریمورک بود ( به عنوان نمونه در ویژوال استودیو  2003 ،  نسخه ASP.NET 1.1 و در  ویژوال استودیو 2005 نسخه ASP. NET 2.0 ) ، از ویژوال استودیو  2008 می توان به همراه چندین نسخه فریمورک استفاده کرد  . شما می توانید از طریق یک لیست drop down ، نوع فریمورک خود جهت پیاده سازی برنامه ها  ( به عنوان نمونه ASP. NET 2.0 ، ASP. NET 3.0 و یا ASP. NET 3.5 را انتخاب نمائید .
شکل 1 نحوه انتخاب فریمورک در زمان ایجاد یک وب سایت جدید را در ویژوال استودیو 2008 نشان می دهد .

نحوه انتخاب فریمورک در زمان ایجاد یک وب سایت جدید در ویژوال استودیو 2008
شکل 1 : نحوه انتخاب فریمورک در زمان ایجاد یک وب سایت جدید در ویژوال استودیو 2008

در ویژوال استودیو 2008 ،‌در محیط طراحی نیز تغییراتی در جهت قدرتمند تر شدن آن ایجاد شده است . افزودن امکاناتی نظیر هوشمندی در تایپ و اشکال زدائی کدهای جاوا اسکریپت و قابلیت مشاهده و حتی توقف در هسته کد فریمورک دات نت در حین اشکال زدائی نمونه هائی در این زمینه می باشند .
در این مقاله مروری خواهیم داشت به ویژگی های جدید 5 / 3 و امکانات جدید مرتبط با ASP. NET در ویژوال استودیو 2008 .
 

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

  • ویژگی هائی از فریمورک که مختص پیاده کنندگان برنامه های ASP.NET ارائه شده اند :این نوع ویژگی ها جهت پیاده سازی برنامه هایASP. NET بسیار مهم و حیاتی می باشند . مثلا" پس از معرفی نسخه شماره 2  ASP. NET ، قابلیت های جدیدی نظیر کنترل Gridview و کنترل های نسبت دهی داده نظیر sqlDataSource و ObjectDataSource در اختیار پیاده کنندگان قرار گرفت .

  • ویژگی هائی از فریمورک که می تواند برای  پیاده کنندگان برنامه های ASP. NET  نیز مفید واقع شود : این نوع از ویژگی ها صرفا" مختص ASP. NET نمی باشند و از آنها می توان در مواردی دیگر نظیر WinForm نیز استفاده کرد . از پتانسیل های فوق عموما" در ASP. NET استفاده می گردد . به عنوان نمونه ، فریمورک 2 ، نوع های anonymous و Generics را معرفی و وضعیت Dataset را بهبود بخشید .
    هیچکدام از موارد فوق مختص ASP. NET نمی باشند ، ولی اغلب توسط پیاده کنندگان ASP. NET استفاده می گردند . 
     

  • ویژگی هائی از فریمورک که توسط پیاده کنندگان ASP. NET استفاده نمی گردد . فریمورک دات نت مشتمل بر تعداد زیادی از کلاس هائی است که به ندرت و یا هرگر توسط پیاده کنندگان ASP. NET استفاده نمی گردد نظیر کلاس های موجود در  System.Windows.Forms .

در ادامه  به بررسی دو گروه اولیه خواهیم پرداخت .
در ابتدا لازم است به این موضوع اشاره نمائیم که شما می توانید یک پوستر از فریمورک 5 / 3 با فرمت pdf  را از این محل دریافت نمائید . علاوه بر وجود  تعداد زیادی از کلاس ها و namespace در فریمورک دات نت ، این پوستر دو چیز را کاملا" شفاف نشان می دهد : این که چه میزان از فریمورک دات نت با ASP.NET مرتبط نیست  و  امکانات و ویژگی های جدید اضافه شده به هر یک از نسخه های فریمورک دات نت  .
شکل 2 ویژگی های ASP. NET 2.0 و قابلیت های  جدید اضافه شده در هر یک از نسخه های 3 و 5 / 3 را نشان می دهد .

امکانات اضافه شده به هر یک از نسخه های فریمورک دات نت
شکل 2 : امکانات اضافه شده به هر یک از نسخه های فریمورک دات نت

برای کسب اطلاعات بیشتر در خصوص این موضوع که چگونه دات نت 5 / 3 ، اسمبلی های اضافه و قابلیت های جدیدی را به دات نت 2 اضافه کرده است ، به وبلاگ Daniel Moth  مبحث "فریمورک 5 / 3 "  مراجعه نمائید .
در وبلاگ فوق و مبحث " Visual Studio 2008 Stack " ، یک تصویر شفاف از تغییرات انجام شده در ویژوال استودیو  ، زبان های برنامه نویسی ، کتابخانه های فریمورک و CLR نیز ارائه شده است .

مروری بر ویژگی هائی از فریمورک که مختص پیاده کنندگان برنامه های ASP.NET ارائه شده اند
ASP.NET 3.5 یک نسخه جدید و ارتقاء‌ یافته نسبت به نسخه قبلی است که سه ویژگی جدید زیر در آن از سایر موارد مشهود تر است :

  • حمایت ذاتی  از ASP.NET AJAX

  • کنترل ListView

  • کنترل DataPager

قبل از ASP.NET 3.5 ، لازم بود که در ابتدا فریمورک ASP.NET AJAX مایکروسافت دانلود و بر روی سیستم به عنوان یک الحاقیه نصب گردد . در ASP.NET 3.5 ، کلاس های مرتبط با AJAX مستقیما" در فریمورک دات نت ساخته شده اند تا امکان ساخت سریع و آسان برنامه های وب مرتبط با AJAX  در برنامه های ASP.NET فراهم گردد . 
ASP.NET 2.0 به همراه خود کنترل های داده جدیدی نظیر Gridview، DetailsView و FormView را معرفی کرد . کنترل GridView ، لیستی از رکوردها را در یک جدول نمایش می دهد . کنترل های DetailsView و FormView در هر لحظه یک رکورد را نمایش می هند . کنترل DetailView در یک ساختار نمایشی مشابه جدول و FormView در یک لی اوت متاثر از یک تمپلیت خاص ، اطلاعات خود را نمایش می دهند .
ListView در واقع یک نسخه ارتقاء یافته از کنترل های DataList و Repeater است که می تواند چندین رکورد را به همراه قابلیت هائی‌ نظیر Gridview نمایش دهد . با این تفاوت که بکارگیری تمپلیت ها با انعطاف بیشتری انجام می گردد .
 کنترل DataPager به صورت یک نوع اینترفیس free-standing paging کار می کند . به عبارت دیگر کنترل فوق ، یک رابط کاربر paging را تفسیر ( به عنوان نمونه صفحه بعد ، قبل ، دکمه آخر   ) و با یک کنترل وب داده مرتبط می شود . کنترل فوق صرفا" با آن گروه از کنترل هائی کار می کند که IPageableItemContainer interface را پیاده سازی کرده باشند که صرفا" ( در حال حاضر ) در کنترل ListView وجود دارد .
برای آشنائی بیشتر با نحوه استفاده از کنترل های ListView و DataPager می توانید به وبلاگ  Scott Guthrie مبحث " کنترل ListView " مراجعه نمائید. مایکروسافت نیز ویدئوهای جدیدی جهت آشنائی با نحوه استفاده از کنترل های ListView و DataPager ارائه کرده است .

مروری بر ویژگی هائی از فریمورک که می تواند برای  پیاده کنندگان برنامه های ASP. NET  نیز مفید واقع شود
مهمترین ویژگی ارائه شده در  نسخه شماره 5 / 3 فریمورک دات نت ، معرفی LINQ ( برگرفته شده از Language Integrated Query  ) است . با استفاده از فناوری فوق ، می توان گرامری شبیه SQL را با استفاده از زبان های برنامه نویسی VB و #C نوشت تا پیاده کنندگان بتوانند از داده در برنامه های خود استفاده نمایند . 
به همراه  ویژوال استودیو 2008  یک  LINQ to SQL designer  ارائه شده است که به کمک آن می توان یک بانک اطلاعاتی را به عنوان یک LINQ به  SQL object model مدل سازی کرد . پس از مدل سازی بانک اطلاعاتی ، می توان به سادگی کدهای مورد نظر خود را به منظور کار با داده نوشت .
کد زیر نحوه بازیابی محصولات گروه Test از بانک اطلاعاتی نمونه Northwind را با گرامر مبتنی بر LINQ توسط  VB و #C نشان می دهد ( کلاس NorthwindDataContext  بر اساس مدل طراحی شده ، ایجاد شده است ) .

 C#

 NorthwindDataContext  db = new  NorthwindDataContext() ;
 var Products = from  p  in  db.Products
                      
 Where p.category.CategoryName == "Test"
                      
 select P;
VB

 Dim db AS New
 NorthwindDataContext
 Dim products = From p In db.products _
                        Where p.category.categoryName = "Test" _
                        Select  p

 LINQ ، به سادگی یک گرامر را جهت کار با داده تعریف می کند . همچنین ، ORMs ( برگرفته شده از Object Relational Mappers  ) از قبل تعبیه شده ای وجود دارد که فریمورک مرتبط را به منظور تولید عبارات LINQ ایجاد می نماید تا بر روی یک بانک اطلاعاتی و یا XML کار کند .
Scott Guthrie  در چندین مقاله با عنوان " استفاده از LINQ برای پیاده سازی SQL ORM " به این موضوع پرداخته است .
ویژوال استودیو 2008 از گرامر LINQ در زمان استفاده از آن به صورت full-IntelliSense حمایت می نماید . گرامر LINQ از طریق امکانات جدید ارائه شده در فریمورک دات نت نظیر خصلت های اتوماتیک ، متدهای extension و عبارات lambda ، امکان پذیر می باشد . پرداختن به موارد فوق خارج از حوصله این مقاله است .

مروری بر ویژگی های جدید ویژوال استودیو 2008
ویژوال استودیو 2008 امکانات متعددی را در جهت کمک به پیاده کنندگان نظیر بهبود محیط Designer ، امکانات پیشرفته ویرایش CSS و اشکال زدائی جاوا اسکریپت ارائه کرده است . در این نسخه از ویژوال استودیو برای پیاده سازی برنامه های وب می توان یکی از محیط های NET 2.0, NET 3.0 و یا NET 3.5 را انتخاب کرد . این بدان معنی است که شما می توانید از ویژوال استودیو برای کار بر روی یک وب سایت پیاده سازی شده با ASP.NET 2.0 نیز استفاده نمائید . در ادامه مروری سریع خواهیم داشت به هر یک از موارد فوق .
در نسخه قبلی ویژوال استودیو ، پیاده کنندگان می توانستند از Designer و یا Source view در زمان ویرایش عناصر ویژوال در یک صفحه ASP.NET استفاده نمایند . محیط Designer یک نمایش WYSISYG از صفحه را نمایش می دهد . در Source view ، کدهای markup مربوط به کنترل ها نمایش داده می شود . در ویژوال استودیو 2008 ، یک ویژگی جدید با نام  Split screen ارائه شده است که توسط آن کدهای markup در یک pane و WYSIWYG در pane دیگر نمایش داده می شود . زمانی که در مد split قرار می گیریم ، همزمان با اضافه کردن محتویات به Designer  ، بطور اتوماتیک کدهای markup در Source view بهنگام می گردند( متاسفانه عکس این حالت درست نیست ) . اگر شما markup جدیدی را بطور دستی در Source view درج نمائید ، مجبور خواهید بود که صفحه را save و یا دکمه refresh را کلیک نمائید تا Designer view نیز  بهنگام گردد .
شکل 3 ، Split screen را در ویژوال استودیو 2008 نشان  می دهد .

Split screen را در ویژوال استودیو 2008
شکل 3 : Split screen در ویژوال استودیو 2008

همزمان با افزایش تعهد مایکروسافت به AJAX ، ویژوال استودیو 2008 امکانات حمایتی بهتری  را در ارتباط با جاوا اسکریپت ارائه کرده است .  امکانات زمان طراحی و اشکال زدائی بطور کامل بهبود یافته اند . زمانی که از طریق source view اقدام به نوشتن کدهای جاوا اسکریپت می نمائید ، امکانات و قابلیت های IntelliSense مشابه در زمان نوشتن کدهای سمت سرویس دهنده در اختیار شما گذاشته می شود .  این شامل حمایت از کدهای جاوا اسکریپت inline و اسکریپت هائی است که از طریق فایل های جاوا اسکریپت خارجی به آنها مراجعه می گردد .
( دستیابی به فایل های اسکریپت از طریق گرامری مشابه <script language="javascript" src="fileName"> </script>   امکان پذیر است ) .
Scott Guthrie در وبلاگ خود و با عنوان VS 2008 JavaScript IntelliSense  به این موضوع اشاره کرده است که پیاده کنندگان می توانید حتی تذکرات هوشمند را به توابع جاوا اسکریپت و با استفاده از توضیحات XML اضافه نمائید . وی همچنین در وبلاگ خود به بررسی قابلیت های اشکال زدائی جاوا اسکریپت پرداخته است .
اخیرا" شرکت مایکروسافت عنوان نموده است که به زودی کد فریمورک دات نت را تحت مجوز MS-RL در اختیار عموم قرار خواهد داد . نکته جالب مرتبط با این رویداد برای پیاده کنندگانی که از  ویژوال استودیو استفاده می نمایند در این است که آنها می توانند ویژوال استودیو 2008 را به یک URL اشاره دهند  که شامل نمادهای اشکال زدائی برای فریمورک دات نت است . بدین ترتیب ، در زمان اشکال زدائی امکان ورود به کد فریمورک دات نت فراهم می گردد . این موضوع می تواند به پیاده کنندگان کمک نماید تا شناخت بهتر و عمیق تری نسبت به نحوه عملکرد فریمورک دات نت پیدا نمایند . 
هنوز مشخص نشده است ( در زمان نوشتن این مطلب ) که آیا مایکروسافت نمادهای اشکال زدائی را از طریق یک URL عمومی در دسترس قرار خواهد داد . پس از عمومیت URL ، پیاده کنندگان می توانند از طریق ویژوال استودیو به آن اشاره نمایند . جهت کسب اطلاعات بیشتر به وبلاگ Scott Guthrie مراجعه نمائید .

خلاصه
نسخه جدید ویژوال استودیو و ASP.NET ویژگی های جدید و جالبی را نسبت به نسخه های قبلی در اختیار پیاده کنندگان قرار می دهد. در ASP.NET 3.5  ، مایکروسافت  فریمورک ASP.NET AJAX را به عنوان بخش لاینفک فریمورک دات نت معرفی کرده است  و به همراه سایر کنترل ها ، کنترل های جدید ListView و DataPager را ارائه کرده است .
در ویژوال استودیو 2008 ، تغییرات متعددی نظیر افزایش توانمندی پیاده کنندگان جهت طراحی رابط کاربر ( یک محیط طراحی قوی تر ) ، بهبود قابلیت های ویرایش CSS ، حمایت از اشکال زدائی و تایپ هوشمند جاوا اسکریپت ، قابلیت انتخاب نسخه فریمورک برای پیاده سازی برنامه وب ارائه شده است .  

منبع :  http://www.4guysfromrolla.com 

و شرکت سخاروش