C1、如何在Mac和Windows上搭建ionic开发框架

这是我写的一系列文章中的第一篇关于如何利用Web开发技术为iOS和Android系统构建混合应用程序(Hybrid App)

毫无疑问,用户在移动应用上花费了比浏览器上更多的时间。考虑到这一点,制作一款属于你自己的apps就成为了机会。但是如何开始呢?能不能利用一些你已经掌握的开发技术呢?直到目前,如果你想要为目前最流行的两款手机操作系统(iOS和Android)制作一款移动应用。一种方法是通过利用不同系统相应的SDK制作原生的App,这种方式意味着你需要为两个不同系统制作两款不同版本的应用程序。如果你是一个独立开发者,你可能不会对两种开发技术都很熟练。

有时,开发者会选择iOS或者Android中的其中一种,然而大的公司一般有两个开发部门,一个部门对应一个系统平台。现在,通过利用ionic框架(或者其他诸如PhoneGap,MUI,Bootstrap,OnsenUI,Famo.us等框架)和已经掌握的开发技术你可以只制作一套代码库,通过不同的打包方式打包成App发布在iOS和Android 市场上(App store和安卓市场)。

制作移动应用(app)的方法

有三种方式可以为手机制作移动应用:

-原生应用(Native app)

-手机网站(Mobile website)

-混合应用(Hybrid app)

原生应用(Native APP)

如上述,你可以根据不同系统平台指定SDK制作对应系统平台下的移动应用,如果你想要为iOS系统创建一款应用,你需要:

拥有一台苹果Mac电脑,当然其他方法也可以,但是我不推荐。作为初学者,一台廉价的Mac Mimi就可以了。

从App store下载Xcode

购买苹果开发者许可证(Apple Developer license)99刀¥一年(如果你想要在App store上发布应用)

你可以利用Swift语言或者它的前辈ObjectiveC语言创建App,Swift 语言在沉重的ObjectiveC语言上做出了巨大改进,如果你决定开发原生app,相比利用ObjectiveC开发原生app,Swift更容易上手,特别是当你有Web开发的背景时。    

如果你想要为Android系统创建一款原生应用,你需要:

拥有一台电脑

下载合适的SDKs(后面将会讲到)

购买谷歌开发者许可证(Google Developer license)25刀¥(如果你想要在Google Play Store上发布应用)

利用原生开发技术开发的应用具有速度快和直接利用原生API的优势(你不需要像开发混合应用一样【Hybrid App】作任何中间封装),缺点是,你需要为不同手机系统平台开发不同版本的移动应用。(撰写多套代码)

手机网站(mobile website)

通过手机浏览器可以访问手机网站,手机网站可以根据手机屏幕大小自适应。由于手机网站比较难以维护,一种叫做响应式网站设计(responsive website design)的方法被使用,通过这种方法你拥有一套HTML代码库,你可以通过使用媒体查询(Media queries)根据不同设备不同分辨率(resolutions)改变他们的网站外观。jQuery mobile 是一种出色的移动框架。使用它你可以制作一款移动版本的Web应用程序。移动网站一个显著的优势就是你可以根据需要实时更新他们的内容,而不用去等待苹果Apple或者谷歌Google的审核,劣势则包括低耦合,更少的特征。

混合app(Hybrid app)

混合应用基本上是一款手机应用,它和撰写网站的程序语言基本相同,唯一不同的就是他们包含在一个孤立的浏览器中(WebView), 原生应用通过WebView运行Web应用,混合应用可以调用手机摄像头、GPS等,通过利用插件,混合应用可以调用手机其它的硬件功能,你可以利用开发Web应用的技术开发混合应用。然而,WebView有速度的限制, 制作成熟的3D图像游戏可能不是最好的选择。

Ionic是什么 (为什么它如此优秀?)

Ionic 不仅仅是一个UI框架。它允许你: 

-通过使用单一命令 ionic resources为所有不同大小设备生成图标和启动屏幕

-通过使用ionic run --livereload命令可以把改变的代码立即应用到app上,即使app正在手机上运行。

-通过使用ionic serve --lab命令可以边构建和边测试iOS和Android版本应用,同事观察它们的变化

-通过ionic share命令你可以和世界各地的客户、顾客、测试者分享你的ionic apps,而不用通过App store

-通过ngCordova可以轻松的获取手机全部的原生功能

同时,Drifty(ionic framework开发团队) 正在为ionic app构建一种全栈后端服务和工具,譬如部署(不经过apple 的review程序就可以部署一个新的版本)。ionic命令行接口(CLI)在后端使用Cordova并允许你为iOS和Android构建apps(仅仅使用ionic build iOS和ionic build android 命令)。Ionic使用angular作为前端框架,如果你对angular熟悉就再好不过了。ionic对于angular 2.0也有很好的支持。

现在,让我们安装所有开发ionic需要的工具软件然后使用ionic开发吧!

安装必备的工具(对于Mac和Windows平台)

为了同时安装ionic和Cordova我们需要安装Node.js和Git。如果你已经安装了这些工具,你可以跳过这个部分直接安装ionic。

安装Node.js

到nodejs官网http://nodejs.org/download/下载Node.js,在Windows上和Mac上安装非常简单,下载并运行安装即可。如果你的Mac安装了brew,你也可以通过brew安装Node.js。

两种方式下,Node Pakcege Manager(NPM)都会在安装Node.js时同时安装其它的包,为了检验Node.js是否在Windows上安装成功,在终端上运行下面的命令:

node -v

你会获得类似下面的版本信息:

v0.12.7

为了验证是否在Mac上安装成功,同样在终端运行上面的命令,你会获得类似上面的版本信息,即代表安装成功。

安装Git

为了安装Git,请前往here,在Windows和Mac上安装Git和安装Node.js同样简单。你仅仅需要下载和运行它,根据相应的指引安装即可。 为了验证你是否在Windows/Mac上安装Git成功,在终端运行下面的命令行:

git

你会获得如下输出:

常用的git命令如下:


同时,git help -a 和 git help -g list 或 git help<concept> 命令可以帮助理解关于一个特定的子命令和概念。

不用担心,如果你不知道如何使用Git命令,你可能不需要直接用到它(NPM使用它下载包),然而,如果你不想学,看看这个CodeSchool出的交互式教程(this interactive tutorial)。

安装ionic

如果你已经安装了git和Node.js,为了安装ionic(Mac和Windows相同),你只需要运行如下命令:npm install ionic cordova -g,ionic在后台使用Cordova,所以它需要它。在这里我们使用-g便签是为了全局安装Cordova,为了验证ionic是否安装成功(Mac和Windows平台),你只需要在终端键入下面命令:

ionic -v

1.6.4

为了验证Cordova是否安装成功(Mac和Windows平台),你只要在终端键入下面的命令:

cordova -v

你会获得类似下面的输出:

4.2.0

如果你之前安装了Node.js但是没怎么用它,你可能会报出下面的错误:

为了解决这个错误,你只需要更新你的Node.js,要么重新下载它(Windows平台)要么执行下面的更新命令(在Mac上):

brew update; brew upgrade node

使用Ionic CLI

如果你在你的终端/cmd运行ionic命令,你会获得如下的输出:

 使用ionic -help 或者-h可以获取更多信息


通过使用ionic CLI同时阅读上面的帮助文档,你可以对ionic 命令行接口获得大概的理解。如果你在想CLI是什么,他只是个Command Line Interface的首字母缩写,就ionic而言,他只是一个创建、打包、运行和模拟的命令行工具。下面的教程我们将会讲到当中的大部分命令,现在我们暂时不讲。

使用已经存在的模板创建项目

Ionic CLI 允许你通过使用ionic start 命令创建和初始化你的项目,如果你看过官方文档(official documentation),你将会看到对它的如下定义:ionic start appname [template].

如果你仅仅只运行ionic start appname 命令,Ionic CLI将会构建一个bootstrap应用(所有需要的构建都会在appname文件夹里面),伴随着空的模板,这儿有其他三个模板包括blank(空模板),sidemenu(侧边栏)和tabs(底部导航栏),除此之外,你可以使用Github repo starters和Codepen URL starters等模块,为了获得更多的starter apps模块,你可以访问这边文章(this post),在我们的例子中,我们将会使用sidemenu(侧板栏)模板,在终端运行下面的命令:

ionic start Ionic_1stTutorial sidemenu

你会看到如下输出:(Windows平台下)


你的ionic项目就已经构建成功了! 下面是一些技巧:

-通过cd命令进入你的项目:$ cd Ionic_1stTutorial

-设置项目使用Sass:ionic setup sass

-在浏览器中实时开发:ionic serve

-添加一个系统平台 (ios or Android):ionic platform add iOS [Android]

-注意: iOS 开发需要OS X系统

-参见详细的Android平台开发指南 :Android installation instructions

-编译你的app:ionic build

-在模拟器上运行你的app:ionic emulate

-在真机上运行你的apps:ionic run

-使用ionic打包服务打包一个app:ionic package

更多关于使用ionic 帮助和ionic文档的,请访问Ionic docs,你也可以使用Ionic Push(alpha).为ionic app添加推送通知。

运行ionic 应用

既然我们已经基于侧边栏构建和初始化了我们的ionic应用,为了看到ionic CLI产生了什么我们必须运行它,首先进入我们创建项目名的目录,在我们的实例中如下:

Ionic_1stTutorial

C:\Users\Nikola\Desktop\IonicTesting>cd Ionic_1stTutorial

C:\Users\Nikola\Desktop\IonicTesting\Ionic_1stTutorial>

在接下来的章节中,我们将花更多的时间在www文件夹,正因为ionic是基于angularJS 框架,你需要知道他的一些基本知识。下面是一些可以运行ionic应用的办法:

-ionic serve- 在本地浏览器运行

-ionic emulate android- 在Android模拟器上运行 (这个例子使用Android; 你也可以使用iOS如果你有一台Mac电脑且安装了上述条件)

-ionic run android- 安装应用到插入电脑的Android手机上

-ionic build android- 创建.apk文件,你可以复制这个文件到你的Android手机并运行它。(对于iOS,你必须通过Xcode运行到真机。下一章节我将会讲到)

接下来,在终端运行如下命令:

ionic serve

你可以看到类似如下的输出:


当然,你也可以直接在浏览器中输入地址http://localhost:8100/#/app/playlistsAlso,一旦你自动设定了实时重载的功能,一旦你修改代码,应用就会自动重新被加载到浏览器里。如果你喜欢,你可以到Github上获取此项目。

其他的资源

下面是一些我在学习ionic时不可获缺的资源:

为了快速了解框架,我建议阅读官方文档(official documentation

如果你正在找一本关于ionic的好书,我推荐Ionic in Action: Hybrid Mobile Apps with Ionic and AngularJS

与编程相关的最好的咨询问题的资源就是StackOverflow. 你可以查看关于ionic对应问题标签的答案,然而我建议你查看StackOverflow帮助页,如果你是StackOverflow新手。

学习 AngluarJS, 请点击这里here.

注意:npm install -g ionic cordova (此处安装很费劲,,,,如果安装不上,请直接使用国内镜像),也可以安装cnpm,这样就容易装cordova和ionic

npm install -g cordova --registry https://registry.npm.taobao.org

npm install -g ionic --registry https://registry.npm.taobao.org

下面是下一篇文章的链接 ---(未完待续)

本文原出处 https://www.pluralsight.com/blog/software-development/ionic-framework-on-mac-and-windows

如有错误,欢迎批评和修正!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,043评论 25 707
  • 本文出自 我的 github Ionic 概述 Ionic 官网:http://www.ionicframewor...
    云鹏1943阅读 20,421评论 17 22
  • 欢迎来到官方Ionic Book,在这里我们将逐步学习到:怎样得到Ionic和安装它所需要的所有东西,还会创建一个...
    Aprilcat阅读 1,412评论 1 15
  • 永远怀揣一颗学习之心,小白终会变大神 最近体验了一下时下很流行的前端开发框架ionic,以假乱真的页面和流畅的运行...
    不忘初鑫阅读 13,960评论 11 68
  • 孩子你在歌唱 一树一树的绿色 音符落在上面 便结满紫黑的桑葚 会贪婪地歌唱 唱到满衣兜都是鲜甜的野果 草帽扔在稻草...
    远山杂货店阅读 369评论 0 3