了解 Flutter
Flutter
只是一个 UI 框架,和 iOS 中的 UIKit
一个级别的,惟一不同的是跨平台性。
Flutter 【真】跨平台吗
答案否
,Flutter
只是 UI 跨平台,仍然无法脱离原生代码,比如 iOS
入口依然是AppDelegate
, 在程序入口绑定到 Flutter SDK(FlutterViewController);编译,证书配置,包配置等依然需要Xcode
。一句话就是,必须得会原生开发,你才能做 Flutter 跨平台开发。
Flutter 能实现所有功能?
答案否
,网络请求、文件操作、国际化等一些功能Flutter 可以实现的,但是很多功能必须使用原生实现,比如获取剩余电量、打手机相册、第三方登陆、地图、摄像头、麦克风等,然后通过Flutter 提供渠道(或者说插件)方式绑定到 Flutter SDK 中。(注意:这些功能需要各个平台原生代码实现
)。一句话就是,必须得会原生开发,你才能做 Flutter 跨平台开发。
Flutter 跨平台成本如何?
- 以跨iOS、安卓2个平台来谈一下,开发人员得会 2个平台的原生开发,会以下编程语言:Dart、Swift/Objective-C、java/Kotlin。
- 开发人员会这么多技能,薪水给低了你愿意去吗?
- 小公司一般情况下只招1-2个人,如果搞跨平台,2个人还好,1个人很难搞得动,当然如果公司给的薪水特别心动那是例外或者有特别原因。
总结
- Flutter 技能要求高,开发成本不低。
- Flutter 只是 UI 框架,无法【真】跨平台。
- Flutter 跨平台,必须得会原生开发。