扑通一声

我是使用Java / Kotlin,Objective-C / Swift,Xamarin,React Native和Ionic的Production App的资深开发人员。 最近,我对FlutterDart的移动开发感到好奇,并开始了一些个人项目对其进行测试。 这是我第一个使用Dart的应用程序,在使用Flutter框架之前我并不熟悉Dart。

这是我的第一个想法:


首先要开始谈论它,如果您不熟悉CLI (命令行界面),并且几乎将所有内容都依赖于IDE, Flutter会出现问题(有时), Visual Studio Code,IntelliJ和Android Studio确实为它提供了很好的支持。 Android和iOS(是的,您甚至都使用Android Studio来编写iOS版本),但是,与Flutter CLI命令配合使用效果更好


构建用户界面,创建层(使用MVC,MVP或MVVP)的生产率非常高,这只是一个假设,但我的生产速度比使用Xamarin或Ionic快了3倍,而且更好的是Native! 我找不到使用共享代码无法实现的任何东西,并且不得不将其集成到本机代码中,至少到目前为止,Flutter提供的小部件就足够了。

我不会在本文中谈论混合应用程序与本机应用程序,如果需要,您可以自己进行研究。

Hot Reload速度更快,运行良好,感觉就像在Ionic或React Native中开发应用程序一样,非常适合测试用户界面,在不浪费时间的情况下查看它的真实外观重建一切!

快速学习,因为我以前在Android和iOS,设计模式,建筑方面有经验,所以我只要阅读他们的文档,就能在一天内学习Flutter的几乎所有内容! 很棒的官方文档和软件包!


用于IDE的Dart分析插件有时可能会失败。 您可以重新启动IDE来解决问题。 (对于CLI,它运作良好,我没有遇到任何问题)。

Packager Manager / Dependency Manager的工作原理与使用Maven,Nuget,Yarn的工作原理非常相似,因为Flutter文件是yaml文件,更具体地讲是’pubspec.yaml’。 我感觉要用Python做某事,因为如果您在缩进中犯了一个错误,验证不会失败,但是您的包或资产将无法解决。 至于IDE,什么也不显示。 因此,您需要浪费时间来查看和分析文件。


如果您要开发真正的花哨的东西,那将使用世界上存在的最大本机资源,例如玩加速计,创建相机应用程序,增强现实,使用新一代图形进行游戏开发,Flutter不适合您。 Flutter更适用于业务应用程序。

我在上面提到了游戏开发,当然,您可以使用Flutter进行游戏开发,只是个人观点,如果很简单,并且您想尝试一下,我们可以使用Flutter,这可以节省时间,但是如果您需要Power Graphics Unity或虚幻引擎或任何其他游戏引擎,您可能会永远挣扎,并且将失去干净的体系结构。 所以不要说这是不可能的。

毫无疑问,框架每天都在不断完善和发展,因此我将把我的个人项目转移到Flutter!