空军航空兵

决定 Airbnb 关于 阿波罗,GRAPHQL操场,GraphQL普里斯玛后端驱动

阿达姆尼的化身
工程师 空军航空兵 ·
阿波罗阿波罗 GRAPHQL游乐场GRAPHQL游乐场 绘图语言绘图语言
棱柱体
#后端驱动器

在Airbnb我们使用绘图语言“后端驱动的用户界面”的联合。我们已经构建了一个系统,其中一个非常动态的页面是基于一个查询构建的,该查询将返回一组可能的“部分”。这些部分是响应性的,并且完全定义了用户界面。

管理这个的中心文件将是一个生成的文件。因为可能的部分列表相当大(今天搜索的部分大约有50个)。它还假定我们有一个健全的机制,可以通过服务器渲染延迟加载组件,这是另一篇文章的主题。我只想说,我们不需要将所有可能的部分打包成一个庞大的包来说明前面的所有内容。

每个部分组件定义自己的查询片段,与该节的组件代码并置。这是Airbnb后端驱动的UI的一般概念。它在很多地方使用,包括搜索,旅行规划师,主机工具,以及各种登陆页面。我们以此为出发点,然后在演示中演示如何(1)生成和更新现有部分,(2)添加新的节。

在构建产品时,您希望能够探索您的模式,发现字段名并测试对实时开发数据的潜在查询。我们今天通过GRAPHQL游乐场,我们朋友的工作棱柱体.这些工具是标准配置阿波罗服务器。

#后端驱动器

十九 优胜亚博平台怎么样票 · 33.6K 意见

决定 Airbnb 关于 阿波罗,GraphQLVisual Studio代码,Git图解模式

阿达姆尼的化身
工程师 空军航空兵 ·

我想在一个我做过的GRAPHQL峰会演讲在Airbnb打造我们的产品时,我手边有这么多有用的工具。这包括访问吉特在里面Visual Studio代码,以及用于运行常用命令的集成终端和任务。

当然,我们还有一些有趣的东西要展示绘图语言阿波罗!大多数人没有看到的是新的Apollo Graphql与代码扩展.我不需要从他们的营销网站复制所有有趣的功能(有很多!),但我将详细介绍一个特性:模式标记。

如果要将查询与正在处理的模式相关联,你总是会得到“哪种模式”的决定。默认值可能是您的生产模式(“当前”,按约定),但正如我们在演示中讨论的,如果你需要重复和探索新的想法,您需要针对临时模式的灵活性。

因为我们使用的是阿波罗发动机,使用标记发布多个模式允许我们实现这种灵活性,多个工程师可以在一个提议的模式上协作。一旦服务的建议模式更改在上游合并,并且这些更改在当前生产模式中自然向下流动,我们可以在vs代码中切换回“current”。很酷。

π图

十一 优胜亚博平台怎么样票 · 27.7K 意见

决定 Airbnb 关于 阿波罗,FigmaZeplin反应故事书,故事书设计堆栈,故事书堆栈,反应设计堆栈

阿达姆尼的化身
工程师 空军航空兵 ·
阿波罗阿波罗 肥姑妈肥姑妈 赞贝林赞贝林 反应故事书反应故事书
#故事书设计堆栈
故事书栈
#反应设计堆栈

我们用于编辑用户界面的工具是反应故事书.这是确保您的工作与设计在断点与像素对齐的最佳位置。您将得到快速热模块重新加载和几个复选框,以启用/禁用浏览器功能,如flexbox。

我应用于故事书的唯一技巧是用我们从API中提取的模拟数据加载故事。如果您的模拟数据确实涵盖了您的用户界面的所有可能的各种状态,你很高兴去。除此之外,如果你有你想说明的其他州,可能是加载或错误状态,您可以手动添加它们。

这就是故事书的关键所在。该文件完全由约曼公司(下文讨论)生成。它默认提供阿尔卑斯山之旅的例子。getSectionsFromJourney()只过滤部分。

另一个你会注意到的黑客是我添加了一对div来垂直地预订组件,因为故事书在组件周围呈现空白。这对于按钮或带边框的用户界面来说很好,但是很难准确地知道组件的起点和终点,所以我把它们砍了进去。

既然我们谈论的是所有这些出色的工具如何一起如此出色地工作以帮助您提高生产效率,我能说一下在用户界面上工作是多么的愉快吗赞贝林肥姑妈与故事书并排。以这种抽象的方式深入到用户界面中,可以一次一个断点地消除这个疯狂世界的所有混乱,在这个宁静的国度里,每次都能很好地还原到像素。

为了向故事书和我们的单元测试提供真实的模拟数据,我们希望直接从我们的共享开发环境中提取模拟数据。和codegen一样,即使查询片段中的一个小更改也会触发模拟数据中的许多小更改。这里,同样地,困难部分完全由阿波罗CLI你可以很快用你自己的代码把它缝合起来。

回到赞贝林肥姑妈简要地,它们的构建都允许工程师直接提取内容以促进产品开发。

提取整个段落的副本非常简单,只需在Zeplin中选择内容并单击侧边栏内容部分的“复制”图标。对于Zeplin,可以通过选择并单击侧边栏“资产”部分中的“下载”图标来提取图像。

反应设计堆栈 故事书栈 #故事书设计堆栈
优胜亚博平台怎么样票 · 31.2K 意见

决定 Airbnb 关于 反应故事书,HAPPOIO

阿达姆尼的化身
工程师 空军航空兵 ·

HAPPOIO是一个正直的救生员。这是我唯一使用过的屏幕截图测试工具,所以我不可能把它和其他选择进行比较,如果有的话,但最基本的想法是你推动代码,然后它就开始渲染你的公关中的所有组件,将其与master上的版本进行比较。

这意味着如果你编辑一个组件它将显示对使用输入的组件的影响,包括您意外修改的搜索栏。它。是。极好的。

有多少次你认为你的改变被遏制了,结果却发现其他十个团队开始使用你所建立的东西,你的零钱是十分之三吗?没有幸福,你可能不知道。

直到最近,Happo唯一的缺点是反应故事书变化(屏幕截图测试过程的输入)并不总是充分反映可靠的数据。既然故事书利用了API数据,我们可以更加自信。另外,正如我们的演示所探索的,它是自动的。如果向查询中添加字段,然后添加组件,HAPPO会自动将差异发布到您的公关,让工程师,设计师,坐在你旁边的产品经理会看到你所做改变的视觉后果。

优胜亚博平台怎么样票 · 18.1K 意见