ASP.NET Core потенциально может заменить ASP.NET в его нынешней форме.
Стоит ли сейчас перейти на ASP.NET Core? Давайте поговорим об этом со специалистами:
- Дино Эспозито – писатель, консультант, тренер и технический евангелист, признанный эксперт и популяризатор концепций DDD и CQRS
- Морис де Бейжер — независимый консультант, MVP и автор онлайн-курса The React Tutorial
- Андрей Терехов – Full-Stack EPAM-разработчик, специалист по серверному пререндерингу.
Все трое выступят через неделю в Петербурге на конференции DotNext с отчетами об ASP.NET Core. Дино и Морис ответили по-английски; ниже мы публикуем перевод их ответов.
— Дино, Ваш отчет адресовано в первую очередь тем, кто занимается управлением разработкой: архитекторам программного обеспечения и техническим директорам.
О чем именно мы будем говорить? — ASP.NET Core — это не просто новая версия.
Это совершенно новая платформа, смена эпох.
Переход Может быть принесет компаниям множество преимуществ: более компактный код, лучшую производительность и масштабируемость.
Но какую цену вам придется заплатить взамен, сколько кода вам придется переписать? Я расскажу вам, какие шаги вам нужно предпринять для перехода на ASP.NET Core, какие подсистемы вам придется переписывать с нуля и каковы могут быть ваши стратегии миграции.
— Вы обещаете ответить, кому уже стоит задуматься о переходе на ASP.NET Core, а кому стоит подождать.
Кому бы вы порекомендовали перейти на выход RC2? - Никто.
ASP.NET Core все еще слишком сырой.
Многие базовые вещи, такие как доступ к данным, еще не разработаны на 100%.
Нет никакой гарантии, что код, который вы используете сейчас, будет работать в релизной версии.
Теперь я думаю, что ASP.NET Core окончательно успокоится примерно через два года.
Компании, разрабатывающие инструменты для программистов, сейчас должны действительно оставаться на вершине .
NET Core. Такие компании, как JetBrains. Они зарабатывают деньги на инструментах, а инструменты должны поддерживать любые новые платформы с момента запуска.
Разработчикам корпоративного сектора советую подождать.
— Какие стратегии миграции доступны разработчикам прикладного программного обеспечения? — Многие механизмы, которые оставались неизменными на протяжении всей жизни ASP.NET, в ASP.NET Core внезапно изменились.
Например, авторизация, безопасность, взаимодействие приложения с серверной инфраструктурой.
Мы посмотрим на все эти изменения и придумаем, как реализовать привычные вещи по-новому.
Для хорошо спроектированных приложений переход будет проще и может быть выполнен специальной командой разработчиков за разумное время.
Для многих других корпоративных приложений, особенно таких, как банковское программное обеспечение, использующее компоненты, специфичные для конкретной платформы, переход, скорее всего, вообще будет невозможен.
— Может ли использование CQRS в качестве архитектурного шаблона смягчить переход? — CQRS — очень общая концепция, диктующая определенное разделение всего кода приложения на две подсистемы: чтения и записи.
Подход может помочь за счет возможности параллельной работы над портированием обеих подсистем независимыми командами.
Независимо от того, используете вы CQRS или нет, чем лучше разделены уровни приложения и чем лучше ваше приложение абстрагировано от деталей реализации ASP.NET, тем легче локализовать и переписать код. Большие приложения не обязательно полностью переносить на новую платформу; это можно делать постепенно, частями.
— Морис, о чем ты собираешься говорить? в первом отчете ? — Платформе ASP.NET более 15 лет. Кроме того, на момент создания System.Web содержал большой объем кода для поддержки обратной совместимости с классическим ASP. За это время на платформе накопилось достаточное количество кода, который просто больше не нужен и устарел.
Microsoft оказалась перед трудным выбором: отказаться от обратной совместимости или анонсировать новую платформу.
Они выбрали второй вариант. При этом им пришлось отказаться от существующей среды выполнения.
Microsoft всегда была компанией, ориентированной на создание и запуск всего и вся на Windows. Существующий ASP.NET не стал исключением.
Сейчас ситуация сильно изменилась: Azure и Linux стали занимать значительное место в стратегии компании.
ASP.NET Core — это работа над ошибками классического ASP.NET MVC, возможность начать с нуля.
Кроме того, Microsoft также стремится стать такой же популярной, как Ruby и NodeJS, среди молодых разработчиков.
— Что для нас означает переход на новую платформу? — .
NET Core не содержит многих привычных нам компонентов.
Забудьте о System.Web, веб-формах, области транзакций, WPF, Win Forms. Их больше нет. Для простых приложений ASP.NET MVC мало что изменится, и переход, скорее всего, будет простым.
Для более сложных, использующих большое количество классов конвейера .
NET Framework и ASP.NET, ситуация сложнее.
Некоторые вещи могут работать, а некоторые нет. Некоторую часть кода придется переписывать с нуля.
WebApi может вызвать дополнительные проблемы, поскольку подсистемы ASP.NET MVC и WebApi теперь объединены.
Многие библиотеки и пакеты nuget еще не готовы.
Так что некоторые приложения просто не смогут мигрировать, пока не появятся новые версии библиотек.
— Каковы перспективы ASP.NET Framework 5 и ASP.NET Core? Расколется ли сообщество на приверженцев каждой реализации? Думаю, мы столкнулись с ситуацией, похожей на переход от Web Forms к ASP.NET MVC. ASP.NET Framework будет поддерживаться еще долгое время.
Сначала на ASP.NET Core будет разрабатываться лишь небольшая часть приложений.
Их количество будет увеличиваться, но рано или поздно каждый захочет перейти на ASP.NET Core. У нас все еще работает много приложений Web Forms. Да ведь код COBOL все еще работает в производстве.
Никто не собирается его переписывать, потому что он просто работает. Однако сейчас никому не придет в голову разрабатывать новое приложение на веб-формах; все выберут MVC. Рано или поздно тот же процесс произойдет с ASP.NET Framework и ASP.NET Core. Последний предлагает больше возможностей, соответствующих современным стандартам разработки.
— Например, возможность использования Docker? Это твоя тема второй отчет .
- Совершенно верно.
Docker позиционируется как решение проблемы «он работает на моей машине».
До недавнего времени мы были очень зависимы от платформы: ASP.NET в 99% случаев означал Windows. Да, у нас был Mono, но у них не было официальной поддержки Microsoft, а это означало, что для многих разработчиков они даже не задумывались об этом.
Сейчас Mono принадлежит Microsoft, корпорация официально поддерживает Linux и Mac OS. Мы можем запускать контейнеры Docker в Windows или Linux. В ходе доклада я объясню основные концепции Docker и покажу, как запустить приложение ASP.NET Core в контейнере Docker. Это значит, что мы сможем поставлять не бинарные файлы, а уже настроенные приложения, которые можно будет запускать в облачной инфраструктуре, например, Azure. — В своей рекламной кампании Microsoft опирается на непривычные для нее позиции: высокая производительность, масштабируемость, кроссплатформенность.
Вам не кажется, что ASP.NET проникает на территорию NodeJS? — В каком-то смысле NodeJS и ASP.NET всегда были конкурентами: обе платформы для бэкенда.
Но на самом деле никакой борьбы между ними, конечно, не было.
Новое поколение разработчиков, так называемые хипстерские разработчики, предпочитают Ruby и Node. Старшее поколение, люди из корпоративной среды, на стороне .
NET и Java. .
NET Core явно стремится стать моложе, моднее и популярнее.
Так что да, в будущем у нас может возникнуть настоящее противостояние между .
NET Core и NodeJS.
- Андрей, о чем ты говоришь? скажи мне на ДотНекст? — О новых возможностях современных SPA-приложений в ASP.NET Core как на этапе разработки, так и в производстве, в частности об использовании изоморфных JS и веб-компонентов.
— При чем тут ASP.NET? — Поговорим о библиотеке.
С его помощью можно настроить гибкую маршрутизацию на разные бэкенды и собрать все под одной крышей.
Это может быть полезно тем, кто устал администрировать зоопарк микросервисов, написанных на разных технологиях.
Кроме того, технология позволяет существенно ускорить время получения первой страницы за счет серверного предварительного рендеринга и обеспечить индексируемость SPA-приложений поисковыми системами.
При этом сохраняются все преимущества современного богатого веб-стека: краны, транспиляция, горячая перезагрузка и многое другое.
Достаточно написать не веб-пакет -hrm , А dnx веб .
— Какие JavaScript-фреймворки поддерживаются? — React готов к производству, Angular 2 — на свой страх и риск: он все еще в разработке.
— Я вижу, что библиотека официально включена в ASP.NET Core. Будет ли он включен в RC2 или 1.0? — Изначально разработку начал Стив Сандерсон, и вся разработка велась сообществом.
Позже было решено включить ASP.NET Core. Сейчас Стив переключился на другие задачи — в какой-то момент возникла проблема с приемом пул-реквестов.
Поэтому решение официально включить его в ASP.NET пришло как нельзя кстати.
Это значит, что всегда будет кто-то, кто это сделает: не конкретный человек, но кто-то будет. По идее, его даже следует выпустить вместе с основной частью ASP.NET. — Существующая версия библиотеки работает на dnx. Планируется ли его перевод на cli, если да, то когда? — Только недавно перевел и отладил.
Работает как часы.
— Сколько времени ушло на написание библиотеки и за какую часть вы отвечали? — Более трех месяцев.
Но это развитие общества.
Вот почему это заняло так много времени.
Помимо меня и Стива, работали еще 2-3 человека.
В основном я участвовал в том, чтобы испортить Angular.
Ну а мы продолжаем ждать вас 3 июня в Санкт-Петербурге на конференции DotNext 2016 Питер .
Именно там вы сможете услышать упомянутые в посте доклады, задать вопросы спикерам, а заодно проверить свои знания английского языка:
- Дино Эспозито - Миграция на ASP.NET Core: проблемы и возможности
- Морис де Бейжер - От нуля до героя с запуском приложения ASP.NET Core 1 в контейнере Docker
- Морис де Бейжер - Что нового в ASP.NET Core?
- Андрей Терехов - Мы создаем быстрые и эффективные SPA с помощью ASP.NET Core.
NET #.
net core #dotnext #DotNext #dotnext #dotnext 2016
-
Воздушный Бой На Чистом Html
19 Oct, 24 -
Мастерская Сфинкса
19 Oct, 24