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

原创 2012年03月27日 10:55:38

前言

各种本地框架(比如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全部部署在服务器端的框架图,这种情景适用于不联网就不能用的场景,当然这种应用并不算多,但这种应用的升级异常简单,在服务器端替换文件即可。更多的是部分功能部署的服务器端的情况。


App跨平台开发方案与取舍

App跨平台开发方案与抉择 内心强大才敢于承认错误,但是首先你要敢于去试错。 现在做客户端开发的公司都会面临一个巨大的问题,那么就是跨平台。对于目前上市面上的移动设备来说。An...
  • jingwen3699
  • jingwen3699
  • 2017年03月31日 11:10
  • 2762

HybridAPP框架MUI(跨平台移动端应用开发)

在Android和IOS平台上开发应用通过HTML5的方式。由MUI框架快速开发。
  • fanpeihua123
  • fanpeihua123
  • 2015年11月25日 09:15
  • 3643

HTML5与跨平台移动App开发

基于HTML5的方案。该方案以PhoneGap/Cordova为代表。其基本思路是针对HTML5标准目前功能上的不足,补充定义了一套比较实用的API(比如硬件访问/系统交 互等),然后基于平台上自带...
  • ldlj_wbyyh
  • ldlj_wbyyh
  • 2015年03月24日 11:02
  • 1678

几款移动跨平台App开发框架比较

整理目前流行的跨平台WebApp开发技术的特点,仅供参考。 每个框架几乎都包含以下特性: 使用 HTML5 + CSS + JavaScript 开发跨平台重用代码丰富的UI库提供访问设备...
  • jingwen3699
  • jingwen3699
  • 2017年03月31日 11:11
  • 8603

移动开发者必须了解的10大跨平台工具

在本文中,我们盘点了过去的一年里,最受开发者喜爱的跨平台应用及游戏开发工具,尤以HTML/JS/CSS为众,却也包含使用其他语言进行开发的工具,比如Xamarin,使用C#,就能开发出运行于各大主流移...
  • yczz
  • yczz
  • 2014年02月25日 22:32
  • 17187

React Native跨平台移动应用开发框架介绍

好久没有来更新博客了,给大家说声抱歉,人一旦懒惰起来连自己都害怕。可能是因为一个人生活,少了很多动力吧。这都是在给自己找理由。我在不偷懒了。 最近我要入坑了,公司安排我要开始搞React Nat...
  • m366917
  • m366917
  • 2017年03月11日 18:32
  • 2088

移动端跨平台框架

移动端开发的软件需要覆盖到Android及iOS平台。以前都是用原生的代码来做开发,android用Java,ios用objective c。这样做,虽然可以达到最好的效果,但是成本太高,需要写两...
  • cddcj
  • cddcj
  • 2017年02月10日 15:55
  • 664

探索跨平台应用开发的最佳实践

对于开发者而言,如何做跨平台开发工具选型?如何透过良好的设计实现大部分代码都可复用,并实现服务器端动态更新?如何解决自定义 UI、API 扩展性等问题?...
  • tangxiaoyin
  • tangxiaoyin
  • 2016年09月18日 19:15
  • 3484

跨平台音视频方案

下面介绍这个跨平台的即时通讯解决方案,基于先进的H.264视频编码标准、AAC音频编码标准与P2P技术,整合了佰锐科技在音视频编码、多媒体通讯领域领先的开发技术和丰富的产品经验而设计的高质量、宽适应性...
  • junheng66
  • junheng66
  • 2015年01月14日 10:16
  • 431

跨平台APP和web APP到底有什么区别?

跨平台app是什么?   所谓的跨平台app开发就是一套代码写完以后可以多端发布运行到各个平台,比如:iOS、安卓、web、百度直达号、360流应用、微信 JS SDK... ...
  • ddwendy
  • ddwendy
  • 2016年10月14日 10:34
  • 1204
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:图解框架-跨平台应用开发方案
举报原因:
原因补充:

(最多只允许输入30个字)