4

在使用 C# 或 Java 等其他语言构建基于 GUI 的大型应用程序时,我们有各种模式,如 MVP、MVC、MVVM,甚至还有完整的指导包,如 Prism (WPF/Silerlight),帮助我们保持代码的可维护性、可扩展性并保持复杂性应用程序处于理智的水平。

但是当谈到用 html/javascript 编写的大型 RIA 应用程序时,我发现很难找到任何真正好的资源。

在 html/javascript 中创建大型 RIA 应用程序(用于创建 Gmail、Google Calender、Google Docs 等应用程序)的注意事项是什么?

4

2 回答 2

3

富 Internet 应用程序的开发仍然是一个非常年轻的话题,并且有许多不同的方法,并且每天都出现越来越多的方法。此外,JavaScript 与企业开发人员所习惯的语言完全不同。

恕我直言,您不应该做的是试图避免直接使用 JavaScript 进行开发。当然,有许多框架似乎可以帮助您绕过 JS 部分(GWT 和 .NET Framework AJAX 的东西做得相当不错),但是您将永远无法充分利用语言本身的潜力,并且您的富 Internet 应用程序将永远绑定到您的服务器端编程语言/框架及其功能,这根本没有必要,在我看来也是一个糟糕的设计。我会尽可能地将服务器端编程与客户端编程分开。与老式 Web 应用程序不同,您可以异步请求和处理任何数据,因此您的 Web 服务器根本不需要生成(生成我的意思是使用服务器端语言生成 HTML)任何 HTML。

On the client side you'd it depends on your likes what you choose. There are lots of different Frameworks following different ideas. You can have the ones focussed on DOM manipulation , Component based ones with focus on GUI elements or one following the MVC pattern on the Client side ... and so on.

于 2009-07-16T14:09:11.753 回答
1

模式与语言完全无关。我所知道的没有什么特定于 javascript/html 的。好吧,除了模块模式,但这并不是真正的应用程序设计,它更多的是关于风格。

由于您来自基于 C# Java CLASS、刚性、静态、面向对象的大型胖子世界,我建议您看看 lisp 和 haskell 等函数式编程语言,看看这些设计模式,如果您重新寻找新鲜有趣的东西。Javascript 可以适应函数式语言模式或面向对象的模式。

阅读 javascript.crockford.com,让您了解 javascript 中可能发生的事情,以及哪些样式模式有意义。

但是,每种语言的应用程序设计基本相同。

于 2009-07-16T11:10:23.197 回答