2022年Flutter真的会一统大前端吗?

简介: 在创建 iOS 和 Android 应用程序时,我通常推荐使用 Flutter,因为使用它更加简单高效。正是由于 Flutter 的诸多优势,它在许多情况下都是移动应用程序的绝佳候选者。它的性能、逻辑架构和文档都备受推崇。国内的社区也非常的活跃,学习的话,可以看这个文档flutter-io.cn/还有这个book.flutterchina.club**/

在创建 iOS 和 Android 应用程序时,我通常推荐使用 Flutter,因为使用它更加简单高效。正是由于 Flutter 的诸多优势,它在许多情况下都是移动应用程序的绝佳候选者。它的性能、逻辑架构和文档都备受推崇。国内的社区也非常的活跃, 学习的话,可以看这个文档flutter-io.cn/还有这个book.flutterchina.club**/

但在某些情况下,Flutter 可能并不是最合适的。这就是我将在本文中要写的内容。让我们看下面的这些场景。

当您的项目依赖于

特定设备和平台的主要库时

如果您的项目需要 Wear OS 版本或 Smart TV 应用程序,您会遇到一些问题。你可以在技术上为这些平台构建一个 Flutter 应用程序。但是,Wear OS 并不支持 Flutter 的许多开发功能。所以会给你带来困扰。

网络异常,图片无法展示
|

对于 Android TV,您必须从头开始使用控制逻辑。因为 Android TV 只读取远程控制输入,而 Flutter 使用触摸屏和鼠标移动,情况就是这样,孰轻孰重,自己考量。

当您的应用程序对应用大小要求很高时

由于flutter不是原生的,它在应用程序之上添加了一些其他库来工作。如果每个字节对您的应用程序都很重要时,您可能需要在原生平台上进行开发。由于它具有内置的小部件而不是使用原生平台小部件,因此 Flutter 应用程序的最小大小超过 4MB,明显大于原生 Java(539KB)和 Kotlin(550KB)应用程序。

老实说,它的竞争对手也有同样的问题, React Native 占用 7MB。

但是由于硬件技术的进步,即使是智能手机也配备了更大的内存和存储空间。所以大多数人并不关心应用程序的大小。

硬件支持

网络异常,图片无法展示
|

不建议将 Flutter 用于通过蓝牙连接到硬件设备的应用程序。由于它本身不使用设备的蓝牙,因此会出现一些连接问题和性能问题。

Flutter for Web

它不是html。是的,即使是 Web 版 Flutter 也已正式发布,但是它不会撼动互联网世界。市场上有许多简单有效的库来开发网站。当涉及到网站、页面加载速度、SEO、性能和一切都很重要时,Flutter 很难通过简单的 dart to Js Engine 来实现这些。

但现在判断还为时过早。Flutter 可能会拿出精彩的优化性能。让我们敬请期待,在王叔的视频里,对此类问题也做过阐述,地址在这儿。

Flutter可以做网站吗|Flutter Web劝退指南|从入门到放弃只需要几分钟

平台特定的外观和感觉

Material Widgets 和 Cupertino 小部件分别是 Android 和 iOS 应用程序的两种不同的构建块。在创建 Flutter 应用程序时,您可以同时使用这两个小部件,但是当我们为 iOS 构建使用 Material 小部件时,该应用程序缺乏原生的外观和感觉。为了实现这两个应用程序的原生外观,我们应该检查代码中的平台并渲染特定的小部件,这是编码和应用程序性能最差的部分。

网络异常,图片无法展示
|

缺乏第三方集成

尽管 Flutter 有 19k+ 的库和插件,但它依旧缺少许多流行的库和 SDK。目前正在开发许多包并迁移到 Flutter。如果您要开发一个主要依赖第三方插件的应用程序,请检查 SDK 的最新版本是否适用于 Flutter。至于如何检查,

网络异常,图片无法展示
|

此外,始终首选积极维护的存储库。

最后,Flutter 并不总是很棒。事实是它无法一碗水端平。当然这只是决定把它放在哪里的问题。但是,即使是这样能,Flutter 依旧可以简便,高效地使用。

写一篇文章真的不容易,


相关文章
|
8月前
|
缓存 监控 前端开发
【Flutter 前端技术开发专栏】Flutter 应用的启动优化策略
【4月更文挑战第30天】本文探讨了Flutter应用启动优化策略,包括理解启动过程、资源加载优化、减少初始化工作、界面布局简化、异步初始化、预加载关键数据、性能监控分析以及案例和未来优化方向。通过这些方法,可以缩短启动时间,提升用户体验。使用Flutter DevTools等工具可助于识别和解决性能瓶颈,实现持续优化。
316 0
【Flutter 前端技术开发专栏】Flutter 应用的启动优化策略
|
3天前
|
前端开发 Java 开发工具
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
|
3天前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
4天前
|
Dart 前端开发 架构师
【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈-供大大的学习提升
【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈-供大大的学习提升
|
2月前
|
前端开发 数据处理 Android开发
Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍
本文深入探讨了Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍,以及具体操作步骤、常见问题解决、高级调试技巧、团队协作中的调试应用和未来发展趋势,旨在帮助开发者提高调试效率,提升应用质量。
68 8
|
5月前
|
存储 JavaScript 前端开发
2022年前端js面试题
2022年前端js面试题
123 57
|
8月前
|
Dart 前端开发 安全
【Flutter前端技术开发专栏】Flutter中的线程与并发编程实践
【4月更文挑战第30天】本文探讨了Flutter中线程管理和并发编程的关键性,强调其对应用性能和用户体验的影响。Dart语言提供了`async`、`await`、`Stream`和`Future`等原生异步支持。Flutter采用事件驱动的单线程模型,通过`Isolate`实现线程隔离。实践中,可利用`async/await`、`StreamBuilder`和`Isolate`处理异步任务,同时注意线程安全和性能调优。参考文献包括Dart异步编程、Flutter线程模型和DevTools文档。
268 1
【Flutter前端技术开发专栏】Flutter中的线程与并发编程实践
|
8月前
|
Dart 前端开发 测试技术
【Flutter前端技术开发专栏】Flutter开发中的代码质量与重构实践
【4月更文挑战第30天】随着Flutter在跨平台开发的普及,保证代码质量成为开发者关注的重点。优质代码能确保应用性能与稳定性,提高开发效率。关键策略包括遵循最佳实践,编写可读性强的代码,实施代码审查和自动化测试。重构实践在项目扩展时尤为重要,适时重构能优化结构,降低维护成本。开发者应重视代码质量和重构,以促进项目成功。
97 0
【Flutter前端技术开发专栏】Flutter开发中的代码质量与重构实践
|
8月前
|
存储 缓存 监控
【Flutter前端技术开发专栏】Flutter中的列表滚动性能优化
【4月更文挑战第30天】本文探讨了Flutter中优化列表滚动性能的策略。建议使用`ListView.builder`以节省内存,避免一次性渲染所有列表项。为防止列表项重建,可使用`UniqueKey`或`ObjectKey`。缓存已渲染项、减少不必要的重绘和异步加载大数据集也是关键。此外,选择轻量级组件,如`StatelessWidget`,并利用Flutter DevTools监控性能以识别和解决瓶颈。持续测试和调整以提升用户体验。
253 0
【Flutter前端技术开发专栏】Flutter中的列表滚动性能优化
|
8月前
|
存储 缓存 前端开发
【Flutter前端技术开发专栏】Flutter中的图片加载与缓存优化
【4月更文挑战第30天】本文探讨了 Flutter 中如何优化图片加载与缓存,以提升移动应用性能。通过使用图片占位符、压缩裁剪、缓存策略(如`cached_network_image`插件)以及异步加载和预加载图片,可以显著加快加载速度。此外,利用`FadeInImage`、`FutureBuilder`和图片库等工具,能进一步改善用户体验。优化图片处理是提升Flutter应用效率的关键,本文为开发者提供了实用指导。
743 0
【Flutter前端技术开发专栏】Flutter中的图片加载与缓存优化