Flutter or Native

一、前言

如今的移动端跨平台解决方案百家争鸣,像早些年的RN,近些年的uni-app、flutter等。每一门技术都有各自的优点与不足,本文旨在介绍Flutter的优点以及通过Flutter与Native的优缺点对比来协助开发者在新项目立项时选择技术方案

二、Flutter的优点

1.Flutter 克服了传统跨平台的限制

长期以来,创建真正的跨平台方法一直是技术顾问的苦恼所在,他们厌倦了为同一产品制作多个版本。但是,实际上,跨平台应用的用户体验通常落后于原生 app,因为你经常需要即时编译 JavaScript 来构建 UI 体验

image

使用 Flutter,你不仅可以拥有“一次编写”的优势,还可以创建高性能的“原生”体验,因为 Flutter 应用程序是提前编译出机器可执行的二进制文件。它克服了其他跨平台方法中的一些常见问题

2. 开发人员的生产力提高了十倍

这种生产力的提高来自 Flutter 的“热重载”(也就是所谓的“有状态的热重载”和“热重启”)。这样,开发人员可以在不到一秒的时间内看到他们对应用程序状态所做的更改;并且在不到 10s 的时间内改变 app 的结构。

没有必要去启动另一个 Gradle 构建程序——因为你可以在保存后查看你的修改。对于开发人员来说,这通常很容易掌握——在使用“热重载”时几乎没有等待时间,因为在默认情况下,每次保存时都会实时改变。

然而,优势是至关重要的。使用 Flutter 开发时间通常会减少 30-40%,因为在 Android 开发中,每次修改后 Gradle 都需要重新构建,这会降低 Android 开发人员的速度。

3. 前后端只需一套代码

在 Android 编程中,前端( Views )有单独的文件,由后端( Java )引用,与之不同的是,flutter 使用一种语言( Dart )来完成这两项工作,并使用一个响应式框架。

Dart 借鉴了其他语言众多流行的特性,同时不会让你感到陌生,因为它和 Java 或者其他语言相似。Dart 的构建考虑了开发人员的易用性,从而使许多常见任务变得更加容易

4. 这是一种强大的开箱即用的设计体验

由于 Flutter 团队对 Material design 规范的积极适配,使得开发者很容易就可以创建出功能强大的 UI 体验。它可以帮助你生成通常只能在原生 app 中才能体验到的平滑、流畅,因为 Flutter 的发行版构建的就是一个原生 app 。

Flutter 的小部件同时也实现了 iOS 的人机界面设计规范,可以让你在 iPhone 和 iPad 上也能获得那种原生的“体验”。

image

5. 有一个数量众多且开源的软件库

大量可用的开源包可以帮助你更快、更轻松地创建应用程序,而且目前有许多可用的包可以使许多复杂的任务变得更容易。

由于不断加入的开发人员对 Flutter 的作出的积极贡献,所以即使这个开源库还不够成熟,但它依然在积极壮大。

6.大量 IDE支持 Flutter

在使用 Flutter 进行编程时,你可以从许多集成开发环境中进行选择。一开始我使用的是 Android Studio,但后来我看 Flutter Live 时使用的是VS Code。这让我很疑惑,因为我发现很多 Flutter 开发人员都在使用 Visual Studio Code。当我尝试之后,我明白为什么这么多人喜欢它了。 VS Code 相较于 Android Studio 和 IntelliJ 更加轻量,速度也快得多,并且具有两者中的大部分特性。就我个人而言,我已经转向 VS Code,但是你也可以使用许多其他的 IDE ,你无需切换就可以开始 Flutter 的工作。

7.UI遵从性——一切都是一个小部件

在 flutter 中,所有的东西都是一个小部件,例如 Appbar, Drawer, Snackbar, Scaffold 等等。开发者可以很容易地将一个小部件包装在另一个小部件中以实现一些效果,例如将一个部件包装在一个 Center 小部件中,就可以让其居中。

8.Android/iOS 的不同主题

根据用户的平台分配正确的主题就像使用三元 if 检查用户正在运行的平台一样简单;允许 UI 在运行时决定使用哪些 UI 组件。

二、不同场景方案选择对比

场景 Flutter Native
Android、iOS同一套UI 😀 😟
产品与系统底层强交互 😟 😀
包体积大小 😐 😀
性能 😀 😀
用户体验 😀 😀
三方库生态环境 😐 😀
开发周期 😀 😐
开发者数量/专业程度 😐 😀

三、结语

使用 Flutter 的价值很明显,也很有吸引力,因为它减轻了初创公司试图将产品发布到多个平台所面临的许多困难;特别是处理在有限的时间和预算内将软件产品推向市场的时候。缺点也是存在的,比如有些功能实现不了呀、生态环境

有所欠佳啊之类的。所以怎么选择技术方案还是要看具体需求来决定。但是对于我们开发者而言,肯定是要积极主动的去学习新技术,拥抱变化以致于不被时间淘汰。

本文中Flutter的优点来源于文章 https://github.com/xitu/gold-miner/blob/master/TODO1/13-reasons-why-you-should-choose-consider-to-move-to-flutter-in-2019.md

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343