I would like to mention 3 things to pay attention too :
Groovy support.
Some kinds of applications requires call back support to support event propagation from server to client side. Millstone is a framework that support this. Pushlets is lower level and could help Spring-RPC to achieve this goal with Spring supported http protocols (Hessian, Burlap, ..).
I am not sure yet but HMVC frameworks like Scope could be a good pattern to investigate.
Hessian and Burlap only could works if the client also could start a light java web server, a very serious limitation. So may be necessary to build a custom (XStream|http://xstream.codehaus.org on top of plain HTTP?) protocol.
Modeling ui and an ui conteiner is good but so I think is necessary to model some interfaces thats provides security aspects.
groovy looks cool, and I know some of the developers are looking at it to as a configuration alternative to xml. How would you like to see it integrated in spring-rcp?
First of all, i would like to make a general comment about the developement motivation of Spring RCP. I think that this is a very much needed thing but please keep in mind that a lot of developers have already tried to achieve a comprehensive client application framework and claim that your should go their route. Spring has managed to get a large exposure already. And now you should try to drag a maximum of these people into this endeavour. They may be glad to see their work recognized and be part of the adventure to create the Swing RCP alternative to Eclipse . I've listed some similar projects at the end of this entry.
"Automatic drag-n-drop management of views (panels) within an application page area, similiar to Eclipse".
I suggest that you contact Marius Butler for he's done an incredible work building up a docking framework. From the home page : The source code has been published under the MIT license and is freely available for download.
I'm using it in my own swing app, and it works very well. He says that he has been inspired by Eclipse itself. You can see by yourself and download the demo
As a side note, i've noticed in a javalobby thread that Kevin Duffey has started with 3 other developers a Rich Client Platform aimed at concurrencing the eclipse's own RCP. Maybe you could contact him and try to "merge" best of both apps (keeping for example the IoC paradigm that makes Spring successfull and keeping his plugin engine which seem very advanced).
Gilles: Not sure I understand fully your comments.
I see one problem with yet another rich client framework, what do you do when you are going to use an existing framework? If I'm going to use Eclipse's, how would Spring's RCF embed into that? Or into NetBeans? Or is it the other way around?
Why not go as with the ORM support? Spring just lets you use them easier (though I have not verified this claim). Likewise, Spring can be the glue layer that can be used within existing and future RCF.
On the contrary opinion, are existing rich client frameworks really any good? Seems there is a big hole in the Java 'platform' that is slowly, too slowly, being addressed by Eclipse, NetBeans, HMVC, JStateChart, and so forth.
Then there are the declaritive approaches that use some form of markup combined with scripting, such as XUL, Flex, XAML, and so forth. Will Spring's RCF allow use of those?
There's project on dev.java.net that has a very nice action / faces structure and I think it would be good to either integrate it or use it's architecture. There's a WebStart demo showing with a sample app and well written documentation. Here: https://gui-commands.dev.java.net/
I agree with J.Betancourt:
The strength of Spring is that it is a "lightweight" Framework, that it can be used on top of other Frameworks resp. Technologies (Container, Persistance and Communication): it let's the application developer concentrate on what matters.
So why another RCF Framework? There seems to be already certain forces of "fragmentation" out there, Swing versus SWT Frameworks etc. Why contribute to even more fragmation?
Why not pursue similiar goals as Spring: Seperation of Concerns and concentration of what matters.
As the lead developer, I also agree! We're not trying to reinvent the wheel here. We aim to create an appropriate abstraction layer on top of swing that facilitiates the creation of professional-looking, maintainable desktop apps quickly. To do this we certainly want to integrate with existing work in the areas of rich client; jgoodies, l2prod's components, electric's docking framework, etc. Thanks to all posting the great links thus far and points of reference!
This may be outside the scope of Spring-rcp, but I'd love to see a collection of useful GUI components not included with Swing.
A few suggestions:
1. A JTextField for handling dates.
2. A JTextField with code completion, like the address field in a web browser.
3. A boolean toggle component that supports "true", "false", and "null".
4. A data component that provides for a dynamic number of child components. For example, in a data entry form for a "person" object, this component would allow the user to add/remove a variable number of textfields to represent phone numbers for the person.
5. A Dialog box for displaying error messages with an option to display more detailed information, like the stacktrace.
These are all relatively simple components, and I'm sure anybody could sit down and grind them out in a couple hours, but why should they have to? (speaking of which, I'd be happy to contribute code for any of the above...)
And kudos to you for providing a JTable that's sortable out-of-the-box. Shame on you, Swing. Shame on you.
>As the lead developer, I also agree! We're not trying to reinvent the wheel here. We aim to >create an appropriate abstraction layer on top of swing that facilitiates the creation of >professional-looking, maintainable desktop apps quickly. To do this we certainly want to >integrate with existing work in the areas of rich client; jgoodies, l2prod's components, >electric's docking framework, etc. Thanks to all posting the great links thus far and points of >reference!
> Posted by Keith Donald at Jun 02, 2004 20:38 | Permalink |
Hi Keith,
If you don't want to reinvent the wheel again you might take a look at my Swing framework called JForm. (http://jform.coderight.nl).
On top of that I developed a framework called SwingForms that provides exactly what Spring-rcp is trying to achieve.
centralized actions
transparent threading (no gui freeze)
templates for controllers/views/etc
etc
Spring-rcp is still in development my code is ready and production stable!
If you would like to talk about my framework, background/ideas/technical/etc
Don't hesitate to contact me (will@coderight.nl or wlboluyt@kabelfoon.nl)
I didn't use any RCP frameworks like Eclipse or NetBeans. I just used JBuilder. I like very much DataExpress and dbSwing features of JBuilder. They make database applications very easy to develop if you don't mind object oriented design principles.
My wish from Spring RCP is easy data binding between visual widgets, business objects and database persistence without having to sacrifice from object oriented design principles.
<quote>
It's a projet associated to the JUG of Recife, PE - BRAZIL, called RecJug. Using a IDE to build you GUI isn't that easy. It may cost you money(licence) and time(training). FastSwing is a framework that looks for developting standard frames and fields that will be reused during new applications development.
</quote>
Hi
My small wishlist is to let user configure the action shortcuts like ALT F for filemenu etc conviniently and quickly. One way of doing this is in Eclipse is to go the View configuration management and then find your action under deep and vast hierarchy of the commands and then change the shorcut. It is not what I think convinient at all. The least you can say is yes it is possible to do it.
Why not let the users modify or add a shortcut where they see the command i.e. in the Menu only. The way I use it in my framework is as under.
If I want to add or change teh shortcut of the menu item to say x
Step 1 Click MenuItem I need to modify the shortcut for.
Step 1a DO NOT RELEASE THE MOUSE BUTTON.
Step 2 Press the key of the new shortcut 'X'
Step 3 RELEASE THE MOUSE BUTTON now
Now you have the new shortcut in place.
In case you need any other details or a sample Frame App I can provide that you can mail tome at tomanishchopra@yahoo.com
Thanks
I think the principle of this project is "light weight" framework which make a great success in spring. If UI tier can binding with database, I think it is the most heavy framework.
<quote>My wish from Spring RCP is easy data binding between visual widgets, business objects and database persistence without having to sacrifice from object oriented design principles.
</quote>
I would like to mention 3 things to pay attention too :
Rodolfo.