Jeff’s follow up answers for Thursday’s Web Entrepreneurs meetup was good idea, so I’d thought I lay out some of my answers from a Java perspective. I think Jeff is spot on when he talks about how someone should choose a web framework for their business – rely on your technology team to chose the right one. There isn’t one great framework out there that, by itself, will give you any significant business advantage (however, having a great technology team with a framework that’s right for them will).
What kind of websites is your technology best suited for? Which is it not so well suited for?
Java is best suited for enterprise-level websites, which includes websites that are highly transactional and requires integration to legacy systems or multiple data sources. That isn’t to say that you can’t built small websites with it (although its rather uncommon). One of Java’s advantages to building a website is that there is a Java library for just about everything you can ever imagine doing on a website, and a you’ll find that a good number of them are free.
I don’t think that there’s any kind of websites Java is not well suited for (hold on… let me finish), but I do think there are other web frameworks that are much better suited for simple, database-driven websites. The reason is that Java is traditionally used to serve a diverse set of enterprise needs, its can be very cumbersome to setup and maintain, as there are lots of pieces to put together and configuration that has to take place.
What famous web2.0 sites are using your technology?
This was a tricky one. The only one I found was Zillow. eBay is another website that uses Java, and has web2.0-ish features.
What does it cost to use your technology (e.g. hardware, software and support)?
The Java platform is (just recently) open source and free. There are production-ready, free versions of server software as well as commercial versions if you need support. As for people cost, the Java talent pool is probably the largest of any of the other technologies, especially in Atlanta. Having said that, traditional Java setups can run you quite a bit of money, and you would be competing with enterprises for top Java talent. There is also more overhead when dealing with Java as oppose to more streamlined alternatives like the other technologies.
How steep is the learning curve for newcomers?
In retrospect, and after some discussion with the panelists, I’ll concede that Java has a steeper learning curve than many of the other platforms on the panel, especially when you include the server setup, configuration and other aspects of putting together a Java website.
How easy have you found it to find skilled people? How about in Atlanta?
Since Atlanta is the home of so many large enterprises, the demand for Java talent (as shown here) is great, therefore there is large pool of Java talent of varying skill ranges to pull from. Of course, the demand also means that the best Java talents get top dollar salaries.
How much support is there for your technology? Who have you found to be reliable?
Support is great for Java – you have options that are free (in forums, blogs), as well as commercial server products with support. Also, you’ll often find that you can buy support for a good number of open sourced Java products.What issues (if any) did you encounter being an evangelist for your technology in your organization? How did you overcome them?
Since Java is often considered a standard in the enterprise, I’ve never had a problem evangelizing Java in organizations.
What add-ons, plug-ins, tools, etc. would you recommend using?
With the recent popularity of Ruby on Rails, there’s been many efforts in the Java community in adopting the parts of that framework into Java. Here are a couple of those frameworks.
What are some sites you’d recommend?
- Javadocs: http://java.sun.com/javase/6/docs/api/
- Java.Net: http://www.java.net/
- Java Ranch: http://www.javaranch.com/
During the Q&A session, Alan asked which language I felt learning would make a better programmer. My answer was Ruby, and in fact, while I do work on Java during the day, I work with Ruby on Rails on nights and weekends. IMO, the speed of development trumps all other concerns during the early stages of the game. And while performance concerns with RoR are valid ones, having to scale is usually a good problem to have, and I’m confident on my ability to work them out.