版本说明,参考cordova-android-2.4.0对phonegap框架进行分析,主要分析的是js文件部分,同时模拟了本地和原生语言的通信问题。
工具: Notepad++ 用于文本编辑, chorme 浏览器在PC上调试js代码、 eclipse+adt 编译到android平台测试。
心得:本人对JS语言也不是很熟悉,因此在文中会穿插一些对js语法和编程技巧的讲解,和对其它类C编程语言的一些比较。对于初学js的人这些代码确实比较难看懂,即使明白了js的基本语法,看懂代码也是很费力的,即使你很熟悉js语言,看别人的源码也很费力。
代码难懂的原因有很多,最重要的一点就是这是个弱类型的语言,弱类型的的意思就是你定义一个变量,但是可以不指定它的类型,它可以是任意类型。很典型的情形就是,你看到一个函数,它的形参到底是什么,除非你已经调用了它,或者你是作者本人,否则你永远不知道这个参数是什么。还有一点就是,对象都是动态的,如果按照JAVA或者C++这样的语言去理解js里面的对象,你会很迷茫,这这些语言里面,一旦定义一个对象,它的类型基本是不变的,即使类型转换也只能在继承链上转换,而js中即使你实例化了一个对象,也可以随时对他添加删除子对象或属性。
其它:cordova是PhoneGap贡献给Apache后的开源项目,是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎。