代码之家  ›  专栏  ›  技术社区  ›  Shrike

用脚手架构建Ajax-RIA框架的技术选择

  •  -1
  • Shrike  · 技术社区  · 16 年前

    构建像样的RIA数据密集型crud应用程序仍然很困难。尽管存在大量的框架。

    我将为此类应用程序构建自己的框架。关键需求之一是脚手架(从模型生成UI)。另一个是.NET服务器端。 我知道asp.net动态数据、oracle ADF、fornax/sculptor等(是的,这两个Latter是针对Java的)。 有许多服务器端框架,如Django(基于python)、Grails(基于Groovy)、rubyonrails。它们通常包含一些模板和脚手架。但对我来说,主要的问题是它们不包含客户端框架。它们确实会生成脚手架用户界面代码,但不能在手工编写的代码中重用。 我也不喜欢asp.NETWebForms使用“服务器控件”的方法。即使生成了所有服务器标记(类似JSF/JSP)。

    另一方面,还有(甚至更多)客户端框架。他们通常是服务器技术不可知论者。这里有Dojo、ExtJS、SmartClient、QooxDoo等,它们都提供了编写JS代码和css/html设计的功能。这还不错,但是JS代码(因为它是一个脚本代码)非常容易出错。

    所以我最初的设想是采用asp.NETMVC作为服务器端,并采用一些很好的客户端框架。问题是选哪一个。

    我的第一个决定是使用Dojo工具箱。它是一个具有许多JS优点的框架(mixins、pub/sub、connections、Defered、modules、Json解析器、Dijit的模板、数据抽象),并且它有许多widjet。而且是免费的。


    然后我看了看SmartClient。特别是在 SmartGWT's showcase . 我必须说,每个选择Ajax框架/库的人都必须看到这一点。真是太棒了。 它是一个集成到GWT中的客户端库(SmartClient)。所以我们可以用Java创建一个令人惊讶的Ajax应用程序。有编译语言,没有脚本语言!太好了!
    这正是我需要的,但我需要这样一个东西。是的,我知道脚本。但它非常有限(c#1.0)。还有 jsc . 它工作,甚至去毛刺。但它离GWT+SmartGWT的设施很远。

    因此,在看到了这样一个优点之后,用asp.NETMVC+dojo构建一个框架似乎是不可能的

    我相信你们中的许多人都面临着类似的问题:如何在数据密集型crud(通常是企业/intranet)应用程序(而不是网站)中有效地连接Ajax-RIA客户端和服务器端。那么,还有什么方法/技术值得考虑呢?

    p、 我甚至在考虑使用GWT。但我必须使用两个IDE:一个用于客户端代码(java),另一个用于服务器代码(asp.NETMVC)。但这不是梦想的边缘。

    1 回复  |  直到 16 年前
        1
  •  1
  •   Charles Kendrick    16 年前

    如果可重复使用的脚手架是一个关键问题,那么这就是SmartGWT/SmartClient的最大优点之一。在这里可以看到,对于一个功能完备的CRUD屏幕,所需的代码是多么少:

    http://www.smartclient.com/smartgwt/showcase/#featured_pattern_reuse

    http://www.smartclient.com/smartgwt/showcase/#layout_form_databinding

    诚然,对于.NET没有SmartGWT EE,但是使用RESTDataSource与.NET的集成非常简单:

    http://www.smartclient.com/smartgwt/showcase/#restfulds_xml_integration_category

    http://www.smartclient.com/smartgwt/showcase/#featured_xsd_ds

    http://www.smartclient.com/smartgwtee/javadoc/com/smartgwt/client/data/DataSource.html#setInheritsFrom%28com.smartgwt.client.data.DataSource%29