我是后端工程师的i' 15年来,我使用Django作为我的网络框架来创建我需要的任何软件项目,我从未失望过。我总是喜欢处理数据模型,处理后台工作和任何后端。当然,总是呈现HTML模板并返回HTTP响应。经典的网络。几年前,新的炒作开始建设"现代" Web应用程序。在前端路由和JavaScript ES6中,浏览器变得更加强大。现在,您可以在浏览器中进行一些沉重的申请。单页应用程序在这里。新框架开始突出。 backbone.js是我使用的第一个代替jQuery和稍后的Angularjs,反应,Vue。所有这些都是javascript中的一切都是精彩的技术。我停止呈现HTML模板,并开始在后端创建API。这很漂亮:创建一个模块化前端,随着许多组件,每当需要时重复使用它们。如果您需要数据,请致电API并使用存储在本地存储中的Auth令牌从后端获取它们。保持全球状态,以便您可以根据需要重新创建应用程序状态。在JavaScript中编写HTML和CSS。部署前端并分开后端,并确保它们同步'重新同步。等待要安装的节点模块的30分钟。它很有趣,直到它没有。我可以快速地' t原型项目,因为我没有得到多脚手架。我不得不拥有一个大的JavaScript代码库来做我在Python中做的事情,并且被支持在Django(例如Auth)中的框中得到支持。我必须创建额外的代码,用于将数据模型转换为JSON对象。也许有必要,但我怀疑。后来,对于我们在Xeco实验室的一个大型项目的大项目,我们非常接近于建立投资组合跟踪器的选择反应,但最终决定使用经典服务器呈现Django应用程序。我确信决定节省了数万欧元。然后我遇到了刺激:一个带有适度雄心壮志的JavaScript框架。由Basecamp和嘿,刺激的团队创作,刺激' t接管整个前端。事实上,它并不接受过多。刺激向JavaScript桥接您的HTML与CSS类对CSS样式相同的方式。刺激控制器是高度可重用的,可以作为标准共享库包装,可在多个项目中使用。 2020年12月,Basecamp团队将HotWire推出作为建立现代Web应用程序的替代方法,而不通过在电线上发送HTML而不是JSON来使用太多JavaScript。在其核心,Hotwire介绍了Turbo,它提供了一系列技术来加快页面的变化并表单提交,将页面分解为较小的组件和后端的流页更新,而无需写入任何JavaScript。刺激是Hotwire的JavaScript框架,以补充你无法用涡轮增长所做的。我已经包括在我的Dev堆栈中包括涡轮增压和Hotwire,我第一次喜欢创造我的项目前端。因为它们大多是从服务器呈现的旧HTML模板。每当我需要交互性时,我都可以在我的处置创建或重新使用现有的刺激控制器。没有更多的正面应用程序。更少的JavaScript,维护更少,生产力更多。多年来,我们将工作从服务器推向客户端。现在,摆锤摆动。可以创建复杂,模块化和快速Web应用程序,而无需使用客户端侧框架。你不需要在客户端上拥有所有应用程序,因为有一些有状态和交互式组件。您可以在现有的HTML页面中包含这些组件。我将更多地编写关于创建轻量级前端的更多信息,主要使用Hotwire。如果您' ref兴趣,请订阅此通讯。