- Да
- Единственный код, который вы должны переписать это устройство-специфический код для доступа к определенным аппаратные функции, которые в настоящее время не имеется, так называемый, пользовательский плагин. В Кордове уже много плагинов, например плагин SMS (не уверен в телефоне, но я ожидаю, что он будет существовать.) Вы можете использовать мобильную инфраструктуру, такую как Dojo Mobile или JQuery Mobile, которая автоматически настраивает и изменяет элементы пользовательского интерфейса в соответствии с элементами пользовательского интерфейса устройства. Я думаю, что использование одной из этих фреймворков в основном является требованием создания гибридного приложения.
- Правильно, но каждый API имеет немного другой уровень поддержки среди всех платформ.
- Да, точка Кордовы позволяет вам получить доступ к функциям устройства через JavaScript. В противном случае, чтобы получить доступ к функциональным возможностям оборудования, вам нужно будет написать собственное приложение.
- Да, если плагин не существует или не поддерживает вашу платформу, вам придется либо создать, либо расширить плагин.
- Плагин-репо разделяется платформой, иногда люди пишут плагины, охватывающие несколько платформ (было бы хорошо, если бы они всегда это делали, но обычно люди только пишут плагины для необходимой им платформы). Так что да, вам, вероятно, понадобится напишите их.
Я думаю, что мы находимся в точке, где развиваются веб-технологии, а браузеры на телефонах достаточно мощные, где нативная производительность на самом деле не будет больше, чем гибридная производительность. Конечно, есть, вероятно, некоторые исключения, но I think Fastbook proved HTML5 apps can perform equally well as native.
Вы должны выбрать Phonegap/Cordova над native, если вы хотите настроить таргетинг на несколько мобильных ОС без изучения Java, C# и других собственных технологий. Некоторые другие преимущества, которые он предоставляет, - это одна базовая база HTML-кода (простая в обслуживании) и упаковка вашего webapp в качестве родной (простое распространение в магазинах приложений). Однако, если у вас есть очень специфические потребности в функциональных возможностях, которые не поддерживаются Cordova или плагинов, тогда вам все равно придется изучать эти родные языки. В этот момент, и если вы ориентируетесь только на одну операционную систему (например, на Windows Mobile), возможно, вероятно, имеет смысл просто сделать все приложение на родном языке. Однако я не думаю, что кто-то должен ориентироваться на одну операционную систему; в будущем подтвердите свое приложение, написав его в HTML5/JavaScript, а затем используйте Кордову, чтобы опубликовать его в каждой операционной системе.