调用照相机,录音这些 flutter 是不是没原生好?
1
AoEiuV020JP 2023-08-08 10:37:05 +08:00
没试过,但理论上这些都需要原生模块原生代码来调用,结果应该是和原生直接调用一样的,
|
2
rocmax 2023-08-08 10:42:31 +08:00 via Android
原生功能还是调原生 API ,flutter 主要解决的是 UI 层面的统一问题
|
3
x77 2023-08-08 10:47:14 +08:00 via Android
与平台的交互部分 Flutter 也要调原生代码。
|
4
LookUpAndSmile 2023-08-08 11:57:30 +08:00
|
5
iOCZ 2023-08-08 11:59:54 +08:00 1
看你的标题还是正常的,看正文就傻眼了。。。
|
6
iOCZ 2023-08-08 12:02:45 +08:00
flutter 只是 UI 层的东西,当然为了使用原生平台的东西,还是要做 dart 和 native 之间的 bridge 。flutter 不是唯一的选择,SwiftUI 目前只能苹果系统用。JetBrains 近日宣布更新自家跨平台 UI 开发框架 Compose Multiplatform 新增支持 iOS ,现在开发者可以使用同一套代码库,一次编写即可在 Android 、iOS 、桌面和网页之间共享开发成果,获取更加便捷、高效的跨平台 UI 开发体验。
|
7
mikeying 2023-08-08 12:05:47 +08:00
Flutter 更适合于带有 UI 功能的跨平台完整 APP 解决方案,我的项目用的 SDK ,用 Rust 来开发的跨平台方案。
|
8
minami 2023-08-08 12:39:36 +08:00
最大的劣势是 flutter 属于 windowless 框架,想内嵌原生窗口或想用原生接口接管 flutter 控件渲染会非常麻烦,当然这个主要是针对桌面端的
|
9
murmur 2023-08-08 12:43:54 +08:00
camera 这种东西 cordova 都能调,我不知道 flutter 相机如何,rn 的社区相机已经带了人脸(姿势)识别了
|
11
didikee 2023-08-08 13:12:21 +08:00 1
flutter 是一个 ui 框架,你正文里说的功能它是没有的。不过可以看看有没有第三方插件去实现它,不是这些功能没原生好,你就说 UI 也没有原生的定制化高啊。
都用 flutter 了,难道是为了和原生强吗,我还以为大家都是看中它的跨平台 UI 解决方案呢。 |
12
LandCruiser 2023-08-08 13:14:14 +08:00 1
技术行业也普遍存在外行领导内行的问题
|
13
GTim 2023-08-08 13:54:39 +08:00
Flutter 最好用微信那个相机和相册功能,但是呢,有点卡,
|
14
pkwenda 2023-08-08 13:58:40 +08:00
webview ,据我所知截止到现在 webView 也没有统一的解决方案,但是各个平台都有独立的方案,不好兼容。
另外:apple 的 Core ML ,状态栏菜单,多窗口等,都不太行。 |
15
Aoyd 2023-08-08 14:03:01 +08:00
flutter 的 bug 太多了,不管是官方框架还是第三方框架总有预料不到的 bug.
|
16
AppJun 2023-08-08 14:20:29 +08:00 1
现在不讨论优势,简单说跨平台最大的劣势就是几个,通用的劣势:
1. 框架的维护风险,不要看很多人用,现在还有一堆人维护,但你去看看 Repo 的 Issue 页,你觉得很重要的 feature/bug fix ,对于 Flutter 来说只是很低优先级的 Issue 。必须承认,多数使用 Flutter 的开发者其实没有维护 Flutter 的能力和精力。而 Flutter 对于 Google 来说也不是一个盈利的项目。 2. 性能就是要弱一些,毕竟怎么样整都是包了一层,就是有额外消耗,有些时候动画有跳帧就是有跳帧。当然也许能力高超可以抓出问题然后像项目反哺造福其他人。 3. 三方库选择更少,而且可能因为支持的平台和三方库不一样,那就可能要选用多套方案,代码里面判断平台的代码少不了。而且对于自己封装的库的能力要求也比某个平台要更高。 4. 各个平台的新技术使用有一个时间差。你可能还是得加入不少原生代码,这就意味着其实一个合格的 Flutter 开发最好同时至少是一个合格的 Android 开发或者是一个合格的 iOS 开发。使得招聘人员的费用和难度都在上升。那些觉得随便招两个人就能写好几端的产品,大概率产品形态其实只需要做微信小程序就足矣,这种产品从 0 开始做,只能说后期做大还是要改。 总结一下说,跨平台做得好的公司,大概率是能够同时养活并且领导好一个多端原生团队的公司的。 而为了减少成本选择跨平台的公司,多数在长期看都是做不好跨平台的。也许短期内能享受到跨平台红利,但是随着产品形态调整团队增大,会暴露出很多问题的,这就不仅仅是单纯的技术问题了。 |
17
pao8pin5 2023-08-08 14:24:57 +08:00
简单的 UI 展示没问题,但是复杂一点的交互就难做了。flutter 对触摸事件的传递不如原生灵活
|
18
snowspace 2023-08-08 16:45:55 +08:00
Flutter 更像一个 UI 框架,如果你的页面偏展示型( API 请求+数据渲染),不涉及原生,同时需要兼顾多端,Flutter 是比较好的选择。如果涉及原生比如展示电池电量、相机等等理论上不如原生。
|
19
chisj 2023-08-08 17:23:08 +08:00
1. 启动速度会慢一些,因为要启动 DartVM 后加载 Flutter 页面。
2. 复杂交互的性能不如原生。 3. 包体大小再怎么优化都比纯原生大一些,这个一定程度会影响运营。 4. 某些官方组件会有 bug ,总体没有原生已经迭代那么多年的老组件稳定。但是不怎么影响开发,毕竟全开源。 5. 某些时候希望出错了直接程序 crash ,Flutter 层的异常一般是卡主 UI 或者某一块 UI 空白但是 APP 还能跑下去。 6. 需要多线程处理的高内存占用任务有点麻烦,切换的代价也很高,不如原生。 还有一些,但是我一下子想不起来了。 跟 Flutter 的优势比起来,上面提到的,都不重要。 |
20
justonelastdance 2023-08-08 17:53:44 +08:00
@AppJun 很多公司最后都得招原生的 Android 和 IOS 开发填坑
|