GWT或者DOJO还是其他?
我来自微软世界(我和平相处)。我想快速制作一个Web应用程序原型,如果可以运行,请将其实时发布,并且我不想使用ASP.Net。
我不确定要使用哪个Web应用程序工具包。我应该使用GWT,DOJO ...其他建议吗?我对任何服务器端语言都开放,但是正在研究RoR,Php甚至Java(准确地说是J2EE)。我不是一个Javascript / CSS专家,所以最好使用那些可能使我在这些方面相对容易一些的工具箱。
另外,我在家中是Mac用户。我们会推荐什么样的IDE?
有什么建议的家伙吗?
解决方案
如果我们愿意使用Java,那么GWT是最佳选择。它使我们可以在客户端-服务器之间拥有相对统一的代码库,并且在两种服务器上仅使用一种语言。
做一些非常偏僻的AJAXy事情有一些限制(这使GWT变得困难,但并非不可能),但这听起来并不是用例。
随着应用程序变得更加复杂,并且原型不会成为一次性代码,GWT将允许我们使用其更多功能进行扩展。
我是GWT的粉丝,但是我对Java非常熟悉。我发现它很直观,而且很容易获得快速的良好结果。如果要使用GWT,则肯定要使用免费且功能强大的Eclipse IDE。
GWT的缺点之一是它要求浏览器支持Java脚本,没有"优雅的降级"。
我们评估了众多框架,并决定选择Echo2.
- 我们只需要用Java编写代码。仅当我们要编写自己的组件时才需要Javascript。
- GWT等大型项目没有启动性能问题。
- 我们可以在客户端代码中使用完整范围的Java,因为Java运行在服务器上。在GWT中,我们只能使用很少的Java类集。
Java的IDE是Eclipse。这与所使用的框架无关。
就个人而言,我会避免尝试嵌入或者隐藏客户端框架的服务器端框架。我确信GWT非常适合快速运行,并且对于某些类型的应用程序可能很好,但是对于更复杂的应用程序,我们可能会遇到很多"边缘问题"。将客户端框架与服务器端框架解耦可以避免这些问题。
如果我们想用JAVA编写前端和后端,并且想做复杂的ajax类型的事情,那么GWT是一个不错的选择。
最简单的思考方法是,构建GWT应用程序就像构建一个挂接到服务器的JAVA swing应用程序。就像使用服务器的swing应用程序一样,它可以变胖或者变薄。完成后,所有内容都可以编译为HTML和javascript,并具有非常好的现代浏览器支持(即6+ ff,opera,safari)。
它确实将所有的javascript和HTML都提取掉了,但是如果我们希望它看起来不错,我们仍然需要了解CSS。
我认为有人说它破坏了MVC或者客户机与服务器混为一谈的人不了解GWT。 GWT是一个客户端侧框架。并且仅在客户端上使用。 GWT确实提供了一种将其连接到JAVA(和其他)后端的RPC机制,但这只是一种通信协议,并不意味着服务器代码会神奇地成为客户端代码。当然,如果确实愿意,我们可以在UI中编写一堆业务规则,但是我们可以使用任何框架来做到这一点,所以说GWT在这方面有所不同是很愚蠢的。
我是jQuery的粉丝,动作,遍历和命令的可链接性非常强大。我的一个好朋友为Mootools疯狂,他在Java公司FWIW工作。他提到了Mootools的一项很酷的功能,就是我们可以指定要框架包含的功能,并且它将在文件中的一行上生成整个库,我们可以将该文件包含在页面上以最大程度地减少框架的重量(漂亮很酷的功能)。真的,这取决于我们最适应什么。 jQuery具有出色的教程,非常快速,并且可以与其他javascript框架一起使用。
与GWT无关,但是我们是否考虑过其他可以与GWT配合使用的后端?
Grails是与GWT紧密结合的一个后端。