Eclipse Community Forums - RDF feed
https://www.eclipse.org/forums/
Eclipse Community ForumsExperiences with RAP
https://www.eclipse.org/forums/index.php/mv/msg/366617/892703/#msg_892703
We need a web-application and a desktop-application which have the same functionalities (although the desktop app could have less). Maybe in a later stadium there could be support for mobile devices, but at this point that's not a requirement.
Our current setup (which I'm not going to explain in detail) really needs to change because it's too complex. So it's time to think about alternatives.
Our desktop application is already using an Eclipse environment. And because the management is very keen on code reuse I think RAP could be a possible alternative.
I'm interested in experience of other developers using RAP to build a web- and desktop-application. Hard to learn? Code maintainability? Code reusability (write once, run as dekstop and in browser)? ...
And because we have to develop GIS applications, I would be very interested your experiences if you developed a GIS web- and desktop-application with RAP.
Thanks!
Kind regards,
Roel]]>Roel De Nijs2012-06-29T09:30:18-00:00Re: Experiences with RAP
https://www.eclipse.org/forums/index.php/mv/msg/366617/892732/#msg_892732
If you would start from scratch a multi frontend application I would, without any doubt, recommend Eclipse Scout[1]. It gives you the possibility to develop and maintain a client-server application with multiple frontends at the same time. A quick look at the main architecture[2] and the seperation of ui model and gui[3] gives you a good overview how it is achieved. For the desktop you'd get a swt or swing app and for the web you'd get a rap ui.
Now you wrote that you already have a working application. Well, if you would start with Eclipse Scout, you'd have to rewrite much of your ui so it wouldn't rely on ui classes such as swt-classes or swing-classes. But in the long run I'm sure you would benefit from it.
I'll be happy to answer you further questions. Or you could ask specific Scout questions in the Eclipse Scout forum[4].
But I can think of a few possible impediments:
- the learning curve: I'm quite familiar with RCP development (and that learning curve was steep for me), the other team members are not.
- at this moment they have a SOA-like architecture and Scout seems to be more for a client/server application (where you have 1 monolithic server application and 1 client application which can be rendered for web, desktop,...)
- we have a gis web-app (using openlayers as a js library to do all kinds of gis-related stuff) and I don't think Scout will offer support for this out-of-the-box (like for Textboxes etc). But maybe we could develop our own GIS-driven widgets
- the management really likes code reuse, so can you explain shortly how you develop the desktop and web GUI for an application. Do you develop a UI once and then package/build that together with the swt-scout-plugin for a desktop; package/build it with rap-scout-plugin for the web application?
Thanks!
Kind regards,
Roel]]>Roel De Nijs2012-06-29T20:16:05-00:00Re: Experiences with RAP
https://www.eclipse.org/forums/index.php/mv/msg/366617/893012/#msg_893012
To your concerns:
Learning curve: In my opinion working with Eclipse Scout SDK and the Eclipse Scout Framework API is quite simple. I'm sure learning programming with Eclipse Scout is easier than with RCP. Please consider to work through the "Hello World" Tutorial[1] and the other Tutorials[2].
SOA: Scout has also a SOA architecture[3]. And since everything is written in Java you're free to do anything you want. You can call your webservices or take the code and reuse it in Scout Services.
Custom Widgets: You are free to create new Widgets for your project. So you could create a gis-widget for swt and rap which would go into your ui-bundles. For an example please read this HowTo[4]
Code reuse: That's exactly how we do it. With the separation of the client model and the ui representation[5] we don't have to write anything twice (except for custom widgets). So yes, code once -> export twice