在做ionic开发之前,一直做的是iOS原生开发。对于软件编程不是0基础,对于ionic只能是大概听说过。
今年国庆之前HTML+CSS会写一点点,js和jq基本不会,angular也是停留在听说过的层面,国庆之后正式入了ionic的坑。
1.phonegap、cordova、ionic
通俗点的理解:
phonegap升级之后就改名叫做cordova了,当然有些人还是习惯性的叫phonegap。
ionic是依托于cordova,然后对cordova做了再封装,加入了angularJS以及一套ionic的UI组件。
所以在用npm install ionic的时候后面还会带上cordova,就变成了npm install -g ionic cordova。然后你会发现cordova的命令和ionic的命令其实就是一样的。
2.为什么选择ionic?
在选择ionic之前也看过React Native,也就是使用ReactJS来开发原生,开发出来的性能更加接近原生。但是既然是开发原生,那就有很多代码会根据platform的不同会写出两套来,开发难度更高。当然这个问题其实ionic上也会存在,在需要调用原生功能的时候,比如相机相册之类的,也就是常说的cordova插件。
选择ionic其实也就是看中ionic跨平台的优点,写一套HTML代码可以Android和iOS共用,虽然仍然会有根据平台不同需要作出不同的处理的时候,但毕竟是少数。另外cordova的插件也比较丰富,有一个调用原生的cordova插件库,用angular再封装之后叫ngCordova。
3.环境搭建
我用的是mac mini,感觉在mac os上搭建ionic的开发环境很简单。xcode是必须要安装的,用于打包ipa,还安装了Android studio,用于打包apk。mac os自带Java环境,安装Android studio之后也不用再配置Android环境了。
然后就是安装nodeJS,node安装好之后就是使用npm install -g ionic cordova。这之中的可能遇到的麻烦就是来自于我大天朝的墙,可以通过两种方法来解决。1.使用国内的镜像;2.使用vpn,推荐一个每天能免费试用俩小时的LocoVPN。
在Windows上搭建ionic的开发环境相对要麻烦一些,需要安装nodeJS,然后使用npm install -g ionic cordova,然后安装jdk配置Java环境变量,然后安装Android studio。也可以不用安装Android studio,可以用安装ADT配置Android环境变量并安装Android模拟器的方式。
ps:
1.Windows系统上只能搭建Android的打包环境,不能搭建iOS的打包环境;
2.有些教程上还是使用eclipse,目前Android开发基本上都不用eclipse了,推荐使用Android studio;
3.mac os上才能安装xcode,建议安装8.0及以上的版本;
4.Windows系统上安装好nodeJS之后一定要检查nodeJS的环境变量是否配置好了,不然后边会出现ionic或cordova不是内部命令的错误;
5.在win8上对nodeJS配置环境变量还需做特殊操作,谷歌度娘之;
6.建议Windows系统使用64bit,jdk安装1.8及以上64bit版本,可避免VM内存不足的问题;
7.在使用ionic build android出现错误大部分是因为大天朝墙的原因,换国内镜像或使用VPN;
8.IDE推荐使用webstrom,其实vscode颜值更高,但不太适合ionic1,更适合ionic2。
在实际过程中可能还会遇到其他的问题,但是大部分问题都会在控制台里打印出来并提供建议解决办法。遇到问题首先想到的是谷歌百度,因为你会遇到的问题在你之前就已经有人遇到过了,并贴出了解决办法。
4.学习资料
1.若英文好,首选官网http://ionicframework.com/,很多问题在官方文档中都会详细说明并找到解决办法的;
2.英文不好,就在后面加上中文网三个字,ionic中文网之类的;
3.QQ群,在各类网站中都会相应的QQ群,群里面广大网友还是比较活跃的。若你的提的问题没人回答,要么是太难了,要么就是太简单了,要么就是看到的网友还没有做过或者遇到过。一般回答的都是思路性质的答案,不会手把手的去教你怎么做,网友不是你的老师。但是妹子可能除外,一般在程序员的交流群里面妹子都是很受欢迎的,哈哈~~
3.微信公众号,推荐一个别人的TongeBlog,入门级的实战开源项目图文教程,另附更多干货;
4.视频教程,个人不喜欢看视频教程,花费时间还是收费的,前半部分照着官方文档做,后半部分实战教程,具体怎么样不知道,没看过。哈哈...
ionic1开发会是一系列的文章,但并不会是一系列的教程文章。主要讲述我本人在使用ionic1进行实际项目开发的过程中的一些感想以及一些填坑的思路。想要教程请自行谷歌百度之,网上各种教程只要你花时间总是能找到的。
思路决定出路,细节决定成败!