В этот праздничный сезон мы хотели бы поделиться с вами некоторыми работами, которые мы проделали. Это первая часть серии из трех частей: приложения для кодирования с PhoneGap и AngularJS для кросс-платформенной разработки. Эти советы помогут вам избежать распространенных ошибок при разработке мобильных приложений. Мы расскажем о хорошем настроении в следующем посте с более подробными фрагментами кода (в том числе для директив, представлений и т. Д.) Для PhoneGap и Angular. Возвращайтесь в ближайшее время, чтобы не пропустить эти праздничные вкусности.
PhoneGap
PhoneGap — это хорошо известная инфраструктура для создания многоплатформенных мобильных приложений с использованием веб-технологий (HTML, JavaScript и CSS). Одностраничная архитектура (SPA) для приложения PhoneGap обладает значительными преимуществами, такими как упрощение поддержки глобального контекста. Асинхронные вызовы лучше обрабатываются с использованием такого глобального контекста. Поэтому переходы между переключениями экрана выполняются путем замены видов и, следовательно, выполняются намного быстрее.
AngularJS
AngularJS — это клиентский MVC, ставший выдающейся средой для SPA. AngularJS обеспечивает двустороннюю привязку данных между представлениями и моделями, а также маршрутизацию представления с использованием ‘ngRoute’ . Вы можете легко анимировать действия приложения, такие как переходы просмотра, используя ‘ngAnimate’ .
PhoneGap с AngularJS
Объединение PhoneGap и AngularJS для мобильных приложений кажется естественным, особенно с учетом того, что AngularJS может улучшить взаимодействие с Angular Touch . Например, PhoneGap взаимодействует с возможностями мобильного устройства, такими как местоположение GPS, с помощью плагинов. ngCordova представляет собой набор расширений AngularJS поверх API PhoneGap, которые облегчают создание приложений PhoneGap с AngularJS.
Архитектура
После объединения нескольких проектов была разработана общая структура приложения PhoneGap с использованием AngularJS и ngCordova.
Структура папок www:
js app.js directives.js controllers.js services.js filters.js partials topbar.html bottombar.html sass style.scss css style.css img view1 img11.png img12.png ... view2 ... ... views view1 view1.js view1.html view2 view2.js view2.html ... index.html bower.json
Чтобы не загромождать папки ‘views’ и ‘img’, делите их в соответствии по экранам.
Рамки
Как описано выше, вы будете использовать AngularJS, ngRoute, ngAnimate, ngCordova и Angular Touch.
UX Frameworks
В наших предыдущих проектах мы использовали Foundation , но вместо этого можно использовать Bootstrap . Мы также использовали Font Awesome для обычных значков и угловую полосу загрузки, чтобы автоматически отображать счетчик и индикатор выполнения, подключившись к «$ http».
Полезные инструменты разработки
Чтобы упростить разработку, мы использовали Bower для включения зависимостей JavaScript и Sass для генерации CSS. Для получения дополнительной информации см. Этот пост: Полезные инструменты для приложений PhoneGap .
Беседка
Вот полезный ‘bower.json’, включающий все вышеперечисленные фреймворки. Это также включает в себя другие, которые будут подробно описаны в последующей записи
{ "name": "myHybrid", "description": "PhoneGap mobile App", "version": "1.0.0", "homepage": "http://yoramkornatzky.com", "license": "MIT", "private": true, "dependencies": { "angular": "latest", "angular-route": "latest", "angular-animate": "latest", "angular-touch": "latest", "ngCordova": "latest", "ngstorage": "latest", "taffydb": "latest", "foundation": "latest", "fontawesome": "latest", "angular-loading-bar": "latest", "underscore.number": "latest", "underscore": "latest", "underscore.string": "latest", "validator-js": "latest" } }
Приложение AngularJS
Приложение имеет стандартную структуру AngularJS:
angular.module('myApp', [ 'ngRoute', 'ngCordova', 'ngTouch', 'angular-loading-bar', 'myApp.view1', 'myApp.view2', 'myApp.filters', 'myApp.controllers', 'myApp.services', 'myApp.directives' ]). config(['$routeProvider', function($routeProvider) { $routeProvider.otherwise({redirectTo: '/entrance'}); }]);
Начальная загрузка приложения
Подключившись к событию «deviceReady», вы загружаете приложение:
var onDeviceReady = function() { console.log("onDeviceReady"); angular.bootstrap(document, ['myApp']); }; document.addEventListener('deviceready', onDeviceReady);
Не используйте ng-app !!!
Единственная страница
Единственный index.html включает необходимые файлы стандартным способом AngularJS.
Создайте свое приложение Angular и подключите его к любой базе данных с помощью Backand уже сегодня. — Начни сейчас.