罗马之路:筹款和项目目标

2020-12-08 15:22:45

我是Babel and Yarn的创作者Sebastian McKenzie。这些工具都启发我创建了Rome,这是一个旨在简化和改善JavaScript和Web开发的新项目。

罗马将数十种单独的工具合并为一个。 Rome可以通过一个CLI来安装依赖项,检查代码是否存在错误,运行测试,捆绑代码等等。罗马将能够取代Babel,ESLint,Prettier,Yarn和webpack。学到更多。

自我们宣布首个beta版本以来已经过去了三个月。从那以后,我们得到了社区的极大热情。随着热情的提高,很明显,罗马将需要一名专职开发人员才能取得成功,并实现我们的宏伟目标并发布稳定的v1.0。

我已经辞职了,所以我可以独立工作并专注于社区的需求。这包括一个插件系统,更多配置以及现有工具的专用集成。

我们的初始目标是100,000美元。这将使我自己能够在我们的第一个稳定版本中独立工作。额外的资金将使我们能够扩展发行目标,为将来的维护提供资金并补偿其他贡献者。

如果您对我们的建设充满热情,或者从我的工作中受益,那么我将不胜感激。

价格以美元为单位。包括营业税和国际运输。有关更多信息,请参阅问题与解答。

这些层包括专门的支持,迁移帮助和网站广告。我会确保罗马对您和您的组织运作良好。

迁移支持是我个人可以帮助您的组织采用和使用罗马的地方。这可能包括移植配置,与CI集成,甚至向Rome添加新功能和配置。

资金将使我们能够专注于使用和劳动密集型目标。我们可以使罗马变得更易于使用,并为更多的人服务。

我们故意尝试将配置降至最低。尽管这确实产生了最少的API表面,但几乎不容易进行迁移而不丢失功能或更改约定几乎是不可能的。

我们应该旨在通过引入其他配置和支持的语言来减少Rome和其他工具之间的功能差异。这可能包括:

到目前为止,我们一直保持轻描淡写,因为通过减少支持的配置选项的数量,我们减少了维护成本并减少了内部错误的可能性。

虽然这使我们作为维护人员更容易,但对用户而言却更加困难。无论我们为什么要使用硬制表符而不是空格来作为有说服力的论点,它们似乎都是人为的和任意的约束,并引入了过多的先决条件。

强大的默认设置和针对新用户的指导性文档可以提供我们最终想要提供的体验,同时消除我们现有的采用限制。

罗马试图替换许多工具。但是,我们仍应努力支持更好地定位或首选其他工具的方案。在将Rome与其他工具结合使用的迁移过程中,这也可能会有所帮助。我们可以通过以下两种方式来做到这一点:

Rome可以作为这些工具的插件公开,使您可以采用Rome编译器而不必首先采用捆绑程序。这将减少采用的先决条件,并允许在现有设置中进行更轻松的实验。

我们可以引入兼容性层,以使ESLint,Babel和其他工具在Rome内部运行。 ESLint错误可与Rome linter错误一起显示,并具有相同的UI和输出格式。立即,您可以从Rome的文件缓存和并行化中受益,而无需进行重大迁移。

从其他工具迁移到罗马应该很容易。首先,我们需要确保支持其他工具的流行配置选项。然后,提供自动化工具来迁移基本设置,而无需用户手动进行。

这需要随附专用的文档和指南,这些文档和指南可以解释工具之间的差异,为什么可能要使用其他工具,相似的概念,新术语和等效的配置选项。

罗马的担忧之一是创建单一文化,在这里不可能进行创新和尝试新的想法。认为我们将永远处于任何一种垄断地位都是极其乐观的,但不管我们的市场地位如何,不允许扩展都会通过限制新思想的可行性和采用来加强创新。

插件使我们能够避免支持我们可能不想要的功能,同时仍然为用户提供选择。它减少了我们作为仲裁员的作用,并使与罗马互动的新语言,非标准JavaScript功能,代码约定和思想变得可行,得到支持并得以扩散。

我们需要非常小心,不要陷入如今Babel和Webpack所处的位置,在这些位置它们受到内部API的使用的严格限制。在进行体系结构更改时,我们需要保持自主权。用功能强大的插件API平衡这一点将是一个挑战,可能需要多次迭代。

罗马目前所做的不只是棉绒。今天,要推广和解释罗马是一个重大挑战,因为很多项目都没有得到官方支持。尽管我们努力使罗马的每个组成部分都具有竞争优势,但使用罗马的最大优势和令人信服的原因可能是对依赖的减少。

我们应该集中精力发布和完善所有核心功能的基本版本。这将增加用户对我们的体系结构的信心,并表明罗马可以作为我们想要成为的全面替代方案。

开发人员工具的文档通常非常晦涩,并且在很大程度上取决于先决条件知识。对于刚接触生态系统的开发人员来说,这可能会使它感到恐惧和难以接近。这使罗马进一步努力的范围变得更加复杂。

我们试图通过将文档做成一页来解决其中的一些问题。这使搜索变得容易,并且可以从上到下阅读,而无需四处寻找不同的概念。但是,随着我们支持的功能的增长,在不过度简化的情况下使用这种结构将变得更加困难,并且不允许针对不同人群的不同路径。

我们需要为我们的文档投资一种更具扩展性的方法。我们可以提供专门的部分来解释端到端的整理功能,而无需引入其他组件,例如编译器和捆绑程序,它们包含更多的概念,并使读者不知所措。可以为新用户和已经使用过其他工具的用户提供单独的指南,以正确地满足多个受众的需求。

Babel成功的原因之一是我能够快速修复错误并发布新版本的速度。我会定期在错误报告的几分钟内发布版本。在采用率低的早期,这是至关重要的。能够快速解除对用户的封锁通常会使他们对使用Babel感到更加兴奋,即使他们遇到了错误。

同样,我们应该通过构建我们的发布基础结构来尝试并复制它,以允许快速测试和发布版本。随着支持功能的范围不断扩大,我们需要保持势头。

我们可以通过可以手动触发或按计划部署的自动发布来实现这一目标。自动生成变更日志还将占用大量生产发布版本的人工工作。每晚发布的版本将允许用户测试实验功能并提供早期反馈。

我们暂定目标是2021年4月底,但是由于COVID的延误或订单量的增加,我们可以将其延长。我们将确保通过电子邮件向您更新。

我们使用您的电子邮件地址发送有关您的订单的信息,例如订单问题,运输状态和延迟。我们也可能发送调查,以决定奖励的自定义选项。

您的电子邮件地址不会被用于任何其他目的或公开显示。

通过Stripe输入并存储付款信息。我们无权访问完整的付款明细。如果我们需要在您的管辖范围内计算并支付营业税,则使用您的帐单地址。

价格包括加工费,国际运输和营业税。 这确实意味着如果您居住在有进口税或高运输成本的国家中,有效捐赠将减少。 如果您想支付这些费用,则可以选择在订单查看屏幕中添加其他捐款。 用户名用于分配等级奖励。 它们不是必需的,您可以选择将它们留空以选择退出。 回复您的订单收据电子邮件,或直接通过[电子邮件保护]与我联系,我们将竭诚为您服务! 价格以美元计,包括营业税和国际运费。 等级价格包括什么?