所见即所得: Adobe XD 的 Flutter 插件

2020 年 5 月 14 日 谷歌开发者

作者 / Tim Sneath, Product Manager for Flutter and Dart, Google


Flutter 希望成为任您挥洒创意的画布。凭借在 iOS 和 Android 上的原生性能体验、对屏幕上每个像素点的精确控制以及通过有状态热重载实现的快速迭代能力,我们希望释放设计师和开发者的潜力,打造不受技术限制的精美体验。


在去年的 Flutter Interact 大会中,我们将焦点转向了那些使用 Flutter 进行探索和实验的创作者们。比如数字艺术家 Robert Felker,他使用 Flutter 通过生成算法 (generative algorithm) 构建了空灵的视觉效果和形式。我们还介绍了来自 gskinner 等创意机构的作品,他们用一件件充满创意的作品,展示了 Flutter 在表现形式方面的无限可能。另外,我们也了解到 Adobe 在 Flutter 方面的投入: 他们展示了一款 Adobe XD 插件的早期原型,让大家可以直接从 XD 中导出 Flutter 代码。


  • Flutter Interact 大会
    https://www.youtube.com/watch?v=HjZxyTJzvYg&feature=emb_logo
  • Robert Felker 用生成算法在 Flutter 中生成艺术构型
    https://v.youku.com/v_show/id_XNDQ2ODg0OTYxMg==.html
  • gskinner 视觉探索作品集
    https://flutter.gskinner.com/
  • Flutter Interact: Adobe XD 插件的早期原型
    https://www.youtube.com/watch?v=ukLBCRBlIkk&feature=youtu.be&t=3652
△ Flutter 为创意提供了极富表现力的舞台,创造者可以尽情呈现优美、原生的体验,且不再受传统技术的束缚。(由 Flutter 绘制的生成艺术,Robert Felker 作品)

今天我们很高兴和 Adobe 共同宣布,Adobe XD Flutter 导出插件现在正式开放早期体验,欢迎大家踊跃参与测试。Adobe XD 是一款 UI/UX 设计和协作工具,帮助团队创造和分享网站、应用、语音界面以及游戏等内容的设计方案。作为业界知名的 Adobe Creative Cloud 套件中的一员,XD 让创作者们可以将矢量绘图、文字、图像、小交互和动画资源共冶一炉,打造出可以交互的原型,来预览软件产品实际的运行效果。随着 Flutter 导出功能的加入,XD 原型现在可以在几分钟内转变成可用的 Flutter 代码,创意想法和产品开发的间隔被进一步缩短。Adobe XD 支持 Windows 和 macOS 系统,并且提供了免费的入门计划,方便大家快速上手。


  • Adobe XD
    https://www.adobe.com/products/xd.html
  • Creative Cloud
    https://www.adobe.com/creativecloud.html
  • 免费的入门计划
    https://www.adobe.com/products/xd/compare-plans.html

△ 使用插件即可轻松从 Adobe XD 导出到 Flutter


从 Adobe XD 中导出 Flutter 代码


在 XD 中使用 Flutter 插件很简单。您可以导出一个单独的绘图对象或组件,也可以导出整个画板 (artboard)。具体做法如下:


首先,安装 Flutter 导出插件。在 Adobe XD 中,选择 插件 > 发现插件 (Plugins > Discover Plugins),然后搜索 Flutter。安装完成后,选择 插件 > Flutter > UI 面板 (Plugins > Flutter > UI Panel),即可显示上图中的 UI 面板。


现在将 adobe_xd package 添加到您的 Flutter 项目中,只需将其包含在您的 pubspec.yaml 文件中即可。这个 package 提供了帮助函数,用来减少生成的 XD 代码中的样板代码。


  • adobe_xd package
    https://pub.flutter-io.cn/packages/adobe_xd


要导出单个元素,只需选择您想导出至 Flutter 的单个 widget,然后点击 UI 面板中的 复制所选项 (Copy Selected) 按钮。这会将元素对应的 Dart 代码复制到您的剪贴板中,您可以基于这些代码打造有状态或无状态的 widget:

△ 导出的代码可以整合进现有的项目中,而且更新时不需要调整其他文件

另一种方法是导出整个项目。假设您已经有了一个 Flutter 应用,并且您想把内容添加到这个应用里 (包括 pubspec.yaml 中对 adobe_xd package 的引用),您只需从 UI 面板中选择 插件 > Flutter > 导出全部 Widget (Plugins > Flutter > Export All Widgets),然后设置想要的附加选项即可。


这个操作会在项目的 lib/ 子文件夹中创建一系列的类,您可以直接使用。您也可以继续调整 XD 原型,然后用 ⇧⌘F (在 Windows 上是 Ctrl+Shift+F) 再次导出,如果您在 Visual Studio Code 中打开了 Dart 的 "在 Save Watcher 上使用热重载" 选项,那么当您重新导出 widget 时,您的应用将自动重新加载它们。


  • 在 Save Watcher 上使用热重载
    https://dartcode.org/docs/settings/#dartpreviewhotreloadonsavewatcher

△ 从 XD 快速转出代码的功能,使得从原型到应用之间的路径又多了一条

作为早期体验的预览版,这个插件现在也有一些限制,请阅读 发布说明 了解详情。值得注意的是,响应式布局目前还不能使用,尚需等待新的 XD API 完成。不过请放心,当这些新功能上线时,您会自动获得插件更新。


  • 发布说明
    https://github.com/AdobeXD/xd-to-flutter-plugin/blob/master/README.md#using-this-plugin


很高兴能与 Adobe 完成这次合作。Adobe 对 Flutter 的支持让我们十分激动,而全新的基于 JavaScript 的 API 更是让所有人都可以更轻松地扩展 Adobe XD。对于这个新插件,Adobe 如此说道:


Adobe 致力于帮助那些设计和打造应用的团队,简化让他们颇为困扰的设计-开发流程。今天我们很高兴推出这个全新工具的早期体验版,它诞生自我们与 Flutter 的合作,旨在消除设计-开发流程中含糊的沟通环节,提高决策速度,便于团队更快地将新体验推向市场。

—— Vijay Vachani, Adobe Creative Cloud 平台与生态资深总监


  • 基于 JavaScript 的 API
    https://adobexdplatform.com/plugin-docs/


请访问 Adobe 的 XD Flutter 导出插件页面了解更多信息。我们期待看到您用它创建的作品!


  • XD Flutter 导出插件
    https://github.com/AdobeXD/xd-to-flutter-plugin




推荐阅读





  点击屏末  | 访问 Flutter 开发者社区中文资源



登录查看更多
0

相关内容

IFIP TC13 Conference on Human-Computer Interaction是人机交互领域的研究者和实践者展示其工作的重要平台。多年来,这些会议吸引了来自几个国家和文化的研究人员。官网链接:http://interact2019.org/
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
【中科院自动化所】视觉对抗样本生成技术概述
专知会员服务
35+阅读 · 2020年4月15日
【论文扩展】欧洲语言网格:概述
专知会员服务
6+阅读 · 2020年3月31日
《代码整洁之道》:5大基本要点
专知会员服务
49+阅读 · 2020年3月3日
【电子书】Flutter实战305页PDF免费下载
专知会员服务
22+阅读 · 2019年11月7日
AWVS12 V12.0.190530102 windows正式版完美破解版
黑白之道
29+阅读 · 2019年8月24日
重磅!Flutter 2019年最新进展和未来展望
前端之巅
4+阅读 · 2019年6月20日
美团:基于跨平台框架Flutter的动态化平台建设
前端之巅
14+阅读 · 2019年6月17日
从webview到flutter:详解iOS中的Web开发
前端之巅
5+阅读 · 2019年3月24日
免费云真机测试 | 让您的应用完美适配 Android Oreo
引力空间站
3+阅读 · 2018年2月2日
VR下的啪啪啪,是单身狗的天堂,还是地狱?
猎云网
4+阅读 · 2017年11月18日
Music Transformer
Arxiv
5+阅读 · 2018年12月12日
Arxiv
10+阅读 · 2018年2月17日
VIP会员
相关VIP内容
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
【中科院自动化所】视觉对抗样本生成技术概述
专知会员服务
35+阅读 · 2020年4月15日
【论文扩展】欧洲语言网格:概述
专知会员服务
6+阅读 · 2020年3月31日
《代码整洁之道》:5大基本要点
专知会员服务
49+阅读 · 2020年3月3日
【电子书】Flutter实战305页PDF免费下载
专知会员服务
22+阅读 · 2019年11月7日
相关资讯
AWVS12 V12.0.190530102 windows正式版完美破解版
黑白之道
29+阅读 · 2019年8月24日
重磅!Flutter 2019年最新进展和未来展望
前端之巅
4+阅读 · 2019年6月20日
美团:基于跨平台框架Flutter的动态化平台建设
前端之巅
14+阅读 · 2019年6月17日
从webview到flutter:详解iOS中的Web开发
前端之巅
5+阅读 · 2019年3月24日
免费云真机测试 | 让您的应用完美适配 Android Oreo
引力空间站
3+阅读 · 2018年2月2日
VR下的啪啪啪,是单身狗的天堂,还是地狱?
猎云网
4+阅读 · 2017年11月18日
Top
微信扫码咨询专知VIP会员