Vaadin 与 Apache 单击哪一个用于我的 Web 应用程序开发
Vaadin 和 Apache Click 似乎同样优秀,我应该选择哪一个来开发我的 Web 应用程序。或者更确切地说,每个框架的优点和缺点是什么。
Vaadin and Apache Click seem to be equally good, which one should I choose for developing my web application. Or rather, what are the Pros and Cons of each framework.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
我是 Apache Click 的提交者,但希望您会发现我的观点是客观的。
我根本不了解 Vaadin,只是粗略地浏览了他们的网站、示例和使命宣言。
Apache Click 和 Vaadin 分别适用于不同的问题空间。 Apache Click 面向传统企业 Web 应用程序,而 Vaadin 面向富互联网应用程序 (RIA) 领域。
Apache Click 是一个传统的无共享、无状态框架。与传统的基于操作的 Web 框架不同,Click 通过使用页面和组件提供了稍高级别的抽象。目前,Click 并不是一场革命。它只是进行 Web 应用程序开发的众多方法之一。在我看来,无论从开发人员还是维护人员的角度来看,这是一个非常好的方法。 (在企业环境中,开发人员和维护人员通常不是同一个人,因此我区分了这两个角色)。
然而,开发人员有时会遇到传统 Web 应用程序无法满足的需求,这就是 RIA 的用武之地。它们提供了更丰富的用户体验(想想桌面),但这并不是免费的。 RIA 的代价是复杂性、生产力和上市时间。但这是有道理的,如果需要更丰富的体验,您需要做更多的事情来提供这种体验。
我的建议是:仔细考虑您的要求。不要简单地认为 RIA 更好,这是需要付出代价的,因此请确保您的投资获得回报。
最后,如果您的需求是 RIA,那么您应该将 Vaadin 与 Flex 进行比较。如果您的需求是更传统的 Web 应用程序,那么请将 Click 与 Struts、Stripes、Wicket、Tapestry 等进行比较。
亲切的问候
Bob
I'm a committer of Apache Click but hopefully you will find my opinion objective.
I don't know Vaadin at all, just had a cursory look at their website and examples and mission statement.
Apache Click and Vaadin are meant for different problem spaces. Apache Click is targeted at traditional enterprise web applications while Vaadin targets the Rich Internet Application (RIA) space.
Apache Click is a traditional share nothing, stateless framework. Unlike traditional action based web frameworks Click provides a slightly higher level of abstraction by using Pages and Components. At the of the day Click isn't a revolution. Its just one of many approaches of doing web application development. In my opinion its a very good approach, both from a developer and maintainer point of view. (In enterprise environments the developer and maintainer are often not the same individual, so I differentiate between the two roles).
However developers sometimes have requirements that cannot be satisfied by traditional web applications, which is where RIA comes in. They provide a richer user experience (think desktop) but this does not come for free. RIA comes at a cost in terms of complexity, productivity and time-to-market. It makes sense though, if the requirements are for a richer experience, you need to do more in order to deliver that experience.
My advice here is: think carefully about your requirements. Don't simply assume that RIA is better, there is a price to pay, so make sure you get return for your investment.
Lastly, if your requirement is for RIA, then you should compare Vaadin with Flex. If your requirement is for a more traditional web application then compare Click with Struts, Stripes, Wicket, Tapestry etc.
Kind regards
Bob
我两者都用;-)
Click 是经典 Web 应用程序的最佳选择(纯 html,没有/小/手工制作的 javascript)。
它非常轻量级(小尺寸且无状态),不那么冗长(您可以使用velocity/freemarker功能在html中编写html;-)。
真正的 php 杀手。
Vaadin 是桌面类企业应用程序的最佳选择。
它是有状态的、重量级的、冗长的,但是令人惊奇。
Grails,Play!,Spring MVC 是继 Click/Vaadin 之后真正的后退。
所以我的建议是:两者都使用!
对于大多数页面,您将使用 Click 来执行复杂的任务 - Vaadin。
I use both ;-)
Click is the best for classic web applications (pure html with no/ small/ handmade javascript).
It is very lightweight (small size and stateless), less verbose (you can do your html in html with velocity/freemarker power ;-).
A real php-killer.
Vaadin is the best for desktop like enterprise applications.
It is statefull, heavyweight, verbose, but amazing.
Grails, Play!, Spring MVC is a real step back after Click/Vaadin.
So my advice: use both!
For most of your pages you will use Click, for complicated tasks - Vaadin.
我从 2006 年开始使用 Click。在过去 4 年里我用它构建了各种 Web 应用程序。所有应用程序(B2B)仍然强劲,并继续维护/添加到现在。在我看来,Click 最好的地方包括:
如果您想要一个轻量、快速、易于理解的框架,可以帮助您以您或您的团队个人能力最快的速度构建应用程序,请查看 click,它将值得您花时间。
I've been using Click since 2006. I've built various web applications with it in the last 4 years. All apps (B2B) are still going strong and continue to be maintained/added to now. The best things about Click IMO include:
If you want a light weight, fast, easy to understand framework which helps you build applications as fast as you or your team are personally able to, check out click, it will be worth your while.
在做出选择之前,您应该通过试驾来评估所有选项。
我不熟悉 Click,如果我错了,应该有人纠正我,但我理解 Click 基本上是一种将服务器端代码链接到网页的技术。 UI 是基于页面的,您可以使用与 HTML 元素相对应的组件来定义 UI。据我所知,Ajax 尚未得到支持。
Vaadin 在更高的抽象级别上运行。使用 Vaadin,您可以专注于业务逻辑,并使用视图、布局和其他组件自然地构建 UI(查看 采样器)。您无需关心 RPC、页面转换、HTML 或模板。 Vaadin 为您提供完全跨浏览器兼容的 Ajax UI,开箱即用,外观和工作都非常出色。上手非常容易,论坛也非常活跃(上个月有超过 700 条消息,而 Click 邮件列表上有 96 条消息)。
免责声明:我是 Vaadin 团队的成员,没有使用过 Click。
Before making your choice you should evaluate all options by taking them out on a test drive.
I'm not familiar with Click, and someone should correct me if I'm wrong, but I understand Click basically a technique to link your server side code to web pages. The UI is page-based and you define the UI with components corresponding to HTML elements. Ajax is not (yet) supported, I gather.
Vaadin operates at a higher level of abstraction. With Vaadin you get to concentrate on your business logic, and build your UI naturally with views, layouts and other components (check out the Sampler). You don't need to care about RPC, page transitions, HTML or templates. Vaadin gives you a fully cross-browser compliant Ajax UI that looks and works great out of the box. It's very easy to get started, and the forum is very active (>700 messages last month compared to 96 on the Click mailing list).
Disclaimer: I'm a member of the Vaadin team and have not used Click.
我会选择,而且我已经在几个 Click 项目中做过了(在所有其他框架上)。
对我来说,主要卖点是我能够在一个周末内学习 Click 并提高工作效率(Vaadin - 但其他框架也花了我更多时间)。
Click 的免费可用文档要好得多 - 您可以自己比较这些站点(即使 Vaadin 站点看起来更酷,但 Click 站点更有用 - 至少对我而言)。
实时示例要好得多 - 我总是将它们视为片段存储库,然后复制内容我需要从那里(因为我是一个懒惰的程序员:)) - 每个示例都有一个“Page Java”和“Page HTML”链接,显示每个可用示例的源代码。
关于消息流量,我认为这不应该成为一个标准,因为有这么好的免费在线文档,而且框架简单得多,用户根本不需要问那么多。
免责声明:我只是一个使用过这两个框架的简单用户。
I would choose, and I already did in a few projects Click (over all other frameworks).
The main selling point for me was that I was able to learn Click and be quite productive in one week-end (Vaadin - but other frameworks too took me much more).
The free and available documentation for Click is much better - you can compare the sites yourself (even if the Vaadin site looks cooler, the Click site is simply more useful - at least it was for me).
The live examples are much better - I always look at them as a snippet repository, and just copy what I need from there (since I'm a lazy programmer :) ) - there's a "Page Java" and "Page HTML" link for every example that shows the source code for every available example.
Regarding the message traffic, I don't think that should be a criteria, since having so good free online docs, and the framework being so much simpler, the users simply don't need to ask that much.
Disclaimer: I'm just a simple user that have used both frameworks.
Apache wicket 也是一个选项吗?
我的经验是使用 jboss/ejb/jquery,但正在研究启动新项目的技术。我自己做了一些快速的研究,Vaadin 似乎很受好评。
Is Apache wicket an option as well ?
My experience is with jboss/ejb/jquery, but looking at technologies for starting a new project. I've done a quick bit of research myself abd Vaadin seems to be very well regarded.
如果您正在比较 UI 框架,那么 Apache Wicket 无疑是您不能忽视的。 (我也在做同样的事情。)我放弃了 Vaadin,因为文档很差(也许我不是一个好的 Google 员工。)
目前正在比较 Wicket、Click 和 ZK。
Click 和 Wicket 到目前为止处于领先地位,原因如下:
生成纯 HTML,而不是使用 GWT、Vaadin 和 ZK 中的 JavaScript 呈现 UI。然后您就可以使用 HTML5 功能。
即使使用本机 HTML,UI 表单的服务器端绑定也是可能的。
您无需担心与服务器的通信。 ZK 也这样做,但使用他们自己的语言 ZUML。
我发现在 ZK Grid 等组件的情况下,ZK 中的服务器端内存占用量更高。 (我还不知道 Click 的内存占用。)
Surely Apache Wicket is something you can not ignore if you are comparing UI frameworks. ( I am doing same.) I dropped Vaadin because of poor documentation ( maybe I am not a good Googler.)
Currently comparing Wicket, Click, and ZK.
Click and Wicket are ahead so far for the following reasons:
Generates pure HTML instead of rendering UI using JavaScript which happens in GWT, Vaadin, and ZK. You can use HTML5 features then.
Even with native HTML, server-side binding of UI forms is possible.
You don't need to worry about communication with the server. ZK also does this but with their own language ZUML.
I have found server-side memory footprint higher in ZK in the case of components like the ZK Grid. (Memory footprint for Click is not known to me yet.)