RE: Trolling with Java Web Frameworks
Fred Daoud has an excellent post titled Trolling with Java Web Frameworks. Well written Fred!
The Angular Mini-Book is a
guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and
deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.
Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.
For book updates, follow @angular_book on Twitter.
The JHipster Mini-Book is a
guide to getting started with hip technologies today: Angular, Bootstrap, and Spring
Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.
This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.
For book updates, follow @jhipster-book on Twitter.
Fred Daoud has an excellent post titled Trolling with Java Web Frameworks. Well written Fred!
I'm pumped that Gmail finally added IMAP support. I've been waiting for this feature ever since I started using Gmail. Thanks Google! Now I can reply to starred e-mail on a plane and use tools like Apple's Mail to compose/read my e-mail. When I hooked it up yesterday, it took 6 hours to download the 23000+ messages I have stored on Gmail. I don't know if Mail will handle the volume very well, but with Leopard arriving tomorrow, hopefully Mail will be improved.
It should be a fun weekend installing Leopard. With two MacBook Pros (one from LinkedIn), I can test on one before I upgrade both. Of course, the best part of the weekend won't be technology - there's an Alumni softball game for my fraternity, a Halloween Party and several Rockies games to watch. You all know that weekends where you don't get on your computer are the best, right?!
This morning, I woke up early and attended Dion Almaer's talk on Google Gears. Dion works at Google in the Developer API group and is a member of the Google Gears development team. This presentation is called How to take your Web Application offline with Google Gears.
Dion starts with a video that Google Developers made. It's a parody of Dick in a Box, but it's called API in a Box. This was by far my favorite part of the presentation and it all went downhill from there.
Gears is a browser plugin that adds a database and a JavaScript API that allows applications to "go offline" and use these resources to store data. It does not do anything to handle synchronization of data back to the online database.
Gears has three modules as part of its API: LocalServer, Database and Workerpool.
The Database is embedded using SQLite. Google contributed Full Text Search to it and the entire database is 250K. Below is an example of how you might use the API:
var db = google.gears.factory.create("beta.database", "1.0"); db.open("database-demo"); db.execute("create table if not exists ..."); ... var rs = db.execute("select * from Demo order by Timestamp desc"); while (rs.isValidRolw()) { var name = fs.field(|); ... }
During the rest of the talk, I tuned in and out, but caught a number of interesting tidbits:
content = hasGears() ? new GearsBaseContent() : new CookieBaseContent();
Dion ended by talking about how Adobe Air is great for desktop-like applications that you can easily build with Ajax technologies. Silverlight is impressive, but only for media applications - you have to draw components yourself. Java Applets may make a comeback. The browser plugin has been rewritten to be fast as well as have full support for Java Web Start. It's possible that Gears + the Java Plugin can make it possible to use Java technologies (i.e. Hibernate or JPA) to talk to the browser's database. Firefox and WebKit are adding database components to their next major releases - so offline applications should become even easier to develop in the future.
Overall, this was a great talk - largely because Dion is a great speaker and made it fun and interesting.
After Dion's talk, I delivered my Web Framework talk and had some lunch while trying to get Rockies tickets (no luck). After lunch, I attended Bill Dudney's Comparing Spring & Guice talk. I learned some things about Guice I didn't know and enjoyed his comparison of the two Dependency Injection frameworks.
One question that Bill couldn't answer is how Spring 2.5's annotation support stacks up against Guice. Is it as full-featured as Guice? Does it add additional features and keep up with Guice for performance? What about wiring up objects without annotations - does it allow you to autowire your classes based on naming patterns without annotations in your code? What I'm hoping for is a DI framework that allows me to autowire classes using rules/conventions rather than annotations. I'm fine with using annotations for edge-cases, but it seems like a lot of the DI I do these days could be configured up-front and used for the entire application (rather than having to wire up each class).
Overall, it was a great day at the Colorado Software Summit.
This morning I delivered my Choosing a JVM Web Framework presentation at the Colorado Software Summit. One of my goals for the talk was to get more audience participation and stories of how folks thought it best to choose a web framework. The room was packed and the crowd was interested, so we barely even used the slides I prepared. One of the most interesting things about the audience was that over 60% (of 50-60 people) were using Struts 1. Most of them came to learn about frameworks they might think about migrating too. Unfortunately, I didn't talk a whole lot about the frameworks and their features, but a few members had advice concerning frameworks *not* to use based on their experiences. Overall, it was a lot of fun to interact so much with the audience and hear their thoughts on web development for the Java Platform.
You can download a PDF version of my presentation from my presentations page. Thanks to all the folks who responded to my Stories Wanted post - I used many of these comments as part of the "Case Studies" in the presentation.
Earlier today, I delivered my talk on Apache Roller, Acegi Security and Single Sign-on. As part of this talk, I put together a couple of tutorials you might find useful:
NOTE: These tutorials are using Roller's trunk as we found some things to simplify LDAP integration tonight.
You can download a PDF version of my presentation from my publications page.
During the presentation I did a number of demos:
Rather than saving the demo for the end, I did it as the first part of my presentation. This worked extremely well - especially since I didn't have to worry about running out of time.
If you're using Roller, have you integrated it with LDAP or another SSO solution? If so, is it working well for you?
This has to be cutest picture I've ever captured. It's hard to believe she's going to be 5 next month.
It usually snows in September in Denver. This year, it waited until today. It was awesome to wake up this morning and see the white stuff coming down. Bring on Ski Season - I'm ready!
Bill mentions that A-Basin is open. If you're going to this year's Colorado Software Summit (starts today), you may want to bring your skis. Then again, who wants to ski greens?
Today marks the beginning of a long-awaited trip to the East Coast. Way back in March, I negotiated a deal with a company in Danbury, CT to teach my Open Source Java Jewels training course. I was supposed to deliver it in May, but that got changed because of their 45-day Vendor Approval Process. It was rescheduled for August. August came and it got moved again because so many people were on vacation. It was rescheduled for October and I'll be delivering it next week.
I'm teaching 2 courses: one for 16 managers Monday - Tuesday and one for 21 developers Wednesday - Friday. Yeah, I know that's way too many students, but I think I can handle it. I warned the company it wasn't a good idea to have that many students, but they wanted to pack them all in anyway. Oh well.
The best part about this trip is I'm doing something I've wanted to do for a long time. I'm taking the kids with me! The rest of my family is coming too - my parents will be on our 2nd flight today and my sister flies in Monday. My dad grew up in Beacon, NY - only 45 minutes from Danbury. Since his brother and sister still live there (as well as many cousins) it should be a fun week of family and crazy kids in a hotel room. With any luck, we'll get to see some fall colors and create some great memories.
If you live in the Bay Area and you're interested in talking with the inventors of Maven and/or XWiki, you should checkout the XWiki + Maven meetup at Terracotta's HQ. Java Open Source gurus Vincent Massol and Jason van Zyl will be there - sounds like a fun event!