游乐场是开发者了解新库、API 和平台潜力的窗口。我们将讨论其设计并查看示例。
译自Playgrounds for Developers: Uses and Design Patterns,作者 David Eastman。
如果说有什么东西能让我更容易地查看新软件——以及与他人分享功能——那就是一个执行良好的示例游乐场。近年来,它们已成为开发者关系体验中的标配,鼓励开发者尝试示例代码,甚至原型化解决方案。
那么,代码沙箱或游乐场究竟是什么?它们通常是网站,允许在可编辑的面板中显示小型代码示例,并在同一页面上显示输出结果。它们使用代码示例来展示目标平台、库或 API。用户(或玩家)可以编辑示例或完全重写它们。对于用户界面 (UI) 组件,这意味着示例布局将在下一个面板中运行,提供即时反馈。
游乐场的制作方式,甚至它所服务的具体目的,往往差异很大。但它们显然是网络的产物,并提供了便利。
游乐场通常是网站,允许在可编辑的面板中显示小型代码示例,并在同一页面上显示输出结果。
那么缺点是什么?显然,游乐场的基础设施需要管理,或者需要其他忙碌的开发人员的关注。其他事情,例如当前使用的库版本或维护持久实例的时间长度,也需要策略。
对于较小的初创公司来说,一个问题是它们可能根本不维护其库的公共运行实例。如果你不把自己视为一个平台,那么公开托管自己的库,并在模拟数据前面运行,可能是一个很大的飞跃。但有了 ChatGPT 和类似的 AI 服务,我们有了相反的情况:产品本身就是一个面向公众的网站,查询在云端运行,结果返回到响应面板。
关于游乐场的提示
游乐场通常会演变成它们自己的付费服务,即使它们最初是作为展示平台能力的方式而诞生的。因此,提供者需要定期评估它们在商业上提供的服务。
报告目标库或平台的版本很重要——或者更确切地说,不这样做只会给玩家带来不必要的麻烦。切换版本的能力很酷,但它是否值得基础设施复杂性取决于版本之间差异的明显程度。
显然,一些游乐场可能只是WebAssembly容器,但许多游乐场通过它们自己的平台收集、处理和输出数据。设计上的主要区别在于能够定义一个独特的游乐场实例,允许玩家轻松地共享或返回到他们的示例。这不是绝对必要的,但对于原型设计者来说是一个福音。
为游乐场定义策略有助于指导玩家和开发人员。
错误输出可能很棘手。使用游乐场的人可能不想筛选密集的样式异常输出,因此首选快速 AI 解析。作为维护者,你并不真正欠玩家详细的解释,但如果它是你在推销的产品或服务的一部分,合理的错误报告将被记住。与所有面向消费者的基础设施一样,你可能希望在屏幕上显示一个实例 ID,以帮助观察和错误修复。这可以与品牌并排放置。
如前所述,定义策略有助于指导玩家和开发人员。例如,即使是免费使用,保存的实例持续多长时间也应该在任何文档页面中注明。
来自网络的游乐场示例
以下是我从db-fiddle中截取的一个示例,该示例来自我关于使用 LLM 生成 SQL 架构的帖子。
这个游乐场已经存在一段时间了,它提供升级到付费服务,并在网站上投放广告。能够针对架构创建和运行SQL从教育的角度来看特别有用。基本设计有用于编辑和输出的单独面板,这是常态。输入必须分成架构和查询,这表明这是一个稍微复杂的情况。但我们已经可以看到一些标志着更好游乐场的那些花哨的功能:
它可以将响应转换为 Markdown。这使得结果更便携。
它清楚地说明了目标 SQL Server 版本和版本,可以切换。
它为你创建一个 URL,并允许你使用你的示例条目进行进一步的版本控制。
它具有(有限的)面板排列功能。
如上所述,上面的示例来自之前的帖子,仍然保留了该实例的标题和描述。
有限且受限的 AI 选项也可以帮助用户——注意“文本到 DDL”按钮,它可以帮助快速创建模式。
最近的游乐场来自Deno。它有一个更明显的用例:向您展示可以使用其部署服务的代码示例。
此示例的设计更像是一个教程,但具有经典的代码和响应面板。虽然它部署了一个实时 URL(您仍然可以访问),但它还在面板中显示结果,以及其他选项。由于它展示了其键值存储的工作原理,因此有一个详细的选项卡可以提供帮助。Deno 游乐场没有显示版本信息,尽管这不是问题。实时示例在仪表板下管理。
这里还有一个非常简单的示例,只是为了确保定义足够广泛。在此示例中,Ordnance Survey 希望向用户展示如何将地图信息嵌入到 leaflet 中:
您可以在代码中玩弄地图数据,以指向英国的任何地方。虽然这非常简单,但它确实展示了 API 密钥和一些 JSON 数据如何在无需花费时间设置任何形式的开发环境的情况下提供您需要的内容。这没有花里胡哨的功能,即使是一些关于著名地点及其经纬度的帮助也会有所帮助。
结论
游乐场是通往新库、API 和平台潜力的绝佳窗口。我鼓励初创公司认真维护自己的游乐场,并鼓励消费者推动其提供商创建游乐场。
虽然游乐场最初应该免费使用,但开发人员需要在制定政策、清理资源和控制成本方面保持纪律。所有这些方面都表明公司形象良好,同时让玩家感到高兴。