【问题标题】:Clarifying web development tools and languages (Java)阐明 Web 开发工具和语言 (Java)
【发布时间】:2011-03-02 23:29:03
【问题描述】:
具有 Java 背景,但
从未为 Web 客户端开发过(即由浏览器运行的脚本),
但是java小程序(我怀疑它是,嗯,老式的(对吗?)或其他
我会清楚地将它们用于以下某些方面)
然后考虑以下场景:
- 只有客户端应用程序(没有服务器交互)。
您会建议学习 javascript 还是更好地使用 Google 网络工具包 (GWT)
(据我所知,将 java 代码翻译成 javascript+html)
其他选择?
- BIS:客户端应用程序与另一个客户端应用程序交互(即两者
在不同的浏览器中)或使用服务器(独立)。
和以前一样的选择?我知道 GWT 允许远程过程调用。
更多?
- 富互联网应用程序。
Flex 似乎是通常的选择(对吗?)我认为没有基于 Java 的语言
这个(JavaFx,尽管它的名字不是 Java,我读到“它受了致命伤”)
其他选择?
- 一个业务应用程序。
然后,选择显然是 JavaEE(包括客户端的 JavaFaces)。
真的清楚吗?其他选择?
如果我错了,请纠正我。
【问题讨论】:
标签:
java
apache-flex
gwt
jakarta-ee
【解决方案1】:
只有客户端应用程序(没有服务器交互)。您会建议学习 javascript 还是更好地使用 Google web toolkit (GWT)(据我了解,它将 java 代码翻译成 javascript+html)其他选择?
这取决于应用程序的规模。如果它可以在几个小时内用 Javascript 完成,那么我会选择它(可能同时使用 JQuery。)如果它是一个更大的项目(一些大项目只是客户端!)那么我会使用 GWT。根据我的经验,GWT 的启动成本较高,但一旦开始开发,通常会好很多。
BIS:客户端应用程序与另一个客户端应用程序(即在不同的浏览器中)或与服务器(独立)交互。和以前一样的选择?我知道 GWT 允许远程过程调用。更多?
这里和上面的差不多,虽然显然这种交互确实指向一个更复杂的程序,所以在这种情况下我倾向于 GWT。
富互联网应用。 Flex 似乎是通常的选择(对吗?)我认为没有基于 Java 的语言(JavaFx,尽管它的名字不是 Java,我读到“它受了致命伤”)其他选择?
这对网络造成了致命的伤害,我个人认为,当 JavaFX 的下一个版本弃用 JavaFX 脚本时,情况可能会在桌面端出现。但这不是重点 :-) Flex 将是一个完全可以接受的选择,但是在这个时代,我会认真考虑 HTML5 及其画布支持是否具有您需要的一切(它可能会或可能不会取决于应用程序) .) 您还可以在这里使用 GWT 以及诸如 GWT-canvas 插件之类的东西。我自己从未使用过它,但从记忆中,它将以专有插件的形式为不支持 HTML5 的浏览器提供向后兼容的支持。如果您需要它在不支持 HTML5 的浏览器中工作,那么这可能是一个明智的选择。
一个业务应用程序。然后,选择显然是 JavaEE(包括客户端的 JavaFaces)。真的清楚吗?其他选择?
我实际上更倾向于 Spring 而不是 JavaEE,我发现它更灵活,更好用。
【解决方案2】:
您是否建议学习 javascript 或更好地使用 Google 网络工具包 (GWT)
我想我会推荐两者。正如berry120所说:你使用哪种技术主要取决于你项目的规模和要求。但即使您使用 GWT,仍然有一些 Javascript 的概念也很好。不仅当您需要 GWT 中的 JSNI 方法时,还只是为了了解 GWT 翻译您的代码时可能发生的事情以及“可能”发生的事情。