5 Всюди завдяки omnisharp і yeoman

Продукти та технології:

ASP.NET 5, Visual Studio Code, Node.js, HomeBrew, OmniSharp, Yeoman

У статті розглядаються:

У міру того як групи розробки отримують все ширший вибір інструментарію, інфраструктури теж повинні забезпечувати вибір без тертя. У ASP.NET 5 включає крос-платформену підтримку, в тому числі розробки за допомогою інструментарію з відкритим вихідним кодом, наприклад OmniSharp, і розміщення в Microsoft Azure із застосуванням контейнерів на кшталт Docker. У цій статті ми покажемо, як приступити до роботи з ASP.NET 5 на обраної вами платформі. Ми розглянемо всі, що потрібно для початку розробки веб-додатків на основі ASP.NET 5.

Створити і запустити проект може бути справою важким, так як сучасний ландшафт розробки веб-додатків рясніє розмаїттям інструментарію. Як користувач Visual Studio ви, мабуть, розпещені перевагами IDE, вбудованими шаблонами і такими засобами, як Web Essentials, що допомагають піднімати з нуля нові проекти. Але розробники, які не використовують Windows і багаті IDE на зразок Visual Studio, змушені в основному покладатися на інструменти командного рядка, наприклад Yeoman, Grunt, Gulp або Node.js, щоб створювати і конструювати веб-додатки. Тепер ASP.NET 5 заново перероблена з урахуванням всіх платформ, і в неї закладено підхід до інструментарію розробки «вибір править усім». В даний час ви можете використовувати її не тільки для проектів під Windows, але і під Linux і OS X. В цій статті дається короткий опис підготовки середовища і створення проекту ASP.NET 5 з операційної системи, відмінної від Windows.

підготовка середовища

Для підготовки і настройки середовища вам знадобляться декілька частин, але весь цей процес добре документований як для OS X, так і для Linux. Покрокові інструкції ви знайдете за посиланням bit.ly/1Ljhj68. У цій статті ми припускаємо, що більшість читачів використовує OS X.

Перший крок - установка інструментів, необхідних нам для створення веб-додатки ASP.NET 5. У найближчому майбутньому базової виконуючою середовищем для інфраструктури стане CoreCLR (github.com/dotnet/coreclr), а поки ASP.NET 5 як і раніше вимагає виконуючого середовища Mono. Щоб встановити Mono, використовуйте HomeBrew (brew.sh):

Тепер у вас встановлені виконуючого середовища Mono плюс DNVM і DNX. Щоб перевірити версію DNVM, введіть «$ dnvm» з терміналу, як показано на рис. 1. Зауважте: якщо ваша оболонка не розпізнає команду dnvm, то, можливо, доведеться виконати команду «source dnvm.sh» для її завантаження.

5 Всюди завдяки omnisharp і yeoman

Мал. 1. Перевірка версії DNVM

5 Всюди завдяки omnisharp і yeoman

Мал. 2. Сторінка Welcome в Visual Studio Code

Починаємо перший проект

Для початку встановіть Node.js і диспетчер node-пакетів (NPM) або через HomeBrew, або безпосередньо з nodejs.org:

(Зауважте: коли вийде ASP.NET 5 Beta 7, ця команда прийме більш звичний вигляд - «dnx kestrel».)

Редагування для ASP.NET

Відкривши папку вихідного коду в Visual Studio Code, можна приступати до розробки програми. На рис. 4 показаний результат відкриття проекту в Code.

Як бачите, ви отримуєте повноцінне виділення синтаксису для C #-файлів - в Mac OS X! Якщо ви подивіться уважніше, то помітите значок лампи поруч з курсором в рядку 2. Цей значок, як і в Visual Studio, дозволяє швидко виконувати контекстно-залежні операції. В даному випадку Visual Studio Code пропонує видалення непотрібних виразів using - команду Remove Unnecessary Usings.

Тепер додамо в проект нові файли. Щоб додати новий файл в проект ASP.NET 5, нічого особливого робити не потрібно. Просто додайте файл в каталог, і він буде автоматично включений в проект. У Code можна використовувати кнопку Add File в деревовидному поданні або комбінацію клавіш Ctrl + N, щоб включити новий порожній файл. Якщо ви хотіли б отримати якийсь вихідний текст, введіть команду «yo aspnet». Щоб додати файли в існуючі проекти ASP.NET 5, запускайте субгенератор (sub-generator), використовуючи наступний синтаксис:

Субгенератори в yo aspnet еквівалентні шаблонами елементів в Visual Studio, коли ви вибираєте File | Add New Item.

Субгенератори в yo aspnet еквівалентні шаблонами елементів в Visual Studio, коли ви вибираєте File | Add New Item. Уявлення додаються субгенератором MvcView. Щоб додати уявлення Admin, виконайте наступну команду з папки Views:

Вона повинна видати ті ж помилки і попередження, що і Code. Тепер, коли ви зрозуміли, як компілювати і запускати свій додаток, коротко обговоримо налагодження і розгортання.

В даний час налагодження ASP.NET 5 підтримується тільки на платформі Windows в поєднанні з Visual Studio, а значить, налагоджувати додатка ASP.NET 5, виконувані Mono в OS X або Linux, не можна. Програми ASP.NET 5 компілюються за допомогою компілятора Roslyn, а не Mono, і ніякої налагоджувальної інформації не генерується. Visual Studio Code поки не підтримує налагодження, але ви завжди можете використовувати Visual Studio в віртуальній машині на своєму комп'ютері Mac або Linux. Будемо сподіватися, що група Visual Studio Code зуміє ввести підтримку налагодження після випуску CoreCLR.

розгортання

Ви дізналися, як локально розробляти додаток; тепер коротко розглянемо варіанти хостингу. Детальний виклад цієї тематики зажадало б окремої статті, тому ми просто дамо високорівнева огляд і вкажемо на деякі зовнішні ресурси. За найсвіжішою інформацією звертайтеся на bit.ly/1fvDQ41.

  • з командного рядка, використовуючи утиліту командного рядка «dnu publish»;
  • в Azure Web Apps через Git;
  • в контейнер Docker, що виконується в Azure.

Для початку, щоб побачити список доступних ключів в командному рядку, введіть:

Результат виконання цієї команди показаний на рис. 8.

5 Всюди завдяки omnisharp і yeoman

Мал. 8. Отримання довідки по команді dnu publish

Найважливіший ключ - аргумент --out (-o), що дозволяє вказати папку, в якій повинні публікуватися ваші файли. При бажанні ви можете досліджувати і інші ключі в міру необхідності.

Якщо ви публікуєте в Azure, можна отримати деяку підтримку з її боку. Azure підтримує програми ASP.NET 5 в Azure Web Apps, а також в контейнерах Docker. Для розгортання в Azure Web Apps з машини під керуванням ОС, відмінною від Windows, можна використовувати FTP або Git. У разі FTP ви публікуєте результати dnu publish. Детальніше див. За посиланням bit.ly/1LnFC2T.

Програми ASP.NET 5 компілюються за допомогою компілятора Roslyn, а не Mono, і ніякої налагоджувальної інформації не генерується.

висновок

Розробка веб-додатків за допомогою ASP.NET вимагала використання Windows і Visual Studio. Тепер ASP.NET 5 і пов'язані утиліти командного рядка можна задіяти на будь-якій платформі. І це лише початок. Щоб стежити за останніми новинами з ASP.NET 5, заходите на github.com/aspnet/Home. Проект yo aspnet повністю підтримується спільнотою. Якщо ви зацікавлені допомогти, будь ласка, відкрийте проблему (issue) на bit.ly/1PvtcGX.

Шейн Бойєр (Shayne Boyer) - ASP.NET MVP, архітектор рішень в Орландо (Флорида). Займається розробкою рішень на основі технологій Microsoft протягом 20 років. В останнє десятиліття працював над великомасштабними веб-додатками, приділяючи особливу увагу ефективності праці та продуктивності. З ним можна зв'язатися через Twitter (@spboyer) і його веб-сайт (tattoocoder.com).

Висловлюємо подяку за рецензування статті експерту Microsoft Скотту Ханселмену (Scott Hanselman).