Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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, готовых шаблонов приложений и запускаемых примеров приложений.

Ссылки [ править ]

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

Внешние ссылки [ править ]

  • Официальный веб-сайт