为什么不使用 java web start 而不是其他 RIA 框架?
出现了许多 RIA 框架(flex、extjs、gwt 等)。
如果我的服务器是用Java编写的,为什么不使用java web start呢?
我看到的好处:我可以使用易于调试的语言进行编程(与 JavaScript 相比),我可以在服务器和客户端(验证、模型对象)中使用相同的代码。通过 SWT,我可以获得漂亮的 GUI。
即使这意味着需要在浏览器中安装插件(或使用 cli 工具),但如果我的应用程序是企业应用程序,这有关系吗?
There are many RIA frameworks popping up (flex, extjs, gwt to name very few).
If my server is written in Java, why not use java web start?
The benefits I see: I get to program in a language that is easy to debug (compared to javascript), I can use the same code in server and client side (validations, model objects). With SWT I get nice looking GUI.
Even if it means requiring a plugin in the browser (or using a cli tool), if my application is an enterprise application, does it matter?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
对于 Webstart,您需要在客户端安装 Java。适用于 Flex 闪存。对于 Silverlight .Net。对于其他 RIA 平台,支持 JavaScript 的浏览器。这个问题涉及很多产品政治。
而Java是非常用心的,因为“一切似乎都是钉子”。当然,Java 的一大优势是:在每个平台或环境(服务器/客户端/中间件)上使用相同的语言、相同的知识、相同的代码。
对于企业内部使用来说,完全没有关系。如果您的业务在互联网上,那么决策就会复杂得多(或者甚至您必须在不同的平台上提供相同的功能)。
For webstart you need Java installed on the client. For Flex Flash. For Silverlight .Net. For other RIA platforms a JavaScript enabled browser. It is a lot of product politic in that question.
And Java is very intenting, because "all seems to be a nail". Of course one of the great advantages of Java: same language, same knowledge, same code on every platform or environment (server/client/middleware).
For enterprise internal use, no it does'nt matter at all. If your biz is on the internet the decison is much more complicated (or even you have to offer the same functionality in diferent platforms).
唯一相反的论点是,在很多情况下,不可能强制富客户端应用程序的客户端在其计算机上安装 Java 运行时。其他一切都取决于品味、已有的知识和经验。
The only contra argument is that in a lot of cases it's impossible to force the clients of your rich client app to have Java runtime installed on their machines. Everything else is a matter of taste, already existing knowledge and experience.
我认为到目前为止,完美的客户端技术根本不存在。我们对 ajax 感到很兴奋,然后还有另一种“热门”技术,例如 Adobe Air。这些技术和“老式”客户端服务器应用程序有什么区别?朋友们,我们又回到了90年代初!
例如,AIR 需要在客户端计算机上安装运行时,它可以访问本地系统资源并使用二进制协议与服务器进行通信。另一方面,我们正在开发“RIA”应用程序(而且是非常好的应用程序:),使用纯 java swing 客户端通过 Spring 的二进制远程协议与服务器进行通信。我必须说,在这样的开发生命周期中,Java-Webstart 是赢家。特别是在java领域的大型项目(我的意思是大型项目,而不仅仅是电子商店)中,我还没有找到比这更高效和可维护的东西(啊!维护......另一个大故事)。
在我看来,如果您的用户可以接受良好的外观和感觉,并且您不必仅仅因为其他技术年轻而性感而采用其他技术,请使用 webstart。在您的商业模式中投入更多精力。毕竟企业应用程序是关于业务的,而不是动画。钱就是生意所在;)
I think that until now the perfect client technology simply does not exist. We were excited about ajax and then there is another "hot" technology like Adobe Air. What is the difference between these techs and the "old-fashion" client-server apps? My friends we are back to the early 90s!
The AIR for example needs a runtime installed on the client machine, it has access to local system resources and communicates with the server using a binary protocol. On the other hand we are developing "RIA" applications (and very good ones :) using pure java swing clients communicating with the server through the Spring's binary remoting protocol. And i must say, in such a development life-cycle Java-Webstart is the winner. Especially in large-scale projects (and i mean laaaarge-scale, not just e-shops) in the java field i haven't found something more productive and maintainable (ah! maintainence... another big story) than this.
IMO if your users can live with a nice look-and-feel and you don't have to adopt another technology just because it is young and sexy use webstart. Put more work in your business model. After all enterprise apps is about business, not animations. And money is where the business is ;)
是的,我认为这确实很重要,因为一些大公司仍然将 IE6 作为他们的标准浏览器以及基于 Web 的应用程序的要求。这些不允许您将任何第三方插件安装到他们的恐龙浏览器中。
并且您不会区分使用 JavaScript、CSS 和 HTML 等现有浏览器技术(包括仅生成客户端 JavaScript 的 GWT 和只是 JavaScript 组件库的 ExtJS)的 RIA 技术和需要额外运行时环境的 RIA 技术(Flash、Flex 或客户端)。
当然,有些事情使用专有或第三方解决方案更容易完成(或者您只是对这些平台之一有更多的了解),但我仍然认为标准化并已在每个现代浏览器中实现的技术具有巨大的潜力(浏览器之间的差异也在缓慢但稳定地改善)。
如果您将其作为第 3 方应用程序提供,则无论如何都可以将 JRE 定义为系统要求,但随后也可以将其作为普通 Java 应用程序提供,而不是使用 JavaWeb Start。
Yes I think it does matter, seeing that some big companies still have IE6 as their standard browser and as a requirement for web based applications. And those won't allow you to install any third party plugins into their dinosaur browser.
And you don't make a difference between RIA technologies that use existing browser technologies like JavaScript, CSS and HTML (including GWT which just generates client side JavaScript and ExtJS which is just a JavaScript Component library) and the ones that require an additional runtime environment (Flash, Flex or client side ).
Of course some things are easier to accomplish with proprietary or third party solutions (or you just have more knowledge in one of these platforms), but I still think that there is a huge potential in technologies that are standardized and already implemented in every modern browser (the differences between the browsers are slowly but steadily getting better, too).
If you ship it as a 3rd party application you can define a JRE as a System requirement, anyway but then instead of JavaWeb Start ship it as a normal Java Application as well.