html/javascript RIA开发中的模式是什么?
在用其他语言(如C#或Java)构建基于GUI的大型应用程序时,我们有各种模式,如MVP、MVC、MVVM,甚至还有完整的指导包,如Prism(WPF/Silerlight),它们帮助我们保持代码的可维护性、可扩展性,并将应用程序的复杂性保持在合理的水平 但是当涉及到用html/javascript编写的大型RIA应用程序时,我发现很难找到真正好的资源html/javascript RIA开发中的模式是什么?,javascript,design-patterns,ria,anti-patterns,Javascript,Design Patterns,Ria,Anti Patterns,在用其他语言(如C#或Java)构建基于GUI的大型应用程序时,我们有各种模式,如MVP、MVC、MVVM,甚至还有完整的指导包,如Prism(WPF/Silerlight),它们帮助我们保持代码的可维护性、可扩展性,并将应用程序的复杂性保持在合理的水平 但是当涉及到用html/javascript编写的大型RIA应用程序时,我发现很难找到真正好的资源 在html/javascript(用于创建Gmail、Google Calender、Google Docs等应用程序)中创建大型RIA应用程序
在html/javascript(用于创建Gmail、Google Calender、Google Docs等应用程序)中创建大型RIA应用程序时,应该做什么和不应该做什么。据我所知,javascript/html没有任何特定内容。嗯,除了模块模式,但这不是真正的应用程序设计,更多的是关于风格 由于您来自一个庞大的基于C#Java类的、僵化的、静态的、面向对象的世界,如果您想寻找新鲜有趣的东西,我建议您看看lisp和haskell等函数式编程语言,看看它们的设计模式。Javascript可以容纳函数式语言模式或面向对象模式 通读javascript.crockford.com,让您了解在javascript中可以实现哪些功能,以及哪些样式模式是有意义的
但是,每种语言的应用程序设计基本相同。富互联网应用程序的开发仍然是一个非常年轻的话题,有许多不同的方法,每天都有越来越多的方法出现。此外,JavaScript与企业开发人员所使用的语言截然不同 你不应该做的是避免直接用JavaScript开发。当然,有许多框架似乎可以帮助您绕过JS部分(GWT和.NET Framework AJAX的东西做得相当好),但是,您永远无法充分利用该语言本身的潜力,您的富Internet应用程序将永远绑定到服务器端编程语言/框架及其能力,这根本不是必需的,在我看来,这也是一个糟糕的设计。我会尽可能地将服务器端编程与客户端编程分开。与传统的web应用程序不同,您可以异步请求和处理任何数据,因此您的web服务器根本不需要生成任何HTML(使用generate,我指的是使用服务器端语言生成HTML)。由于服务器端的数据和客户端的表示分离,RIA开发可能会带来许多其他方法带来的复杂性(比如尝试在一个老式的服务器端MVC框架中使用RIA)
在客户方面,你会根据自己的喜好选择。有很多不同的框架遵循不同的想法。您可以将重点放在基于组件的组件上,也可以在客户端放在以下组件上。。。等等。谢谢你的意见。我一直在看您链接到的javascriptmvc框架。Aptana的同事们正在开发一个有趣的项目,名为ActiveJS(),它看起来很有前途。嗯,我喜欢Aptana的产品,但ActiveJS似乎非常面向Jaxer(因此,即使双方都有JavaScript,也无法实现客户端和服务器的松耦合)。但我肯定会看一看