Migrate from desktop

Hello,

This is my first post here so I hope to excuse me for silly inquiries.

I’m
C++/Qt
developer (desktop / mobile) and I want to begin developing web applications; I tried to use
Wt
but unfortunately I couldn’t accustom with it because it hasn’t GUI designer (although it have fabulous features); So I turned back and looked for another web framework then found Vaadin.

I read about Vaadin and I found it very interesting but I still have some questions hopeful some one help me to get the right answers:

  1. Does Vaadin support multi-layouts (RTL/LTR)? If yes; Do I’ve to manipulate the interface manually by CSS or it works automatically just like GTK OR
    Qt
    ?
  2. Do I’ve to
    implementing client/server protocol in similar way of GWT (in
    Wt
    I don’t have to)?
  3. Can I connect to the database directly without using ORM?
  4. Does Vaadin support multi-languages using GNU Gettext or any other engine (except .properties)?
  5. Does Vaadin support self authentication module OR I’ve to implement it from scratch?
  6. I noticed that chart addon is commercial one; Is there any existing open source chart addon for Vaadin?
  7. Does Vaadin support self permissions module OR I’ve to implement it from scratch?
  8. What’s the major difference between Vaadin and ASP.NET (I used ASP.NET and I found it very easy but it’s a commercial product so drop it immediately)?
  9. Does Vaadin GUI designer support RAD features such as double click (Go to slot) OR event handeling similar to desktop GUI designers?
  10. Can I customize some CMS using Vaadin (I read some lines about Liferay and Vaadin) because I don’t want to spent my time on traditional web pages?
  1. Not currently. There are
    some tricks you can do
    , but the component selection is very limited, sorry.
  2. No, that’s the basic idea in Vaadin that it’s handled by the framework.
  3. Yes.
  4. Vaadin does not support any particular i18n system, but you can use any, including a Java-based implementation of Gettext.
  5. Vaadin doesn’t include authentication. You are free to use other frameworks for that, such as Spring or portals for that.
  6. I think there are in the Vaadin Directory.
  7. What is a self permissions module? Probably not. That is probably something out of scope of Vaadin, and there might be implementations that you could use.
  8. You could see
    here
    .
  9. I don’t think so. I mostly recommend using the Visual Editor as a learning tool, and just coding the UI after you have learned enough.
  10. I don’t quite know what you want here. You can develop portlets with Vaadin and embed Vaadin UIs in web pages.

Thanks a lot Marko

Oops. This is very bad news to me :frowning: RTL support is very vital for me.

Do I’ve to modify client side codes or the framework handle it (In
Wt
I just need to work on server side and
Wt
completes the rest)?

I read a little bit about Spring and I found ton of questions about how to use Spring with Vaadin; I wonder does it very hard to use it in Vaadin or it’s just a usual popular question?

Yes, it is unfortunate that Vaadin does not yet have proper RTL language support, which makes it limited use in many countries.

GWT (which Vaadin uses) actually has, but the integration is not there yet, and Vaadin does not use normal GWT widgets much.

The Vaadin framework normally handles all client-side stuff, so you only code server-side. If you need some client-side features that are not included in the Vaadin or any of its add-ons, you may need to do client-side coding. Looks like Wt is similar in how you use it. I don’t know it enough to give any comparison.

Spring is a widely used Java framework, especially for enterprise applications, and its integration with Vaadin is indeed a common question. Some of the integration questions are answered in
this article
.

Simple authentication is not much work to implement from scratch, but frameworks like Spring Security allow easy integration with many authentication systems, such as LDAP, OpenID, etc. Building the web app inside a portal as a portlet, you can have the portal handle the authentication, so it’s even easier, although developing portlets is a bit more work.

Is there any change to add RTL support in the future? I tried to add a feature request for that but it seems that it’s available for premium users not for the community (I wonder if trac is the right place to request).

In case I want to add RTL support; Does the client side is the destination I’ve to work into?

Hi,

We definitely would like to add RTL support, but haven’t had time for that yet, as there are many features with even higher priority.

There is ticket
#3093
about the feature. Yes, it’s 5 years old ticket…

You can probably do a lot with CSS tricks, as shown in the example, by using the alignment and direction properties. However, that may not work for some components, where the positions of HTML elements are determined programmatically. For example, Table would probably be difficult. And yes, to fix those problems, client-side coding is needed.

The topic has been discussed at least in
this thread
and several other threads.

There are propably also API decisions that need to be made - how to enable RTL in the UI and components.

It seems that I’ve no chance to use Vaadin because RTL is essential feature for me and because I didn’t code any Java since 8 years ago so I’m not sure if I can help the community here to fix this issue.

Thank you guys; I think
Wt
is the right place to me although it hasn’t GUI designer similar to Vaadin :frowning:

BTW, Wt was having some issue with RTL but the guys there fixed them as soon as they get the bug report about them and they tagged them as urgent bug (
as shown here
) they even fixed them within a week.