I want to take on a project to teach myself Java. I've been reading on Java for years and have done simple programming. The app I want to develop will be a full GUI driven app to include that side of Java as opposed to pure command line.
Does it make more sense to get a program running command line and add the GUI at the end or to develop the entire program together?
It seems simple when considering writing one class and function for a program and adding a GUI component to control that functionality with listeners etc. When the whole program comes together, it seems like there's extra stuff in a command line that isn't needed.
For instance, I'm thinking about the feedback and interface that would be written for menus in a command line prog. Since those options would be displayed in a GUI, it would seem wasteful to spend time writing those pieces.
With a Model View Controller design (or other suitable layered design) you can develop the guts of a program from the command line, or better yet driven by JUnit tests. Then hooking up the GUI later can be a simple thing. You probably need a pretty good awareness of what the GUI will do and need in the way of model services. Some early sketches would not be out of line but building the GUI first is definitely not necessary.
Have you bumped into MVC or JUnit before? If not, ask about MVC in the OO, UML, etc. forum and JUnit in the testing forum. Or right here in beginner if you're more comfortable.
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi