繁体   English   中英

哪个java web技术要学习开发富Internet应用程序?

[英]Which java web technology to learn to develop Rich Internet Applications?

我使用JSF(myfaces组件)开发了Web应用程序。 但在响应式UI的这些日子里,JSF并不是很好。 我听说过很多关于AJAX,GWT等的内容。所以我希望您对我应该学习哪些Web技术/框架以便为企业产品开发Web应用程序有所了解。 我听到的一些网络技术是:

  1. ICE Faces(支持AJAX Bridge)
  2. GWT
  3. extJSextGWT
  4. JavaFX的
  5. Apache Wicket
  6. jQuery的
  7. AJAX
  8. 打开拉斯洛

以上哪项或上述组合对我有帮助?

您可以对这些Web技术进行评级的一些参数是:

  1. 易于学习
  2. Web应用程序代码的可维护性
  3. 社区支持
  4. IDE支持 - Eclipse或NetBeans
  5. 现成的组件可用性(如文本框,表格,选项菜单)
  6. 许可证 - 商业用途是否需要支付费用?
  7. 用户体验 - 响应式UI。 不应该迟钝

关于SO的类似问题确实部分回答了我的问题。 会想要更多信息。

编辑:答案整理:基于答案:AJAX将是学习基础知识的最佳选择,然后学习JQUERY。 任何基于组件的框架工作都可以补充ajax,jquery?

编辑2:如果我必须设计一个像StackOverFlow这样的Web应用程序(在java平台中),这将是学习和采用的最佳选择吗?

Wicket + Jquery,WiQuery

GWT

一些XYZ Faces技术(RichFaces / ICEFaces)+ AJAX。

一些与他们合作并且可以在上述参数中对其进行评级的人表示赞赏。

我强烈推荐Apache Wicket,我看到你评论/编辑了这个问题,说你倾向于Ajax / JQuery,并要求组件框架补充这些。

作为基于组件的框架中的IMO,Wicket提供了与第三方JavaScript库的最佳集成。 我亲自评估了竞争者GWT,Tapestry和JSF - 但是Wicket让它非常容易:

  • 将HTML贡献给HTML> HEAD
  • 将ajax回调代码(或自定义javascript)注入网页
  • 在服务器端的有状态组件上调用事件
  • 在Ajax(XHR)请求触发之前或之后执行任意javascript

你可以看到这篇关于如何将YUI与Wicket集成的博客文章,同样的概念可以很容易地扩展到JQuery。

也就是说,Wicket内置的Ajax支持实际上使您无需编写一行javascript代码即可创建丰富的UI-s。 考虑动态刷新网页的选择性部分,弹出对话框等。

我也知道一个名为WiQuery的 Wicket-JQuery集成项目 ,但我还没有尝试过。

我一直在GWT(用GWT-ext)为我的最新项目工作,并且非常喜欢它。 除此之外,jQuery一直是天赐之物,每当我没有更强大的框架时,我就会使用它。

AJAX只是一个(在我看来,毫无意义的)术语。

jQuery是,在我看来, 顺便做的JavaScript。 除非有一个不可克服的requeriment禁止它的使用,我推荐它,如果你需要自己编写Javascript(注意,如果你使用GWT,你使用的是Javascript,但不是它,所以你不需要jQuery)。

  1. 易于学习:你需要从传统的程序式JS中改变你的思维方式[jQuery仍然是程序性的,但具有很大的声明性方面]。 如果您从未编写过Javascript,那么可能更容易接近
  2. Web应用程序代码的可维护性:非常
  3. 社区支持:相当多
  4. IDE支持 - Eclipse或NetBeans:我不这么认为。 我不会错过它; 我讨厌写足够的Javascript让我错过了一个IDE。
  5. 现成的组件可用性(如文本框,表格,选项菜单):jQuery UI有一点,那里有很多材料
  6. 许可证 - 商业用途是否需要?:不

在你提到的其他技术中:

  1. GWT:我相信如果您是目标内部网站点或类似的东西,编写类似桌面的网站(想想Gmail,而不是典型的内容网站),这很有趣。 我想你需要做出相当大的努力才能使你的基于GWT的网站被搜索引擎抓取并被非复杂的浏览器使用(即GWT对于像某些手机这样的无JS浏览器是没用的)
  2. JavaFX的。 我相信这只是一个噱头。 不会给Java applet增加太多,它没有Java那么多的惯性。
  3. Apache Wicket:这是我的调查清单
  4. OpenLaszlo:如果你想在没有支付许可证的情况下做Flash内容,看起来很有趣。

作为我的建议。

我建议你先学会开发没有JS的网站。 然后添加JS(使用jQuery),谷歌“渐进增强”。

一旦你能做到这一点,你就可以学习使用像GWT这样的东西,并在合理的情况下使用它。

如果你必须做相当数量的Javascript / AJAX,你肯定想学习和使用jQuery! 如果它在1999年出现,它将为我节省多年的悲伤。

Seam,Spring,Richfaces,Ajax4jsf

我倾向于专注于基础知识,因此,您可能希望深入了解javascript,包括面向对象的javascript。

一旦你熟悉了javascript,这些库就很容易上手了。

您可能想要了解一些有用的HTML5功能,例如标记。

您可能还想学习Actionscript 3,因为这将有助于您了解闪存的工作原理,因为您将知道Flash ide正在生成什么代码。 我使用了一个ant脚本来编译我的actionscript代码,使用Eclipse。

Silverlight越来越受欢迎,但这需要VisualStudio Express,但它是Flash的强大竞争对手。

对于其余部分,传递引用可能很有用,因为您的列表并非详尽无遗,但要确保您能够很好地理解这些基础语言以及您可以快速获取的框架。

如果您希望通过Web浏览器获得某种客户端/服务器体验,我建议您与Google Eclipse插件一起查看GWT。 这种技术使您能够编写您可以实现的最具响应性的Web应用程序(从我的角度来看)。

否则,如果您想开发更传统的Web应用程序并只添加Ajax功能,您可以查看DWR (Direct Web Remoting)。 这种技术使您能够将服务器端Java对象连接到客户端,以便能够通过JavaScript使用其功能。 它将帮助您编写Ajax功能,还可能重用现有逻辑。

当然,jQuery总是一个很好的选择。

我的选择是GWT,因为GWT程序用java编程语言编写,这种编程语言非常强大且易于理解。

jQuery和ext-js也很好但我在JavaScript编程语言方面遇到了一些问题。 这种编程语言非常容易出错。

Apache Wicket编码喜欢GWT,但它是服务器端技术,它是一项繁重的技术。

因为JavaFX程序需要插件不是我的选择。

如果您没有JavaScript问题,我建议您使用jQuery或ext-js。

我和你在同一条轨道上,试图找出哪个将是我的服务器端+客户端开发工具集为一个巨大的互联网站点。 据我所知,一如既往,它取决于您需要的Web应用程序的类型。

有人使用不同的javascript框架,基于易用性,声明性,面向对象等。

有几点需要考虑:1)客户端技术1a)“核心”客户端技术:框架1b)UI客户端技术增强2)服务器端技术

对于“核心”javascript框架,你可以找到JQuery,MooTools(MIT许可证),ExtJS Core(MIT许可证)(不是ExtJS:这是ExtJS Core + UI小工具,后来需要商业许可证),Yahoo UI等等。可以在像这样的网站中比较它们: http//www.domassistant.com/slickspeed/

该测试“以某种方式”比较了每个“核心”客户端javascript框架的不同方面。

你从这些框架中得到了什么? 其中大多数允许您与“跨浏览器”兼容,并且每个都有多种不同的方式和语法。

只是测试和寻找你最喜欢的人。

所以,有了这个,你就可以找到一种代码“everybrowser”的方法。

现在,如果您需要“Widgets / Controls / UI小工具”,那么每个“核心”框架都有自己的UI相关扩展。

甚至,其中一些人可以互相交流。 我已经阅读过关于ExtJS(不是核心,带有几个好的UI元素的那个)的实现可以连接到jQuery的内容。

因此,对于客户端,您必须选择“核心”框架,如果您需要UI,那么,一些与之关联的UI。

有几个IDE与这个框架兼容,一个可以是Aptana,Eclipse,Netbeans(最新版本可以很好地与javascript集成),或者在Microsoft端Expression,Visual Studio Express或“Pro”。

事实上,jQuery被“按原样”包括在内,并得到微软和诺基亚的支持。 因此,jQuery现在会得到更多的关注,更多的支持,以及更多的“公开”,我预测它会获得很多关注和增强。 他们没有购买jQuery,从现在开始,他们坚持将其作为开源包含在VS解决方案中。 并且将与ASP.NET MVC,组件等紧密结合。

无论如何,正如我之前所说的那样,jQuery不是唯一的,而且不是最好的。

对于服务器端,它取决于您的知识:java,ASP.NET,无论您感觉舒服。

希望这个对你有帮助。

您可能需要学习一组工具,但应该从AJAX开始,然后转到一些JS库(JQuery,prototype-scriptaculous,MooTools等)。

这些也很好地补充了JSF框架。

在评估基于Java的RIA平台时,您可能还会考虑使用Eclipse Rich Ajax Platform

我建议你看看Vexi ,它提供类似桌面的应用程序,比Applet + Swing / AWT更灵活。

(免责声明:我是Vexi的开发人员)

这些应用程序是类似桌面的 - 丰富且响应迅速 - 并且是通过Internet“预测”的用户界面。 所有应用程序逻辑都驻留在您选择的语言中创建的服务器上,并通过XmlRpc接口公开。

Vexi的主要优点是布局非常简单,因为它是一个盒子模型。 它甚至比HTML更容易理解。

<box>
    <box orient="vertical">        .-------------------.
        <box fill="red" />         |   red   |         |
        <box fill="blue" />        |---------|  green  |
    </box>                         |   blue  |         |
    <box fill="green" />           '-------------------'
</box>

脚本使用JavaScript完成,并且有一个可扩展的小部件集。 使用小部件也很容易。

<button id="button1" text="My button" />
<textarea id="text1" shadowtext="Type in here!" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM