移动端开发的软件需要覆盖到android及ios平台。以前都是用原生的代码来做开发,android用java,ios用objective c。这样做,虽然可以达到最好的效果,但是成本太高,需要写两套代码,而且对开发人员的要求很高。对于一些中小开发团队来说,是承受不起的。
现在,已经有一些比较成熟的移动端跨平台框架,可以大大的提高我们的开发效率。
主流的方案都是基于html5的做为开发语言,依赖于手机上的自带的webwiew提供运行环境。WebView可以使得网页轻松的内嵌到app里,还可以直接跟js相互调用。当然,有一些web不支持的功能,比如调用摄像头什么的,可以通过webview提供的接口,通过插件的方式,来提供给web层调用。
所以,手机端跨平台框架,需要解决两个方面的问题:
前端:对手机端进行优化的的webui&javascript库。
手机端的浏览器和webview,不比PC端的浏览器,性能上要差强人意一下。许多在PC端用WEBUI 和javascript库到手机端,都显得很笨重。但是手机端的流览器要比PC端的要新,不用向PC端一样,过多地考虑浏览器的兼容性,可以尽情的使用html5的新特性。所以,对于手机端用的html5 UI库,一定是定制的,一定是对移动端优化过的。 常用的库有jquery Mobile,MUI等。
后端:webview插件的机制的封装,来屏蔽底层细节,对web层的提供统一的调用接口,更加方便我们的使用。
一般的开源实现就是phonegap了。