经过一个多月的边学习边练手,学会了Android基于Web开发的毛皮,其实开发过程中用Android原生API不是很多,更多的是HTML/Javascript/Css。
个人觉得基于WebView的Jquery Mobile开发有以下优点:
1、对于刚从Java Web转型过来的同学非常适合,只要懂得HTML开发就可以上手做事。
2、jquerymobile优秀的地方是将页面元素渲染得非常漂亮,极大减少开发对UI的依赖。
3、SQLite非常轻量,也提供了丰富的调用接口,通过程序和版本控制数据库信息,我个人非常喜欢。
至于缺点嘛,我觉得:
1、转场过程不顺畅,有些时候跳转到下一页后会再闪一下,原因可能是那个页面进行了代码初始化操作,某些控件执行了refresh。
2、经常出现某些页面按钮没有效果的问题,比如点击某个页签,明明页签已经从白色变为蓝色(表示被选中了)但是没执行跳转操作,然后再点一次或许就执行了。
3、在某些低版本浏览器低分辨率手机下,呈现效果很差。(我在我爸Android2.2手机上测试过,本来一屏显示不完的内容却在一屏中全部显示出来,文字太小根本看不清楚)
4、页面转场,上下页参数传递比较复杂,而且容易出问题。(比如在页面绑定了pagechange事件,如果先从编辑页面进入,再返回,再从新增页面进入,你会发现新增进入的页面居然是上一次编辑进入的页面,原因就是绑定的事件未取消,所以你必须考虑新增和编辑时必须清理上一次的pagechange事件)
5、日期选择控件似乎不能用:<input name="birthday" id="birthday" placeholder="您的出生日期..." value="" type="date">这个不能弹出日期选择组件。
说了那么多不爽的地方,并不是说Jquerymobile就那么不行,这个完全看需要你根据自己团队现状来做决定。比如你的团队以前都是做Java Web的,没有太多Android开发经验,而领导又要你们在短期内作出一个移动APP,那基于Android的WebView开发是不二选择。
如果要我再做一次选择:是用原生的Android组件开发还是WebView HTML开发。在时间充裕的情况下,我或许会考虑还是用Android原生组件来做:不会担心参数传递问题、不会担心太多手机兼容问题。
我了解的这些东西都是皮毛,非常非常基础,任何语言要想深入精通,必须花大量时间去学习研究,所以如果有兴趣做WebView的同学别做了一个小App就满足了,多做多思考,才能得以提高。
附件附上本次App的代码,很多文件被我删除了,所以大家自行新建一个项目,然后把代码中的文件拷贝进新建的项目中测试吧。
申明:写的代码不值钱,供大家分享参考。请不要拿去作为商业用途,如有违反,必定追究责任。转载请注明出处。