Ionic native

Лучшие мобильные приложения используют все доступное им преимущество нативной разработки на iOS и Android устройствах. Будь то фотосъемка, подключение устройства по bluetooth, использование акселерометра или аутентификация по отпечатку пальца - приложения должны уметь все.

Одно из величайших заблуждений о Cordova/PhoneGap заключается в том, что у них нет доступа к возможностям SDK, которые имеет нативное приложение. К слову, это не так, однако заблуждение настолько распространено, что мы приложили немало усилий к проектам и документации, чтобы показать Ionic разработчикам, что им уже доступна вся мощь нативного SDK.

Одной из причин такого заблуждения может быть отсутствие центрального репозитория для всех доступных нативных плагинов, которые Ionic/Cordova/Phonegap разработчики могут использовать в проекте. Довольно утомительно искать нужный плагин, когда они разрбросаны по npm и на GitHub.

Скажи привет Ionic Native!

Несколько месяцев назад мы запустили Ionic Native для того, чтобы решить проблему поиска нужных нативных Cordova плагинов для ваших приложений и сделать их проще в использовании и последовательными в своих API. В связи с этим, Ionic Native оборачивает каждый поддерживаемый плагин простыми TypeScript декораторами, которые добавляют поддержку Promise, Observable и Typing плагинам, которые ранее их не имели. Дополнительно Ionic Native делает каждый плагин доступным в качестве модуля, которым может быть импортирован в любой TypeScript или ES6+ проект, а так же каждый плагин предоставляет последовательный API и именуется по соглашению, во избежание присутствия плагинов в window, navigator или еще какой-то области видимости.

И наконец, Ionic Native поставляется с некоторыми приятными функциями отладки, чтобы помочь вам быстро понять, когда плагин был использован, но не установлен или когда объект Cordova не доступен:

Сегодня мы рады представить вам последнюю версиюю проекта, Ionic Native 1.3.9. Огромное спасибо Ибрагиму Хадиду, который дефакто стал ведущим проекта, за выход этого релиза. С его помощью проект вырос из каких-то 10 плагинов до уже почти 75 на сегодняшний день. Как ngCordova, так и Ionic Native стали крупными благодяра усилиям комьюнити и мы очень благодарны за невероятный вклад Ибрагима в этот проект.

Уходя от ngCordova

Для тех, кто использовал наш похожий проект для Angular 1 - ngCordova - пришло время с ним попрощаться. Ionic Native 1.3.0 из коробки уже полностью поддерживается в Angular 1 с практически идентичными сервисами и именованием API, как в ngCordova. Поддержка плагинов теперь на равне или даже лучше, чем было в ngCordova. Так же Ionic Native встроен во все новые Ionic 2 проекты, поэтому использование плагинов должно быть чаще, чем с ngCordova. Хочется отметить, что ngCordova был привязан к Angular 1, но Ionic Native независим от использованного фреймворка.

Чтобы начать использовать Ionic Native в Ionic 1 проектах, включите пакет в последний релиз и измените импорт с window на ionic.native. Большинство обращений к API должны Просто Работать, но все равно обратитесь к документации за последними изменениями. Вам так же придется добавить префикс $cordova к каждому классу перед его внедрением и вызовом, например: $cordovaCamera.

Забегая вперед

Одной из выраженных целей PhoneGap было обращение к нативной функциональности, как если бы это было просто Web API, а затем и вовсе избавление от нативного кода, когда Web API научится делать то же самое. С ростом нативной функциональности становится понятно, что веб-браузерам предстоит еще много работы, чтобы иметь тот же набор возможностей, что есть у разработчиков нативных приложений. Такие проекты, как PhoneGap и Cordova сейчас наиболее важны, чем когда-либо, т.к. они позволяют быстро и качественно разрабатывать приложения на базе веб-технологий, которые мы так любим, предлагая тот же нативный SDK, необходимый разработчикам.

В Ionic наша цель продолжать развивать эту невероятную экосистему, в рамках курирования проектов наподобие Ionic Native, а так же с помощью разработки наших собственных Cordova плагинов, последний из которых Deeplinking плагин.

Мы надеемся вам нравится Ionic Native и вы находите его полезным. Дайте знать, что вы о нем думаете, а так же ставьте нам звезды в GitHub репозитории Ionic Native. Так же читайте новую документацию по Ionic Native для полного спектра доступной нативной магии.

Перевод статьи "Ionic Native: Native Powers for Your App" из блога Ionic