基本组件
Cordova依赖于一个config.xml文件,以指定其运行所需的各种参数,比如是否相应方向切换等等。
应用程序本身是以一个网页的方式来实现的,默认名为index.html。当中可以使用CSS,JavaScript,图像以及多媒体文件等等。应用程序是作为一个WebView(原文WebView,可简单理解为Web页)运行在本地设备的一个Wrapper(原文为Wrapper,不知如何翻译比较准确,可以理解为一个隔离的封闭盒子之类的,类似沙箱吧)中。为了让Cordova应用程序能够和不同平台的本地设备交互工作,你需要一个cordova.js文件,该文件提供了很多API接口。
Cordova的WebView提供了整个的用户交互接口(UI)。它也可以作为一个混合式应用程序的一个组件(这里所谓的混合式是指混合了Cordova WebView和本地原生App的一种混合开发模式)。Cordova提供和一些插件来支持这些组件中的交互工作。
开发模式
从Cordova3.0开始,你可以使用两种方式来开发应用。
Web开发模式
如果你希望开发的应用程序能够以极小的改动就能运行在不同的平台设备上,比如IOS,Android等,那么Web开发模式将会是你的首选。Cordova的命令行工具(CLI,即Cordova Command-line Interface)为这种开发模式提供了强力支持。CLI抽象(简化)了很多针对平台的底层操作功能,最终以Shell脚本的方式提供了用户使用。注意:一般情况下如果有人提到CLI,也许他指的就是这种Web开发模式。
本地平台开发模式
本地平台开发模式可以简单理解为类似传统的移动App开发模式。如果你只希望你的应用在某一种特定平台上运行,比如IOS,而且你对操作底层设备非常感兴趣的话,那么这种方式将是你的首选。当然以这种开发模式工作,你也可以开发出跨平台的应用程序,只不过你需要做更多的额外工作。这种模式的好处当然也很明显,你可以访问针对不同平台的非常底层的shell脚本。同时,如果你的WebView只作为应用程序的非常小的一部分呈现,那么这种方式仍然也是一个非常不错的选择。
一般情况下,web开发模式 可以通过CLi
创建一个新的项目 会提供一些默认的配置信息
设置一些额外的文件,对各种平台进行匹配。 但是必须要实现安装各个平台的sdk
对不同的平台的编译,并用基于sdk的仿真器进行测试