收藏 分销(赏)

移动应用跨平台技术.pptx

上传人:可**** 文档编号:1709605 上传时间:2024-05-08 格式:PPTX 页数:14 大小:2.41MB
下载 相关 举报
移动应用跨平台技术.pptx_第1页
第1页 / 共14页
移动应用跨平台技术.pptx_第2页
第2页 / 共14页
移动应用跨平台技术.pptx_第3页
第3页 / 共14页
移动应用跨平台技术.pptx_第4页
第4页 / 共14页
移动应用跨平台技术.pptx_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、 比比较较流行的跨平台流行的跨平台实现实现方式方式 不同跨平台方式的不同跨平台方式的对对比比微信小程序跨平台实现分类:4大流派Web流:也被称为Hybrid技术,基于web相关技术实现界面和功能代码转换流:将某个语言转成 Objective-C、Java 或 C#,然后使用不同平台下的官方工具来开发编译流:将某个语言编译为二进制文件,生成动态库或打包成 apk/ipa/xap 文件虚拟机流:通过将某个语言的虚拟机移植到不同平台上来运行Web流技术对比共性说明优点不足phoneGap1、使用 HTML5+CSS+JavaScript 开发2、跨平台重用代码3、丰富的UI库4、提供访问设备原生AP

2、I的 JavaScript API 包装器5、解决原生开发中机型适配的难题6、提供打包、部署的工具或服务Cordova的分发版,发布于09年1、开源免费,社区生态成熟,插件丰富2、支持离线场景应用3、开发工具选择空间大只提供基础访问设备的接口,需要自己搭配其他UI框架和JavaScript框架来搭配Cordova11年Adobe收购phoneGap改名CordovaIonicCordova+AngularJS+一套样式库1、漂亮的界面,追求性能,专注原生,免费开源2、Angular JS MVVM 开发理念,数据双向绑定3、继承自 Cordova,可以使用 Cordova 的插件1、Angul

3、ar JS 学习路线陡峭2、Ionic 框架相比于原生的 Cordova 有所差异,Cordova 某些官方插件可能不适用于Ionic代代码转换码转换流技流技术对术对比比说明将 Java 转成 Objective-C谷歌推出的j2objc可以将不涉及UI的java代码转换(翻译)为objective-c的代码,实现约70%的代码跨平台复用将 Objective-C 转成 Javamyappconverter,收费,有些应用不用改代码就能转换成功将 Java 转成 C#Sharpen,JUniversal,使用的人不多,工具不成熟将 Haxe 转成其它语言Haxe没有自己的虚拟机或可执行文件编译

4、器,所以只能通过转成其它语言来运行,目前支持转成 Neko(字节码)、Javascript、Actionscript 3、PHP、C+、Java、C#和 Python,尽管有人实现了转成 Swift 的支持,但还是非官方的,所以要想支持 iOS 开发目前只能通过 Adobe AIR 来运行。在跨平台游戏开发方面可行。但熟悉它的开发者极少。XMLVM它首先将字节码转成一种基于 XML 的中间格式,然后再通过 XSL 来生成不同语言,目前支持生成 C、Objective-C、JavaScript、C#、Python 和 Java。缺点:生成代码不可读,因为很多语言中的语法糖会在字节码中被抹掉。代码

5、有问题基本没法修改,也没法调试代码。编译编译流技流技术对术对比比说明C+只用C+实现非界面部分,实现界面:在 iOS 和 Windows Phone 下可以分别使用 C+的超集 Objective-C+和 C+/CX,在Android下通过 JNI 调用系统提供的 Java 方法。XamarinC#开发,在ios下以AOT的方式编译为二进制的文件,在Android通过内置Mono虚拟机实现。优点:开发APP所需的基本功能全都有,有商业支持。缺点:深入后会发现功能缺失,尤其是定制 UI;相关资源太少,没有原生平台那么多第三方库。RoboVM将 Java 字节码编译为可在 iOS 下运行的机器码。

6、和 Xamarin 很像,但 RoboVM 风险会小些,对优先开发 Android 版本的团队挺适用,但目前官方文档很少,而且不清楚 RoboVM 在 iOS 上的性能和稳定性。编译编译流技流技术总结术总结编译流比前面的代码转换更进一步,它直接将某个语言编译为普通平台下的二进制文件,这种做法有明显的优缺点:优点:1、可以重用一些实现很复杂的代码2、或许性能会好些(具体要看实现)缺点:1、如果这个工具本身有 Bug 或性能问题,定位和修改成本会很高2、编译后体积不小,尤其是如果要支持 ARMv8 和 x86 的话虚虚拟拟机流技机流技术对术对比比说明React nativeReact Native

7、 要解决的是开发效率问题,很方便与native开发混用,它并没指望完全取代 Native 开发。使用风险可控,遇到问题可以随时改回 Native 实现。游游戏戏引擎中的脚本引擎中的脚本游戏引擎大多都能跨平台,为了提升开发效率,不少引擎还内嵌了对脚本支持,比如:Unity 3D,Cocos2d-JS。这些游戏引擎都不适合用来做 APP,一方面是会遇到前面提到的界面绘制问题,另一方面游戏引擎的实现一般都要不断重绘,比普通 App 更耗电。优点:组件化开发,复用率高,组件丰富以后,ui开发较快,前端式开发利用了React里面的分层和diff机制。js层传给Native层的是一个diff后的json,

8、然后由Native将这个数据映射成真正的布局视图可以和原生页面互相调用,作为一部分嵌入到一个已有的原生app中方便调试,可以进行代码热更新缺点:系统仍然(不得不)依赖原生组件暴露出来的组件和方法动画难以实现目前还不稳定,版本更新太快,可能会出现不兼容的问题。有时候需要手动解决更新也会引入bug一些涉及到底层的东西需要在ios和android单独开发,然后在js层进行调用比原生的性能要差。直观的感觉是复杂的页面在一些配置较低的手机上会有肉眼可见卡顿的感觉React NativeReact Native小结:跨平台移动应用的优势 通通过细过细致的致的规规划,在跨平台方案中,能划,在跨平台方案中,能

9、够实现够实现50%-80%50%-80%的代的代码码重用。重用。这样这样的的话话,可以,可以实现实现更快的开更快的开发发并降低成本。并降低成本。在在维护阶维护阶段,跨平台开段,跨平台开发发会会带带来来额额外的收益。如果在通用代外的收益。如果在通用代码库码库中中发现发现了了bugbug,我,我们们只需修正一次即可。只需修正一次即可。对对于通用的代于通用的代码码,只需,只需编编写一次写一次单单元元测试测试即可,即可,这样这样我我们们就能将就能将节节省下来省下来的的预预算用来算用来编编写更写更彻彻底更充分的底更充分的单单元元测试测试。我我们们可以使用已有的可以使用已有的编编程技能,无需学程技能,无需

10、学习习平台相关的开平台相关的开发语发语言。言。对对于于B2BB2B应应用和用和业务业务流程自流程自动动化化应应用来用来说说,这这种方式是很理想的,因种方式是很理想的,因为为上上线线时间时间和和资资源利用率比外源利用率比外观观和体和体验验更更为为重要。重要。小结:跨平台移动应用的不足 混合混合应应用可能会用可能会导导致致UIUI反反应迟钝应迟钝 混合混合应应用依用依赖赖于回于回调风调风格的格的编编程,程,实现实现与原生插件的通信,与原生插件的通信,这样这样会会为为代代码码引入引入不必要的复不必要的复杂杂性。同性。同时时,对对于一些任于一些任务务,这这可能会可能会导导致解决方案非常致解决方案非常缓

11、缓慢。慢。很多成功的很多成功的应应用都是以原生用都是以原生应应用(不管是用(不管是AndroidAndroid还还是是iOSiOS)的方式来开)的方式来开发发的。的。平台都有特定的用平台都有特定的用户户体体验验方式,方式,设计设计和构建一款和构建一款针对针对多种平台的多种平台的应应用用实实在是很在是很困困难难。移移动动操作系操作系统统正在以很快的速度演正在以很快的速度演进进。每年会有越来越多的特性添加。每年会有越来越多的特性添加进进来,来,这这为为跨平台跨平台SDKSDK厂商厂商带带来了很多的工作,因来了很多的工作,因为为他他们们需要在操作系需要在操作系统统新版本新版本发发布之布之后的很短的后

12、的很短的时间时间内,就拿出内,就拿出SDKSDK的新版本。有的新版本。有时时候,开候,开发发人人员员也需要花也需要花费费很很长长的的时间时间来升来升级应级应用,以支持跨平台用,以支持跨平台SDKSDK的新版本。的新版本。微信小程序微信小程序特点:特点:前端开发:js、wxml、wxss、json,开发便捷不用安装,省流量,不占用桌面结合微信,推广更容易局限:小程序只有轻功能,无法承载功能复杂的应用依赖于微信平台,受微信的限制适用场景:实用性小型工具、简单的服务类应用 游游戏戏推广、推广、应应用推广用推广总结总结:跨平台开发不会取代原生开发,但是可以根据需求,使用跨平台开发技术,提高开发效率,降低开发成本。微信小程序也不能代替大部分原生应用,但能够把它作为一个便捷的入口、推广手段。Thank youThank you

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服