移动应用跨平台技术.pptx
《移动应用跨平台技术.pptx》由会员分享,可在线阅读,更多相关《移动应用跨平台技术.pptx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、跨平台实现分类:4大流派Web流:也被称为Hybrid技术,基于web相关技术实现界面和功能代码转换流:将某个语言转成 Objective-C、Java 或 C#,然后使用不同平台下的官方工具来开发编译流:将某个语言编译为二进制文件,生成动态库或打包成 apk/ipa/xap 文件虚拟机流:通过将某个语言的虚拟机移植到不同平台上来运行第第1 1页页/共共1414页页Web流技术对比共性说明优点不足phoneGap1、使用 HTML5+CSS+JavaScript 开发2、跨平台重用代码3、丰富的UI库4、提供访问设备原生API的 JavaScript API 包装器5、解决原生开发中机型适配的
2、难题6、提供打包、部署的工具或服务Cordova的分发版,发布于09年1、开源免费,社区生态成熟,插件丰富2、支持离线场景应用3、开发工具选择空间大只提供基础访问设备的接口,需要自己搭配其他UI框架和JavaScript框架来搭配Cordova11年Adobe收购phoneGap改名CordovaIonicCordova+AngularJS+一套样式库1、漂亮的界面,追求性能,专注原生,免费开源2、Angular JS MVVM 开发理念,数据双向绑定3、继承自 Cordova,可以使用 Cordova 的插件1、Angular JS 学习路线陡峭2、Ionic 框架相比于原生的 Cordov
3、a 有所差异,Cordova 某些官方插件可能不适用于Ionic第第2 2页页/共共1414页页代码转换流技术对比说明将 Java 转成 Objective-C谷歌推出的j2objc可以将不涉及UI的java代码转换(翻译)为objective-c的代码,实现约70%的代码跨平台复用将 Objective-C 转成 Javamyappconverter,收费,有些应用不用改代码就能转换成功将 Java 转成 C#Sharpen,JUniversal,使用的人不多,工具不成熟将 Haxe 转成其它语言Haxe没有自己的虚拟机或可执行文件编译器,所以只能通过转成其它语言来运行,目前支持转成 Nek
4、o(字节码)、Javascript、Actionscript 3、PHP、C+、Java、C#和 Python,尽管有人实现了转成 Swift 的支持,但还是非官方的,所以要想支持 iOS 开发目前只能通过 Adobe AIR 来运行。在跨平台游戏开发方面可行。但熟悉它的开发者极少。XMLVM它首先将字节码转成一种基于 XML 的中间格式,然后再通过 XSL 来生成不同语言,目前支持生成 C、Objective-C、JavaScript、C#、Python 和 Java。缺点:生成代码不可读,因为很多语言中的语法糖会在字节码中被抹掉。代码有问题基本没法修改,也没法调试代码。第第3 3页页/共共
5、1414页页编译流技术对比说明C+只用C+实现非界面部分,实现界面:在 iOS 和 Windows Phone 下可以分别使用 C+的超集 Objective-C+和 C+/CX,在Android下通过 JNI 调用系统提供的 Java 方法。XamarinC#开发,在ios下以AOT的方式编译为二进制的文件,在Android通过内置Mono虚拟机实现。优点:开发APP所需的基本功能全都有,有商业支持。缺点:深入后会发现功能缺失,尤其是定制 UI;相关资源太少,没有原生平台那么多第三方库。RoboVM将 Java 字节码编译为可在 iOS 下运行的机器码。和 Xamarin 很像,但 Robo
6、VM 风险会小些,对优先开发 Android 版本的团队挺适用,但目前官方文档很少,而且不清楚 RoboVM 在 iOS 上的性能和稳定性。第第4 4页页/共共1414页页编译流技术总结编译流比前面的代码转换更进一步,它直接将某个语言编译为普通平台下的二进制文件,这种做法有明显的优缺点:优点:1、可以重用一些实现很复杂的代码2、或许性能会好些(具体要看实现)缺点:1、如果这个工具本身有 Bug 或性能问题,定位和修改成本会很高2、编译后体积不小,尤其是如果要支持 ARMv8 和 x86 的话第第5 5页页/共共1414页页虚拟机流技术对比说明React nativeReact Native 要
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 移动 应用 平台 技术
限制150内