2017-02-20 1 views
0

Я пытаюсь выяснить, как Apache Cordova & Ionic Framework Работа?Как Apache Cordova и ионные каркасы взаимодействуют в основном?

Я искал по всему интернету, и все, что я получаю, это обертка HTML/CSS/JS и он использует родной веб-просмотра взаимодействовать с носителями функции. Но вы по-прежнему развертываете native-ly. (Это означает, что .apk для Android , например)

Но, что меня интересует это

  • Является ли Apache Cordova и Ионные Framework полностью написан на JavaScript?
  • Как они взаимодействуют с родной мобильной платформой?
  • Содержит ли cordova/ionic файл с расширением .apk до посредником между собственным веб-представлением и исходным кодом?

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

Спасибо.

ответ

3

Apache Cordova обеспечивает базовое родное приложение, ответственное за:.

  • Показан с WebView (UIWebkit по умолчанию для прошивки, но вы можете переключиться на WKWebkit используя плагина для Android, в «Android браузера» WebView используется до Android 4.4. С Android 5 (API 21) веб-просмотр - это в основном Chrome для Android).
  • Разрешение JavaScript работает в этом веб-браузере, чтобы «вызвать» (выполнить) собственный код благодаря Cordova plugins. Это возможно, потому что системные Webviews могут взаимодействовать с собственным кодом.

Ionic Framework (v1) выполнен из HTML, JavaScript и CSS (v2 разработан в TypeScript, который является типизированным надмножеством JavaScript). Версия 1 полагается на AngularJS как интерфейсную среду JavaScript и помогает разработчикам писать «родные» webapps, предоставляя такие функции, как управление жестов, бесконечная прокрутка, макеты (меню, вкладки, списки ...) и т. Д. Версия 2 полагается на Угловой 2 и предоставляет дополнительные компоненты (выбор даты, панель разделения ...) и функции (Ionic Native, JavaScript API, который имеет тенденцию «стандартизировать» способ использования Cordova плагинов).

Ионный может использоваться без Кордовы, если вы просто хотите создать веб-приложение (это все еще HTML, JavaScript и CSS). Кордова позволяет помещать это веб-приложение в родную оболочку. Когда гибридное приложение (Cordova, плагины, которые вы установили, и ваше веб-приложение) связано в .ipa или .apk, коды html/javascript/css перемещаются в определенную папку, где Cordova рассчитывает найти индекс. html (по умолчанию) для загрузки в Webview.

PS: Мой английский не совершенен, но я был бы рад дать более подробную информацию, если точка не ясна.


EDIT:

Пожалуйста, вы можете ответить на мои конкретные вопросы в моем посте?

Уверенный!

  • Apache Кордова состоит из JavaScript и родного кода. См. Проекты типа cordova-android (JavaScript + Java), cordova-ios (JavaScript + Objective-C). Каждая мобильная операционная система имеет специальную «платформу». Когда вы начинаете новый проект Кордовы, большую часть времени, первая операция, которую вы делаете, это cordova platform add <platform> (iOS, Android ...). Это загружаемые коды. Ionic Framework - это «чистая веб-структура», созданная из HTML, JavaScript и CSS.

  • Apache Cordova взаимодействует с родной мобильной платформой как с любым родным приложением: с использованием системных API. Веб-просмотр может взаимодействовать как с вашим веб-приложением (конечно), так и с собственным кодом благодаря специально разработанным платформой «мостам» (это позволяет встроенный в кордову-андроид, кордово-иос, кордова-окна собственный код). Вы должны написать плагин, чтобы вызвать собственный код из вашего JavaScript. Для Android он состоит в расширении класса CordovaPlugin и переопределении метода execute (например: cordova-plugin-splashscreen).

  • .apk (Android) или .ipa (IOS), порожденная cordova build (если вы используете cordova-cli) собирает вместе как родную оболочку (Cordova-андроид для Android, Cordova-ИОС для IOS) и ваши WebApp. При запуске основное действие/представление Кордовы создается, загружает webview, который сам загружает ваш webapp.

+0

Yup, см. Мое Редактирование и дайте мне знать, если это яснее. – VinceOPS

+0

Спасибо, что это отличная информация. Последний вопрос, я установил кордову, используя npm, но я не вижу никаких «native» исполняемых файлов (dll), я вижу только кучу javascripts. Где он находится на окнах? –

+0

@ ZammyPage CLI cordova написан на JavaScript, поэтому вы не найдете исполняемого файла. Node.js отвечает за выполнение этого кода javascript :). – VinceOPS

Смежные вопросы