Visual Studio 2010: новий вид і можливості, Різне, Програмування, статті

У Microsoft є дуже хороша традиція – випускати чергову версію Visual Studio (VS) одночасно з кожним великим оновленням платформи. Так і VS 2010 очікується нинішньої осені, саме до релізу Windows 7/Server 2008 R2. А поточна бета досить стабільна для того, щоб з нею познайомитися.


Visual Studio для компанії Microsoft є продуктом “стратегічного призначення”. Випустивши більше десяти років тому першу версію по-справжньому інтегрованого середовища розробки, що включає все необхідне для створення додатків за допомогою різних мов програмування (тоді, в 1997 р. підтримувалися VB, VC + +, VJ + + і FoxPro), редмондская корпорація визначила VS не тільки як універсальний інструмент побудови рішень для платформи Windows, але і як потужний маркетинговий засіб. Дійсно, величезна клієнтська база швидко робить масовими буквально всі технології, що потрапляють в Visual Studio. До Наприклад, успіх ASP.NET в значній мірі обумовлений появою в VS, завдяки чому “звичайні” програмісти змогли легко долучитися до веб-розробці. Враховуючи особливу роль, до VS застосовуються і відповідні методи просування: достатньо демократичні ціни, наявність цілком функціональних безкоштовних редакцій Express і безліч програм, що дозволяють окремим категоріям користувачів отримати професійну середовище розробки безкоштовно або зі значною знижкою. Тому й вихід кожної нової версії Visual Studio – знакова подія для всієї ІТ-індустрії.


VS 2010 в першу чергу позиціонується як “нативна” Середа розробки для очікуваних нинішньої осені Windows 7 і Windows Server 2008 R2. Одночасно планується і вихід. NET Framework 4.0 – своєрідної метаплатформи, розгортання якої буде можливо на всіх актуальних клієнтських і серверних версіях Windows. Також VS 2010 має стати середовищем розробки і для Silverlight 3, реліз якої відбувся в першій половині липня – для її підтримки необхідно завантажити та встановити відповідний SDK і розширення для IDE. Ще серед підтримуваних платформ не можна не згадати Microsoft Office 2010, Windows Mobile 6.5, а також “хмарну” Windows Azure Services Platform. А повний список дуже довгий, оскільки традиційні. NET Framework 2.0-3.5, SQL Server 2000-2008, Microsoft Offi-ce 2007, SharePoint 2007, Win32/MFC (на C + +) та інші додатково розширюються численними SDK і спеціальними шаблонами. Таким чином, кожна наступна версія Visual Studio стає все більш функціональною і універсальною, але ж відомо, що стрімке екстенсивний розвиток програмних продуктів нерідко перетворює їх в справжніх “монстрів”. Втім, творці VS прийняли ряд попереджувальних заходів, зокрема, перекроїли як механізм розширень, так і для користувача інтерфейс, практично не змінювався з 2002 р.


Інтерфейс і можливості IDE


Хоча і візуально, і функціонально новий інтерфейс максимально нагадує колишній, він сильно відрізняється технологічно – тепер для промальовування робочої області замість Windows Forms використовується WPF. Це не тільки додало зовнішнього лиску, але і дозволило реалізувати безліч удосконалень, спрямованих на підвищення продуктивності роботи, в тому числі і з урахуванням зрослих можливостей продукту. До Приміром, у вікні вибору типу проекту, а також в інспектора властивостей з’явилися поля, фільтруються невідповідні елементи в міру введення потрібного назви; редактор тепер дозволяє масштабувати текст колесом прокрутки миші при натиснутій клавіші Ctrl так само, як це робиться в браузері; покращилася підтримка декількох моніторів; при розробці із застосуванням модульних тестів буде корисна нова функція, відображає в реальному часі тести, на результат яких можуть вплинути поточні зміни вихідного коду. Був значно перероблений і візуальний редактор WPF / Silverlight – тепер його можливості впритул наблизилися до Expression Blend, що навіть дає підстави виключити останній з набору інструментів, якщо для візуальної розробки на базі XAML застосовується VS 2010.


Тим не менш, як ми вже згадували, інтерфейс здасться зовсім звичним досвідченим користувачам – збережені не тільки місця розташування основних елементів, а й їхні значки (у всякому разі, у поточній беті). Так що в естетичному і функціональному плані новації можна лише вітати. А от з швидкодією не виключені проблеми. Традиційно IDE Visual Studio цілком лояльно ставилася до скромних системних ресурсів – по крайней мере, для комфортного її використання не був потрібен суперсучасний комп’ютер. Нинішній реліз, ймовірно, стане переломним в цьому відношенні: нова IDE споживає помітно більше процесорних ресурсів і ОЗУ, тому дуже бажаний досить продуктивний ПК, оснащений до того ж сучасної відеокартою. Для професійного розробника це, швидше за все, не буде мати скільки-небудь серйозного значення, а ось типовий студент, що вивчає програмування на своєму нетбуці, може зіткнутися з дратівної повільністю середовища розробки. Втім, у творців Visual Studio ще є час поліпшити ситуацію до виходу фінальної версії.


Серед найбільш цікавих новинок IDE слід зазначити Architecture Explorer, що дозволяє аналізувати складний програмний код в графічній формі. Відображаються класи та їх члени, взаємозв’язку між ними, існують режими графічного представлення інформації з різним ступенем деталізації, від кожного елемента можна безпосередньо перейти до вихідного коду. Особливу цінність Architecture Explorer являє при вивченні сторонніх програм та колективної роботи над об’ємними проектами. Покращилася також підтримка мови UML, тепер VS спочатку дозволяє створювати п’ять типів діаграм: класів, прецедентів, послідовностей, діяльності та компонентів. Крім того, розробники обіцяють, що незабаром після виходу релізу VS 2010 стануть доступні всі типи UML-діаграм – у вигляді самостійних доповнень або в пакеті оновлення.


Окремої уваги заслуговує вдосконалений відладчик, який і раніше був предметом гордості Visual Studio. Тепер він доповнений функцією, що отримала назву “історична налагодження” (Historical Debugging), здатної викликати справжню заздрість у користувачів інших IDE. Традиційно для точного виявлення джерела помилки застосовуються точки зупину і покрокове виконання коду до тих пір, поки не виникне виняток. Програмісти зі стажем не з чуток знайомі з цим виснажливим заняттям – нерідко покрокова прокрутка і перевірка поточного значення змінних займає набагато більше часу, ніж власне написання коду. Функція історичної налагодження дозволить радикально спростити даний процес – при її активації всі дії програми, аж до виклику методів і обробки подій, відстежуються і зберігаються. Таким чином, у багатьох випадках для пошуку помилки взагалі немає необхідності використовувати точки зупину, досить перервати роботу програми за допомогою відладчика і в спеціальному вікні переглянути історію виконання (За винятком значень локальних змінних, збереження яких не передбачено з міркувань продуктивності). Потім стан програми можна покроково перегортати вперед-назад (“минуле” позначається спеціальним значком – стрілкою з годинником) або відразу переходити до будь-якої потрібної точки. Оскільки активація цієї функції для збереження всієї історії роботи програми може викликати значну додаткову навантаження на систему, передбачені можливість обмеження максимального обсягу протоколів і гнучка настройка відстежуваних методів і подій.


Нова мова F #



Microsoft не часто балує користувачів Visual Studio новими мовами програмування, що входять в стандартний комплект поставки: трійка C # / VB / C + + залишалася незмінною з 2002 р. І хоча розширити середовище розробки можна безліччю різних мов, встановивши їх як додатків, навіть від самої Microsoft (наприклад, IronPython або IronRuby), все ж це більше доля ентузіастів, а основна маса розробників задовольняється тим що є. Тому поява F # в складі VS 2010 дуже знаменно, і важливий тут не стільки сам факт, скільки те, що ця мова представляє зовсім іншу парадигму – функціональне програмування, аж до теперішнього часу не особливо популярне в рядах середньостатистичних програмістів.


Найцікавіше, що вперше функціональний мова максимально адаптований до використання в. NET Framework, відповідно, він не заперечує і імперативного підходу. З тієї ж причини F # не особливо почитаємо пуристами функціонального програмування, хоча це анітрохи не применшує його достоїнств як повноцінного функціонального мови, що дозволяє скористатися перевагами багатообіцяючою парадигми.


Протягом тривалого часу F # існував як дослідницького проекту, основна задача якого – збагатити імперативний мову C # можливостями, традиційно доступними лише функціональним мов. Безліччю нововведень C # 3.0 з VS 2008 зобов’язаний саме йому. Сам по собі F # не створений з чистого листа в Microsoft, в його основу покладено досить популярний (якщо так взагалі можна говорити про функціональні мовами) OCaml, який, у свою чергу, йде корінням до одного з перших типізованих функціональних мов ML. Незважаючи на те що синтаксично F # і OCaml досить близькі, вони не еквівалентні: грубо кажучи, перший являє собою підмножину другого, доповнене доступом до коштів. NET Framework. Однак деякі програми на OCaml можуть бути практично без модифікацій скомпільовані F #, зворотне також справедливо, зрозуміло, при відсутності звернень до класів. NET Framework.


В цілому, поява F # в складі Visual Studio свідчить про те, що розробники з Microsoft покладають великі надії на функціональне програмування, що особливо актуально в епоху багатоядерних процесорів і непомірно зрослої складності внутрішньої структури вихідного коду великих проектів. Звичайно, F # не позиціонується як заміна традиційним універсальним імперативним мовам, зокрема C #, і їх розвиток в напрямку асиміляції найбільш вдалих ідей декларативного програмування не припиниться. Швидше за все, F #, як і багато інші функціональні мови, займе своє місце серед інших, спеціалізуючись на вирішенні певного класу задач так само, як, наприклад, SQL зайняв нішу інструментів для маніпулювання реляційними даними. Можна припустити, що в найближчому майбутньому володіння хоча б одним функціональним мовою з’явиться в числі професійних вимог до типового програмісту, подібно до того як сьогодні необхідно знання того ж SQL.


.NET Framework 4.0



У четвертій версії. NET Framework з’явилося безліч нововведень, що відображають найбільш сучасні течії в програмуванні і розвитку апаратної бази. У першу чергу це стосується підтримки набирають популярність динамічних мов, реалізованої за допомогою розширення середовища виконання CLR (Common Language Runtime) спеціальним набором сервісів, які отримали назву DLR (Dynamic Language Runtime). В Тоді як DLR насамперед цікаво розробникам динамічних мов, створюють або портируют їх в. NET Framework (слід зазначити, що офіційно у Microsoft їх два – IronRuby і IronPython, що розвиваються у вигляді відкритих проектів на CodePlex.com), існуючі мови зі строгою типізацією також отримали його підтримку. Приміром, в C # з’явився новий тип dynamic, змінні якого не проходять перевірку типу під час компіляції, що може бути корисно при взаємодії з динамічними і скриптовими мовами.


Наступне важливе нововведення. NET 4, що відображає дух часу – поява цілої платформи для підтримки паралельних обчислень, іменованої PCP (Parallel Computing Platform). Безумовно, створювати “паралельні” програми можна було і в попередніх версіях. NET Framework, PCP же відрізняється підходом до їх побудови, покликаним максимально полегшити життя розробникам. Не секрет, що саме складність розпаралелювання задач і недостатня пристосованість поширених мов програмування до управління потоками коду, що виконуються паралельно, є основними стримуючими факторами, які перешкоджають ефективному використанню сучасним ПО можливостей багатоядерних мікропроцесорів. Тому PCP – довготривала ініціатива Microsoft, яка полягає в реалізації окремих компонентів, і цілком заслуговує особливого розгляду. Якщо говорити коротко про найцікавіші можливості PCP, то слід виділити Task Parallel Library (TPL) і Parallel LINQ (PLINQ). TPL являє собою набір класів і API для автоматичного розпаралелювання завдань. Зокрема, TPL пропонує варіанти реалізації циклів, які передбачають паралельне виконання ітерацій (якщо їх результати не залежать один від одного) при автоматичному масштабуванні по числу ядер процесора. На практиці (якщо мова йде про цикли) використання TPL зводиться до того, що там, де можливо, розробник замінює звичайні конструкції циклами із застосуванням TPL і отримує суттєвий виграш в продуктивності без будь-яких додаткових дій на зразок самостійного створення пулу потоків і т. п. Відповідно, PLINQ – це еволюція декларативного мови для роботи з даними LINQ, доступного для C # / VB (ko-online.com.ua/36977). Від звичайного LINQ він відрізняється також можливістю автоматичного розпаралелювання запиту, якщо порядок повертаються даних або виконуваних операцій не важливий – досить просто вказати в запиті, що його можна виконувати паралельно, все інше візьме на себе PLINQ.


Безлічі вдосконалень піддалася і базова бібліотека класів BCL. В супутньої документації тільки заголовків розділів, присвячених новим функціям, близько двох десятків. Не будемо перераховувати їх повністю, відзначимо лише деякі, на наш погляд, найбільш цікаві. Підтримка довгою арифметики тепер стає стандартною функцією. NET Framework: з’явився клас BigInteger, а окремі мови (F # в їх числі) придбали вбудовану підтримку відповідної структури. Робота з ізольованим сховищем даних (Isolated Storage) для додатків з обмеженим доступом до файлової системи (відноситься в першу чергу до WPF-програм, що виконуються в браузері, – XBAP, а також поширюваним за технологією ClickOnce) тепер повністю уніфікована з таким для Silverlight-додатків. Поліпшено інструменти вводу-виводу: запити до файлової системи тепер повертають колекції замість масивів, що збільшує швидкість роботи в тому випадку, коли не потрібно завантажувати весь список; статичний тип File тепер містить нові методи, що дозволяють ефективно читати і записувати текстові файли за допомогою LINQ, не створюючи додаткових структур даних; з’явилася підтримка стандартних для ОС Windows відображаються в пам’ять (memory mapped) файлів, що раніше було можливе тільки за допомогою сторонніх бібліотек; покращилися алгоритми компресії з простору імен System.IO.Compression, а також усунутий існуючий раніше ліміт в 4 ГБ на максимальний розмір стисливого потоку даних. Крім того, розширено механізми моніторингу продуктивності і використовуваних ресурсів, удосконалено технології управління і синхронізації потоків.


Висновок


Навіть з такого короткого огляду нескладно зрозуміти, що розробники Visual Studio 2010 не сиділи склавши руки. Звичайно, в ньому охоплені далеко не всі цікаві нововведення, і не тільки з міркувань розумного обсягу статті, а й у силу того, що список змін бета-версії ще не остаточно зафіксований, а багато з них навіть не задокументовані. Зокрема, за кадром залишилися нововведення, що стосуються поліпшеною колективної розробки у версії Team System – однієї з ключових областей, якій при створенні VS 2010 приділялася особлива увага. Теми розробки для Windows Mobile ми також не стосувалися, адже відповідний SDK поки навіть не включений до складу VS 2010.


Одним словом, темпи розвитку Visual Studio можна поставити в приклад іншим компаніям, що спеціалізуються в цій же області. А окремої похвали, безумовно, заслуговує саме тісна взаємодія Microsoft з клієнтами і партнерами, в першу чергу через співтовариство MSDN.com, яке, за словами Соми Сомасегара (Soma Somasegar), керівника підрозділу засобів розробки Microsoft, залучає понад 20 млн унікальних відвідувачів щомісяця і забезпечує кваліфіковані відповіді на більшість поставлених на форумах питань. Таким ось чином і формується екосистема з лояльних розробників і постачальників рішень, багато років є одним з найважливіших факторів успіху платформ Microsoft.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*