Main Content

Mobile Web and JSF
Plain Old HTML5
Server Side

Mobile Web

Plain Old HTML5 (POH5)
RichFaces and JavaServer Faces

Aerogear News

The AeroGear Mobile & HTML5 Project Is Alive!!

I’m very happy to announce the creation of AeroGear, the newest project at JBoss! The AeroGear project is all about making mobile development of all kinds as easy as possible with JBoss! This project is focused on three things; education, innovation, and community!

Education

We’ll be covering all aspects of mobile application development! This includes the latest HTML5 technologies used in the mobile web, and in hybrid application frameworks like the Apache Cordova. All the way to JBoss AS based services, mobile RichFaces/JSF2, tooling, and native application support, and prototyping.

To wet your whistle we’ve put together a 5 minute video to show you how easy it is to get from zero to a mobile web application with cloud hosted services on JBoss.

Just in case you missed it at the end, the link to the live hosted demo on Openshift is at http://poh5-aerogear.rhcloud.com .

Assuming that got your interests up, we go a lot deeper. Our step by step guide on building this HTML5 mobile application yourself, including where to fork it on github is available right on our wiki page. There are also guides detailing the specifics on single page applications, HTML5 updates, CSS3, jQuery Mobile, RESTful endpoints, and more here.

Innovation

Our initial focus is on providing excellent examples, tutorials, and techniques for enterprise mobile developers. These will cover mobile web, hybrid, and native applications approaches for working with JBoss and other 3rd party projects. For all you polyglot lovers out there, we’re not limiting ourselves just to Java either, we’ll have pure HTML, and JavaScript demos, TorqueBox and Ruby will make an appearance, and we’ll be looking at other approaches as well.

However, at the same time we'll be developing new mobile[native, hybrid, and web] based frameworks for solving real concerns of enterprise developers. The most immediate of these include offline data synchronization, security, container integration, and support across a broad range of devices.

We’re currently designing and discussing some of these solutions, and want your input! Head over to the AeroGear Developer space for more. We plan on moving pretty fast here and hope to have some real world prototypes up and running soon.

Community

Whether you are a long time Java EE developer looking to migrate existing applications to mobile clients, or client developers looking for a powerful back-end for your applications this is where you can learn more about both, and become part of the community building it!!

We’ve got team meetings on IRC at #aerogear @ irc.freenode.net, user, and developer forums, all of our code is up on github for sharing, and we’re always looking for motivated developers to step up and join the team! We’ll be speaking at up coming conferences and JUGs around the world, as well as having regular blogs, webinars, and screencasts! Watch this space and our forums for the latest.

Success comes with a strong community, and everyone getting involved however they can! Bring your questions, and opinions, and let's hear from you!!

[AeroGear Project] [GitHub] [Twitter] [User Forums] [Dev Forums]

The Real-Time Web with AS7, CDI, WebSockets and Jetty?

Here's the hotness. As you can see on the right, I have 2 chat windows open and on the left we have a member registration. Users are chatting across a raw WebSocket connection and when another user registers, the CDI event is fired all the way through to the browser as a JavaScript alert via the connected WebSocket clients. And did I mention this is all on AS7? ohh yeah, that's right...


With WebSockets, we have a new development model for server side applications; event based programming. There are 3 out-of-box events associated with WebSockets: onopen, onmessage, and onclose. For starters, we must wire up these three ... continue reading on my kick ass awestruct blog...

Atlanta JBUG's First Meetup

The Atlanta JBoss User Group kicked off with a much greater than expected turnout. Developers from the Atlanta area poured in to learn the latest in JBoss technologies.

 

Thanks to Shadow Soft for providing a place to meet and refreshments (not to mention volunteering to lead the group)! Overall we had a good time and I'm looking forward to next month. Want to speak? ping us on twitter @wesleyhales or @shadowsoftnews

 

image_1.jpeg

 

 

Check out the talk here:

 

In this, the very first, meetup of the Atlanta JBoss User Group, Wesley Hales reviews the current landscape of HTML5 and the mobile web.

He shows attendees how to setup a POH5 (HTML5+RESTful) mobile web app and how to deploy apps to openshift using the newly available (M5) features in JBoss Tools.

 

 

Apologies for the chopped up video.. the camera would automatically turn off after a certain amount of time.

Converting Existing Web Apps for Mobile

I thought I'd explain why I wrote a (very simple) DOM framework to handle RichFaces mobile compatibility - and why we didn't use jQuery Mobile, or any of the other mobile web frameworks. The RichFaces Mobile Showcase was recently modified to give users a way to run their existing JSF based applications on mobile browsers. So this is the typical case of converting an existing application for the mobile web...

 

To get an idea of our existing web app, the RichFaces Mobile Showcase receives around 50,000 visits on a monthly basis, so this is a well reviewed application and it is a constant reference point for any JSF developer.

Screen Shot 2011-11-28 at 2.59.58 PM.PNG

 

I think jQuery (or any other DOM framework for that matter) has its place and there are times when it makes sense to use it. But when doing mobile development, jQuery is not the answer. Its main strengths are for desktop based browsers and inconsistencies between older ones. If you look at the jQuery source, you will see all the hacks and workarounds that are performed when checking for each browser and features therein. And even though the IE6 specific jQuery code doesn't actually run on a mobile browser, you are still carrying this bloat around with you.

 

Bottom line: jQuery is not a framework created for mobile environments - just like JSF, it was created for desktop environments.

 

Brian LeRoux of PhoneGap fame, explains this in the first couple of minutes here:

http://mobile.minutewith.com/pages/20110126

 

To truly get an optimized mobile web application - which runs as close to the metal as possible, you should understand and work with the core DOM APIs to get the best performance on a per app basis. Of course, there were other issues to deal with as JSF rewrites the markup and doesn't allow the data-* passthrough attributes, so that just fueled the fire to roll our own approach.

 

Today, jQuery minified is sitting at 94KB and if you couple that with jQuery Mobile at 82KB, you have 172KB for your user to download.

 

If you try to roll your own for your specific project needs, as we did with the RichFaces Mobile Showcase, you could end up with:

rf-mobile.css 5KB

slidfast.css 1.5KB

slidfast.js 1.6KB

A whopping total of a little over 8KB! (after minification). This little home grown framework is not perfect by any means, and I'm not begging you to include it in your project. All I'm saying is that it gets the job done and works for our target browsers.

 

If you take it a step further and focus on today's modern browsers which use features such as document.querySelectorAll() instead of document.getElementByID() and completely remove the desire to care about compatibility issues with older browsers, then the performace would be even better.

 

It all comes down to performance vs. ease of development, and in this case, I chose both . I'm not saying one way is better than the other and I think all the folks writing these frameworks are doing a great job. As Brian mentioned in his podcast, I just like to mess with my co workers and make fun of jQuery It always gets a heated conversation going...

October 27th HTML5 Meetup in Atlanta

atlhtml5.jpgTomorrow, Thursday October 27th, Patrick Brandt and Kevin Smith will be giving a talk on augmented reality (AR) and the Argon project.

Argon is the completely open standards augmented reality browser that allows rapid development and deployment of Web 2.0 style augmented reality content.

 

Best of all, we have some killer sponsorship this month with Anteo Group who will be providing BEER! and gourmet sandwiches from Jimmy Johns.

So if you are in ATL, head over and RSVP on the Atlanta HTML5 meetup page . We are depending on the head count here for refreshments ordering so it will be a strict meetup in regards to food/beer - I will be the bouncer and beer guard

 

Also, many thanks to our sponsors from last month, the Atlanta Java User Group and The Creative Group!

View more aerogear news
         

5 Minutes to Mobile

Follow Aerogear on Twitter

Get Some Cool Stuff

Swag | Desktop wallpaper

Supported In: