【Hybrid App】关于Hybrid App技术解决方案的选择( 三 )


从工具上看:
.js
用于双向绑定,网络请求,视图管理等工作 。
.js
模块化工具,在使用较多的交互对象,插件的时候,你就会发现一个强大的模块化工具会在开发的时候提供极好的帮助 。能够帮助你把整体的代码,管理得井井有条 。
【【Hybrid App】关于Hybrid App技术解决方案的选择】Jade
模板引擎 。笔者个人比较推荐使用Jade,而且笔者本人也在博客中多次写到Jade在不同场景下使用的技巧的有关文章 。主要是jade的语法太简洁了,而且面向JS开发人员非常友好 。如果你还没有开始使用模板引擎,赶紧加入这个队列吧,你已经落后了 。
如果你暂时还没有一个设计师,但是又急于构造一个应用出来 。就提供了多套不同风格的模板,供你使用,而且还含有不同的交互动画等 。而且也是跨平台的 。当然实际场景中,笔者觉得你会花很多时间在写css上面,因为设计总是天马行空的 。当然你还有很多工具啦,例如sass,以及less.js等 。
.js或者.js
做开发必须使用的代码库,用于和框架通讯 。现在这个库已经改名了,是 。具体为什么改名,得问Adobe咯 。
的插件能够帮助你快速地抵达手机的其他API上面,直接使用来操控这些底层的API 。例如调用Push 的相应发生的事件 。
从代码目录上面看混合应用中的Web层:
/jsmainView.jssettingView.jsnetworkObject.jsrenderObject.js/lib/PhoneGapPluginspush-notification-plugin.jspickerView.jsPhoneGap.jszepto.jsjquerymobile.jsiscroll.jsangular.jsjade.js/css/mainViewlistItemTemplate.cssquestionListTemplate.css/settingView/personView/layoutnavigationBar.csstabButton.cssapp.css/template/mainViewlistItemTemplate.txtquestionListTemplate.txt/settingView/personView/layoutnavigationBarTemplate.txttabButtonTemplate.txtindex.htmlapp.jsrequire.js
从代码的目录上面看,就是经典的静态网页文件的目录,非常简单 。下面就用一句话来说说整个应用的运作过程吧:
打开应用 ->进入 index.html ->运行.js ->加载应用资源 -> app.js 控制整个应用 -> .js 进行事件绑定以及视图渲染 ->视图渲染的时候会将数据和加载好的视图模板(目录下的代码)处理 ->经过jade模板引擎 ->渲染到相应的位置上
就是如此简单 。
看完了简单的应用后,笔者们来看看简单iOS应用在开发时候的代码目录吧 。思路上还是非常相似的 。在这里面,笔者不会深入代码部分去讨论具体的实现以及细节上的东西 。
demoApp/ResourcenavigationBar.pngnavigationBar@2x.png /demoAppAppDelegate.hAppDelegate.m/SettingViewControllersettingViewController.hsettingViewController.m/MainViewControllermainViewController.hmainViewController.m/Supporting FilesdemoApp-Info.plistInfoPlist.strings.../plugin/AFNetworkingAFHTTPClient.hAFHTTPClient.mAFHTTPRequestOperation.hAFHTTPRequestOperation.m.../FrameworksCoreData.frameworkUIKit.framework/ProductsdemoApp.app
-C 是一种通用、高级、面向对象的编程语言 。-C是承自的信息传递模型( ) 。-C里,与其说对象互相调用方法,不如说对象之间互相传递信息更为精确 。-C强调面对对象编程,且-C中强制要求将类的()与实现()分为两个部分 。类的定义文件遵循C语言之惯例以 .h 为后缀,实现文件以 .m 为后缀 。所以你会看到大量的类文件在里头,整个工程就是有不同的类构成的 。(当然可能这么描述不太准确,但是便于大家理解)
这就和丰富的Web前端有很大区别了,在Web前端开发里有HTML,CSS,JS三剑客,必须要用好这三个东西才可以把整个应用才可构建出来 。但是在应用中,就很单一了 。你只需要把握好-C就可以了 。因此对于原生应用来说,开发时只要遵守好规范,即使是一个新手参与开发,也可以快速地上手,看懂代码 。因为模式已经定好,大家使用同一套的API 。按着流程走就好了 。当然学习-C需要过程,但是对于拥有C语言,Java语言经验的开发者来说,是非常简单的事情 。