app跨平台开发方案
前端开发
移动应用
浏览:1551 次

现在,从事客户开发的公司将面临一个巨大的问题,即跨平台。适用于当前市场上的移动设备。Android、IOS、WindowsPhone、BlackBattery和其他移动设备系统让我们在开发适应方面头疼不已。
当前的App跨平台解决方案主要包括基于Html5的web App解决方案和第三方语言映射解决方案。
1、 基于浏览器的Webview跨平台基于Webview的跨平台解决方案对所有人来说都很熟悉,对于Web开发工程师来说,使用Web开发也是一件简单的事情。
HTML5的主要缺点是其功能和性能。这主要是因为HTML5app的能力严重依赖于系统的Web引擎:iOS UIWebview、Android Webview等。这些组件的HTML5能力不及Safari for iOS和Chrome for Android。
此外,对于本地系统的新功能优化,如垃圾收集机制、ListView的重用机制等,使用WebView实现的逻辑通常很难实现系统级优化。
此外,在Android平台上,由于系统的严重碎片化,不同Android版本Webview的HTML5功能也有很大差异,这使得很难确保相应HTML5app的一致性。

当时,业内几家公司仍然提供了以下解决方案:
反应与其他JS框架相比,JS Facekbook的开源框架提出了一个非常重要的概念。这就是虚拟DOM。
在Web开发中,我们总是需要将更改的数据实时反映到UI中。此时,我们需要对DOM进行操作。复杂或频繁的DOM操作通常是性能瓶颈的原因(如何执行高性能的复杂DOM操作,通常是衡量前端开发人员技能的重要指标)。React为此引入了虚拟DOM的机制:它在浏览器端使用Javascript实现了一组DOM API。
jqueryMobilejQueryMobile是jQuery在手机和平板电脑上的版本。JQueryMobile不仅将JQuery核心库引入主流移动平台,还将发布一个完整统一的JQuery移动UI框架。支持全球主流移动平台。类似的框架现在包括jQTouch、Sencha Touch等。
对于FE来说,JQuery无疑是一个非常有用的js框架。大多数开发人员使用JQueryMobile的主要原因是他们熟悉JQuery,能够快速入门。
PhoneGap/Cordova/AppCan/…

这种框架,或者具体地说,已经转化为一个完整的解决方案。它们通过js的封装为web开发人员提供了一些本地函数API。通过这组API,移动应用程序可以访问JavaScript中的本地设备功能,如相机、麦克风等。
这些制造商通常将其制成一整套解决方案。API/在线编译/编译器等。这些规则的制定者并非一线大公司。作为一家小公司,这些工具已经变得特别商业化。
2、 我们都知道跨平台基于跨编译,无论是IOS系统还是Android系统。他们的底层系统都是以Unix为核心的系统,并且对C/C++有很好的支持。这允许我们通过使用底层解决方案并与OPEN GL合作来实现自己的app系统架构。
Cocos2dX/交叉app
不用说,Cocos2d在圈内非常有名。它是一个著名的跨平台游戏引擎,主要用于开发游戏。当年最著名的捕鱼人使用Cocos2d-X作为游戏引擎。Cocos2D基于OpenGL ES执行图形渲染,以最大化移动设备的GPU性能。毕竟,Cocos2d是一个游戏引擎,在许多方面不同于开发app。因此,中国还有另一个开源项目CrossApp。
CrossApp是一种提取了cocos2d x的渲染驱动模式。如果你直接使用游戏引擎,你将在程序的生命周期中不断地重画。渲染驱动模式的缺点是CPU消耗高,因此功耗高。显然,这种不断重画的方法可能对游戏影响不大,但对APP来说太浪费了。因此,我们根据app的特性将渲染机制更改为事件驱动模式。此模式下的渲染只能在被外界触发后重新绘制。当没有外部触发时,画面将静止,渲染将停止,以达到节能的效果。

Xamarin公司
Xamarin成立于2011年,旨在使移动开发变得异常快速和简单。Xamarin的产品简化了多平台的app开发