让我真正兴奋的是网站构建,主要围绕着设计系统以及我们用来构建它们的工具。不过,设计系统当然不局限于网站。
缩小差距
在如今炙手可热的设计系统领域,人们最常使用的一句话是“弥合差距”(设计师和工程师之间)。这出现在我在 Salesforce 工作时审查的几份简历中,当时我们正在为 Lightning Design System 团队招聘。这是一个值得努力的目标,因为我们希望在产品设计和工程方面实现一致性、连贯性和统一性——所有这些目标都是为了让使用我们产品和服务的人拥有高质量一致的体验。
然而,“弥合差距”仍然意味着存在差距。为什么一开始会出现这个差距?是由于多年来遗留的流程和工作流程,它们仍然渗透到我们日常工作中吗?我能看到遗留问题是现实世界中的一个场景,需要去解决。但那些更新更小的初创公司呢?为什么他们中许多人也存在差距?
作为一名设计系统实践者、倡导者和爱好者,我一直在寻找改善工作中的人员方面的方法:我们如何见面和交流、如何优先考虑路线图以及如何迭代我们的流程和工作方式。但是,这方面还有另外一个因素是**我们使用的工具**。
我们的一些工具已经取得了长足的进步,而且现在似乎经常会发布新工具。但真正让我兴奋的是,我看到它们所做的事情超越了“弥合差距”。
有一段时间,当Modulz 出现时,我注意到他们使用了标签#closethegap。我忍不住喜欢它。
我非常喜欢@Modulz #closethegap 的口号。为什么弥合差距,当你完全可以消除差距时?填补那个差距!哈哈。
—— 设计系统 jina (@jina) 2018 年 10 月 22 日
我非常想看到我们的设计工具不再仅仅是弥合差距,而是更进一步,彻底消除差距。例如,我认为只有弥合差距的功能是“开发人员移交”(这往往依赖于作为规格提供的像素尺寸和十六进制代码)。根据我的经验,提供这样的规格可能会导致代码中的重复、不一致,并且容易出错。然而,消除差距的例子是使用实际、真实、高质量代码而不是矢量框的工具。
一些工具通过公开设计令牌 来实现这一点——你可以在 InVision DSM 中看到这一点,它内置了令牌作为一项功能。另一个工具Diez 是一款开源开发工具包,它使用令牌将你的设计语言转化为可扩展的代码。还有其他工具,例如前面提到的 Modulz,以及 Interplay,它们都使用代码化的组件,但以一种可视化的方式。这比过去早期所使用的所见即所得编辑器要好得多,因为它们生成的代码可以访问且具有生产质量。当然,还有这个领域的其他人,比如 Adobe、Figma、Framer、Sketch、UXPin,以及许多其他公司,他们也在为推动这一进步做出很多努力。
无形的设计系统
我一直都在思考一个问题,那就是我们花费了多少时间来制作精美设计系统网站。我喜欢浏览它们。它们很棒。但是,随着我们的设计和工程工具越来越接近,我们会达到不需要网站的时候吗?我们的工具可以针对更好的可访问性、本地化、性能和可用性提出建议吗?因为我们的设计系统已融入到这些工具中?只是一个想法。
无代码运动
Webflow 允许人们在不编写代码的情况下构建网站(包括业务和电子商务功能),最近举办了一场名为 No Code Conf 的会议。根据他们的网站,这次会议庆祝了可视化开发的未来。
这场运动虽然并不新鲜,但正在迅速发展。除了使用 Webflow 构建功能齐全的网站之外,可视化的、声明式的应用程序构建多年来一直在像 Salesforce(及其 Lightning App Builder)这样的大型科技巨头和像 Glide 这样的较小公司中得到探索,Glide 允许你从电子表格生成整个应用程序。并且,随着 Zapier 和 IFTTT 等所有基于任务的自动化服务的出现,你可以完全不用编写代码就能完成许多事情。
现在,不要误会我的意思。我仍然喜欢编写代码,并且喜欢看到其他设计师编写代码。我也喜欢与工程师密切合作。我不是说我们不应该完全编写代码。但我很高兴看到我们从更缓慢的“将设计扔过墙”的流程中摆脱出来。我希望看到人们能够在不需要编写代码的情况下创造事物。摆脱“设计师是否应该编写代码”这一老掉牙的争论也很好——我们都朝着**我们能一起创造什么?**的方向前进。
如果我们能够达到一个不需要弥合或消除任何差距的阶段,因为差距从未存在过——嗯,那是一个我非常想进入的世界。
我是在网络中长大的,既做设计也做代码。如今,大多数 JavaScript 开发人员,以及设计师,都发现 CSS 令人畏惧且具有挑战性,不喜欢触碰它。像我这样的 UX 开发人员仍然需要“弥合差距”,因为懂编码又懂设计的人并不多,我认为这没问题。很难拥有同时擅长两者的头脑,尽管我擅长两者,并且精通 CSS,但我既不是一个伟大的设计师,也不是一个伟大的 JavaScript 开发人员,所以在我看来,一切都很好。
Steve,我以为只有我一个人这样想。你完美地描述了我的现状(我可能拥有更多设计经验,但 JavaScript 经验较少)。作为交付成果的经过打磨且专业的 CSS/HTML 是一种被低估的技能!
工具不应该构建网站或应用程序等。我不确定有多少人还记得 Microsoft Frontage、Dreamweaver 和类似工具那些糟糕的日子。这些工具是为了让任何人都能“无需编码”构建网站而创建的。我的第一个大型工作是为一个大型州政府机构工作,他们拥有近 10,000 个 HTML 文件,这些文件都是由部门秘书创建的,他们被分配了在 Frontpage 中创建内容的任务,因为这“就像使用 Word 一样简单”。这些文件是一系列针对外勤咨询师的机构指南,旨在向公众提供服务,这可是一件大事,你不觉得吗?
该机构受到了来自“他们自己的员工”的多起诉讼,因为这些文件对于盲人员工来说无法访问。
工具很棒。但是,如果你不理解工具应该做什么的底层基础,换句话说,如果你没有工具就无法做到,那你可能不应该“只”使用工具。
现在,我知道很多地方不适用这句话,比如很多图形设计工作,但是,如果你不了解你想要设计的图形类型的底层原理,那么那些图形可能看起来不太好,或者不符合任何设计原则。
我知道很多人会因为这句话而批评我,但是,在我看来,最终网站或完整系统应该由该领域的专家编码,而不是留给工具来希望它能正确地编码一切。否则,你就等于告诉每个网页设计师或开发人员他们的工作不再需要了。
我并没有告诉人们他们不应该编写代码。我根本没有这么说。编写代码很棒。如果你会,那就继续编写。但是,无代码运动是一个正在流行的现实,它与那些“不会编写代码”的人无关。它是关于让设计师和其他非编码人员也能做出贡献和创造事物,而无需编写代码的要求。
我认为未来将会融合代码和无代码。两者同样重要,都能为软件创作带来民主化。像 Glide、Utilize (https://www.utilize.app)、Stacker (stackerhq) 这样的工具正在推动无代码领域的发展。