【Hybrid App】Hybrid App开发实战( 四 )


当然,原生开发的缺点也很明显了,就是满足不了你的跨平台需求 。
从代码目录上面看,其实也基本上看到笔者为什么使用多种JS库以及框架的原因了 。主要的目的就是为了构建一个可维护的,具有规范性的Web应用 。因 为本身这门语言非常灵活,100个人可以具有100种风格,加上没有专门对于开设的课程,在过往都容易存在对这 门语言的误解 。基于种种的原因,就要约束好一个应用的代码风格,架构 。此外,本身没有类的概念,所以在的面向对 象编程中:的数据和成员封装很简单 。没有类,完全是对象操作 。这和-C有很大不同 。这个时候必须要有一种心态处理 好整个Web应用:就是尽可能地抽象成对象,你的工作就是对象与对象之间存在交流 。
另外有一些点是值得开发者注意的 。对于原生应用来说,不管是iOS的,还是的,都会提供一套原生界面的库 。以-C 为例子 。如果笔者需要调用Alert,笔者只需要编写: *= [[]init];,就把这个view声明好了 。再去执行相应的方法,就可以了 。但是对于Web应用来说,就需要编 写
确定
,一堆的css代码和html代码去实现 。当然你会询问笔者,直接写 alert() 不就可以了吗?要是真这么简单的话,建议你在iOS的中编写一下alert,实现:title 是提示,内容是:alert view,确定按钮的文字是:好的 。你就知道的限制在哪里了 。
因此要完成JS在Web App开发当中的最佳实践,肯定要学习优秀的思想和实现方法了 。在这篇文章里面,笔者们暂时先不去做这种深入的讨论 。而是先把例子抛给大家,也许会在下一次讨论的时候,再详细深入以下这两个项目 。
第一个是斯坦福的iOS开发公开课中的例子,使用-c实现,一个简单的卡牌游戏 。这是经典的mvc开发了 。项目地址如下:,如果您正在使用Mac,那恭喜你,可以马上编译这个游戏进行测试以及代码浏览 。
第二个是使用编写的例子,实现同样的需求,做一个简单的卡牌游戏 。但是使用的是HTML+CSS+JS开发 。同样学习了继承以及mvc的思想 。项目地址是:,再次恭喜你,不管使用什么电脑,都可以随时浏览代码以及运行该游戏 。
App的新思想
这两年多以来,因为市场的不同,也出现了不一样的需求,各个技术都有了新的发展 。对于 App来说,其实都有了一些新的解决方案 。为了解决问题其实最终思想都会被还原成以下几个点上:
根据需求,选择工具;用适当的工具做适当的事情,有针对性地解决问题;世界是平衡的,对于开发者来说,做的有用功越多,用户体验就越好,反之越差;跨平台是一个"幌子",什么都做得到不代表什么都做得好
这也是笔者体验最深的几个点 。而且你会发现技术也基本在跟随这几个点来走 。
根据需求,选择工具
如果你使用过 ,你做过过场动画(就是从一个view去到另一个view),过场动画在iOS的中很常见,而且很 简单,效果很好很流畅 。在 中使用ajax,css去实现了,核心代码可能就几十行 。可能跟iOS里面的差不多(如果包含动画),但是实际出来的效果却差强人意 。会出现 类似的问题:页面抖动,感觉不连贯,在部分的设备下运行缓慢 。如果你的应用要求的体验并不是很高,例如一些新闻展示类应用,更强调排版 。这里小小的体验差 距,就可以忽略了 。(因为英国BBC就是这么干的),但是如果你的应用非常强调体验细节,这里的解决方案可能就不适合了 。或许你要做优化,但是优化的时间 可能足以够你去学习更多的东西了 。这样的话,你是继续选择用一个不成熟的工具,还是选择去学习一种新的语言呢?所以还是根据需求而定吧 。