-
Enhancement
-
Resolution: Unresolved
-
P5
-
None
-
1.4.2
-
Fix Understood
-
x86
-
windows_xp
Name: jk109818 Date: 08/19/2003
A DESCRIPTION OF THE REQUEST :
With everyone being so terminately sure that MVC is the coolest thing ever it is hard to make this claim, but I'll try anyway:
MVC (in Swing) is way over the head of any Java beginner. It is unnecessarily complicated and lack of simplified wrapper APIs for the common cases require the user to understand MVC and its actual implementations and variations in Swing.
This considerably raises the barrier for programming in Java. Something simple as implementing a JTable from which one needs to add, remove, adjust rows becomes a major obstacle. (I know this is hard to understand for advanced developers, I see how hard it is to make people see how unnecessarily difficult several Java APIs are on a daily basis in my Java IRC channel.)
There is a way out of this situation though: Provide easy to use wrappers that provide access to all functionality a simple application developer typically requires.
JUSTIFICATION :
It should not be necessary to understand MVC nor to write TableModels and the like to write a little UI featuring a JTable.
Lack of ease of use of standard Java APIs is one of the major problems of Java today.
Look at the competition, see how Realbasic for example implements a Table UI component. Granted, it is less flexible, but at least it is easy to program for the typical cases.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Keep Swing the way it is, but provide additional wrappers APIs, for example a CommonJTable class that allows everything typically needed in simple programs, like adding rows, removing rows, sorting by columns descending/ascending, hiding columns, unhiding columns, etc. Don't require the application developer to know anything about MVC or what a table modell is.
Another good example where a wrapper is badly required is the JavaMail API. Sending and receiving email via SMTP and POP3 should be as easy as possible. The user should only be required to use a handful of methods. Currently he is required to learn the whole of the JavaMail API with all it's classes, tons of methods, activation framework and what-not-else. All this is not required for the common cases though, I believe.
CUSTOMER SUBMITTED WORKAROUND :
Writing wrappers to simplify Java API usage yourself - this is impossible for the beginner and a considerable effort even for the more experienced application developer.
(Incident Review ID: 192833)
======================================================================
A DESCRIPTION OF THE REQUEST :
With everyone being so terminately sure that MVC is the coolest thing ever it is hard to make this claim, but I'll try anyway:
MVC (in Swing) is way over the head of any Java beginner. It is unnecessarily complicated and lack of simplified wrapper APIs for the common cases require the user to understand MVC and its actual implementations and variations in Swing.
This considerably raises the barrier for programming in Java. Something simple as implementing a JTable from which one needs to add, remove, adjust rows becomes a major obstacle. (I know this is hard to understand for advanced developers, I see how hard it is to make people see how unnecessarily difficult several Java APIs are on a daily basis in my Java IRC channel.)
There is a way out of this situation though: Provide easy to use wrappers that provide access to all functionality a simple application developer typically requires.
JUSTIFICATION :
It should not be necessary to understand MVC nor to write TableModels and the like to write a little UI featuring a JTable.
Lack of ease of use of standard Java APIs is one of the major problems of Java today.
Look at the competition, see how Realbasic for example implements a Table UI component. Granted, it is less flexible, but at least it is easy to program for the typical cases.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Keep Swing the way it is, but provide additional wrappers APIs, for example a CommonJTable class that allows everything typically needed in simple programs, like adding rows, removing rows, sorting by columns descending/ascending, hiding columns, unhiding columns, etc. Don't require the application developer to know anything about MVC or what a table modell is.
Another good example where a wrapper is badly required is the JavaMail API. Sending and receiving email via SMTP and POP3 should be as easy as possible. The user should only be required to use a handful of methods. Currently he is required to learn the whole of the JavaMail API with all it's classes, tons of methods, activation framework and what-not-else. All this is not required for the common cases though, I believe.
CUSTOMER SUBMITTED WORKAROUND :
Writing wrappers to simplify Java API usage yourself - this is impossible for the beginner and a considerable effort even for the more experienced application developer.
(Incident Review ID: 192833)
======================================================================