Dart是否可以做到Web端和移动端的代码复用?


#1

我在Meetup上看到,有人使用Dart实现了相同功能的Web App和移动App,开发速度极快。

我想问:

  1. 使用AngularDart和Flutter框架开发产品,能否做到业务代码复用?使用官方组件时是否界面代码也可复用?

  2. 据我了解,Dart在web上使用,部署时依然需要转译为Js,那么在开发时是否能调用js的库?难度大吗?

非常感谢。


#2
  1. 没有具体实践过,DartConf有人做过类似分享,不知你看过没有:Flutter & Web - Unite your code and your teams (DartConf 2018)

  2. 使用 package:js 可以调用js库,但也没有实践过 :sweat_smile:,可以参考:https://github.com/matanlurey/dart_js_interop


#3

(1) UI類的官方組件無法交互使用。Flutter是很優秀的框架,但它需要底層的 Flutter Engine支援,目前 web 端無法使用,反之 AngularDart 有很多 HTML 的依賴,因此也無法在 Mobile 上使用,除此之外,跟平台無關的 source 都可以無痛直接拿過去用了

(2) 從 dart 端調用 js 很容易,官方有提供兩個 lib
https://api.dartlang.org/dev/2.0.0-dev.67.0/dart-js/dart-js-library.html 比較低階一點
https://pub.dartlang.org/packages/js 比較高階的包裝,底層用前者
操作邏輯很單純,用同樣的邏輯調用同步的 js 或非同步的 promise 都沒問題


#4

非常感谢,已经去Youtube上看了DartConf 2018 & 2016 的几个分享。
2016的Conf中有一个Dart + React的例子,讲的很棒。

打算在假期里实践一下 :smile:


#5

非常感谢您的回复 :smile:

现在基本没什么困扰了,我会在下一个阶段尝试用它实现一些项目。