您如何在Web框架之外发展以创建自己的应用程序框架?

jma*_*xyz 7 architecture jquery web-applications ruby-on-rails

Web框架很棒.我认为滚动你自己而不考虑流行的开源库是一种设计气味.因此,如果有人打算开始一个Web项目而不使用流行的服务器端Web框架(如Rails)和流行的客户端框架(如jQuery),我认为他们要么疯狂,要么无知,要么非常小众.

也就是说,Web框架不会为您做很多事情.像Rails和jQuery这样的恕我直销框架已经取得了成功,因为他们试图将80%带到那里,接下来的20%让你去做.80%的比例使它们足够灵活,可以被广泛使用而不会变得过于紧缩或笨拙.所以问题就变成了,你如何处理剩下的20%,特别是当你的应用程序变大时?

过去1.5年,我们开发并维护了一个Rails/jQuery-UI应用程序.如上所述,这些框架的无限制功能证明了我们能够快速提高速度,保持生产力和加强优秀设计.然而,在过去的几个月里,我开始认为我们应该能够更快地开发和部署新功能,并且我开始觉得我们没有在Rails和jQuery给出的基础上建立足够的基础我们.新功能似乎必须从每次80%的点开发,而不是优选的90-95%.

为什么您的战略超越了Web框架?您曾经使用过哪些技术或技术将80%的起点移近90-95%?您遇到或克服了构建自己的应用程序框架或工具包的哪些具体障碍?在vanilla Rails和jQuery上开发的难点是什么促使您寻求更紧密的应用程序集成?

Ray*_*nos 2

我实际上并没有对服务器端框架做太多事情,因为我们的 ASP.NET 后端已经处理了 90%,而其他人编写的所有自定义服务器端控件都处理了最后 5%。

就客户端而言,除了编写通用的可重用控件之外,您几乎无能为力。我使用 jQuery 的主要原因是它抽象了跨浏览器合规性。我使用它就像使用 JavaScript 一样,只不过它在 IE 中运行毫不费力。

在 jQuery 之上构建可重用的控件。制作自定义插件。使您编写的所有自定义代码更加通用,以便您可以在项目之间重复使用它们。

我建议你看一下backbone.js。它是一个客户端 MVC 框架,真正允许您自定义 Web 应用程序。构建在这样的 MVC 框架之上使得代码非常容易扩展并且非常易于管理。这样做的好处是,您拥有很多控制权,并且可以在此基础上建立自己的通用框架,从而允许重用、重用和重用。

要记住的重要事情之一是将跨浏览器合规性委托给 jQuery 这样的底层库,然后在其之上构建抽象。

根据我个人的经验,无处不在的通用错误代码比 jQuery 的局限性更让我们陷入困境。也许如果每个人都编写出色的代码,我们就会注意到 jQuery 的局限性。我还没有真正看到 ASP.NET 框架的任何限制。