Fuse:专为移动应用开发者和设计者而生的用户体验工具集

  • 孙镜涛

2015 年 12 月 25 日

话题:语言 & 开发架构

Fuse是一个为开发者和设计者而设计的用户体验(UX)工具集,用于创建原生的、跨平台的 iOS 和 Android 移动应用。在 Fuse 中,开发者使用标记定义用户界面,使用 JavaScript 编写应用程序逻辑,同时所有的渲染都会被编译成原生代码以获得最佳性能。

通过 Fuse,用户能够快速地创建漂亮的、具有流畅动画体验的原生移动应用,它的核心特性或者功能包括:

  • 设计者和开发者协作,通过一个平滑的工作流实现从静态设计到原型再到真正的移动应用的推进。
  • 实时预览,用户能够实时地预览应用在多个设备上的展现效果,支持iOSAndroid设备和桌面模拟器
  • 导出原生代码,使用 Fuse 开发的项目能够导出为原生的 iOS 和 Android 应用,支持iOS 7Android 4.1.x及更高版本。
  • 硬件加速,对于漂亮的自定义 UI 组件和要求较高的可视化效果能够进行 GPU 加速。
  • 统一的 UI 元素,无论是 iOS 还是 Android 开发都使用同一套 UX 标记语言。
  • 草稿导入,用户能够将设计草稿拖拽到 Fuse 中进行后续开发。目前该特性正在实验中。

作为一个可扩展的工具集,Fuse 不仅支持真正的原生 UI 元素,还支持定制的跨平台元素,此外,用户还能够使用 Uno(一种 C# 方言)对其进行扩展。原生 UX 组件方面,Fuse 支持 WebView 和 MapView,此外 DatePicker、iOS Navigation 和 Android Material Design Navigation 正在计划中。跨平台方面,Fuse 支持 Layout(Panel、Grid 等)、Shapes、Image、Vedio、Navigation、TextInput、TextEdit、Button、Silder 和 Switch。另外,Fuse 还支持 Blur、DropShadow、Desaturate 等实时图像效果以及 XMLHttpRequest 和 Observable(响应式的数据绑定)等 FuseJS 特性。

Fuse 项目的创建方法有两种:仪表盘和命令行。新创建项目的项目目录里会包含 ProjectName.unoproj 和 MainView.ux 两个文件,前者记录了项目包含的文件、依赖的包,以及 API 密钥等便捷值;后者是应用程序的入口。在使用 Fuse 开发应用的时候,程序或界面的任何变化都会实时反映到电脑和移动设备上,不需要重新编译、重新部署。同时,使用它开发出来的移动应用也不需要再通过 XCode 或者 Android Studio 进行进一步的编码。在开发完成之后,Fuse 导出的也不是 HTML5 或者混合移动应用,而是完全原生的移动应用。

Fuse 不仅是一款成熟的移动应用开发工具,还是一款非常出色的原型工具。通过 Fuse,开发者和设计者能够有效地结合在一起,以迭代的方式创建用户体验更好、性能更佳的移动应用。如果想了解更多信息,可以查看 Fuse 网站上提供的大量示例,以及Youtube 上的入门教程


感谢郭蕾对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

语言 & 开发架构