程序员代码编写_我如何不编写协作写作应用程序的代码

程序员代码编写

葵仓,句,但更有趣 (Twaikura, haikus but funnier)

As easy as ABC: some stranger on the Internet starts a 120 characters story, some stranger on the Internet finishes it. And that makes a Twaiku (tweet + haiku). Twaikus can be funny, serious, artistic, it’s up to you.

就像ABC一样容易:互联网上的某个陌生人开始编写一个120个字符的故事,互联网上的某个陌生人完成了它。 这就是Twaiku(tweet + haiku)。 Twaikus可以有趣,认真,艺术,这取决于您。

So, as a developer, implementing something like that shouldn't be hard, right? Yes, but no. Here is the story of how it took me multiple years to create Twaikura and how you could do the same in a matter of hours.

因此,作为开发人员,实现这样的任务并不难,对吧? 是的,但是没有。 这是一个故事,讲述了我花了几年时间来创建Twaikura,以及如何在几个小时内完成相同的操作。

回到TwentyParts及其为何从未存在 (Back to TwentyParts and why it never came to existence)

TwentyParts was my first “entrepreneurial concept” back in 2015. As you may guess, the idea is to write a story in 20 parts, with each part written by a different author.

TwentyParts是我在2015年提出的第一个“企业家概念”。您可能会猜到,这个想法是将故事分成20部分,每个部分由不同的作者撰写。

I was a CS student at the time and it took me 2 months to release a first draft. The result was disastrous. I didn’t even know about the concept of a “framework”, picture the code. The concept was too complex, the interface unusable.

当时我是一名CS学生,我花了两个月的时间才发布了初稿。 结果是灾难性的。 我什至不知道“框架”的概念,把代码画出来。 概念太复杂,界面无法使用。

I did not give up. A few months later, in 2016, I came up with a simplified version of TwentyParts, HiKoo.  I limited the length of a story to 3 tweets. And instead of rushing to development, I created mocks using a marvelous tool named MarvelApp.

我没有放弃。 几个月后,在2016年,我想出了TwentyParts的简化版本HiKoo。 我将故事的长度限制为3条推文。 我没有急于开发,而是使用了一个名为MarvelApp的出色工具来创建模拟。

Now I had a great UI and all, but no working code. One more app that never came to existence.

现在,我拥有了一个不错的用户界面以及所有内容,但没有可用的代码。 一款从未出现过的应用程序。

Fast forward to now. I’ve graduated. I’ve built my consulting company, LBKE. I’ve developed complex SaaS platforms for multiple clients. And I've kept this question running in my head:

快进到现在。 我已经毕业了 我建立了我的咨询公司LBKE。 我已经为多个客户开发了复杂的SaaS平台。 我一直在想这个问题:

What prevents me from recreating TwentyParts, now I am fast and skilled and over-confident?
是什么让我无法重新创建TwentyPart,现在我又快又熟练又过于自信?

After all, it would only take a full work week nowadays. Yet there’s a problem: I am not a student anymore. With one spare hour here and there, a “full work week“ can span over a few months. Too slow.

毕竟,如今只需要整整一周的时间。 但是有一个问题:我不再是学生。 在这里和那里有一个空闲时间,“整个工作周”可能需要几个月的时间。 太慢了。

如何快速编码:不。 (How to code fast: don’t.)

I’ve explored thoroughly the realms of fast web development. You may have read my previous articles on freeCodeCamp about Vulcan, a framework based on Meteor that makes me very productive.

我已经彻底探索了快速Web开发的领域。 您可能已经阅读了我以前在freeCodeCamp上有关Vulcan的文章,这是一个基于Meteor的框架,使我的工作效率很高。

Those researches all lead me to the same conclusion: the best code is the code you don’t write.

这些研究都使我得出相同的结论:最好的代码是您不编写的代码。

There are a lot of ways NOT to write code, even for a developer. Scaffolding, declarative programming, using snippets, or using an ORM are all methods to circumvent writing code. Using open source is another great example. Some may even think that developers are a bit lazy – but aren't they?

有很多不编写代码的方法,即使对于开发人员也是如此。 脚手架,声明式编程,使用代码片段或使用ORM都是规避编写代码的方法。 使用开源是另一个很好的例子。 有些人甚至可能认为开发人员有些懒惰,但是不是吗?

Yet minimal skills in web development are still necessary. That means careful thinking, lots of doc reading, debugging and so on. In the end, the time needed to create a fully functional app can only be reduced this much.

但是,仍然需要基本的Web开发技能。 这意味着需要仔细的思考,大量的文档阅读,调试等。 最后,创建一个功能全面的应用程序所需的时间只能减少这么多。

You know what? Using a massive framework to speed up developments feels like cheating sometimes. What if I did not have those skills? What if I was not a developer? I would have no other choice than embracing the “no-code way”. And that’s what I’ve done.

你知道吗? 使用庞大的框架来加快开发速度有时会让人作弊。 如果我没有这些技能怎么办? 如果我不是开发人员怎么办? 除了拥抱“无代码方式”,我别无选择。 这就是我所做的。

非网站开发者的创新创新 (Sparkling innovations for web non-developers)

No-code solutions have been pretty bad in the past. Limited, difficult to extend, proprietary, expensive, the list is long. But some recent tools are starting to be worthy enough.

过去,无代码解决方案非常糟糕。 有限,难以扩展,专有,昂贵,清单很长。 但是最近的一些工具已经开始值得。

I will focus specifically on Bubble. Its plugin system coupled with its data management features makes it the most complete solution on the market currently. Here are a few key features and how I used them to build Twaikura.

我将特别关注Bubble。 其插件系统及其数据管理功能使其成为当前市场上最完整的解决方案。 以下是一些关键功能以及我如何使用它们构建Twaikura。

UI编辑器 (The UI editor)

Bubble proposes a WYSIWYG editor (What You See Is What You Get) to create the app user interface. You put your blocks of content wherever you want, and configure their content.

Bubble建议使用WYSIWYG编辑器(所见即所得)来创建应用程序用户界面。 您可以将内容块放置在任意位置,然后配置其内容。

It’s grid-based so you can have pixel perfect alignment. It handles responsiveness. So you should be able to create designs as complex as you wish.

它基于网格,因此您可以实现像素完美对齐。 它处理响应性。 因此,您应该能够根据需要创建复杂的设计。

But I’ll be honest, I am not the hugest fan. More precisely, I am not very good with it. It’s very different both from writing HTML/CSS and from using web-based design tools like Figma, so there is a learning curve.

但老实说,我不是最大的粉丝。 更确切地说,我不是很好。 这与编写HTML / CSS和使用基于Web的设计工具(例如Figma)都大不相同,因此存在学习上的困难。

I ended up sticking myself to an old school Windows 98-ish style. With a little bit of imagination you could even believe it has some “V a p o r w a v e” aesthetic.

最后,我坚持使用老式的Windows 98风格。 稍加想象,您甚至可以相信它具有某种“ V aporwave”美感。

在工作流程中思考 (Thinking in workflows)

The most impressive feature of Bubble to me is its “Workflows”. It lets you describe complex process in a visual language. It can mix data management (validating and storing a Twaiku, sending an email) and user experience (resetting a form, refreshing the page) transparently. You don’t need to mentally split the workflow between frontend and backend as you would do in a traditional web app.

Bubble对我来说最令人印象深刻的功能是它的“工作流程”。 它使您可以用视觉语言描述复杂的过程。 它可以透明地混合使用数据管理(验证和存储Twaiku,发送电子邮件)和用户体验(重置表单,刷新页面)。 您不需要像传统的Web应用程序那样在前端和后端之间脑力分散工作流程。

This example workflow is triggered when the user wants to submit the second part of a Twaiku. It will create a "Twaiku End" in the database, link it with a "Twaiku Begin", and reset the form. I could also display a success message, send a mail to a moderator and so on. Visualizing the full workflow in a single timeline is very intuitive.

当用户想要提交Twaiku的第二部分时,将触发此示例工作流。 它将在数据库中创建“ Twaiku End”,将其与“ Twaiku Begin”链接,然后重置表单。 我还可以显示一条成功消息,向主持人发送邮件,等等。 在单个时间轴中可视化整个工作流程非常直观。

完善的数据管理 (Complete data management)

Bubbles comes with a relational database and complete filtering features. That means you can easily create both forms and list of data. For example, the “Read latest Twaikus” block will load all valid Twaikus.

Bubbles带有关系数据库和完整的过滤功能。 这意味着您可以轻松创建表格和数据列表。 例如,“阅读最新的Twaikus”块将加载所有有效的Twaikus。

Plugins can help secure your content. For example, there is a ReCaptcha plugin to add CAPTCHAs to your form in a matter of minutes. This is important as security is usually left behind in the prototyping steps. Malevolent bots and hackers don't care that you are a "lean startup-er", and they won't miss an opportunity to spam or hack your website.

插件可以帮助保护您的内容。 例如,有一个ReCaptcha插件可以在几分钟内将验证码添加到您的表单中。 这很重要,因为通常在原型制作步骤中会遗留安全性。 恶意的机器人和黑客不在乎您是“精简型创业者”,他们也不会错过发送垃圾邮件或黑客入侵您的网站的机会。

应用正常工作几个小时 (A few hours of work for an app that works)

I won’t describe all features of Bubble, because it has a lot more. The conclusion is that it's been powerful enough to write an app like Twaikura. Instead of writing tons of crappy code that will end up in a dumpster, instead of creating a visual prototype as lively as Frankenstein’s Creature, I just created something that works.

我不会描述Bubble的所有功能,因为它还有很多功能。 结论是它足够强大,可以编写Twaikura之类的应用程序。 我只是写了一些行之有效的方法,而不是编写成堆的垃圾代码,而不是创建像Frankenstein的Creature那样生动的可视化原型。

Is my website great? Honestly, not yet. Does it do the job? Hell yes. I had fun creating it, it cost me no more than a few hours, and I am able to test the concept in the most direct possible way. The longest part was writing this article.

我的网站很棒吗? 老实说,还没有。 它能胜任吗? 当然好。 我创建它很有趣,花费了我不到几个小时的时间,而且我能够以最直接的方式测试该概念。 最长的部分是写这篇文章。

I especially recommend no-code tools for people who want to learn web development. Taking a lot of time to produce simple features can feel frustrating at first. Using a no-code tool alongside traditional programming is a way to keep having fun. It's instructive too, because, even if you don't write code, you still have to think like a developer: designing conditional workflows, structuring a database, validating forms... That's a win-win.

对于那些想学习Web开发的人,我特别推荐无代码工具。 首先,花费大量时间来制作简单的功能可能会让人感到沮丧。 与传统编程一起使用无代码工具是一种保持乐趣的方式。 这也是很有启发性的,因为即使您不编写代码,也仍然必须像开发人员一样思考:设计条件工作流程,构建数据库,验证表单……这是双赢的。

I won't become a no-code evangelist, but Bubble is a great addition to my tool belt. And it could be great addition to yours too!

我不会成为没有代码的传播者,但是Bubble是我的工具带的绝佳补充。 它也可能是您的绝妙补充!

Thanks for the read. If you liked this article, come try a Bubble app by creating your first Twaiku on twaikura.com!

感谢您的阅读。 如果你喜欢这篇文章,来通过在创建第一个Twaiku尝试泡泡应用twaikura.com

程序员代码编写_我如何不编写协作写作应用程序的代码

翻译自: https://www.freecodecamp.org/news/how-i-did-not-code-a-collaborative-writing-app/

程序员代码编写