Apache Cordova - Apache Cordova

Apache Cordova
Apache Cordova Logo.svg
Оригинальный автор (ы)Джо Баузер, Майкл Брукс, Роб Эллис, Дэйв Джонсон, Анис Кадри, Брайан Леру, Джесси Макфадьен, Филип Май, Эрик Эстерле, Брок Уиттен, Герман Вонг, Шазрон Абдулла
изначальный выпуск2009; 11 лет назад (2009)
Стабильный выпуск
10.0.0 / 4 августа 2020 г. (2020-08-04)[1][2][3]
Написано в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.org

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]

ОсобенностьAndroid[41]Apple iPhone / iPhone 3GApple iPhone 3GS и новееBadaBlackBerry 10 и PlayBook OSBlackBerry OS 4.6–4.7BlackBerry OS 5.0-6.0 +ОС FirefoxSymbianTizenWebOSUbuntu Touchтелефон с операционной системой Виндоус
АкселерометрдададададаНет данныхдадададададада
КамерадададададаНет данныхдадададададада
КомпасдаНет данныхдададаНет данныхНет данныхдаНет данныхдададада
КонтактыдададададаНет данныхдадададаНет данныхНет данныхда
ФайлдададаНет данныхдаНет данныхдаНет данныхНет данныхдаНет данныхдада
Геолокациядадададададададададададада
Средства массовой информациидададаНет данныхдаНет данныхНет данныхНет данныхНет данныхдаНет данныхдада
Сетьдадададададададададададада
Уведомление (оповещение, звук, вибрация)дадададададададададададада
Место хранениядададаНет данныхдаНет данныхдадададададада

Смотрите также

Рекомендации

  1. ^ "апач / кордова-кли". GitHub.
  2. ^ "Кордова". npm.
  3. ^ «Выпущен Cordova-CLI 9.0.0». cordova.apache.org. Архивировано из оригинал на 2019-04-17. Получено 2019-04-17.
  4. ^ «Поддержка Cordova платформой - Apache Cordova». cordova.apache.org.
  5. ^ "апач / кордова". GitHub.
  6. ^ «Лицензия PhoneGap». Phonegap.com. Получено 2013-10-09.
  7. ^ «FAQ | PhoneGap Build | Edge Tools & Services | Adobe и HTML». Html.adobe.com. Получено 2013-10-09.
  8. ^ «Adobe объявляет о соглашении приобрести Nitobi, создателя PhoneGap». Adobe.com. 2011-10-03. Архивировано из оригинал на 2012-04-13. Получено 2012-04-07.
  9. ^ Хосе Фермосо (5 апреля 2009 г.). «PhoneGap стремится преодолеть разрыв между платформами мобильных приложений». GigaOM. Получено 2012-04-07.
  10. ^ Сообщество, Тики. "Обратный вызов Apache - Tiki Wiki CMS Groupware :: Разработка". Tiki Wiki CMS Groupware :: Разработка. Архивировано из оригинал 4 апреля 2018 г.. Получено 3 апреля 2018.
  11. ^ «Предложение обратного вызова Apache». Wiki.phonegap.com. 2013-08-15. Получено 2013-10-09.
  12. ^ «Последнее слово о Кордове и PhoneGap». Официальный блог Ionic.
  13. ^ «Intel XDK». Зона разработчиков Intel.
  14. ^ "Апач Кордова". Apache Cordova.
  15. ^ "Кто есть кто для авторов Кордовы". apache.org. 2015-11-02. Архивировано из оригинал на 2015-07-16. Получено 2015-11-02.
  16. ^ Дэррил К. Тафт (13 марта 2009 г.). «PhoneGap упрощает разработку для iPhone, Android и BlackBerry». Eweek.com. Получено 2013-10-09.
  17. ^ Дэвис, Лидия (2 апреля 2009 г.). "PhoneGap: приз зрительских симпатий на стартовой площадке выставки Web 2.0 Expo". Readwriteweb.com. Получено 2012-04-07.
  18. ^ «Приложения PhoneGap». Phonegap.com. Получено 2012-12-06.
  19. ^ «PhoneGap и лицензионное соглашение разработчиков Apple.« PhoneGap ». Phonegap.com. 2010-04-14. Архивировано из оригинал на 2012-04-15. Получено 2012-04-07.
  20. ^ «Разрабатывайте отличные приложения PhoneGap с помощью отличных инструментов». monaco.mobi. Архивировано из оригинал на 2014-06-20. Получено 2014-06-10.
  21. ^ «Создавайте мобильные и веб-приложения с помощью HTML5 и JavaScript |». appMobi.com. Получено 2012-04-07.
  22. ^ «Мобильные приложения с открытым исходным кодом и корпоративные гибридные приложения». Convertigo. Получено 2012-04-07.
  23. ^ «Convertigo Mobilizer использует API сборки PhoneGap« PhoneGap ». Phonegap.com. 2011-07-07. Архивировано из оригинал на 2012-05-13. Получено 2012-04-07.
  24. ^ «Создавайте мобильные и веб-приложения с помощью HTML5 и JavaScript». ViziApps.com. Получено 2012-04-07.
  25. ^ «Платформа и инструменты для мобильных приложений». Рабочий свет. 2012-01-16. Архивировано из оригинал на 2012-04-19. Получено 2012-04-07.
  26. ^ «Как PhoneGap играет важную роль в нашем предприятии, предлагающем PhoneGap». Phonegap.com. 2011-06-27. Архивировано из оригинал на 2012-04-15. Получено 2012-04-07.
  27. ^ Шенкленд, Стивен (2011-10-03). «Adobe покупает PhoneGap, TypeKit для улучшения веб-инструментов | Deep Tech - CNET News». News.cnet.com. Получено 2012-04-07.
  28. ^ "поиск нового имени, которое не является PhoneGap - Брайан Леру - org.apache.incubator.callback-dev". MarkMail. 2011-10-28. Получено 2012-04-07.
  29. ^ «Adobe PhoneGap Build». Adobe Systems Inc.
  30. ^ Команда, PhoneGap (16.02.2017). "PhoneGap, Кордова, а что в имени?". Середина. Получено 2019-11-10.
  31. ^ «Нитоби в Ванкувере, Британская Колумбия». www.fyple.ca. Получено 2019-11-10.
  32. ^ Клинт Финли.«Adobe запускает размещенную службу сборки PhoneGap для создания кроссплатформенных мобильных приложений».2012.
  33. ^ «Разработка мобильных приложений с использованием HTML5 и PhoneGap на платформах на базе архитектуры Intel». 2012-06-22. Получено 2013-02-17. Однако у HTML5 есть некоторые ограничения. Наиболее заметным является отсутствие API для доступа к оборудованию устройства и датчикам, таким как акселерометр, компас, GPS и т. Д. Хотя собственные приложения могут получать доступ к оборудованию устройства, им не хватает переносимости, которую обеспечивают веб-приложения. Таким образом, решением является кодирование гибридного приложения, которое в совокупности использует преимущества собственных и веб-приложений.
  34. ^ Сапан Дивакар (21.06.2012). "Titanium vs Phonegap vs Разработка собственных приложений". Получено 2013-02-17.
  35. ^ «Рекомендации PhoneGap по работе с отклонениями приложений Apple». Adobe Systems. 2012-10-29. Получено 2013-02-17.
  36. ^ «Создание приложений с помощью PhoneGap: извлеченные уроки». Adobe Systems. 2012-09-17. Архивировано из оригинал на 2013-05-18. Получено 2013-02-17. Однако когда вы добавляете более сложные элементы CSS3, тяжелые переходы и поддерживаете несколько устройств (таких как iOS и Android), вы понимаете, что есть несколько шагов, которые вы должны сгладить, чтобы предотвратить выпадение волос.
  37. ^ «Создание приложений Cordova для Firefox OS ✩ Mozilla Hacks - блог веб-разработчиков». 20 февраля 2014 г.. Получено 26 февраля 2014.
  38. ^ «Использование PhoneGap и Sony Ericsson WebSDK для разработки приложений для Android». Android и я. Получено 2012-04-07.
  39. ^ «Поддержка платформы». Adobe PhoneGap. Получено 2016-02-23.
  40. ^ «Функции, поддерживаемые PhoneGap». Phonegap.com. Получено 2013-10-09.
  41. ^ «Руководство по платформе Android - Apache Cordova». cordova.apache.org. Получено 3 апреля 2018.

Библиография

внешняя ссылка