《中级前端5.6》AngularJS 之移动 APP 开发——Ionic,cordova,phonegap
在这个移动 APP 和移动设备呈爆炸式增长的大环境下,原先的 Web 开发者变得廉价,为了改变这一现状,现在我们可以通过 HTML,JavaScript 和 CSS 迅速开发出一个兼容 Android 和 iOS 的 APP。本课程讲解如何来使用高性能的移动 Web 框架 ionic 和 中间件 Cordova。
核心内容: 1.Ionic 的简介; 2.Cordova 的简介; 3.开发环境的搭建; 4.联系人 APP 的开发
Ionic 简介
Ionics是一款接近原生的Html5移动App开发框架,可以让我们用(html css js)web技术创建夸平台的移动APP。
优点:漂亮的界面,追求性能,专注原生,免费开元;
性能: 操作最少的 DOM,非 jQuery,和硬件加速过渡,让您感觉到用html5开发的app也可以飞起来。
完美融合:融合AngularJS引擎,下一代移动端解决方案。
命令行:只需要一个命令行"npm install -g ionic"就可以创建,构建,测试,部署你的应用程序在任何平台上。
文档完善,会html css js和angularjs,就可以用ionic开发跨平台的移动app
相对于Sencha Touch和jQueryMobile,Ionics的性能优势明显,在android上也不卡。而且Ionic是基于Angularjs的,MVVM也很适合团队大型项目
官方文档:http://ionicframework.com/docs/
css组件:http://ionicframework.com/docs/components/
js组件:http://ionicframework.com/docs/api/
国外官网卡的话就翻下墙吧,用360极速浏览器里的“快线”插件,注册一个账号就能用一天;或者用代理软件proxy999,都是免费的。
下面我们通过一段代码来看看Ionic到底长什么样,怎么用:
1 <html ng-app="ionicApp"> 2 <head> 3 <meta charset="utf-8"> 4 <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> 5 <title>菜鸟教程(runoob.com)</title> 6 <link href="http://www.runoob.com/static/ionic/css/ionic.min.css" rel="stylesheet"> 7 <script src="http://www.runoob.com/static/ionic/js/ionic.bundle.min.js"></script> 8 <script type="text/javascript"> 9 angular.module('ionicApp', ['ionic']) 10 11 .controller('MyCtrl', function($scope) { 12 13 }); 14 </script> 15 <style> 16 body { 17 cursor: url('http://www.runoob.com/static/img/finger.png'), auto; 18 } 19 </style> 20 </head> 21 <body ng-controller="MyCtrl"> 22 23 <ion-header-bar class="bar-positive"> 24 <h1 class="title">Hello World!</h1> 25 </ion-header-bar> 26 27 <ion-content> 28 <p>我的第一个 ionic 应用。</p> 29 </ion-content> 30 31 </body> 32 </html>
里面的ionic文件可以去github或者它的官网下载。下载后的文件有三个目录 css,font,js
js里边就包含了angularjs以及ionic的js。上面例子我们用一个捆绑的js文件,可以实现所有ionic的东西。
我们看到上面的例子和我们之前做的AngularJS的代码非常相似。
不同之处:angular.module中的app后面又加了一个'ionic'参数,作用是引入ionic框架。
hmtl部分,用了很多ionic自定义的html组件, 这个其实就是angularjs的directive封装出来的。 很多的样式和效果,我们都可以在ionic的官网看,就不多说了。
我们尝试一下:
1 .controller('MyCtrl', function($scope) { 2 $scope.unum = 800; 3 });
<p>我的第{{unum}}个 ionic 应用。</p>
看,跟我们AngularJS中学的一样
所以ionic就是一个界面的库。所有的程序代码还是angularjs那样的。
如果要做成app并且实现一些手机原声的功能,如拍照等,就需要用到我们下面要介绍的Cordova了,也就是PhoneGap
Cordova 简介
Cordova是PhoneGap的一个项目,是一个第三方平台,可以把html5类网页版的应用打包成通用于各个手机平台的APP。
Cordova可以使程序调用大部分手机原生的功能。
AngularJS团队把Cordova常用的组件都封装成了一个AngularJS的Directive组件,可以直接使用。http://ngcordova.com/docs/plugins/
Action Sheet Example:
module.controller('ThisCtrl', function($cordovaActionSheet) {
var options = {
title: 'What do you want with this image?',
buttonLabels: ['Share via Facebook', 'Share via Twitter'],
addCancelButtonWithLabel: 'Cancel',
androidEnableCancelButton : true,
winphoneEnableCancelButton : true,
addDestructiveButtonWithLabel : 'Delete it'
};
document.addEventListener("deviceready", function () {
$cordovaActionSheet.show(options)
.then(function(btnIndex) {
var index = btnIndex;
});
}, false);
});

开发环境的搭建
本课时讲解 AngularJS+Ionic+Cordova 开发环境的搭建。

浙公网安备 33010602011771号