我们为什么开源了我们的 Python 平台

开源开发理念使 Anvil 的整个解决方案更加有用和值得信赖。
115 位读者喜欢这篇文章。
neon sign with head outline and open source why spelled out

Opensource.com

Anvil 团队最近开源了 Anvil App Server,这是一个完全用 Python 构建的 Web 应用程序的运行时引擎。

社区的反应非常积极,我们在 Anvil 已经将许多反馈融入到我们的 下一个版本 中。但是我们一直被问到的问题之一是:“你们为什么选择开源如此核心的产品部分?”

我们为什么创建了 Anvil

Anvil 是一种工具,可以尽可能简单地构建 Web 应用程序。我们通过让您使用一种语言(Python)构建整个应用程序来实现这一点。

在 Anvil 之前,如果您想构建一个 Web 应用程序,您必须使用许多技术(如 HTML、Javascript、CSS、Python、SQL、React、Redux、Bootstrap、Sass、Webpack 等)编写代码。这有很多东西要学习。而这只是一个简单的应用程序;相信我,它可能会更加复杂

A complex framework of development tools needed for a simple web app

是的,真的。所有这些,都只是为了一个简单的 Web 应用程序。

但即便如此,您还没有完成!您需要了解关于 Git 和云托管提供商的所有知识,如何保护(很可能是)Linux 操作系统,如何调整数据库,然后您还需要随时待命以保持其运行。永远。

因此,我们构建了 Anvil,一个在线 IDE,您可以使用 拖放式设计器 构建您的 UI,并用 Python 编写所有逻辑,然后 Anvil 会处理剩下的事情。我们用“只需编写 Python”取代了整个摇摇欲坠的技术栈。

简单的 Web 托管很重要,但还不够

Anvil 也可以为您托管您的应用程序。为什么不呢?部署 Web 应用程序非常复杂,因此运行我们自己的云托管服务是提供我们所需简单性的唯一方法。在 Anvil 编辑器中构建一个应用程序,点击一个按钮,它就可以在 Internet 上运行了。

但是我们一直听到人们说,“这太棒了,但是……”

  • “我需要在没有可靠互联网连接的离岸平台上运行它。”
  • “我想将我的应用程序打包到我销售的 IoT 设备中。”
  • “如果我把鸡蛋放在这个篮子里,我怎么能确定十年后我仍然可以运行我的应用程序?”

这些都是很好的观点!云服务并不适合所有人。如果我们想为这些用户服务,就必须让他们能够将他们的应用程序从 Anvil 中取出并在本地运行,完全在他们自己的控制之下。

开源是逃生舱,而不是弹射座椅

在会议上,我们有时会被问到,“我可以将其导出为 Flask+JS 应用程序吗?” 当然,可以将 Anvil 项目导出为相应的 Python 和 JavaScript——我们可以生成一个服务器包,将客户端 Python 编译为 Javascript,并生成一个经典的 Web 应用程序。但这会有严重的缺点,因为:代码生成是弹射座椅。

Code generation is an ejector seat from a structured platform

(图片 以公共领域许可)

生成的代码总比没有好;至少你可以编辑它!但是,一旦您编辑了该代码,您就失去了生成它的系统的所有好处。如果您使用 Anvil 是因为它的 拖放式编辑器浏览器中的 Python,那么为什么您必须使用 vim 和 Javascript 才能在本地托管您的应用程序呢?

我们相信逃生舱,而不是弹射座椅。因此,我们以正确的方式做到了这一点——我们开源了 Anvil 的运行时引擎,它与在我们的托管服务中为您的应用程序提供服务的代码相同。这是一个独立的应用程序;您可以使用文本编辑器编辑代码并在本地运行它。但是您也可以 git push 将其推回到我们的在线 IDE 中。这不是弹射座椅;没有爆炸性的过渡。这是一个逃生舱;您可以爬出去,做您需要做的事情,然后爬回来。

如果它是开源的,它可靠吗?

开源中看似矛盾的一点是,它的免费可用性是它的优势,但也有时会造成不稳定的感觉。毕竟,如果您不收费,您如何长期保持这个平台的正常运行和健康?

我们正在做我们一直以来都在做的事情——提供一种开发工具,它可以大大简化 Web 应用程序的构建,尽管您使用 Anvil 构建的应用程序 100% 属于您。我们为 Anvil 应用程序提供托管,并为 企业客户 提供整个开发和托管平台。这使我们能够提供免费计划,以便每个人都可以将 Anvil 用于爱好或教育目的,或者开始构建一些东西并看看它的发展方向。

收益更多,损失更少

开源我们的运行时引擎并不会损害我们的业务——它使我们的在线 IDE 在今天和未来都更加有用和值得信赖。我们为需要它的人开源了 Anvil App Server,并提供了最终的保险策略。这对我们的用户来说是正确的举措——现在他们可以充满信心地进行构建,因为他们知道开源代码就在那里,随时可用

如果我们的开发理念与您产生共鸣,为什么不亲自尝试一下 Anvil 呢?

 

-----

这篇文章改编自 我们为什么开源 Anvil App Server 并已获得许可重复使用。

接下来阅读什么
标签

1 条评论

我不认为一切都必须是 Python,但世界上有更多的开源总是很棒的!谢谢!

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.