Пишем и запускаем приложения ASP.NET vNext на Маке

  • Tutorial
ASP.NET восстала из пепла и делает уверенные шаги к завоеванию мира! Во первых Microsoft открыла часть исходников .NET и продолжает их открывать. Новая версия ASP.NET vNext с самого начала open source и размещена на GitHub. Во вторых отныне .NET будет кроссплатформенным, ровно как и разрабатываемый веб-сервер. А это значит, что веб-приложения на ASP.NET vNext вы сможете разрабатывать в своих уютных Макашечках и Убунточках.
Чем я незамедлительно и решил воспользоваться.
ИМХО. Думаю вам не надо объяснять о красивом синтаксисе C#, строгой типизации и высокой скорости работы.
Что касается ASP.NET, то раньше все было печально, но за последние несколько лет MS достигла большого прогресса в разработке ASP.NET MVC веб-фреймворка взяв лучшие практики из RoR, Laravel и других. А когда несколько месяцев назад они официально объявили что открывают исходники своего фреймворка и становятся кроссплатформенными, пламя любви к ним вспыхнуло вновь.


Чтобы начать разработку на ASP.NET vNext под Маком вам понадобится установить следующее ПО, фреймворки и пакетные менеджеры:


Установка Sublime Text 3


Sublime Text — быстрый кроссплатформенный редактор исходных текстов программ. Поддерживает плагины на языке программирования Python.

Sublime Text не является свободным или открытым программным обеспечением, однако, некоторые его плагины распространяются по свободной лицензии, а также разрабатываются и поддерживаются сообществом разработчиков.

Идете на официальный сайт и скачиваете. Незарегистрированным приложением можно пользоваться неограниченное время (но периодически будет выскакивать сообщение, о том, что ST3 не зарегистированно).

Homebrew


Недостающий менеджер пакетов для OS X. Для установки открываем терминал и в терминал копируем следующую команду для установки:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew update
brew doctor


Добавьте в ваш .bash_profile или .zsh_profile следующую строку
export PATH="/usr/local/bin:$PATH"


Установите Node.js и Grunt


brew install node
npm install -g grunt-cli


Установите Mono


brew install mono


Установите Yeoman


Yeoman — пожалуй, самый популярный в последнее время скаффолдер. На самом деле, сам Yeoman — это не просто скаффолдер, а целый набор инструментов, которые отлично дополняют друг друга в процессе скаффолдинга и гармонично сочетаются в процессе разработки. Yeoman «стоит на трёх китах», задающих тон рабочему процессу современных разработчиков: скаффолдер Yo, менеджер пакетов Bower и менеджер задач Grunt.

npm install -g yo
npm install -g generator-aspnet


Для запуска скаффолдинга Yeoman наберите в терминале
yo aspnet

  • Выберите пункт MVC Application
  • Придумайте название проекта



Yoman сгенерировал болванку нашего будущего приложения (кстати это уже вполне рабочий сайт).



Установите утилиты для ASP.NET vNext


brew tap aspnet/k
brew install kvm


Добавьте в .bash_profile строку
source kvm.sh


Настройте ваш новый проект в Sublime Text 3


Так как это ваш первые ASP.NET проект в ST3 вам нужно установить Kulture (ASP.NET vNext расширение для ST3):
  • Выполните установку package control (если он еще не установлен).
  • Вызовите Command Palette (Cmd + Shift + P).
  • Наберите Package Control: Install Package.
  • В появившемся списке наберите Kulture.
  • Package Control автоматически установит последнюю версию Kulture.


Чтобы для C# заработал Intellisense установите OmniSharp
— С помощью Package Control, установите пакет OmniSharp (по ссылке инструкция по настройке OmniSharp).

Запустите ваш проект


  • Откройте в ST3 папку с проектом, которую снегири Yeoman.
  • Нажмите Cmd + Shift + p
  • Введите K и выберите K Command
  • Перед первым запуском выберите kpm restore
  • Затем kpm build
  • Теперь вы можете запустить сервер и открыть свой проект в браузере. Запустите сервер с помощью команды k kestrel
  • Откройте в браузере ваш сайт по адресу http://localhost:5004/



Примечание: при написании этой статьи я опирался на материал из блога MARIA NAGGAGA (Microsoft Tech Evangelist).
Поделиться публикацией
Похожие публикации
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама
Комментарии 20
  • 0
    У меня вот почему-то при запуске под Mono не подхватывается _ViewStart. Ну и Kestrel пока сыроват. Ещё не особо понятно, как всё это счастье отлаживать, символов-то никто не генерует.
    • 0
      при запуске k build в консоли все ошибки показывает
      • +1
        Ошибки компиляции — это одно. Подлючение отладчика — совсем другое.
    • 0
      Во вторых отныне .NET будет кроссплатформенным, ровно как и разрабатываемый веб-сервер.

      это значит ASP MVC сайты можно будет разворачивать не только в IIS?
      Можно поподробнее.
      • +3
        Теперь оно умеет работать поверх любого OWIN-совместимого хоста.
        • +1
          Все верно, сейчас разрабатывается кроссплатформенный веб-сервер Kestrel.
          • 0
            У меня вообще большое подозрение, что для оптимальной производительности понадобится брать какой-нибудь Proxygen, писать нативный веб-сервер, а дальше с использованием libmono уже хостить приложение. Этакий IIS под линуксом.
            • 0
              А разве kestrel не нативный? он кстати сможет работать по nginx если я правильно понимаю.
              • 0
                Kestrel писан на C#, просто для I/O вместо System.Net.Sockets использует libuv через P/Invoke.
        • 0
          А как у него с производительностью относительно деплоя на Win? Есть бенчмарки по теме?
          • 0
            Он еще в ранней бете :)
            • 0
              Это понятно. Спросил на всякий случай. А как бы вы сравнили его, по удобству и скорости разработки с django или ror? Я новый релиз пока не смотрел, только обзоры читаю.
          • 0
            Сорри за оффтоп.
            Переменную окружения вы назначали только для консоли?
            У меня в Yosemite для Sublime Text не получилось установить export PATH="/usr/local/bin:$PATH" (т.е. для GUI приложений).
            • 0
              Мой bash_profile (там еще есть composer, не обращайте на него внимания)

              export PATH=~/.composer/vendor/bin:/usr/local/bin:$PATH
              export EDITOR='sublime -w'
              export MONO_GAC_PREFIX="/usr/local"
              source kvm.sh
              
              • 0
                и sublime text, запущенный не из терминала, видит "/usr/local/bin"?
            • 0
              Это и на убунте можно также стенку приподнять?

            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.