上海千语创想科技有限公司
 175-2108-6175
网站建设资讯详细

App跨平台开发方案

日期:2021-11-09  作者:千语创想  浏览:6012

现在做客户端开发的公司都会面临一个巨大的问题,那么就是跨平台。对于目前上市面上的移动设备来说。Android、IOS、WindowsPhone、BlackBattery等等移动设备系统,让我们在开发适配上都很头痛。

目前的App跨平台解决方案主要有基于Html5的网页App方案和使用第三方语言进行映射的方案。

一、基于浏览器Webview的跨平台
基于WebView的跨平台解决方案相信大家已经很熟悉了,而使用Web开发对于一个Web开发工程师也是一个轻而一举的事情。

HTML5方案的主要不足则在于功能和性能方面,这主要是因为HTML5应用的能力严重依赖于系统自带的Web引擎:iOS的UIWebview、Android的Webview等,此类组件的HTML5能力相比Safari for iOS、Chrome for Android都要差一截。

而且,对于原生系统的新能优化,如垃圾回收机制、ListView的复用机制等等,系统级别的优化,对于使用WebView来实现的逻辑,往往很难做到。

另外在Android平台上,由于系统碎片化比较严重,不同Android版本的Webview的HTML5能力也有较大差异,导致相应的HTML5应用一致性难以保证。

当时,目前还是存在业界的几家公司提供的解决方案如下:

React.js
Fackbook的开源框架,相对于其他的JS框架来说,react js提出了一个极为重要的概念。那就是 Virtual DOM。

在Web开发中,我们总需要将变化的数据实时反应到UI上,这时就需要对DOM进行操作。而复杂或频繁的DOM操作通常是性能瓶颈产生的原因(如何进行高性能的复杂DOM操作通常是衡量一个前端开发人员技能的重要指标)。React为此引入了虚拟DOM(Virtual DOM)的机制:在浏览器端用Javascript实现了一套DOM API。

JqueryMobile
jQuery Mobile是jQuery 在手机上和平板设备上的版本。jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。支持全球主流的移动平台。现在类似的框架还有:jQTouch、 Sencha Touch 等等。

对于FE来说,JQuery无疑是一个极为好用的js框架。多数开发者使用JQuery Mobile的主要原因是由于,熟悉JQuery,能够上手快。

PhoneGap/Cordova/AppCan/…

这类的框架,或者具体说已改算一个整套解决方案。他们是通过针对js的封装,向web开发者,提供给一些原生功能的API。通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。

这些厂商往往还将它们做成了一整套的解决方案。API/在线编译/编译器/等。这些规则制定的厂商都不是一线的大公司,作为小公司而言,这些工具就变得商业目的特别浓厚。

二、基于交叉编译的跨平台

我们都知道,无论事IOS系统还是Android系统。他们的底层运行的都是以Unix为核心的系统,而且都对C/C++支持性良好。这就让我们能够通过使用底层的方案,配合OPEN GL来实现自己的App系统架构。

Cocos2dX/CrossApp

Cocos2d不用多说,在圈子内的名气非常大。是一个著名的跨平台游戏引擎,多是用作开发游戏。当年最著名的扑鱼达人,就是使用了Cocos2d-X作为游戏引擎开发。Cocos2D基于OpenGL ES进行图形渲染,从而让移动设备的GPU性能发挥到极致。毕竟Cocos2d是游戏引擎,很多开发方式上与开发应用程序都不一样。所以国内就有另一个开源项目,CrossApp。

CrossApp是抽取了cocos2d-x的渲染驱动模式。若直接使用游戏引擎,程序生命周期中,在不断重绘,渲染驱动模式的缺点就是CPU占用高因此耗电。显而易见,这种不断的重绘方式对于游戏可能影响不大,但对于APP来说太浪费了。因此,我们针对应用程序的特性,将渲染机制改为事件驱动模式。这种模式的渲染要有外界触发才会重绘,在没有外界触发的时候画面静止,渲染停止,以达到节能的效果。

Xamarin

Xamarin始创于2011年,旨在使移动开发变得难以置信地迅捷和简单。Xamarin的产品简化了针对多种平台的应用开发,包括iOS、Android、Windows Phone和Mac App。Xamarin由许多著名的开源社区开发者创立和参与,而且也是Mono项目的主导者——C#与·NET框架的开源、跨平台实现。


三、Hybrid开发混合App

就是混合开发的App。Andorid+Html5 or IOS + Html5。理论上来说,混合开发的App算不上跨平台开发(我们可以简单的认为,就是使用原生的开发)。那么问题是,既然两者都有好处,那么我们就将一些体验、操作、权限要求不高的页面,使用Web来开发。其他的地方,我们还是使用原生的SDK进行研发。

 

千语创想-专业APP开发app定制服务商,提供一站式移动应用解决方案,满足您的各类需求,欢迎免费评估需求和获取报价。

 

立即免费在线制作一个APP,新手注册即送开发大礼包

提交app定制需求,免费获取报价和周期:

电脑请点击https://www.qianyuthink.com/?url=/index?uzchannel=500

手机请点击https://www.qianyuthink.com/?url=/m/customizedservice



转载请注明来自:https://www.qianyuthink.com/news/7422.html

填写您的项目需求给我们

或者直接拨打 7×12小时一对一咨询电话

175 2108 6175

请填写需求信息,我们会在10分钟内与您取得联系

请认真填写需求信息,我们会在10分钟内与您取得联系

×
客服二维码
咨询技术总监
175-2108-6175
客服二维码
技术总监微信
客服二维码