[混合开发]HybridApp分析!!!( 三 )


.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语言经验的开发者来说,是非常简单的事情 。

[混合开发]HybridApp分析!!!

文章插图
当然,原生开发的缺点也很明显了,就是满足不了你的跨平台需求 。
从代码目录上面看,其实也基本上看到笔者为什么使用多种JS库以及框架的原因了 。主要的目的就是为了构建一个可维护的,具有规范性的Web应用 。因为本身这门语言非常灵活,100个人可以具有100种风格,加上没有专门对于开设的课程,在过往都容易存在对这门语言的误解 。基于种种的原因,就要约束好一个应用的代码风格,架构 。此外,本身没有类的概念,所以在的面向对象编程中:的数据和成员封装很简单 。没有类,完全是对象操作 。这和-C有很大不同 。这个时候必须要有一种心态处理好整个Web应用:就是尽可能地抽象成对象,你的工作就是对象与对象之间存在交流 。