Flutter - 从入门到放弃

列出一些Flutter项目的案例,在你考虑学习之前,先看看里面博主对Flutter的理解;
😌。。。,还不是最终的解决方案,但它是目前最优的解决方案;当然也要结合各团队的情况

尝试Flutter的理由

  • Dart 语言
    Flutter 是基于 Dart 设计的,Dart 语言从一开始就被设计为构建客户端应用程序的绝佳工具,并针对 UI 开发工作做了调整和优化。
    Dart 有着干净且极为强大的语法,加之易于维护的特性,促进了强大的应用程序架构和设计。它与其他流行语言(例如 C#、Java 和 TypeScript)相似,这意味着有相关经验的开发人员很容易快速上手并开始使用 Dart。
  1. 开发人员的广泛采用
    在短短的一年时间里,Flutter 在 GitHub 和 StackOverflow 上都取得了比 React Native(之前最流行的框架)更高的流行度。对你的应用程序来说,这意味着有更多的资源可供学习,可以找到更多熟练的开发人员来开发你的应用。此外,Flutter 技术本身的迭代速度更快。
  2. 它特别快
    Flutter 应用程序可编译为原生二进制文件,这些文件依赖于 C/C++ 内置的图形和渲染引擎,因此可生成非常快速且性能出众的应用程序。Flutter 应用程序能够在大多数设备上实现稳定的 60fps 输出,并在支持高刷新率的设备上实现令人难以置信的 120fps 帧率。
    许多开发人员已经注意到,Flutter 的性能表现与其他跨平台框架相比有了极大的提升,这也是移动应用开发人员迅速而广泛地采用这一技术的驱动力。确实,在性能表现和流畅的渲染方面,真正的原生构建应用是很难被击败的,但在跨平台框架领域,Flutter 在这些指标的竞争中具有明显的优势。
  3. 它相对易学
    除了性能表现之外,Flutter 之所以获得如此广泛的使用率,另一大因素就是它提供的出色文档和可供参考的大批高质量示例。对于有兴趣学习新的框架、工具包或语言的开发人员来说,这一切都让 Flutter 与众不同。对于经验丰富的程序员而言这一点尤其重要,因为他们更有可能发现语言或工具包本身的设计问题。
    Flutter 因其清晰的文档资料以及由新手和专家组成的支持社区而倍受赞誉,社区成员经常渴望分享他们的经验,并提供设计出色、开发模式出众的可靠实践示例,为他人带去福音。一般来说,易学易用,面向大众的技术往往没有那么重的精英主义氛围,所以对新人也更加友好。
  4. 它的设计精良
    Flutter 是基于出色的语言 Dart 和快速的高性能渲染引擎 Skia 从头开始设计出来的。这样的路线诞生了一个高水平的框架,能鼓励不同技能水平的开发人员基于良好的设计模式和最佳实践来构建应用,而不会因为标准冲突或糟糕的语言实践导致内部技术债。拥有多年经验,能熟练跨各种设备构建应用程序的开发人员开始上手 Flutter 几分钟时间,就能意识到 Flutter 带来的明显优势,新手也不太容易陷入困境,因为互联网上有很多很棒的示例可以用来学习最佳实践。

学习项目

官方示例
官方示例

基础教程

项目都是独立的,可单独运行

收集Flutter实例的App

快速开发

jsontomodel

Flutter 的技术栈

Flutter 优势

  • 跨平台,性能强大
  • 热重载功能
  • 免费,开源
  • 高度可定制

Flutter 缺点

  • 双端熟悉
  • Dart编程;声明式语法上会发生嵌套地狱
  • 包体积增大

Flutter 感受

作为iOS开发工程师,在学习Flutter过程中,要对Android系统开发也要有些了解,要不然处处是坑;如果想开发一个项目,至少需要iOS和Android两个高级工程师来做,因为Flutter毕竟是跨平台UI的解决方案,它不是原生,在处理底层事件和高性能需求的时候离不开原生,需要制定通讯协议和解决方案;

对Flutter未来的看法

个人觉得全量开发的可能性非常非常小,苹果也不允许的,而且目前很多公司的产品改造成Flutter的成本太大,ROI不高,不过flutter确实越来越完善了,如果swiftUI没发力,原生开发肯定会被严重蚕食

你愿意在下一个项目中尝试 Flutter 吗?