Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Should I use a framework?

I know this question is vague, but I'll try to make myself clear.

I am starting a Java project involving a Swing GUI. I want to follow the MVC pattern, and could use some help from a framework to organize the project's architecture. I was thinking of using Griffon, though I suppose others might do the trick.

So, is it a good idea to use a framework in terms of:

  • Programming efficiency: Of course, it will be improved... most of the time. More precisely, what if the project is a small one? Or a large one? What if I'm already very familiar with Java and Swing? What if I'm not? What if the project has to be maintained by someone who knows nothing about the framework I used?

  • Learning value: Will I merely "learn how to use the framework", instead of learning more about Java and Swing in a different environment?

  • Professional value: Would companies prefer a developer who knows "more" frameworks (even if they might not be the ones they intend to use) to a developer who knows the "traditional" approach better?

I found little information elsewhere, which is surprising, considering how big this question is. It might seem trivial, but I'm actually wondering about it.

like image 600
Aeronth Avatar asked May 03 '13 09:05

Aeronth


1 Answers

Of course I'm biased when it comes to Griffon however I'll try to be as objective as possible:

  • Griffon is an MVC framework/platform for the JVM. It's true that the programming language of choice is Groovy, however many others can be used too, see this example from the Guide http://griffon.codehaus.org/guide/latest/guide/tips.html#nonGroovyArtifacts where it shows how a pure Java application can be written. Other options are possible if you install a specific plugin http://artifacts.griffon-framework.org/tags/plugin/polyglot
  • Griffon's philosophy is one of keeping your choices open. It's true that sometimes the framework will steer you to follow particular path however it has provides plenty of leg room, that is, you make it dance to your own tune. For example, writing Views is usually done following the Groovy SwingBuilder DSL (a subtle abstraction layer on to of Swing), but you can drop down to the Java layer and write in plain Java/Swing if you want; or pick NetBeans Matisse, Abeille Froms Designer, or any other Visual tool that supports Swing.
  • Plugins are key to Griffon's success. As you can see at http://artifacts.griffon-framework.org/category/all/plugins there are currently 211 plugins, and more are coming.

But in the end there's only one opinion that matters: yours. I'd recommend you to spend a few hours with Griffon, if you don't see the value added by it by then ... I'm afraid we'll have to work harder to make it better.

Cheers

like image 126
Andres Almiray Avatar answered Sep 20 '22 23:09

Andres Almiray