图解框架-跨平台应用开发方案

前言

各种本地框架(比如android的java api,iphone的#C api)对应用开发者来说,绝对不是那么好伺候的大爷。如果开发者需要为一款应用开发Android和IPhone两个版本,如何做到使尽量多的代码重用,尽量减少开发成本和维护负担?

方案1:独立Ui+公用Engine


优点:应用逻辑部分可以重用

缺点:用户交互部分需要开发和维护两份,依然是不可忽略的工作量。

适用场合:团队或个人很熟悉Android和IPhone平台应用开发框架或者对效率要求很苛刻

方案2:公用Ui+公用Engine



优点:Ui可以借助于基于Html5、javascript、css3的库来实现,比如JQuery Mobile。 应用逻辑也完全用Javascript实现,最大限度的重用代码

缺点:效率会比方案1差,如果不是太在乎效率的情况,比如大型游戏,效率的小小损失与减少的工作量相比,完全可以忽略不计。

适用场景: 对效率要求不是很苛刻即可


进军Html5:

Html5相比以前的版本定义了一些新的标签和内置的Javascript Api,和移动应用开发关系比较密切的是对本地设备访问的支持。比如有定义访问Camera、GSensor的标准javascript接口。 如果需要访问Html5标准里定义好的本地硬件就很方便,如果需要访问本地的Hdmi,那就需要自己做Javascript的扩展来实现。

下图是Android设备里通过Javascript访问本地硬件的框架图,(图右边)Html5标准定义好的硬件Webkit有内建的js接口提供,(图左边)木有定义的就需要应用自己向Webkit注册。

目前Html5标准并未在很多设备上都有很好的支持,所有就出现了PhoneGap这种好帮手,PhoneGap分别在Android/IPhone/WP等平台实现了好多NativeJsAdapter(carmera/gsensor等等)来通过图左边的方式访问本地设备。



云端交互:

前面说的都是如何用Html5实现本地应用,并未涉及到和服务器的交互。服务器对本地应用可以不是必须的,就拿水果忍者来说,不联网可以玩,但联网就可以看到积分排名,也是很有用的功能。首先需要解释一下网络前端技术和网络后端技术这两个概念,前端就是在本地设备上运行的东西,后端就是在服务器端运行的东西。 大家都知道javascript是动态生成html和css的, 那后端的php或servlet等后端技术就是动态生成html和css以及javascript的,在本地你是看不到php或servlet的(幕后工作者嘛)。 下图是整个Ui和AppEngine全部部署在服务器端的框架图,这种情景适用于不联网就不能用的场景,当然这种应用并不算多,但这种应用的升级异常简单,在服务器端替换文件即可。更多的是部分功能部署的服务器端的情况。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值