mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
translation finished , passed.
This commit is contained in:
parent
42e4565291
commit
8acf5763ad
@ -7,153 +7,90 @@
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
开启我们的开源之旅
|
||||
|
||||
DN
|
||||
Our open source startup journey
|
||||
开始我们的开源之旅
|
||||
======
|
||||
|
||||
ToolJet 是一款开源的代码量少的用于快速构建和部署内部工具的框架。它的基础代码完全基于 JavaScript 和 TypeScript 。
|
||||
[ToolJet][1] 是一款开源的低代码量的用于快速构建和部署内部工具的框架。它的基础代码完全基于 JavaScript 和 TypeScript 。
|
||||
|
||||
DN
|
||||
[ToolJet][1] is an open source, low-code framework for rapidly building and deploying internal tools. Our codebase is 100% JavaScript and TypeScript.
|
||||
|
||||
ToolJet于2021年由一名开发者启动开发,并于2021年6月推出公测版本,一炮而红。此后, ToolJet 成立了基金会。目前,已经有一个20人的开发团队了。
|
||||
|
||||
DN
|
||||
A lone developer in April 2021 started ToolJet. The public beta launched in June 2021 and was an instant hit. With this traction, ToolJet raised funding, and currently, we have a team of 20 members.
|
||||
ToolJet于2021年由一名开发者启动开发,并于2021年6月推出公测版本,一炮而红。此后, ToolJet 成立了基金会。目前,已经有一个20人的开发团队。
|
||||
|
||||
### 为什么选择开源
|
||||
|
||||
DN
|
||||
### Why open source?
|
||||
在开发 ToolJet 之前,我曾担任一些企业客户端的顾问。许多客户端都庞大到在其中维护构建了大量的内部工具,更不用说来自销售人员、支持人员以及运营人员的对于内部工具的持续的漏洞修复与添加更多功能的要求了。开发团队一直在寻找能够用于内部应用开发的工具。
|
||||
|
||||
在开发 ToolJet 之前,我曾担任一些企业客户端的顾问。许多客户端都庞大到在其中维护构建了大量的内部工具,更不用说来自销售人员、支持人员以及运营人员对于内部工具的持续的漏洞修复与添加更多功能的要求了。开发团队一直在寻找能够用于内部应用开发的工具。
|
||||
我尝试过多个平台来构建和维护内部工具。大部分平台都是昂贵的,而且有时候并不能满足我们的需求,我们不得不修改平台工具的代码,而且大多数的平台工具都不支持本地托管。
|
||||
|
||||
DN
|
||||
Before working on ToolJet, I worked with a few enterprise clients as a consultant. Many of these clients were large enough to build and maintain dozens of internal tools. Despite the constant requests from sales, support, and operations teams to add more features and fix the bugs in their internal tools, engineering teams struggled to find the bandwidth to work on the internal utilities.
|
||||
|
||||
我尝试过多个平台来构建和维护内部工具。大部分的平台是昂贵的,而且有时候并不能满足我们的需求,我们不得不修改平台代码,而且大多数的平台工具都不支持本地托管。
|
||||
|
||||
DN
|
||||
I tried using a few platforms to build and maintain internal tools. Most of these tools were very expensive, and frequently, they didn't really fit the requirements. We needed modifications, and most utilities didn't support on-premise hosting.
|
||||
|
||||
作为一名 Ruby 开发者,我最初使用 ActiveAdmin 和 RailsAdmin 来构建内部工具。这两款工具都是极好的,只是将它们应用在超出一个数据源上的工作比较困难。于是我意识到市场上需要一种可以构建用户界面并能够连接多个数据源的框架。我相信任何为开发者制作的工具都应当是开源的。开发者日常使用的大部分工具与框架都源自世界各地人们的公开协作。
|
||||
|
||||
DN
|
||||
As a Ruby developer, I primarily used ActiveAdmin and RailsAdmin to build internal tools. Both utilities are amazing, but making them work with more than one data source is difficult. I then realized there is a need in the market for a framework that could build user interfaces and connect to multiple data sources. I believe any tool built for developers should be open source. Most of the tools and frameworks that developers use daily result from people from all over the world collaborating in public.
|
||||
作为一名 Ruby 开发者,我最初使用 ActiveAdmin 和 RailsAdmin 来构建内部工具。这两款工具都是极好的,只是将它们应用在超出一个数据源的任务上的工作比较困难。于是我意识到市场上需要一种可以构建用户界面并能够连接多个数据源的框架。我相信任何为开发者制作的工具都应当是开源的。开发者日常使用的大部分工具与框架都源自世界各地人们的公开协作。
|
||||
|
||||
### 第一次提交
|
||||
|
||||
DN
|
||||
### The first commit
|
||||
|
||||
制作像 ToolJet 这样的工具需要全身心的投入,出售我的一个个人项目后我获得了5-6个月的空闲,我立即着手将在我脑海里酝酿了两年的想法付诸现实。
|
||||
|
||||
DN
|
||||
Building something like ToolJet needed a full-time commitment. Selling one of my side projects gave me a runway of 5-6 months, and I immediately started working on an idea I'd had in mind for at least two years.
|
||||
制作像 ToolJet 这样的工具需要全身心的投入,通过出售我的一个业余项目,我获得了5-6个月的空闲,于是我立即着手将在我脑海里酝酿了两年的想法付诸现实。
|
||||
|
||||
2021年4月1日,我完成了 ToolJet 的第一次提交(使用 rails new 命令)。
|
||||
|
||||
DN
|
||||
The first commit (rails new) of ToolJet was on April 1, 2021.
|
||||
|
||||
稍等!我刚刚说 ToolJet 的代码是完全基于 JavaScript 的?请接着往下看。
|
||||
|
||||
DN
|
||||
Wait! I said the codebase is 100% JavaScript. Continue reading to discover why.
|
||||
|
||||
TD
|
||||
### 构建工具并推销给投资者
|
||||
|
||||
### Building and pitching investors
|
||||
### 构建完成并推销给投资者
|
||||
|
||||
4、5月间,我一直坐在电脑屏幕前编写代码和向种子轮的投资者推销我的工具。
|
||||
|
||||
DN
|
||||
I sat in front of my screens for most of April and May, coding and pitching to investors for a pre-seed round.
|
||||
|
||||
我的工作还包括创建拖放式应用程序构建器,撰写所有的文档以保证有在主流平台上设置 ToolJet 的文档,创建项目网站,制作发布时所需的海报以及博客文章等等。这一过程进展顺利,没有遇到大的挑战。当时, ToolJet 的前端使用的是 React ,而后端则用的是 Ruby on Rails 。
|
||||
|
||||
DN
|
||||
My work also included creating the drag-and-drop application builder, documenting everything, ensuring there was documentation for setting ToolJet up on popular platforms, creating a website, creating posters and blog posts for launch, and more. The process went well without any major challenges. At this point, the frontend of ToolJet was built using React, with the backend using Ruby on Rails.
|
||||
编程工作进行得很顺利,然而投资者推广工作进行得并不顺利。我向专注于初创时期投资的风投和天使投资人发送了大约40封电子邮件,都石沉大海。大部分邮件都被忽略了,不过也有一些公司向我说明了拒绝的原因,另外一些则给我回了电话。
|
||||
|
||||
编程工作进行得很顺利,然而投资者推广工作进行得并不顺利。我向专注于初创时期投资的风投和天使投资人发送了大约40封电子邮件,都石沉大海。大部分邮件都被忽略了,不过也有一些公司向我说明了拒绝的原因,另外一些则给我来了电话。
|
||||
|
||||
DN
|
||||
While the coding was going well, investor pitches weren't going great. I sent around 40 cold emails to venture capitalist firms and "angel investors" focused on early-stage funding. While most of them ignored the email, some shared their reason for rejection, and some scheduled a call.
|
||||
|
||||
大部分的电话内容都是一样的:我无法说服他们接受开源商业模型。
|
||||
|
||||
DN
|
||||
Most of the calls were the same; I couldn't convince them of an open source business model.
|
||||
大部分的电话内容都是一样的:我无法说服他们接受开源商业模式。
|
||||
|
||||
### 工具发布
|
||||
|
||||
DN
|
||||
### The launch
|
||||
|
||||
6月7日是发布日。我们首先在 ProductHunt (译者注: [ProductHunt][11] 是一个新品发布平台)上发布.六个小时后,只有70名用户注册。但是我们有成为当天第一名产品的趋势(最终在那一周的产品中排名第三)。这是原始的[发布帖][2]。
|
||||
|
||||
DN
|
||||
June 7th was the day of the launch. First, we launched on ProductHunt. Six hours passed, and there were only 70 new signups. But we were trending as the #1 product of the day (and ended up as the #3 product of the week). For posterity, here's the original [post][2].
|
||||
6月7日是发布日。我们首先在 ProductHunt (译者注: [ProductHunt][11] 是一个新品发布平台)上发布.六个小时后,只有70名用户注册。但是我们有成为当天第一名产品的趋势(最终在那一周的产品中排名第三)。这里是原始的[发布帖][2]。
|
||||
|
||||
下午6点左右,我又在 [HackerNews][3]上发帖,一个小时内,这个帖子便升至榜首。大量的访问者注册并给我的版本库点亮星标,我对此很高兴。大量的访问者和用户报告了软件和文档中的漏洞。距离在 HackNews 上发帖八个小时之后,超过1000名 GitHub 用户给 ToolJet 的 GitHub 版本库点亮星标,并且有了数百个 ToolJet 云端的注册请求。上升趋势一直持续到三天后,ToolJet 版本库总计得到了2400个星标。
|
||||
|
||||
DN
|
||||
I also posted on [HackerNews][3] around 6 PM, and within an hour, the post was #1. I was very happy that many visitors signed up and starred the repository. Many of these visitors and users reported bugs in the application and documentation. Within eight hours of posting on HN, more than 1,000 GitHub users starred ToolJet's GitHub repository, and there were hundreds of signups for ToolJet cloud. The trend continued for three days, and the repo had 2.4k stars.
|
||||
|
||||
![ToolJet repo stats on GitHub][4]
|
||||
|
||||
图片来源:
|
||||
|
||||
DN
|
||||
Image by:
|
||||
|
||||
GitHub StarTrack for ToolJet. (Navaneeth PK, CC BY-SA 4.0)
|
||||
ToolJet GitHub StarTrack (Navaneeth PK, CC BY-SA 4.0)
|
||||
|
||||
### 获得资助
|
||||
|
||||
DN
|
||||
### Getting funding
|
||||
ToolJet 项目在 GitHub 上的吸引力足以被风投(VC)世界注意到。发布之后的日子被各种来电挤满了。我们也有其他的选择,但从没有认真考虑过这些它们。这些选择包括:
|
||||
|
||||
ToolJet 项目在 GitHub 上的吸引力足以被风投(VC)世界注意到。发布之后的日子被各种来电挤满了。我们有了其他的选择,但从没有认真考虑过这些它们。这些选择包括:
|
||||
- Bootstrapping:在项目初期,难以获得付费用户,而我此前也没有足够的存款来支撑整个项目。
|
||||
|
||||
DN
|
||||
The traction on GitHub was enough to be noticed by the venture capitalist (VC) world. The days following the launch were packed with calls. We had other options, but did not consider seriously consider them, including:
|
||||
- 作为业余项目构建:在开发小型项目上这是可以的,但我不认为这在 ToolJet 的开发上行得通,毕竟在 ToolJet 平台能够为客户所用之前我们需要创建大量的集成和 UI 控件。作为一个业余项目,要实现这些可能需要花费数月甚至数年时间。
|
||||
|
||||
- Bootstrapping: During the early stages of the product, it was hard to find paying customers, and I did not have enough savings to fund the project until that happened.
|
||||
- Building as a side project: While this strategy works great for smaller projects, I didn't feel it would work for ToolJet because we needed to create dozens of integrations and UI widgets before the platform could become useful for customers. As a side project, it might take months or years to achieve that.
|
||||
我知道如果将 ToolJet 作为一个业余项目来开发,我可能需要花几个月的时间才能达到我期望的程度。而我希望通过扩大团队加速项目的成熟。鉴于该项目的吸引力,引入风险投资(VC)的资助是显而易见的选择。
|
||||
|
||||
I knew it could take months to build the platform I wanted if ToolJet became just a side project. I wanted to accelerate growth by expanding the team, and VC funding was the obvious choice, given the traction.
|
||||
好消息是在 HackNews 上发布之后的两周内我们成功募集了[155万美元的资金][5]。
|
||||
|
||||
The good news is that we raised[$1.55 million in funding][5] within two weeks of the HN launch.
|
||||
### 在开源中积累很重要
|
||||
|
||||
### Stack matters in open source
|
||||
发布后不久,我们发现许多人希望为 ToolJet 项目做贡献,但是他们几乎都是 JavaScript 开发者。我们也意识到像 ToolJet 这样的项目在未来会有成百上千的数据接口,只有基于插件的架构才行得通。我们于2021年8月决定从 Ruby 迁移到 TypeScript 上来。即使这花费了一个月的时间和巨大的努力,这仍然是我们在 ToolJet 项目上作出的最正确的决定。今天,我们有一个由我们的[插件开发套件][6]支持的可扩展的基于插件的架构。我们获得了来自超过200名开发者的贡献。关于这次迁移的文章参见[这篇博客][7]和[另一篇博客][8]
|
||||
|
||||
Soon after the launch, we found that many people wanted to contribute to ToolJet, but they were mostly JavaScript developers. We also realized that for a framework like ToolJet that in the future should have hundreds of data source connectors, only a plugin-based architecture made sense. We decided to migrate from Ruby to TypeScript in August 2021. Even though this took about a month and significant effort, this was one of the best decisions we've made for the project. Today, we have an extensible plugin-based architecture powered by our [plugin development kit][6]. We have contributions from over 200 developers. We've written extensively about this migration [here][7] and [here][8].
|
||||
### 发布 v1.0 版本
|
||||
|
||||
### Launching v1.0
|
||||
自8月份以后,很多用户已经在生产环境中使用 ToolJet ,该平台并没有出现过任何稳定性或扩展性的问题。我们准备在发布 v1.0 版本之前完成开发人员平台的功能。开发人员平台允许任何 JavaScript 开发者构建和发布 ToolJet 插件。这样开发人员就可以为 ToolJet 开发数据接口。把集成测试的时间算上,创建一个 ToolJet 接口的时间也只需要30分钟。
|
||||
|
||||
Many users have been using ToolJet on production environments since August, and the platform did not show any stability or scalability issues. We were waiting to wrap up the developer platform feature before we called it v1.0. The ToolJet developer platform allows any JavaScript developer to build and publish plugins for ToolJet. Developers are now able to make connectors for ToolJet. Creating a ToolJet connector can take just 30 minutes, including integration tests.
|
||||
|
||||
### Building a growing community
|
||||
### 创建持续成长的社区
|
||||
|
||||
![ToolJet star history][9]
|
||||
|
||||
Image by:
|
||||
图片来源:
|
||||
|
||||
ToolJet Star History (Navaneeth PK, CC BY-SA 4.0)
|
||||
|
||||
We didn't spend money on marketing. Most of our efforts in spreading the news about ToolJet have been writing about our learnings and being active in developer communities. We have a team of three members who take care of community queries.
|
||||
我们没有在销售上投入资金,我们的大部分精力都放在了传播 ToolJet 的消息、撰写我们的经验教训以及维持开发社区的活跃上。我们有一个关注社区里问题的三人团队。
|
||||
|
||||
### The business model
|
||||
|
||||
ToolJet won't be a sustainable business without a [commercial product][10] to pay the bills. We've built an enterprise edition of ToolJet, for which customers must pay. There's no limit on usage for the free community edition, and additional features in the enterprise edition are relevant only to large teams. We have very large companies as paying customers right now, but we haven't started monetizing ToolJet aggressively. We have enough money left in the bank to build an even better ToolJet, so our focus currently is on product improvement.
|
||||
### 商业模式
|
||||
|
||||
### What's next?
|
||||
如果没有[商业产品][10]来支付账单 ToolJet 无法成为一项可持续的业务。我们构建了 ToolJet 的客户必须付费的企业版本。ToolJet 的免费的社区版本没有任何使用限制,企业版中的额外功能都只与大型团队有关。我们现在的客户已经有超大型公司。我们有足够的银行存款来打造更好的 ToolJet ,因此我们目前正聚焦于产品提升上。
|
||||
|
||||
We frequently release better versions of ToolJet with the help of constant feedback and contributions from the open source community. Many major improvements and dozens of connectors and UI components are in progress. We're moving faster than ever towards our initial goal of being the open framework that can connect to hundreds of data sources and build even the most complicated user interfaces!
|
||||
### 接下来做什么
|
||||
|
||||
我们在消费者反馈的帮助以及开源社区的贡献下经常性发布更好的 ToolJet 版本。很多主要的优化、大量的数据接口以及 UI 组件正在开发进程中。为了实现我们成为能够连接大量数据源并构建更复杂的用户界面的开源框架的初心,我们比以往行动得更加迅速。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -161,7 +98,7 @@ via: https://opensource.com/article/22/10/tooljet-open-source-journey
|
||||
|
||||
作者:[Navaneeth PK][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
译者:[CanYellow](https://github.com/CanYellow)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
Loading…
Reference in New Issue
Block a user