美文网首页FlutterAndroid
Flutter跨平台方案的选择

Flutter跨平台方案的选择

作者: 文质彬_已然未然 | 来源:发表于2021-10-24 16:53 被阅读0次

    1.Flutter是什么?

    官方给的解释是Flutter is Google'sUI toolkit for building beautiful,

    natively compiled applications for mobile, web,and

    desktop from a single codebase.

    翻译:Flutter 是谷歌的 UI 工具包,用于构建美观、

    本机编译的移动、网络和应用程序来自单个代码库的桌面。

    2.Flutter的特点

    美观、快速、高效、开放。

    2.1 美观:使用Flutter内置美丽的Material Design和Cupertino widget、丰富的motion API、平滑而自然的滑动效果和平台感知,为您的用户带来全新体验。

    2.2 快速: Flutter 的 UI 渲染性能很好。在生产环境下,Flutter 将代码编译成机器码执行,并充分利用 GPU 的图形加速能力,因此使用Flutter 开发的移动应用即使在低配手机上也能实现每秒 60 帧的 UI 渲染速度。 Flutter 引擎使用 C++ 编写,包括高效的 Skia 2D 渲染引擎,Dart 运行时和文本渲染库。

    2.3 高效: Hot Reload (热重载) ,在前端已经不是什么新鲜的东西,但在移动端之前一直是没有的。

    2.4开放:Flutter 是开放的,它是一个完全开源的项目。

    3.跨平台方案,可以优先选Flutter方案

    方案一:H5开发

    基于 JavaScript 和 WebView的跨平台。主要是通过HTML来构建自己的界面,再将其显示在各个平台的WebView中。

    方案二:React Native开发

    是一个移动框架,也可以说是JS框架,它里面提供了很多JS函数,这些JS函数直接映射到系统函数上的,针对不同的平台提供了不同的API,所以ReactNative开发跟原生开发没有太大区别,

    但是ReactNative的本质是通过JavaScript VM调用原生接口,通信相对比较低效,而且框架本身不负责渲染,而是间接通过原生进行渲染的,所以性能上还不如原生开发。

    但它性能比web开发要好,因为它不依赖于webview了,开发的时候用js代码,编译的时候就生成原生代码。它被用来移动开发(iOS和Android)、智能设备(如手表、电视)、增强现实等。由于RN没有DOM可交互,所以它没有使用React中使用的相同类型的HTML标记,而是使用自己的标记,这些标记随后被编译成其他语言。例如,RN开发者使用RN内置的标签,而不是HTML标签,它可以在后台编译成其他本地代码(例如Android上的View;iOS上的UIView)。

    React Native支持热更新功能!

    方案三: Futter开发

    Flutter 与React Native的本质区别:Flutter 有自己的组件渲染闭环,不再是调用android或iOS平台下的组件进行渲染。

    总之,Futter包含框架、widget和工具,为开发人员提供了一种在Android和iOS上构建和部署精美移动应用程序的简单高效的方式。

    Flutter既不使用Webview,也不使用操作系统的原生控件。

    相反,Flutter使用自己的高性能渲染引擎来绘制widget。

    Flutter代码都是先AOT(运行前)编译为Android/Ios下的本地代码,再运行的。Flutter不支持热更新功能

    今天的分享结束了,再见~

    相关文章

      网友评论

        本文标题:Flutter跨平台方案的选择

        本文链接:https://www.haomeiwen.com/subject/euaraltx.html