Bijil Abraham, разработчик ПО в Amazon, составил список из 10 вещей, которые нужно знать о платформе для разработки приложений DotNet Core.
1. Платформа с открытым исходным кодом
.NET Core является частью .NET Foundation, который существует для построения сообщества и внедрения инноваций в рамках развития фреймворка .NET Core.
Использование этой платформы имеет много преимуществ: вы получаете больше свободы в контроле и изменениях проекта, прозрачность кода может снабдить вас информацией и послужить вдохновением для ваших собственных проектов на базе .NET Core.
Статус “открытости” также дает .NET Core большую устойчивость, поскольку в отличие от проприетарного программного обеспечения, которое часто бывает заброшено создателями, код, лежащий в основе инструментов этой платформы, всегда будет оставаться общедоступным.
2. DotNet Core создан совместными усилиями
В связи с тем, что проект был спроектирован в соответствии с принципами открытого ПО, платформа .NET Core построена с помощью около 10 000 разработчиков. Их вклад включал pull request’ы, а также отзывы обо всем: от дизайна и UX до производительности.
Внедряя лучшие предложения и пожелания, команда разработчиков превратила .NET Core в платформу, основанную на сообществах, что делает ее более доступной и эффективной для сообщества разработчиков, чем если бы она была создана исключительно внутри компании. Платформа продолжает совершенствоваться благодаря сотрудничеству, поскольку она поддерживается сообществом .NET, Microsoft и GitHub. Вы как разработчик имеете возможность влиять на будущее продвижение DotNet Core, работая с кодом и оставляя отзывы.
3. Ключевые характеристики DotNet Core
- .NET runtime, которая предоставляет .NET Core основные сервисы, включая систему типов, сборщик мусора, встроенный interop и сборку.
- Примитивные типы данных, типы композиции приложений и основные утилиты предоставляются набором библиотек фреймворка, также известным как «CoreFX».
- Хост приложения «Dotnet» выбирает и запускает исполняющую среду, позволяя запускать приложения .NET Core.
По мере разработки вы получите доступ к DotNet Core в качестве пакета разработки программного обеспечения .NET Core (SDK). Он включает в себя инструменты командной строки .NET Core, .NET Core и драйвер dotnet – все, что необходимо для создания приложения или библиотеки.
4. Развертывание
Одной из определяющих особенностей .NET Core является гибкое развертывание: вы можете установить платформу либо как часть своего приложения, либо отдельно. С FDD ваш пакет развертывания будет меньше. Кроме того, использование дискового пространства и использование памяти на устройствах минимизируются, и вы можете запустить приложение .NET Core с учетом любой ОС.
Self-contained развертывание (SCD) включает в себя все компоненты (также библиотеки DotNet Core и среду выполнения). Этот тип развертывания дает вам полный контроль над версией .NET Core, используемой вашим приложением. Уникальные характеристики каждого типа развертывания гарантируют, что вы сможете развернуть приложение оптимальным способом в зависимости от конкретных потребностей.
5. DotNet Core – это кроссплатформенность
Эта уникальная программная платформа уже работает на Windows, Mac OS X и Linux. Хотя это может показаться странным шагом для Microsoft, но это важно в технологическом мире, который все больше ориентируется на гибкость и сегментированность, когда дело доходит до операционных систем и платформ.
Доступность .NET Core на других платформах, отличных от Windows, делает его лучшим кандидатом для использования всеми разработчиками, включая разработчиков Mac и Linux, а также дает всей платформе .NET возможность использовать обратную связь. Эта дополнительная обратная связь приводит к продукту, который работает лучше для всех пользователей и позволяет DotNet Core продвигать свои приложения как программно-определяемые, а не платформо-определяемые.
6. Ядро оснащено Agile Development Capability
В рамках кросс-совместимости платформа для разработки приложений включает в себя модульную инфраструктуру. Она выдается через NuGet, и вы можете получить доступ к пакетным функциям, а не к одной большой сборке. Как разработчик вы можете создавать легкие приложения, содержащие только необходимые пакеты NuGet, что сделает вашу программу безопаснее и производительнее.
Модульная инфраструктура также позволяет быстрее обновлять платформу .NET Core, поскольку затронутые модули могут обновляться и выпускаться по отдельности. Акцент на гибкость и быстрые релизы наряду с вышеупомянутым сотрудничеством позитивно позиционирует .NET Core в рамках движения DevOps.
7. Интерфейс командной строки
Microsoft заявляет, что средства командной строки .NET Core служат для того чтобы «все сценарии продукта могли выполняться в командной строке».
Интерфейс командной строки (CLI) является основой для инструментов высокого уровня, таких как интегрированные среды разработки, которые используется для создания приложений. Подобно платформе .NET Core, CLI является кроссплатформенным, поэтому вы сможете использовать его на любой поддерживаемой платформе. CLI .NET Core является основой для портативности приложений.
8. Брат-близнец .NET Framework
Хотя .NET Core был разработан как кроссплатформенная версия .NET Framework с открытым исходным кодом, между ними существуют и другие отличия, которые уходят далеко за рамки этих двух ключевых свойств. Многие из этих сравнений являются результатом дизайна и новизны .NET Core. Модели приложений, основанные на технологиях Windows, не поддерживаются .NET Core, но консольные и ASP.NET модели приложений поддерживают как .NET Core, так и .NET Framework.
API .NET Core меньше, чем в .NET Framework, но он по мере его развития он будет увеличиваться. Кроме того, .NET Core реализует только некоторые подсистемы .NET Framework, чтобы поддерживать упрощенный и гибкий дизайн платформы. Эти различия могут в какой-то мере ограничить .NET Core, однако преимущества кроссплатформенного дизайна с открытым исходным кодом перевешивают любые ограничения по мере дальнейшего расширения платформы.
9. Все еще в разработке
Характер этой платформы делает ее незавершенной, постоянно совершенствуемой как командой Microsoft .NET Core, так и разработчиками по всему миру. Версия .NET Core 1.1 предназначалась для обеспечения платформы большей функциональностью. Одна из предполагаемых особенностей – улучшенная поддержка API на уровне BCL. То же касается и версии 2.0: постоянное развитие. .NET Core 2.0 также поддерживает Visual Basic. Из библиотеки DotNet Standard можно реализовать ссылку на библиотеку PCL или же на другую библиотеку DotNet Standard.
Джон Скит, автор “C# in Depth” и гуру stackoverflow.com, говорит:
"Через пару лет .NET Core потеснит Java на рынке enterprise решений"
И ведь что-то в этом есть.
10. Является частью цифровой трансформации
Это не просто относительно новый инструмент для разработчиков. Он представляет собой гораздо больший сдвиг в технологии – тот, в котором вы можете легко развернуть приложения на нескольких платформах.
Такое дополнение к разработке программного обеспечения дает больше свободы и контроля, особенно когда речь идет о развертывании и обновлении приложений .NET Core в том виде, в котором вы хотите. Несмотря на очевидные большие перемены, которые ожидают нас в ближайшем будущем, .NET Core определенно должен стать инструментом, интересующим всех разработчиков, поскольку занимает поле программирования в волнующем направлении.
Комментарии