Comparing Web Frameworks and HTML5 with Play Scala at Jfokus 2012
Stockholm seems a lot like Denver this time of year. Cold, snowy and beautiful. Trish and I arrived in Stockholm (Sweden) on Monday for the Jfokus conference and we're traveling to Madrid today for the Spring I/O conference. I was invited to Jfokus within minutes of delivering my HTML5 with Play Scala talk at Devoxx.
Both the Jfokus and Spring I/O Organizers were interested in my Comparing JVM Web Frameworks talk, so I updated it to reflect my latest thoughts. First of all, I mentioned that there's a lot of great frameworks out there and I think the reason people are so apprehensive to choose one is because they've chosen badly at one point. This might've been Struts back in the day (even thought it was one of the best frameworks at the time) or it might be because a vendor talked them into it. However, if you look at the modern JVM frameworks today, you should be able to see that they're all pretty awesome.
I mentioned how I think Web developers should know JavaScript and CSS. If you're a Java developer and you call yourself a web developer, you're letting your framework do too much of the work for you. I mentioned Rich Manalang's Modern Principles in Web Development, where he talks about his core web development principles.
- Designing for mobile first (even if you’re not building a mobile app)
- Build only single page apps
- Create and use your own REST API
- “Sex sells” applies to web apps
I've found these principles to be true in my own experience and suggested that if you want to be a web developer, the frameworks you might want to learn are not traditional JVM web frameworks, but rather client-side MVC frameworks. For those Java developers that don't want to be web developers, I suggest they strengthen their services development knowledge by reading Hot to GET a Cup of Coffee.
You can see my updated presentation below, on Slideshare or as a downloadable PDF. You can also watch the video.
I delivered my 2nd presentation on HTML5 with Play Scala, CoffeeScript and Jade on Wednesday morning. This talk is one of my favorites and I prepared for it over the last several weeks by adding JSON CRUD Services and SecureSocial to my HTML5 Fitness Tracking application. Right before we left for Jfokus, I was able to get everything to work, but didn't spend as much time as I'd like working on the mobile client. If this talk gets accepted for Devoxx France, I plan on spending most of my time enhancing the mobile client. After my latest experience developing, I can see how Rich's first principle (above) makes a lot of sense.
Below is my presentation for this talk. Of course, it's on Slideshare and downloadable as a PDF.
I also updated the Developing Play More demo video to show my latest efforts.
Delivering these talks at Jfokus was a lot of fun. Yes, it was a lot of work and stress to prepare them. However, I also learned a lot creating them and I hope the audience benefitted from that.
The conference itself was incredible. I got to meet Peter Hilton and Helena Hjertén as I was registering. The speaker's dinner at F12 was off-the-hook good and I had the pleasure of finally meeting Rickard Öberg.
I also attended some fantastic presentations, including Peter Hilton's Play Framework 2.0, Bodil Stokke's CoffeeScript: JavaScript without the Fail, Pamela Fox's Client-side Storage and Heiko Seeberger's Scala in Action. I don't know if Heiko has published any slides, but I'm guessing not since most of his presentation was live coding.
I have lots of good memories from Jfokus. Many thanks to Mattias for inviting me!
Posted by Shahzeb on February 17, 2012 at 12:46 PM MST #
Hey Matt! great presentations - saw both and loved 'em!
Did you share the comparison matrix for the webframeworks anywhere as an excel or something similar?
Shahzeb: hey, about video recording I suspect it will be available on Parleys later, as the Parleys guys where there to record the whole thing.
Posted by Reynir Hubner on February 17, 2012 at 02:31 PM MST #
Posted by Reynir Hubner on February 17, 2012 at 02:31 PM MST #
As someone moving from the .NET server side / system programming space into Scala and more vertical web development, thngs like this are really helpful. Keep up the good work!
I think the most interesting thing Play! has taught me to date has been the utility of "convention over configuration." Of course, I've known of it as a concept, but encountering it as it is so excellently implemented in Play! was something of a life-changing experience.
Posted by TechNeilogy on February 18, 2012 at 10:22 AM MST #
I checked several of your presentations on web frameworks on slideshare, and was wondering how PrimeFaces would stand in comparison to the pack?
Having developed web apps looong time ago, I wanted to get an overview of current landscape and while looking at different web framework options I found PrimeFaces to be quite highly rated on http://devrate.com
Even though it is JSF framework maybe it adds some valuable features? Just a hint for next iterations...
Posted by Dominik Miodunka on October 06, 2012 at 10:53 AM MDT #