The Codist - Programmerthink

The Open Source Frameworks I Use

Posted: 07/23/2007, Perm Link Readers: 12446


Everyone uses open source these days (well, I hope they do). These are the libraries I use regularly on projects when I can. Some are popular; others more obscure. All of these work well for me. Most of these are used in my web framework and this blog software.

Jetty - my servlet container of choice for many years.

DWR - for Ajax connectivity this is the easiest framework to work with.

Commons HTTPClient - for making calls to web servers from inside your web application.

Jakarta Commons - not all frameworks in commons are equally as useful, but this is the first place to go to find something

FastUtil - when you need fast primitive collections, this can't be beat.

Javolution - faster collections than the JDK with more options.

Jodatime - if you do date and time calculations, there is no option, you must use this. There is a JSR now to include this into a future JDK to replace/supplant the terrible JDK time and date classes.

H2 Database - my favorite Java database, it's fast, well supported by the author, and constantly being updated.

iBatis - easier to work with than Hibernate when you really need to use the power of SQL.

Logback - the next generation of logging by the author of log4j and Slf4J which is a new logging facade.

Rome - you can generate RSS feeds yourself but this is still useful.

StringTemplate - the author of the famous ANTLR parser generator also has a nice template framework. I've used it on and off for quite a while. It's a bit like Velocity but far more powerful and with less side-effects.

JDOM - for manual parsing of known XML, as well as generating known XML, it's the best framework for working with existing XML formats.

Xstream - very fast XML serializer, I always use this to store and load XML content created from my own objects.

Stax - I always use stax when embedding stuff into xml or xhtml (such as a web framework).

I use other things too, but these are very basic to what I do. It's amazing what you can get for free these days.

If you have a blog, go ahead and list your favorites as well in a post. It would be useful to see what everyone else uses.

haluk 07/24/2007 06:34

Finding out which of the more or less known Open source tools are the tried & tested production quality ones is an extremely useful information. Much appreciated.

florin 07/24/2007 06:56

Nice list, I am using most of the frameworks you enumerated. But what about MVC frameworks? I recommend JPublish (http://code.google.com/p/jpublish/) for web development ;)

Cheers,

jose 07/24/2007 08:37

And what about Spring..?

Cédrik 07/24/2007 09:07

Admitidly preaching my own project here :-) , but I couldn't live without MessAdmin (http://messadmin.sourceforge.net), either during development or in production.

rondeth 07/24/2007 09:24

Nice list!

When I'm digging for an existing solution to a problem I'm facing, I check a handful of sites. Some we're all familiar with...the ones I include below are ones you may or may not know of. Cheers!

http://java-source.net/

http://www.ohloh.net/

http://www.onjava.com/pub/q/javaosdirectory

codist 07/24/2007 10:11

I wrote my own web framework (Fiche) which is why there isn't one on this list.

Dennis 07/24/2007 12:04

ehcache has provided to be very useful and reliable in middle tier environments

http://ehcache.sourceforge.net/

Vincent 07/24/2007 13:15

I add more:

Enterprise Open Source Directory

http://www.eosdirectory.com/

Fungrim 07/24/2007 13:47

Here: http://fungrim.wordpress.com/2007/07/24/re-the-open-source-frameworks-i-use/

raveman 07/24/2007 14:31

im always in shock when people use some unknown web framework, why do you use Xstream ? is java xml serialization really is that slow ?

Ronald 07/24/2007 14:49

Hi, great list, some new things for me.

Only I like XOM better than JDom for XML, because I think it is easier to use, faster, and very straightforward. You should give it a testrun. http://www.xom.nu

Kind Regards

codist 07/24/2007 16:52

xstream is much faster and less verbose than the built in serialization. It's worth using.

Shevken 07/24/2007 22:13

xstream rocks for marshalling/unmarshallung objects to xml too

String xml = xstream.toXML(yourClass);

raveman 07/25/2007 00:28

i have to admit that xstream really looks cool now that i took a look at it :)

Tahir Akram 07/25/2007 03:25

Thanks for sharing this info, some framewoks you are using new to me, I will study about Jetty, XStream and H2db.

Here is my list:

http://itoday.wordpress.com/2007/07/25/the-open-source-frameworks-i-use/

Brian 07/25/2007 09:07

Change the title of this to "The Open Source Java Frameworks I Use" -- not everyone uses Java.

Marc 07/26/2007 22:15

Everyone doesn't use Java?! Since when!?

Shams Mahmood 07/27/2007 09:05

The one thing missing here that I certainly would have in my list is Wicket.

It i a really cool framework to build web applications. It allows you to think in an Object oriented manner to create components and panels to build your application.

Another additional advantage is your javacode and html are completely separate files only linked via wicket:id attributes in your html tags.

I think everyone should give it a try, I have really enjoyed using wicket over the last year or so. It also has excellent support for ajax builtin.

Shams

Infernoz 07/28/2007 16:30

Xstream looks OK if your XML is private and is never likely to change and you don't mind the (assumed) refection costs, however this is rare in real life.

I far prefer Castor (also on The Codehaus) because I can use it with XSD to generate the decorate beans for me, with backwards compatibility with old XML layouts.

Tom 08/08/2007 09:54

Codist, I'm interested in your development environment. What do you use?

codist 08/08/2007 14:50
Maarten 01/10/2008 12:56

Nice list.

If you add Spring it would match for 95% with what I would use on a new project.