ionic1.X和2.X开发的一些感悟

ionic2.X 自发布以来,吸引了很多的开发者进来尝试,品鲜。作为一个ionic的忠实粉丝,我从ionic1到ionic2,一直致力于在真实的项目中使用该技术,因此有些小的感悟,特跟大家分享一下。下面我将从3个方面进行分享,即:

1.使用ionic技术需要有哪些技术准备?
2.如何看待ionic开发中遇到的一些问题?
3.怎么组织ionic开发流程?

针对于上面的几个问题,我将依次进行分享。


1.使用ionic技术需要有哪些技术准备?

对于一个开发者来说,ionic技术已经屏蔽了许多原生开发的细节,我们真正可以做到一套代码,三端(webapp,ios,android)部署,而且提供完整的前端样式,让许多没有美工设计的app也能具有很多好看的界面。虽然ionic帮我们做了很多的事情,但是这并不是说我们就可以不懂实现细节。因此我们在用ionic技术敲完hello world程序后,需要有一些必须的技术了解。可是每个人的情况都不尽相同,我们该如何做这些准备?

根据我在ionic团队建设,成员由非ionic技术人员成长为ionic技术人员的过程的总结,我建议为每个人制定不同的技术准备计划。但总的来说,大体每个人的计划是这样的:

1.1 转型前是android或者 ios原生开发人员

针对这种人员,需要学习并掌握html5,js,css3,熟悉npm工具命令,针对ionic2.X还需要学习typescript和angular2的相关概念。学习使用网页调试工具(建议使用谷歌浏览器)和真机调试工具(谷歌浏览器的真机调试工具)

1.2转型前是pc端网页开发人员

针对这种人员,需要学习移动端网页开发基本知识,需要学习使用真机调试工具(谷歌浏览器的真机调试工具),需要学习一些原生app打包发布的流程。需要学会利用工具(android stdio 或者xcode)查看真机日志。

1.3 转型前是非上述人员

如果转型前没有做过网页开发或者android或者ios开发,那恭喜您,您可以直接学习ionic的开发,私聊我可以给您帮助。如果只是想快速的做一个,不想学那么多的话, 我建议你直接写您想写得程序,遇到问题可以咨询别人。

1.4 ionic团队建设

如果想建立ionic团队的话,最好团队内有人是从android或者ios转型过来的,有人做过服务端口开发,有人做过网页开发。

1.5 小结

其实在做技术准备的时候,不管是从哪种技术转型,都应该看一下官方给的demo和看1-3个别人的开源项目。这样的话就可以很快速的进行项目开发。

2.如何看待ionic开发中遇到的一些问题?

永远确定你不是遇到这个问题的第一个人,怀着这样的心态你遇到的问题都不是坑。

图文无关,仅用来表达一种心态

2.1 大部分的问题是因为开发者的“疏忽”

疏忽害死猫,就算用一个很牛逼的人去看疏忽的代码,也得花费不少的时间。但是对于ionic新手来说,疏忽就是最大的问题了。这是不可避免的,但是这也不可怕,一般疏忽的次数不会超过3次。当自己写得程序不知道怎么的就是运行不起来的时候,这时候就要仔仔细细检查一下自己的代码了。如果实在找不到错误,那就请教大神,最终你会有茅塞顿开的感觉。另外我建议,当自己写完一段代码后,最好立马检查一遍,因为这时候很容易发现错误。尤其在ionic视图模板时,更应该细心,更应该检查一遍。

我好冤枉啊,把我害死,还我命来

2.2 语法不熟悉

这个问题,其实没什么好说的,每个人都有可能犯。毕竟要学的东西那么多,但是最基本的语法必须要熟记于心啊。就比如 [],(),[()],类的声明,component声明,几个基本的生命周期事件,导航的使用。我建议要做到心中有疑问,就要去查字典

2.3 “墙”的原因和版本问题

如果你不懂得科学上网,请修改npm的源为国内的源。我们团队就是使用淘宝的源,下载和安装各种包都很快。(如果不想改变源的话,可以在要执行的命令后面直接添加--registry=https://registry.npm.taobao.org)。

另外在这个过程中可能会出现node-sass安装不了的情况,解决方法如下:npm install node-sass --sass-binary-site = https://npm.taobao.org/mirrors/node-sass/

有一些bug是由于使用版本比较老,无法使用旧版本的功能,就比如RC3的版本无法使用ionViewWillLeave事件,升级下版本就可以。有一些问题是因为nodejs版本问题,升级下就会没事。

总的来说,当遇到这些问题时,不要慌不要急,Try It Again.

2.4 小结

遇到问题不要怕,要学习总结,再学习再总结。当问题越来越少了,你就成长了。


面对问题的态度

3.怎么组织ionic开发流程?

虽然ionic可以一套代码生成多种平台的运行程序,但是为了更好的体验,仍然需要对各种平台进行小修小补。于是需要有一套流程和标准用来把控这些“小修小补”。

3.1 团队内人人都能接受的代码规范

一个良好的代码规范能够提升软件的产品质量,降低后续的维护费用等等,代码规范的好处可以自行百度,我就不再强调。但是既然有代码规范就要严格执行。当然这个代码规范也要随着ionic技术的发展不断的与团队内的成员一起优化和改进。

3.2 符合项目的开发流程

针对于不同的项目有不同的开发流程,但主体是一样的,下面结合代码管理功能列举了ionic编码阶段常用的几个流程:

  1. 网页开发阶段。主要就是利用ionic技术,开发出浏览器支持的webapp的阶段,这一阶段的目标 是构建平台无关的webapp应用。这一阶段对应 代码库的主干;
  1. 原生开发阶段(可选)。利用ionic的各种插件,构建平台无关的原生app,这一阶段对应 代码库的主干;
  2. 分支开发阶段(可选)。 针对于ios和android风格的表现不同,有针对性的修改,相应代码,以达到构建出平台有关的运行良好的程序。比如 js的Date对象,在android和ios实例化的方式不同,需要针对ios进行单独优化。这一阶段对应 代码库的各个分支;
  3. 开发后期(可选)。主要是把分支阶段针对于不同平台的不同点,进行提炼和抽象,并把提炼的结果合并到主干库中。这一阶段的主要目标是抽象现有代码平台的不同,为之后的升级维护提供便利。

3.3 小结

ionic的开发流程同样遵守软件工程的开发的流程和规范。在编码的过程中应该注意编码的规范性,在开发完成前要做分支开发的抽象和扩展,以方便以后的升级维护。

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,799评论 25 707
  • 1.没有修改hibernate的默认配置文件的hibernate.cfg.xml里的预设的连接池设定。connec...
    法式大面包阅读 1,786评论 0 0
  • 你真的会读书吗? 我们每个人的时间都是有限的,大部分人能分配给读书的时间更是有限。对很多人来说,读书又是学习、提升...
    君悦容阅读 2,177评论 31 106
  • 简书上有一个古怪的用户——徐沪生。他有1万多粉丝,现在发表的文章为0,关注的人为0。 他曾在简书上发表上百篇文章,...
    十六画生的写作阅读 1,323评论 3 0
  • 版本记录 前言 很多时候我们做APP,不是完成相关的功能就行,很多时候需要我们不断的进行优化,特别对于像淘宝和微信...
    刀客传奇阅读 1,205评论 5 4