Apache Cordova - Apache Cordova
Оригинальный автор (ы) | Джо Баузер, Майкл Брукс, Роб Эллис, Дэйв Джонсон, Анис Кадри, Брайан Леру, Джесси Макфадьен, Филип Май, Эрик Эстерле, Брок Уиттен, Герман Вонг, Шазрон Абдулла |
---|---|
изначальный выпуск | 2009 |
Стабильный выпуск | |
Написано в | C #, C ++, CSS, HTML, Ява, JavaScript и Цель-C |
Платформа | Android, iOS, OS X, Windows (8.1, Телефон 8.1 и 10), Электрон (программная среда)[4]Устаревшие платформы: Ежевика, ОС Firefox, Symbian, Ubuntu Touch, WebOS, телефон с операционной системой Виндоус 7.0 и 8.0[5] |
Доступно в | английский |
Тип | Фреймворк для мобильной разработки |
Лицензия | Лицензия Apache 2.0[6][7] |
Интернет сайт | Кордова |
Apache Cordova (ранее PhoneGap) это фреймворк для разработки мобильных приложений сделано Нитоби. Adobe Systems приобрела Nitobi в 2011 году, переименовала ее в PhoneGap, а позже выпустила версию программного обеспечения с открытым исходным кодом под названием Apache Cordova.[8] Apache Cordova позволяет программного обеспечения программисты построить гибрид веб-приложения для мобильных устройств, использующих CSS3, HTML5, и JavaScript, вместо того, чтобы полагаться на платформенно-зависимые API как в Android, iOS, или же телефон с операционной системой Виндоус.[9] Это позволяет обертывать код CSS, HTML и JavaScript в зависимости от платформы устройства. Он расширяет возможности HTML и JavaScript для работы с устройством. Полученные в результате приложения являются гибридными, что означает, что они не являются ни по-настоящему родными мобильными приложениями (потому что весь рендеринг макетов выполняется через веб-представления вместо собственной инфраструктуры пользовательского интерфейса платформы), ни чисто веб-приложениями (потому что они не просто веб-приложения, но и упакованы. в качестве приложений для распространения и имеют доступ к собственным API устройств). Смешивание фрагментов нативного и гибридного кода стало возможным с версии 1.9.
Программное обеспечение раньше называлось просто «PhoneGap», а затем «Apache Callback».[10][11] В качестве программное обеспечение с открытым исходным кодом, Apache Cordova позволяет использовать обертки вокруг него, например Appery.io или же Intel XDK.
PhoneGap - это коммерческая версия Adobe Cordova вместе с связанной с ней экосистемой. Многие другие инструменты и фреймворки также созданы на основе Cordova, в том числе Ионный,[12] Монака, VoltBuilder, ТАКО, Пользовательский интерфейс Onsen, Visual Studio, GapDebug, App Builder, Cocoon, Framework7, Квазар Фреймворк, Evothings Studio, NSB / AppStudio, Mobiscroll, Intel XDK,[13] и Платформа Telerik.[14] Эти инструменты используют Cordova, а не PhoneGap в качестве основных инструментов.
Среди участников проекта Apache Cordova: Adobe, Ежевика, Google, IBM, Intel, Microsoft, Mozilla, и другие.[15]
История
Впервые разработан на мероприятии iPhoneDevCamp в Сан-Франциско,[16] PhoneGap выиграл приз зрительских симпатий на O'Reilly Media Конференция Web 2.0 2009 г.,[17] и этот фреймворк использовался для разработки многих приложений.[18] Apple Inc. подтвердил, что структура получила свое одобрение, даже с изменением пункта 3.3.1 лицензионного соглашения разработчика Apple iPhone SDK 4.0, принятого в 2010 году.[19] Платформа PhoneGap используется несколькими платформами мобильных приложений, такими как Монака,[20] appMobi,[21] Конвертиго,[22][23] ViziApps,[24] и Рабочий свет[25][26] в качестве основы их механизма разработки мобильных клиентов.
Adobe официально объявила о приобретении Nitobi Software (первоначального разработчика) 4 октября 2011 года.[27] В соответствии с этим код PhoneGap был добавлен в Фонд программного обеспечения Apache чтобы начать новый проект под названием Apache Cordova. Первоначальное название проекта, Apache Callback, было сочтено слишком общим.[28] Затем он также отображается в Adobe Systems как Adobe PhoneGap а также как Adobe PhoneGap Build.[29] Блог Phonegap показывает более подробную информацию, почему в конечном итоге было выбрано название «Кордова». В нем говорится: «Хотя истории происхождения PhoneGap часто меняются в зависимости от кассира, большинство участников соглашаются, что проект родился в Nitobi, когда офис находился на улице Кордова в Ванкувере».[30][31]
Ранние версии PhoneGap требовали компьютера Apple для создания приложений iOS и компьютера Windows для создания приложений Windows Mobile. После сентября 2012 года служба Adobe PhoneGap Build позволяет программистам загружать CSS, HTML, и JavaScript исходный код в "облако компилятор "который создает приложения для каждой поддерживаемой платформы.[32]
Дизайн и обоснование
Ядро приложения Apache Cordova использует CSS3 и HTML5 для рендеринга и JavaScript для логики. HTML5 предоставляет доступ к базовому оборудованию, такому как акселерометр, камера и GPS. Однако поддержка браузерами доступа к устройствам на основе HTML5 несовместима в мобильных браузерах, особенно в более старых версиях Android. Чтобы преодолеть эти ограничения, Apache Cordova встраивает код HTML5 в собственный WebView на устройстве, используя интерфейс внешней функции для доступа к его собственным ресурсам.[33]
Apache Cordova может быть расширен за счет собственных подключаемых модулей, что позволяет разработчикам добавлять дополнительные функции, которые могут быть вызваны из JavaScript, обеспечивая прямую связь между собственным уровнем и страницей HTML5. Эти плагины обеспечивают доступ к акселерометру устройства, камере, компасу, файловой системе, микрофону и многому другому.
Однако использование веб-технологий приводит к тому, что некоторые приложения Apache Cordova работают медленнее, чем собственные приложения с аналогичной функциональностью.[34] Adobe Systems предупреждает, что приложения, созданные с помощью Apache Cordova, могут быть отклонены яблоко из-за того, что он слишком медленный или недостаточно "родной" (внешний вид и функциональность соответствуют тому, что пользователи ожидают от платформы).[35][36]
Поддерживаемые платформы
Начиная с версии 9, Apache Cordova в настоящее время поддерживает разработку операционные системы яблоко iOS, Google Android, Windows 8.1, Windows Phone 8.1 , Windows 10 и Электрон (программная среда) (который, в свою очередь, работает на Windows, Linux и macOS ). Более ранняя версия Apache Cordova использовалась для поддержки Bada, Ежевика, ОС Firefox,[37][38] LG WebOS, Microsoft телефон с операционной системой Виндоус (7 и 8), Nokia Symbian ОПЕРАЦИОННЫЕ СИСТЕМЫ, Tizen (SDK 2.x) и Ubuntu Touch. В таблице ниже представлен список поддерживаемых функций для каждой операционной системы для Adobe PhoneGap / Apache Cordova 3.[39][40]
Эта статья должна быть обновлено.Февраль 2019 г.) ( |
Особенность | Android[41] | Apple iPhone / iPhone 3G | Apple iPhone 3GS и новее | Bada | BlackBerry 10 и PlayBook OS | BlackBerry OS 4.6–4.7 | BlackBerry OS 5.0-6.0 + | ОС Firefox | Symbian | Tizen | WebOS | Ubuntu Touch | телефон с операционной системой Виндоус |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Акселерометр | да | да | да | да | да | Нет данных | да | да | да | да | да | да | да |
Камера | да | да | да | да | да | Нет данных | да | да | да | да | да | да | да |
Компас | да | Нет данных | да | да | да | Нет данных | Нет данных | да | Нет данных | да | да | да | да |
Контакты | да | да | да | да | да | Нет данных | да | да | да | да | Нет данных | Нет данных | да |
Файл | да | да | да | Нет данных | да | Нет данных | да | Нет данных | Нет данных | да | Нет данных | да | да |
Геолокация | да | да | да | да | да | да | да | да | да | да | да | да | да |
Средства массовой информации | да | да | да | Нет данных | да | Нет данных | Нет данных | Нет данных | Нет данных | да | Нет данных | да | да |
Сеть | да | да | да | да | да | да | да | да | да | да | да | да | да |
Уведомление (оповещение, звук, вибрация) | да | да | да | да | да | да | да | да | да | да | да | да | да |
Место хранения | да | да | да | Нет данных | да | Нет данных | да | да | да | да | да | да | да |
Смотрите также
- Список полнофункциональных фреймворков Интернет-приложений
- Платформа веб-приложений для нескольких телефонов
- Квазар Фреймворк
- Люкс RhoMobile
- Cocos2d
- WinJS
- NativeScript
- Xamarin
- Флаттер
- Appcelerator_Titanium
- VoltBuilder
Рекомендации
- ^ "апач / кордова-кли". GitHub.
- ^ "Кордова". npm.
- ^ «Выпущен Cordova-CLI 9.0.0». cordova.apache.org. Архивировано из оригинал на 2019-04-17. Получено 2019-04-17.
- ^ «Поддержка Cordova платформой - Apache Cordova». cordova.apache.org.
- ^ "апач / кордова". GitHub.
- ^ «Лицензия PhoneGap». Phonegap.com. Получено 2013-10-09.
- ^ «FAQ | PhoneGap Build | Edge Tools & Services | Adobe и HTML». Html.adobe.com. Получено 2013-10-09.
- ^ «Adobe объявляет о соглашении приобрести Nitobi, создателя PhoneGap». Adobe.com. 2011-10-03. Архивировано из оригинал на 2012-04-13. Получено 2012-04-07.
- ^ Хосе Фермосо (5 апреля 2009 г.). «PhoneGap стремится преодолеть разрыв между платформами мобильных приложений». GigaOM. Получено 2012-04-07.
- ^ Сообщество, Тики. "Обратный вызов Apache - Tiki Wiki CMS Groupware :: Разработка". Tiki Wiki CMS Groupware :: Разработка. Архивировано из оригинал 4 апреля 2018 г.. Получено 3 апреля 2018.
- ^ «Предложение обратного вызова Apache». Wiki.phonegap.com. 2013-08-15. Получено 2013-10-09.
- ^ «Последнее слово о Кордове и PhoneGap». Официальный блог Ionic.
- ^ «Intel XDK». Зона разработчиков Intel.
- ^ "Апач Кордова". Apache Cordova.
- ^ "Кто есть кто для авторов Кордовы". apache.org. 2015-11-02. Архивировано из оригинал на 2015-07-16. Получено 2015-11-02.
- ^ Дэррил К. Тафт (13 марта 2009 г.). «PhoneGap упрощает разработку для iPhone, Android и BlackBerry». Eweek.com. Получено 2013-10-09.
- ^ Дэвис, Лидия (2 апреля 2009 г.). "PhoneGap: приз зрительских симпатий на стартовой площадке выставки Web 2.0 Expo". Readwriteweb.com. Получено 2012-04-07.
- ^ «Приложения PhoneGap». Phonegap.com. Получено 2012-12-06.
- ^ «PhoneGap и лицензионное соглашение разработчиков Apple.« PhoneGap ». Phonegap.com. 2010-04-14. Архивировано из оригинал на 2012-04-15. Получено 2012-04-07.
- ^ «Разрабатывайте отличные приложения PhoneGap с помощью отличных инструментов». monaco.mobi. Архивировано из оригинал на 2014-06-20. Получено 2014-06-10.
- ^ «Создавайте мобильные и веб-приложения с помощью HTML5 и JavaScript |». appMobi.com. Получено 2012-04-07.
- ^ «Мобильные приложения с открытым исходным кодом и корпоративные гибридные приложения». Convertigo. Получено 2012-04-07.
- ^ «Convertigo Mobilizer использует API сборки PhoneGap« PhoneGap ». Phonegap.com. 2011-07-07. Архивировано из оригинал на 2012-05-13. Получено 2012-04-07.
- ^ «Создавайте мобильные и веб-приложения с помощью HTML5 и JavaScript». ViziApps.com. Получено 2012-04-07.
- ^ «Платформа и инструменты для мобильных приложений». Рабочий свет. 2012-01-16. Архивировано из оригинал на 2012-04-19. Получено 2012-04-07.
- ^ «Как PhoneGap играет важную роль в нашем предприятии, предлагающем PhoneGap». Phonegap.com. 2011-06-27. Архивировано из оригинал на 2012-04-15. Получено 2012-04-07.
- ^ Шенкленд, Стивен (2011-10-03). «Adobe покупает PhoneGap, TypeKit для улучшения веб-инструментов | Deep Tech - CNET News». News.cnet.com. Получено 2012-04-07.
- ^ "поиск нового имени, которое не является PhoneGap - Брайан Леру - org.apache.incubator.callback-dev". MarkMail. 2011-10-28. Получено 2012-04-07.
- ^ «Adobe PhoneGap Build». Adobe Systems Inc.
- ^ Команда, PhoneGap (16.02.2017). "PhoneGap, Кордова, а что в имени?". Середина. Получено 2019-11-10.
- ^ «Нитоби в Ванкувере, Британская Колумбия». www.fyple.ca. Получено 2019-11-10.
- ^ Клинт Финли.«Adobe запускает размещенную службу сборки PhoneGap для создания кроссплатформенных мобильных приложений».2012.
- ^ «Разработка мобильных приложений с использованием HTML5 и PhoneGap на платформах на базе архитектуры Intel». 2012-06-22. Получено 2013-02-17.
Однако у HTML5 есть некоторые ограничения. Наиболее заметным является отсутствие API для доступа к оборудованию устройства и датчикам, таким как акселерометр, компас, GPS и т. Д. Хотя собственные приложения могут получать доступ к оборудованию устройства, им не хватает переносимости, которую обеспечивают веб-приложения. Таким образом, решением является кодирование гибридного приложения, которое в совокупности использует преимущества собственных и веб-приложений.
- ^ Сапан Дивакар (21.06.2012). "Titanium vs Phonegap vs Разработка собственных приложений". Получено 2013-02-17.
- ^ «Рекомендации PhoneGap по работе с отклонениями приложений Apple». Adobe Systems. 2012-10-29. Получено 2013-02-17.
- ^ «Создание приложений с помощью PhoneGap: извлеченные уроки». Adobe Systems. 2012-09-17. Архивировано из оригинал на 2013-05-18. Получено 2013-02-17.
Однако когда вы добавляете более сложные элементы CSS3, тяжелые переходы и поддерживаете несколько устройств (таких как iOS и Android), вы понимаете, что есть несколько шагов, которые вы должны сгладить, чтобы предотвратить выпадение волос.
- ^ «Создание приложений Cordova для Firefox OS ✩ Mozilla Hacks - блог веб-разработчиков». 20 февраля 2014 г.. Получено 26 февраля 2014.
- ^ «Использование PhoneGap и Sony Ericsson WebSDK для разработки приложений для Android». Android и я. Получено 2012-04-07.
- ^ «Поддержка платформы». Adobe PhoneGap. Получено 2016-02-23.
- ^ «Функции, поддерживаемые PhoneGap». Phonegap.com. Получено 2013-10-09.
- ^ «Руководство по платформе Android - Apache Cordova». cordova.apache.org. Получено 3 апреля 2018.
Библиография
- Пеллетье, Джефф (25 апреля 2013 г.). Руководство по мобильному приложению: план (1-е изд.). Издательство Withinsight. п. 96. ISBN 978-0989072106.
- Шоттс, Керри (26 февраля 2013 г.). Обзор разработки мобильных приложений PhoneGap 2.x (1-е изд.). Packt Publishing. п. 388. ISBN 978-1849519403.
- Гиффорд, Мэтт (22 октября 2012 г.). Поваренная книга по разработке мобильных приложений PhoneGap (1-е изд.). Packt Publishing. п. 320. ISBN 978-1849518581.
- М. Варго, Джон (11 июня 2012 г.). PhoneGap Essentials: создание кроссплатформенных мобильных приложений (1-е изд.). Эддисон-Уэсли Профессионал. п. 384. ISBN 978-0321814296. Архивировано из оригинал 3 апреля 2015 г.. Получено 29 июня, 2012.
- Манро, Джейми (29 марта 2012 г.). 20 рецептов программирования PhoneGap: кроссплатформенная мобильная разработка для Android и iPhone (1-е изд.). O'Reilly Media. п. 76. ISBN 978-1-4493-1954-0.
- Мариначчи, Джошуа (21 марта 2012 г.). Создание мобильных приложений на Java: использование Google Web Toolkit и PhoneGap (1-е изд.). O'Reilly Media. п. 86. ISBN 978-1-4493-0823-0.
- Ланни, Эндрю (23 сентября 2011 г.). Руководство для начинающих по PhoneGap (1-е изд.). Packt Publishing. п. 328. ISBN 978-1-84951-536-8.
- Гхатол, Рохит (14 ноября 2011 г.). Начало PhoneGap: мобильная веб-платформа для JavaScript и HTML5 (1-е изд.). Apress. п. 700. ISBN 978-1-4302-3903-1.
- Майер, Томас (13 декабря 2011 г.). Начало PhoneGap (1-е изд.). Wrox. п. 336. ISBN 978-1-118-15665-0. Архивировано из оригинал 4 июня 2015 г.. Получено 10 октября, 2011.