Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
html/javascript RIA开发中的模式是什么?_Javascript_Design Patterns_Ria_Anti Patterns - Fatal编程技术网

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应用程序

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

但是当涉及到用html/javascript编写的大型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,也无法实现客户端和服务器的松耦合)。但我肯定会看一看