معرفی Visual Studio 2013 online

پنجشنبه 29 مرداد 1394

این مقاله معرفی مختصری بر عضو جدید خانواده Visual Studio می باشد. Visual Studio Online ابزارها و سرویس های مبتنی بر ابر هستند که در برنامه ریزی و مدیریت برنامه کاربردی به شما کمک می کند. TFS را کامل می کند و Microsoft ALM platform را روی ابر آورده و با سرویس های جدیدی مانند Application Insights و IDE آنلاین، آن را بهبود بخشیده است. اگر شما از TFS استفاده می کنید، می توانید از مزایای سرویس های Visual Studio Online استفاده کنید.

معرفی Visual Studio 2013 online

اگر عضوی از یک تیم باشید، به راحتی می توانید با Visual Studio برای تولید برنامه های کاربردی خود، برنامه ریزی کرده، آنها را ایجاد و پس از آن Build کرده و برای تست آن را اجرا کنید و از هرجایی که هستید بر آنها نظارت داشته باشید. شما نیاز به زیرساخت بزرگی نخواهید داشت و به بیش از یک سرور دسترسی خواهید داشت. Visual Studio Online به طور اتوماتیک و بی وقفه، با جدیدترین ویژگی ها به روزرسانی می شود. بنابراین، می توانید بیشتر تمرکز خود را روی کاری که می خواهید انجام دهید، بگذارید و نرم افزارهای خود را بدون دغدغه تولید کنید.

تازه ها:

سوالی که اغلب پرسیده می شود، این است که: تنها Visual Studio Online موجود بر روی ابر، TFS است؟ جواب سوال هم بله و هم خیر است.

TFS هشت سال پیش معرفی شد و در سال 2012 با راه اندازی Team Foundation Service شروع به انتقال بر روی یک سرویس مدیریت چرخه حیات نرم افزار (application lifecycle management) که به اختصار آن را ALM می گویند، نمود که یک سرویس میزبانی شده توسط ابر است. با start up تیم های برنامه نویسی روز به روز سازگاری بیشتری را شاهد هستیم و حتی شرکت های نه چندان بزرگ، زیرساخت های قبلی خود را رها می کنند. نکته مهم این است که:  هر چند هفته یکبار، ویژگی ها و امکانات جدید به عنوان محصولات گروه TFS معرفی شده و برای تیم شما فراهم می شود. ویژگی های جدید را می توانید در اینجا دنبال کنید.

بله، همانطور که متوجه شدید Visual Studio Online دستاورد جدید TFS و Team Foundation Service می باشد که پایه و اصول ALM روی ابر را برای شما فراهم می کند. با Visual studio Online، مایکروسافت پلت فرمی از سرویس ها فراهم آورده که شما می توانید از مزایای آن برای کار روی پروژه خود و یا روی سیستم های بزرگتر به همراه تیم خود، استفاده کنید.

ALM:

مبتنی بر ابر شدن، Visual Studio Online را قادر ساخته است که تجربه های جالب و در عین حال قدرتمندی را به شما ارائه کند:

بدون هیچ سرور و نگرانی از سربار (overhead) داده ها، روی ابر پروژه بسازید. کد شما هر بار، روی یک Image خالی از سرور اجرا می شود. در اینجا، دیگر نگرانی پیش نیازهای نصب برنامه ها و تنظیمات سیستم را که همیشه باعث دردسر بود، نخواهید داشت. هنوز به برنامه های ساخته شده خود دسترسی دارید، زیرا در مخزن source های شما در Visual Studio Online ذخیره می شوند. اگر به تنظیمات پیچیده تری نیاز دارید، یک برنامه ترکیبی را در نظر بگیرید، منابع پیش فرض مهم خود را برای این کارهای بسیار سفارشی و یا زیرساختی ذخیره کنید و Visual Studio Online را برای کارهای اولیه ای مانند ادغام های بی وقفه استفاده کنید.

نسخه تست را روی ابر، بالا بیاورید. معمولا برای شرکت های کوچک و یا حتی تیم های بزرگتر، تست کردن کارآیی و بالا آوردن آن سخت است، چرا که تنظیمات وقت گیر و منابع پرهزینه هستند. با استفاده از Visual Studio Online، به یک سیستم با امکانات کامل به عنوان سرویس، برای تست برنامه خود دسترسی دارید که روی زیرساخت مایکروسافت اجرا می شود که همیشه آخرین نسخه نرم افزار تست را دارد. به این ترتیب، شما محدود به سخت افزار و هزینه ها نخواهید بود و می توانید، نرم افزار خود را همان طور تنظیم کنید که می خواهید در واقعیت اجرا کنید. حتی می توانید، به عنوان مثال 100 کاربر مجازی به آن اضافه کنید تا انعطاف پذیری آن را در مقابل تعداد بازدید و درخواست بالا تست کنید، سرویس load-testing آنچه را شما نیاز دارید و در زمانی که به آن نیاز دارید، مدیریت می کند.

مانیتورینگ کامل برنامه: اگر مرکز سرویس تمام وقتی برای مانیتورینگ وضعیت و صحت سیستم های محصولات خود ندارید، Application Insights اطلاعات کاملی از عملکرد، کارایی و میزان استفاده مشتری از برنامه های شما را جمع آوری می کند؛ حتی اگر روی Windows Azure، ارائه دهندگان ابر third-party و یا ترکیبی از این ها اجرا شود. همچنین می توانید به طور هوشمندانه با مانیتور برنامه، برای نسخه های بعدی و افزایش و کاهش ویژگی ها تصمیم بگیرید. همچنین، این سرویس از meta-information نیز بهره می گیرد که در حل مشکلات جاری محصول به شما کمک می کند.

محیط توسعه خود را به دست آورید و یا به یک ویرایشگر کم حجم روی مرورگر خود دسترسی داشته باشید. با Visual Studio Online، می توانید کد خود را با هر روشی، در هر زمان و در هر مکانی به راحتی تغییر دهید. البته شما Visual Studio را دارید، و حالا می توانید از یک Git repository برای یک اتصال بی نقص به Eclipse، Xcode و بسیاری از IDE های دیگر برای محیط توسعه پروژه خود، استفاده کنید. از طرف دیگر، به وسیله ویرایشگر جدید و کم حجم Monaco می توان از هر مرورگر به روزی آن را آپدیت کرد. این ویرایشگر کد، مکملی برای Visual Studio Desktop شما می باشد.

پروژه خود را تنظیم کنید:

اگر می خواهید، بدانید که Visual Studio Online چگونه به شما کمک می کند تا Killer App (برنامه کاربردی که اغلب به سخت افزار خاصی نیاز دارند و به اندازه کافی محبوب هستند که کاربر را ترغیب می کند، سخت افزار موردنیاز آن را تهیه کنید) بعدی را به بازار عرضه کنید، این مقاله با یک مثال شما را راهنمایی خواهد کرد. اگر شما از TFS استفاده می کنید، بسیاری از این ها برای شما آشنا خواهد بود.

فرض کنید، شما مدیر یک گروه کوچک هستید که منابع کمی در اختیار دارید، اما ایده های بزرگی برای ساخت برنامه های کاربردی در ذهن شماست. نیاز دارید که هر چه سریعتر کار خود را شروع کنید، اما باید منتظر برنامه کاربردی خاصی باشید. اما شما نمی خواهید وقت خود را برای تنظیم زیرساخت هدر دهید. شما تنها می خواهید برنامه کاربردی خود را بسازید و هر چه سریعتر آن را به دست مشتری برسانید.

این کار بسیار ساده، آسان و بی دردسر است. به آدرس visualstudio.com بروید، لینک “Get started for free” را در سمت راست بالای صفحه پیدا کنید و فرم را پر کنید.

در ابتدا باید یک حساب کاربری بسازید تا مکانی باشد که تیم شما بتواند، در آن کار کند. بعد از آن، اولین قدم ایجاد یک Team Project است. در این نقطه شما باید دو تصمیم مهم بگیرید:

- چه نوع مخزن Source Control نیاز دارید؟

- چه نوع process template ای برای پیگیری آیتم های کار شما مناسب ترین است؟

انتخاب شما برای Source Control بین نسخه توزیع شده با Git و نسخه قدیمی TFS است که با آن آشنا هستید. به عنوان مثال، فرض کنید تیم شما در حال نوشتن یک برنامه کاربردی windows 8 و سرویس های Back-end آن می باشد، اما در نهایت می خواهید آن را برای موبایل و سیستم عامل های IOs و Android توسعه دهید. اگر می خواهید نرم افزار خود را روی چندین پلت فرم با IDEهای مختلف توسعه دهید، از Git استفاده کنید. برای اینکه بیشتر درباره انتخاب مناسب بین این دو Source Control بدانید، این ویدئو را ببینید.

Process template، جریان و روند کار شما را تعریف می کند: به طور مثال، آیتم های کار شما چه زمانی فراخوانی می شوند، با عملیاتی که روی آنها اعمال می کنید، چه حالتی پیدا می کنند و دیگر metadataها. می توانید الگوی خود را از بین سه template انتخاب کنید: Scrum، Agile و Capability Maturity Model Integration که آن را به اختصار (CMMI) می گوییم. اگر تیم شما CMMI و یا فرایند رسمی تری کار می کند، بهتر است که از این الگو استفاده کنید. اگر یک تیم agile هستید و یا فرایند به خصوصی ندارید، بین Agile و Scrum الگویی را انتخاب کنید. بزرگترین تفاوت این دو نحوه مدیریت Bug ها و نام گذاری آیتم های backlog می باشد. الگوی Agile، با Bugها به عنوان یک task رفتار می کند درحالی که Scrum آنها را در Baklog کنار آیتم های دیگر Backlog نمایش می دهد. اما اگر در انتخاب بین این دو مطمئن نیستید، Scrum را انتخاب کنید که به نوعی الگوی پیش فرض می باشد. این به این معنی نیست که شما لزوما Scrum کار می کنید. Scrum به نیازمندی ها به عنوان Product Backlog Items و یا به اختصار (PBIs) اطلاق می شود و Agile به این نیازمندی ها از جهت کاربر یا User Stories می پردازد. برای اطلاعات بیشتر درباره کار کردن با Team Projectها و تفاوت اصلی این سه الگو به اینجا مراجعه کنید.

بعد از ساخت حساب کاربری و انتخاب Team Project خود، حال باید اعضای تیم خود را اضافه کنید. قبل از این کار، توجه داشته باشید که هر یک از اعضا باید یک حساب کاربری مایکروسافت داشته باشند. برای این کار شکل زیر را دنبال کنید.

اگر نیاز به تنظیم دسترسی ها و سایر جزییات مدیریتی دارید، از آیکون چرخ دنده در بالای صفحه می توانید تنظیمات دلخواهتان را انجام دهید.

اولین iteration خود را ایجاد نمایید:

بعد از انجام تنظیمات، کار را شروع می کینم. شما الگوی Scrum را انتخاب کرده اید، می دانید که باید در iterationها کار کنید، ارائه کدهای توابع با بالاترین سرعت ممکن و بازخوردهای مشتریان را برای iteration بعدی بررسی کنید. همچنین می خواهید، کارهایی که درحال انجام هستند پیگیری کنید و چه کارهایی قرار است انجام شود، و راهی خواهید داشت که بین این کارها الویت بندی نمایید.

قبل از اینکه کار با آیتم ها را شروع کنیم، نگاهی به جزییات می اندازیم. انتخاب الگوی Scrum به این معنی است که از Features ،PBIs ،Bug و tasks استفاده می کنید (انواع آیتم های دیگری هم وجود دارند، اما بیشتر آنها پشت صحنه شما را کمک می کنند)

عموماً یک Feature مقدار کاری است که آغازگر iteration است، PBIs واحدهای مقادیر مشتری است که در یک iteration می تواند انجام شود، task واحدهای کاری است که ممکن است انجام آنها چند روز طول بکشد. استفاده از آنها این امکان را به شما می دهد که کارهای خود را به چندین کار تقسیم کنید، چه در حد نمونه کار و یا با جزییات بیشتر.

نکته نهایی در کار با work item: تنها از فیلدهایی استفاده کنید که برای پروژه شما مناسب است و از استفاده فیلدهای غیرضروری و زیاد پرهیز کنید و تا می توانید از پیچیده کردن پروژه با این فیلدها جلوگیری کنید.

حالا وقت آن است که به سراغ پر کردن Backlog برویم، برای این کار روی تب  work روی صفحه project کلیک می کنیم که Backlogهای محصولات ما را نمایش خواهد داد. منوی سمت چپ این امکان را به شما می دهد که آیتم های کار خود را دسته بندی کنید و سطح خاصی از آنها را ببینید و با استفاده از لیست سمت راست می توانید به آیتم های این سطح اضافه کنید. با جابجا کردن Backlogها به طور عمودی می توانید آنها را الویت بندی نمایید.

حال که چند آیتم در Product Backlog خود دارید، زمان آن است که به اولین iteration خود فکر کنید. گروه شما تصمیم می گیرد که iterationها را در یک هفته ارائه دهد، اولین کاری که باید انجام دهید مشخص کردن تاریخ و زمان هایی برای iteration است. می توانید از منوی setting این کار را انجام دهید و یا اگر دامنه کاری خود را روی یک iteration خاصی تنظیم کرده اید، می توانید از لینک “Set Dates” استفاده کنید.

بعد از تنظیم تاریخ، می توانید PBIs را از Backlog خود با drag and drop به iteration اضافه کنید. مطابق شکل زیر، زمانی که یک PBIs در iteration قرار گرفت می توانید، آن را به چندین task برای اعضای تیم خود تقسیم کنید.


اینها تنها معرفی مختصری از کارهایی است که می توانید با ابزارهای برنامه ریزی Agile انجام دهید. با رشد تیم و پیچیده شدن نیازهای شما، می توانید چیزهایی مثل قابلیت برنامه ریزی (capacity planing)، پیش بینی (forecasting) مدیریت test-plan را اضافه کنید. در حال حاضر، به اندازه نیاز شما پیچیده می باشد، بنابراین شروع به کامل کردن PBIs نمایید.

با قراردادن آیتم ها در Backlog، نیاز دارید که روند پیشرفت کار را پیگیری کنید. تیم شما می خواهد وضعیت iteration جاری را بهبود ببخشد، بنابراین می توانید از Task board استفاده کنید. این به شما کمک می کند، یک نمای کلی از وضعیت هر PBI داشته باشید. iteration task board به صورت drag-and-drop و touch-enabled می باشد، بنابراین می توانید در طول جلسات به سرعت board را به روزرسانی نمایید.

iteration task board بسیار خوب است اما شما نیاز دارید که یک board درسطح PBI و یا Feature داشته باشید. بنابراین به kanban board  که در Product Backlog قابل دسترسی است، سوئیچ کنید.

از این قسمت، می توانید محدودیت های کارهای در حال اجرا برای هر ستون را تنظیم کنید، روند کار را پیگیری نمایید و نمودار روند تجمعی تیم خود را بررسی کنید. برای اعمال تنظیمات دلخواه خود، می توانید روی دکمه Customize column کلیک کرده و تنظیمات پیش فرض را تغییر دهید. نام ستون را تغییر دهید و یا اگر می خواهید ستونی به آن اضافه کنید. نکته بسیار جالب این است که هر تیم می تواند با توجه به نیازهای خود این تنظیمات ستون را تغییر دهد، بدون اینکه تنظیمات گروه های دیگر تحت تاثیر قرار بگیرد.

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

Build  کردن برنامه کاربردی:

شما در کد زدن مهارت دارید و همچنین می دانید که حفظ کیفیت برای مشتری بسیار مهم است. اما متاسفانه تیم شما ایده های بسیاری دارد که بدون وقفه ارائه می شوند بدون اینکه به یکی از آنها به صورت شفاف بپردازید.

کد شما همیشه به طور موفقیت آمیز کامپایل نمی شود. با نگاهی سریع به روند کار در گذشته، تیم شما متوجه می شود که نیاز به شروع به استفاده از Build اتوماتیک دارید، با استفاده از Build ادغام بی وقفه CI یا حتی قرار دادن یک درگاه بررسی، که کدهای بد وارد مخزن نشوند. اگر زیرساخت و زمان کافی که صرف ایجاد یک build Server نمایید را ندارید، بنابراین می توانید از Cloud Build Service  متعلق به Visual Studio Online استفاده نمایید.

از Team Explorer در Visual Studio IDE خود، Build و سپس New Build DEfinition را انتخاب کرده و یک نام مناسب برای آن انتخاب نمایید، trigger خود را انتخاب کنید و Wizard را ادامه دهید. توجه داشته باشید که پس از پایان کار Build تعریف شده را ذخیره کنید.

تنها به خاطر اینکه یک CI Build (یا هر نوع trigger دیگر) است، به این معنی نیست که زمانی که می خواهید Build پروژه ای را غیرفعال کنید، نمی توانید آن را به طور دستی از بین ببرید. البته می توانید آن را از Team Explorer از بین ببرید. اطلاعات بیشتر درباره Build را می توانید اینجا بخوانید.

تست سرعت بارگذاری برنامه:

user base شما به سرعت درحال رشد است، اما کاربران گزارش تاخیر و کند بودن سایت را می دهند. شما قادر به پیدا کردن منبع این تاخیر نیستید، اما می خواهید تست هایی واقعی برای بارگیری صفحه و کارایی سایت خود ایجاد کنید. شروع به رکورد کردن چند تست کارایی وب با استفاده از Visual Studio Ultimate می کنید. هر تستی، یکی از روش های تعامل کاربر با سایت شما را نشان می دهد، که به آن تراکنش های غیرواقعی یا مصنوعی می گویند.

سپس تست های کارایی را باهم ترکیب می کنید تا یک بارگیری متداول را روی سیستم شبیه سازی کنید. سپس تصمیم می گیرید که سناریوهای دیگری ایجاد کنید، زمانی که تست کارآیی خود را در تست بارگیری تنظیم نمودید، با باز کردن فایل تنظیمات و انتخاب Visual Studio Online آن را در Visual Studio Online اجرا کنید، سپس می توانید تراکنش داده ها را مانند شکل زیر ببینید.

مانیتورینگ و جمع آوری داده های تله متری:

شما باید شروع به جمع آوری داده های تله متری در سراسر برنامه کاربردی خود نمایید. نه فقط صفحات وب، کارایی سرور و برنامه کاربردی Windows phone 8 و نه فقط لایه های داده Windows Azure. شما نیاز به یک نمای کلی از روند end-to-end UX دارید. برای این کار می توانید از سرویس های  Application Insights متعلق به Visual Studio Online استفاده کنید.

برای شروع کار با این سرویس، به صفحه اصلی حساب کاری Visual Studio Online خود رفته و روی قسمت Application Insight کلیک کنید. باید برنامه کاربردی خود را با استفاده از کد دعوت ثبت کنید، چرا که در حال حاضر این سرویس محدود است.  زمانی که این کار را انجام دادید، می توانید یک تست ساده برای ping کردن یک URL تنظیم نمایید و مشاهده کنید که داده ها شروع به جریان می کنند. این یک مثال ساده از تست ping بود اما شما می توانید از همان تراکنش های غیرواقعی که به عنوان تست کارایی سایت برای تست بارگذاری آن ایجاد کرده اید نیز استفاده کنید. بنابراین می توانید برنامه کاربردی خود را توسط تست ping های ساده و یا تراکنش های غیرواقعی از چندین دیتاسنتر در سراسر دنیا مانیتور نمایید. 

همچنین می توانید، Microsoft Monitoring Agent را برای گزارش گیری از داده های مانیتورینگ کارایی برنامه کامپیوتری خود روی سرویس Application Insight پیکربندی کنید. این روش دید بهتری نسبت به اینکه سرویس های برنامه شما چگونه با هر یک از پیش نیاز و برنامه های وابسته خود مانند دیتابیس و سرویس های دیگر رفتار می کند، به شما خواهد داد.

برای اغلب سایت ها و برنامه های کاربردی آنلاین، هیچ چیز مهم تر از uptime نیست. برنامه شما نیز از این قاعده مستثنی نیست و متاسفانه با گزارش مشتریان غافلگیر می شوید که سرویس شما down بوده و از کار افتاده، درصورتی که فکر می کردید up بوده است. شما به یک کنترل در دسترس بودن ثابت و Live نیاز دارید تا اولین کسی باشید که متوجه از کار افتادن سایت می شوید. این همان چیزی است که Application Insight در اختیار شما قرار می دهد.

دانستن اینکه سایت شما در حال حاضر در دسترس است، بسیار عالی است. دانستن اینکه کدام خط از کد یا Stored Procedure باعث کند شدن برنامه می شود، بهتر است. امکان دسترسی مستقیم از سرویس Performance-monitoring به خط کدی از IDE شما بسیار جالب است. Application insight همه برنامه های وابسته شما را بررسی کرده و 10 قسمت از کندترین قسمت های برنامه کاربردی را به شما نشان می دهد.

زمانی که برای اولین بار، برنامه کاربردی خود را وارد بازار می کنید، نیاز دارید که بدانید محصول شما در بازار چگونه بوده است و مشتریان با آن چطور ارتباط برقرار کرده اند. شما فرضیه هایی بسیاری برای بهبود تجربه مشتری دارید، اما برای این کار نیاز به داده های telemetry و meta-telemetry دارید تا فرضیه های خود را اثبات کنید. با گنجاندن ویژگی مانیتورینگ به Application Insight، داده هایی به دست می آورید که شما را از چندین جهت برای سرمایه گذاری های آینده برای برنامه کاربردی راهنمایی می کند.

مانند شکل زیر:

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

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

آموزش سی شارپ

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان
  • C#.net
  • 2k بازدید
  • 2 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید