Автор (ы) оригинала | Телерик компании Progress. [1] |
---|---|
Разработчики) | Прогресс и сообщество |
Первый выпуск | 2014 г. |
Стабильный выпуск | 7.0.13 / 28 октября 2020 г . [2] |
Репозиторий | |
Написано в | JavaScript , TypeScript |
Платформа | Кроссплатформенность |
Лицензия | Лицензия Apache 2.0 |
Веб-сайт | www |
NativeScript - это платформа с открытым исходным кодом для разработки мобильных приложений на платформах Apple iOS и Android . Первоначально он был задуман и разработан компанией Progress. [3] В конце 2019 года [4] ответственность за проект NativeScript перешла к давнему партнеру Progress, nStudio . В декабре 2020 года nStudio также курировала внедрение NativeScript в OpenJS Foundation в качестве инкубационного проекта. [5] Приложения NativeScript создаются с использованием JavaScript или любого языка программирования, который транслируется в JavaScript, например TypeScript.. NativeScript поддерживает фреймворки Angular [6] и Vue JavaScript. [7] Мобильные приложения, созданные с помощью NativeScript, приводят к созданию полностью нативных приложений, которые используют те же API-интерфейсы, как если бы они были разработаны в Xcode или Android Studio . [8] Кроме того, разработчики программного обеспечения могут переназначать сторонние библиотеки из CocoaPods , Maven и npm.js в своих мобильных приложениях без необходимости использования оболочек. [9] [10] [11]
Развитие [ править ]
Впервые NativeScript был публично выпущен в марте 2015 года. Версия 1.0.0 появилась двумя месяцами позже. [12] Фреймворк быстро завоевал популярность, достигнув 3000 звезд github и более 1500 подписчиков в Твиттере вскоре после публичного релиза. [13] На данный момент доступно более 700 подключаемых модулей, которые либо официально поддерживаются Progress, либо исходят от сообщества открытого исходного кода. [14] [15] Использование Angular - это дополнительный подход к разработке, позволяющий совместно использовать исходный код приложения между веб-платформой и мобильной платформой. [16] [17]
Структура [ править ]
NativeScript и все необходимые плагины устанавливаются с помощью диспетчера пакетов npm . Проекты создаются, настраиваются и компилируются с помощью командной строки или инструмента с графическим интерфейсом под названием NativeScript Sidekick. [18] Независимые от платформы пользовательские интерфейсы определяются с помощью файлов XML . Затем NativeScript использует абстракции, описанные в файлах XML, для вызова собственных элементов пользовательского интерфейса каждой платформы. Логика приложения, разработанная на Angular и TypeScript, также может разрабатываться независимо от целевой платформы. Мобильное приложение NativeScript создается с использованием среды выполнения и инструментов node.js. [19] Progress стремится к соотношению 90% общего кода между платформами iOS и Android. [1]
Прямой доступ к API и элементам управления собственной платформы [ править ]
Независимые от платформы пользовательские интерфейсы определяются с помощью файлов XML . [20] NativeScript использует структуры данных XML, представляющие кроссплатформенную абстракцию, для запуска специфичного для платформы кода, который напрямую взаимодействует с собственными элементами целевой операционной системы. Это означает, что вызов NativeScript Button API предоставляет абстракцию пользовательского интерфейса для Button, которая напрямую вызывает UIButton в iOS [21] или com.android.widget.Button в Android. [22]
Хотя исходный код приложения написан на JavaScript, TypeScript, Angular или Vue.js, исходный код не компилируется и не изменяется иным образом. Исходный код как есть работает прямо на устройстве. Этот архитектурный выбор устраняет необходимость кросс-компиляции или транспиляции. [11] Кроме того, хотя исходный код приложения написан на языках, которые обычно встречаются в браузере (или в мобильном приложении, содержащем WebView), приложения NativeScript запускаются непосредственно на собственном устройстве. Нет никаких манипуляций с DOM или какого-либо обязательного взаимодействия с браузером. [6]
Примечательные особенности [ править ]
Собственное отражение API [ править ]
Еще одна примечательная особенность - использование отражения для обработки конечных точек собственного API. Вместо того, чтобы требовать отдельных уровней привязки между NativeScript и API каждой мобильной платформы, NativeScript использует отражение для получения информации и метаданных о API-интерфейсах собственной платформы. Новые функции, добавленные к API любой собственной платформы, становятся доступны немедленно. [6]
Другой способ использования функции отражения - это работа со сторонними библиотеками. Поскольку JavaScript (или TypeScript / Angular) может напрямую взаимодействовать с машинным кодом, нет необходимости писать уровни привязки в Objective-C, Swift, Java или Kotlin. [11] [23]
Угловая интеграция [ править ]
С запуском NativeScript 2.0 можно использовать Angular для создания кроссплатформенных мобильных приложений. [24] Кроме того, при использовании Angular с NativeScript у вас есть возможность совместно использовать большие фрагменты кода между веб-приложениями и мобильными приложениями. [25]
Интеграция Vue.js [ править ]
Фреймворк Vue.js поддерживается в NativeScript через плагин nativescript-vue. [7]
Вспомогательные инструменты и услуги [ править ]
- NativeScript Sidekick - это графический пользовательский интерфейс , основанный на возможностях интерфейса командной строки NativeScript. С Sidekick разработчик может использовать шаблоны приложений, облачные сборки для iOS и Android, а также публиковать приложения в общедоступных магазинах приложений.
- NativeScript Playground позволяет разработчикам экспериментировать с NativeScript в веб-среде и предварительно просматривать приложения на физических устройствах.
- NativeScript Marketplace - это тщательно подобранный источник подключаемых модулей NativeScript, готовых шаблонов приложений и запускаемых примеров приложений.
Ссылки [ править ]
- ^ a b «Часто задаваемые вопросы о NativeScript» . NativeScript.org .
- ^ «Выпуски · NativeScript / NativeScript» . GitHub .
- ^ «Создание мобильных собственных приложений на JavaScript с помощью NativeScript» . InfoQ .
- ^ Сарипелла, Сурья. «Следующая глава для NativeScript: nStudio» . NativeScript.
- ^ Ромофф, Рэйчел. «NativeScript присоединяется к OpenJS Foundation как проект-инкубатор» . Проекты Linux Foundation . Фонд OpenJS . Проверено 4 марта 2021 года .
- ^ a b c Крилл, Пол (10 марта 2015 г.). «JavaScript встроен в приложения для iOS, Android и Windows Phone» . InfoWorld .
- ^ a b "{N} -Vue" . nativescript-vue.org . Проверено 31 октября 2017 .
- ^ http://searchcloudapplications.techtarget.com/podcast/NativeScript-framework-eases-cross-platform-app-development-woes
- ^ Криль, Пол (6 мая 2016). «NativeScript подходит для AngularJS для мобильных разработчиков» . InfoWorld .
- ^ "Проект недели на GitHub SD Times: NativeScript" . 18 марта 2016 г.
- ^ a b c «Telerik's NativeScript стремится к централизации кроссплатформенной мобильной разработки -» . Журнал Visual Studio .
- ^ «Выпущен NativeScript 1.0.0» . www.i-programmer.info .
- ^ «NativeScript 1.0.0 теперь доступен» . NativeScript.org .
- ^ "NativeScript Marketplace" . market.nativescript.org .
- ^ "nativescript - поиск npm" . www.npmjs.com .
- ^ Обзор, ИТ-директор «Прогресс выпускает NativeScript 2.0 с возможностями межплатформенного развертывания» . CIOReview .
- ^ "Знакомство с Angular 2" . mobile.htmlgoodies.com .
- ^ «NativeScript Sidekick - ваш верный помощник в разработке приложений» . NativeScript.org . Проверено 31 октября 2017 .
- ^ Ханна, Там. "Mit JavaScript wie hausgemacht: NativeScript" . Разработчик .
- ^ «Основы - Документы NativeScript» . docs.nativescript.org .
- ^ https://github.com/NativeScript/NativeScript/blob/master/tns-core-modules/ui/button/button.ios.ts
- ^ https://github.com/NativeScript/NativeScript/blob/master/tns-core-modules/ui/button/button.android.ts
- ^ «Доступ к собственным API через JavaScript - Документы NativeScript» . docs.nativescript.org .
- ^ «NativeScript 2.0 - лучший способ создавать кроссплатформенные нативные мобильные приложения» . NativeScript.org .
- ^ https://blog.angular.io/apps-that-work-natively-on-the-web-and-mobile-9b26852495e7
Внешние ссылки [ править ]
- Официальный веб-сайт