使用h5作为主体开发混合app,适合用flutter吗?

首先,我相信Google对flutter的发展决心。

想做一个跨平台的应用(至少要运行在安卓和ios),APP的主体已经决定用h5+vue来实现。想过用一些webapp技术,但由于应用本身的设计,需要流畅的用户体验、还要经常调用到手机底层功能,webapp就很难做到这一点。

现在既想用h5来做界面,又想有流畅的用户体验,于是就想到了flutter

目前还没有深入学习flutter,说是要用dart语言(没接触过)。如果用了flutter还能用h5+vue来编写软件吗?或者说用dart实现手机底层的交互,内容部分(主要是界面、还有一些js逻辑)用h5技术来实现,这两者之间又该怎样协作?

讨论数量: 2

flutter 不仅可以跨平台,还可以与原生 kotlin 和 vue 框架开发进行交互、渗透,我觉得这是 flutter 的最强特性之一, flutter 虽然还是个玩具,支持的原生功能并不完全涵盖,因此引出了很多原生写的插件通过混合交互提炼成 flutter 工具,因此这也是 flutter 的最佳发展状态,一旦生态上线,碾压其他框架轻轻松松。

跨平台特性、混合开发特性、性能强的特性是 flutter 最突出的优点,因此我认为 flutter 是对 跨平台 + 调用原生权限 需求的最佳选择。

题主想“流畅的用户体验、频繁的调用手机底层”,那必然需要的是接近原生性能的开发框架或直接原生开发,按照这个需求,vue 其实可以直接放弃。

如果使用原生多平台分开开发的话,这学习量和工作量非常巨大;但是如果用 flutter 开发的话,虽然原生框架也需要学习,但是整体开发成本降低了很多,并且权限调用对原生代码数量要求也并不多,无非就是与flutter 建立通道 + 调用原生权限。

所以我建议使用 flutter 构建主界面,调用 android 权限方面的问题直接交给原生 kotlin。

dart 语言虽然不断在加新的特性,但有编程基础的话上手并不难,并且它现在是强类型语言,没js坑那么多,而且dart是单线程,写起来非常舒适。

flutter 就有点怪异了,dart 语言很容易熟透,但 flutter 的嵌套写法对于学过其他框架或接触过 mvc 等框架的开发者来说,写起来是非常讨厌的,不过慢慢的适应后就会觉得越来越舒服。

4年前 评论

vue 就是H5的轮子,编译完了就是普通的H5,在原生或flutter通过webview加载,所以只要支持H5就支持vue。如果注重体验,直接用flutter,不注重的可以用用uniapp(基于vue,分离逻辑和视图,即视图和逻辑不在一个JS线程中。并且集成很多本地api,如:微信QQ登录、串口通讯、支付、NFC、录音、文件选择上传、本地存储、usb通讯等等,基本上不用与原生通讯)。另外H5的app在苹果商城很难上架。所以能不用H5就不要用,flutter挺好,,如果一定要H5混合开发,就原生和H5,不要flutter了,因为很少的交互代码没必要通过flutter和native通讯,flutter不是干这个事的。

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!