2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

是什么在阻碍移动应用开发者选择 Flutter?

  • 2019-08-16
  • 本文字数:2272 字

    阅读完需:约 7 分钟

是什么在阻碍移动应用开发者选择Flutter?

“Flutter 有什么不一样的吗?”“为什么要切换到 Flutter 上?”你可以先问问自己这两个问题。对于跨平台移动应用开发者来说,他们最想知道的答案就是 Flutter 是不是比其他原生应用开发方案效率更高;如果答案是肯定的,那么为什么?


Flutter 是效率最高的应用程序跨平台开发解决方案之一。凭借直观易懂的用户界面,Flutter 迅速得到了全球各地开发企业的青睐。Flutter 是谷歌发布的全新开源解决方案,在它的帮助下开发人员使用一个代码库就能实现跨平台应用开发。换句话说,用它开发的应用可以同时支持 Android 和 iOS 两大移动平台。Flutter 是一个 SDK——也就是软件开发工具包。这个 SDK 中包含了开发跨平台应用程序所需的所有内容,例如现成的小部件、测试和集成 API、渲染引擎和命令行工具等。正因为此,这个解决方案可以帮助开发人员大大节省时间和资源,更容易为两大平台开发移动应用。


在过去,React Native曾经是跨平台应用程序开发行业最流行的框架。它诞生于 2013 年,最初是 Facebook 内部的秘密项目,直到 2015 年才公开发布。当时 React Native 已经支持了一些原生开发功能。


React Native 自带的小部件比较全面,但它提供的选择不像 Flutter 那么丰富。此外 RN 还有一些组件是自适应的,它们能够分析出自己正在运行在哪个平台上,进而针对这个平台提供相对应的组合。


虽然 React Native 节约了开发人员交付跨平台应用程序所需的资源,但它的性能表现和用户体验比较糟糕。React Native 生态中可用的包比 Flutter 要多,因为前者已经走过了三年的发展历程,在这方面 Flutter 显然不是对手。


在 2019 年谷歌 I/O 大会上,谷歌宣布 Flutter 将支持桌面和 Web 应用开发。

Flutter 有什么特别之处?

Flutter 有很多优势。凭借大批开发人员和应用程序所有者的支持,Flutter 已经在市场上取得了统治地位。下面我们就来看看这个跨平台应用全新解决方案的优势所在。

一个代码库用于两大平台

Flutter 是一个跨平台工具。它的最大优势就是应用的 Android 和 iOS 版本可以共享一个代码库,这样开发人员就可以在两大平台上同步更新应用了。它的小部件支持与平台无关的代码创建工作。此外 Flutter 也可以构建单一平台的应用程序。

高速开发

热重载是 Flutter 的另一大特色。有了这个功能,开发人员就可以在更改代码后立即在 UI 中查看更新效果。Flutter 内置的热重载功能是开箱即用的,无需额外的插件或任何配置操作,因此 Flutter 可以非常显著地提高开发人员的工作效率。热重载还有利于开发人员修复错误。如果你遇到了构建错误,它将显示一条消息告诉你重载没能执行;等你纠正问题、保存应用后,应用程序就会继续正常运行了。


谈到学习上手的难度,Flutter 的文档宣称使用 Flutter 编程是非常简单的事情,甚至不需要多少编程知识基础:“开发人员有过面向对象语言的编程经验肯定是有意义的,但甚至有开发者本来不是程序员,也用 Flutter 做出了应用程序!”。

支持多种设备

你可以用 Flutter 开发支持多种设备的应用程序,应用甚至能跑在很老的设备上。这个全新的解决方案允许你继续使用已有的 Java、Swift 和 C 代码来接入 iOS 8 和 Android 上的原生功能和 SDK。

优秀的用户界面

这个跨平台解决方案使用小部件来构建 UI。Flutter 提供了一种小部件方法。它提供了一个现代化的响应式框架,以及一系列平台、布局和基础小部件的组合。开发人员可以使用小部件开发足以比拟原生 UI 的复杂用户界面。此外,Flutter 中的小部件不仅能用在视图中,也能用在整个屏幕,甚至应用程序自身上。你还可以根据自己的需求自定义小部件,为客户带来独特而奇异的属性,博得他们的欢心。

高效的测试功能

Flutter 支持单元测试、功能测试和 UI 测试,并附有详细的文档说明。其小部件测试功能让开发者可以快速高效地运行 UI 测试。此外,Flutter Driver 类可以在另一个进程中驱动应用程序,并提供了很多有用的方法来测试用户交互和应用程序界面。

那么为什么 Flutter 还没成为顶尖的应用程序开发框架呢?

尽管 Flutter 拥有一系列有趣的功能,广受开发人员好评,但它的能力还是比不上原生开发,并且存在一些缺陷;因此至少到目前为止,Flutter 还不足以成为顶尖的应用程序开发框架。


就像所有新工具一样,Flutter 的新技术也会遇到很多问题。尽管它得到了谷歌的鼎力支持并且提供了很多强大的实用功能,但它还是太年轻了,能用的库数量很少。所以 Flutter 的很多功能都需要应用程序开发人员自己来开发,这可能会非常费时间。一些开发人员认为它不能用来构建复杂的商业应用程序,而是更适合较为简单的应用程序和原型设计。这也是为什么我们 QuickBlox 目前还不用 Flutter 开发的原因。


另一个缺陷是 Flutter 只能用来开发移动应用程序,这些应用没法运行在网页浏览器上。Flutter 并不具备足够广泛的设备覆盖范围。


Flutter 还不算是跨平台应用开发方案老大的另一个因素就是它使用的 Dart 语言。创建原生 Android 和 iOS 应用程序的开发人员并不想要学习另一门编程语言。Flutter 需要用 Dart 语言来开发,这一点有利有弊。它是一种面向对象的编程语言。熟悉 Dart 的资深开发人员不多,所以你的团队很难找到这方面的专家。在寻找跨平台开发方法时要牢记这一点。


总而言之,毫无疑问 Flutter 目前是构建移动应用程序最激动人心的工具之一。如果你需要性能出色、容易学习、国际化支持完善、拥有现成的小部件、更新及时的移动应用程序开发工具,那么 Flutter 就是正确的选择。但你也要对它的种种缺陷做好心理准备,以免出问题时手足无措。


原文链接https://quickblox.com/blog/whats-holding-mobile-app-developers-back-from-flutter/


2019-08-16 19:273657

评论 1 条评论

发布
用户头像
“Flutter 已经在市场上取得了统治地位”这个结论怎么得出来的?只有论点没有论据。。
2019-08-22 10:11
回复
没有更多了
发现更多内容

快手8篇论文入选机器学习领域顶会ICML 2025!

快手技术

人工智能 顶会论文 ICML

流批一体的“奥卡姆剃刀”:Apache Cloudberry 增量物化视图应用解析

酷克数据HashData

主键分布不均 SeaTunnel CDC 同步卡顿多日?这样优化终于通了!

白鲸开源

开源 主键 CDC Apache SeaTunnel CDC同步

CAD如何测立面?详细教程来了

在路上

cad

CleanMyMac一直提示输入密码怎么办?

阿拉灯神丁

MacBook Mac 软件 CleanMyMac X

订单初版—分布式订单系统的简要设计文档

不在线第一只蜗牛

架构 订单

区块链合约交易所开发攻略

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

深入拆解MCP架构:手把手搭建智能体通信桥梁

聚客AI学院

MCP MCP协议 mcpserver MCP Server MCP头号玩家

MyEMS开源能源管理系统核心代码解读012

开源能源管理系统

开源 能源管理 代码解读

京东携手HarmonyOS SDK首发家电AR高精摆放功能

HarmonyOS SDK

HarmonyOS HarmonyOS NEXT HarmonyOS SDK应用服务

Agentic时代,我们需要什么样的数据工程(一)

MatrixOrigin

链游新纪元——链游平台开发引领游戏新潮流!

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

DolphinScheduler+Sqoop 入门避坑:一文搞定数据同步常见异常

白鲸开源

大数据 sqoop 开源 Apache DolphinScheduler 任务调度

MyEMS开源能源管理系统核心代码解读011

开源能源管理系统

开源 能源管理

JavaScript中如何遍历对象?

电子尖叫食人鱼

JavaScript 前端

Claude Code 免费羊毛快薅

白大米

Claude cursor

百度阮瑜:百度大模型应用赋能产业智变|2025全球数字经济大会

百度Geek说

企业和个人基于业务知识和代码库增强的大模型生成代码实践

京东科技开发者

MCP新手图文指南:轻松实现AI与您的数据和工具无缝对接

测试人

Apache SeaTunnel × Hive 深度集成指南:原理、配置与实践

白鲸开源

hive 开源 数据同步 数据集成 Apache SeaTunnel

中选名单出炉|18位学生入选开源之夏KubeEdge课题,欢迎加入!

华为云原生团队

云计算 容器 云原生

解读 OP 治理第八季:看 Superchain 生态下的链间协同与治理

NFT Research

blockchain Web3.0 Optimism

三维图纸描述太费劲?直接上「批注」,协作更顺畅!

在路上

cad

京东零售基于国产芯片的AI引擎技术

京东科技开发者

人工智能丨这七大核心AI框架竟然都支持MCP

测试人

人工智能 软件测试

Apache DolphinScheduler保姆级实操指南:云原生任务调度实战

白鲸开源

大数据 开源 云原生 Apache DolphinScheduler 任务调度

10倍处理效率提升!阿里云大数据AI平台发布智能驾驶数据预处理解决方案

阿里云大数据AI技术

人工智能 大数据 数据分析 数据处理 智能驾驶

FCPX插件-60个社交网络图形图标动画 mModules Essentials

晨光熹微

一张表就是一个智能业务系统,钉钉全新发布“AI表格”

ToB行业头条

Java的SPI机制详解

京东科技开发者

PPT字体替换全攻略!这2个使用技巧办公必备

职场工具箱

人工智能 AI PPT AIGC AI生成PPT

是什么在阻碍移动应用开发者选择Flutter?_语言 & 开发_Alex Gorodov_InfoQ精选文章