Ограничения NativeScript

Я оцениваю разные мобильные фреймворки и считаю, что nativescript - хороший вариант. Но я не знаю, существуют ли ограничения в процессе разработки. Например, у меня были ограничения на стиль (и это не так важно), но я хочу знать, могу ли я в будущем иметь ограничение и не могу использовать какую-то встроенную функцию или внешнюю библиотеку. Спасибо!


person Matías González    schedule 24.10.2016    source источник


Ответы (6)


Я использую NativeScript с v0.90. Я написал несколько приложений и более 40 плагинов для NativeScript, поэтому я хорошо знаком со всеми тонкостями платформ.

Эта публикация относится к версии v6.50.

Я могу вспомнить только пару ограничений;

  • Инструментарий иногда оставляет желать лучшего, однако использование поддерживаемой IDE во многих случаях делает это лучше, чем собственный интерфейс командной строки.
  • Иногда ошибки не всегда передаются обратно из приложения на экран / ide - поэтому вам нужно сделать что-то вроде «adb logcat», чтобы просмотреть полный журнал ошибок, чтобы увидеть ошибку, отфильтрованную интерфейсом командной строки.
  • Собственные сервисы (т.е. фоновые сервисы) --- Это намного лучше написано в виде нативного кода. Среды выполнения NS занимают память во время работы; поэтому сервис, который вам обычно нужен как можно меньше по объему памяти - я бы не использовал ничего, кроме Java / ObjC для фоновой службы.
  • OpenGL на Android должен работать в отдельном потоке, NS по умолчанию переключает вас обратно в основной поток при возврате из любых собственных вызовов; это в основном убивает прямые вызовы NS opengl. Однако в любом случае лучше создавать любой материал OpenGL на Java или Kotlin; а затем попросите NS вызвать ваш собственный код, который обрабатывает весь рендеринг, так что это скорее незначительное раздражение.

Помимо этого, я не могу придумать никаких «реальных» ограничений; у вас есть полный доступ к собственной платформе и вы можете стилизовать любой элемент управления, если знаете, как это делать с помощью собственных вызовов; если по какой-то причине элемент управления не поддерживает обычный стиль css. Я и другие использовали множество библиотек Android и iOS в наших приложениях. Вы можете легко повторно использовать собственные компоненты android / ios, у вас есть полный доступ ко всему, что доступно для собственного приложения iOS или Android.

Вы можете посмотреть https://plugins.nativescript.rocks, где есть список всех плагинов в сообществе NativeScript. .

person Nathanael    schedule 24.10.2016
comment
FWIW, отладка с VS Code довольно хороша. Из того, что я видел, использование того, что включено в CLI, действительно плохо. - person rrjohnson85; 24.10.2016
comment
Отладка iOS намного лучше, чем Android; vsCode тоже неплохо справляется. Однако, когда вы рассматриваете инструменты Android / ObjC или любого другого основного языка, отладка в NS является серьезным ограничением ... - person Nathanael; 24.10.2016
comment
Livesync на Android улучшается, и мы должны увидеть большие улучшения в следующей версии. На данный момент IOS Livesync работает очень быстро. - person Oluwaseye; 21.07.2017
comment
@Oluwaseye - LiveSync имеет странные проблемы на обеих платформах в версии 3.0, просто во многих случаях это не так надежно. Мне часто приходится отключать приложение от устройства и выполнять полную перестройку, чтобы все снова работало. Так что будьте готовы иногда делать полную перестройку. Однако я надеюсь, что они исправят эти проблемы в будущем. В 3.x было много критических изменений, которые еще не были полностью стабилизированы. Кроме того, новые средства отладки на Android сейчас намного лучше, чем то, что я обсуждал в прошлом году. Так что давайте и возьмите. - person Nathanael; 23.07.2017

Я уже некоторое время занимаюсь разработкой с помощью Nativescript, и хотя готовый продукт (приложение) более чем приличный, процесс разработки действительно болезненный. Основная причина этого - частые ошибки в самой платформе Nativescript, и это официальный плагин для VSCode.

В настоящее время я работаю над Nativescript 2.0.0 и пытаюсь обновить его до более новых версий с тех пор, как они вышли, но всегда были некоторые ошибки, эфир с Node или с Gradle для Android, и это лишь один из многих примеров проблем, которые я лицом к платформе. Желаю, чтобы они улучшили его в ближайшем будущем.

person Xoyce    schedule 16.02.2017

На данный момент собственные API-интерфейсы полностью доступны из JS, но если вы хотите, вы можете создать некоторую библиотеку на родных языках и вызывать их также из кода JS, о внешних библиотеках это зависит от того, имеете ли вы в виду собственные библиотеки или JS, но есть довольно много опций / плагинов выполняется в коде JS с использованием некоторых собственных библиотек, но в случае, если не в качестве плагина JS, вы можете сделать это самостоятельно с помощью собственных библиотек

person Marek Maszay    schedule 24.10.2016

Поддержка сообщества невысока по сравнению с другими фреймворками, доступными на рынке. Это должно улучшиться по мере того, как люди принимают структуру. На данный момент я вижу в этом ограничение.

И да, отладка действительно является ограничением.

person selva    schedule 04.11.2016

На мой взгляд, Nativescript - лучшее кроссплатформенное решение, но, как и другие заявленные, могут быть ограничения. Помимо фоновых служб, доступ к оборудованию МОЖЕТ быть немного сложным. Однако я использовал его для работы с устройствами BLE, и как только вы поймете, как взаимодействовать с собственными API-интерфейсами, это не так уж и плохо.

person AzraelPwnz    schedule 30.09.2017

Я написал одно приложение NS (ядро).

Некоторые из минусов:

  • производительность - загрузка, а также время выполнения. Я заменяю собственное приложение Android на приложение NS (потому что это кроссплатформенный), и некоторые клиенты жаловались, что новое приложение работает медленнее и отрывисто ... Я согласен.

  • ошибки в ядре NS. Я думаю, что они слишком разошлись. Им нужно сделать свой основной продукт стабильным и улучшить его (то есть сделать его быстрее).

  • плагины разного качества с минимальной поддержкой. Здесь NS мог курировать несколько важных плагинов и заставлять людей платить за них.

Да, это бесплатно, но для меня это не большая проблема - я бы предпочел заплатить за более совершенный продукт.

В конце концов - продукт работает - разместите мое приложение в магазине приложений и с нетерпением жду будущих улучшений.

person dashman    schedule 30.09.2017