HTML5 has extremely powerful features and API's.
A lot of developers the world over are developing very compelling apps using some of these capabilities.
However, the main power comes from using these capabilities together in a synergistic way.
The power of client side database, offline, real-time and peer-to-peer capabilities combined with scalable vector and 3D graphics allows us to create compelling user experiences.
The recent crop of MVC frameworks allows us to develop code that is maintainable and testable both on the client as well as the server.
If you combine this HTML5 magnificence with the power and scalability of the cloud (PaaS) you indeed have a revolution at your hands.
A new software development stack is emerging, which has made JavaScript a full stack language:
- AngularJS Framework for MVC Architecture.
- D3.js for Scalable Vector Graphics and Data Visualization.
- Three.js for 3D Graphics.
- Socket.IO and WebRTC for real-time communication.
- PouchDB for client data management.
- Node.js build scalable network (especially server-side) and cloud applications.
- MongoDB for scalable data management.
The HTML5 Showcase is a demonstration for developers of how to use these features seamlessly.
Platforms it can run on:
- Web App on any Modern Browser
- Windows 8.1 Store App
- Chrome Desktop App
- Android and iOS App using PhoneGap (WebGL and WebRTC not supported yet)
Run it on your browser: http://html5-showcase.azurewebsites.net/
For those who want to learn I suggest the following resources:
- HTML5 for Masterminds, 2nd Edition: How to take advantage of HTML5 to create amazing websites and revolutionary applications
- AngularJS
- Interactive Data Visualization for the Web
- WebGL: Up and Running
- Interactive 3D Graphics
- Learning Node
- MongoDB: The Definitive Guide
- [JavaScript Testing with Jasmine: JavaScript Behavior-Driven Development] (http://www.amazon.com/JavaScript-Testing-Jasmine-Behavior-Driven-Development/dp/1449356370/ref=sr_1_1?ie=UTF8&qid=1380272808&sr=8-1&keywords=jasmine+javascript)
There is tremendous interest in these technologies. I have been teaching them in universities, even in a auditorium with a capacity of 350, students are willing to sit on the floor to learn. We announced free classes for these technologies on the social media and over 1,000 students showed up to take the admission tests. Developers and students all over world love these technologies. Soon we are planning to start these courses on a global scale (technology under development). The idea is to teach the under-privileged youth of the world and make them productive citizens.
You can follow my activities on my profile or on facebook.
Note: I have not used RequireJS in this project because I am also using it as a teaching tool in my classes. My experience is that RequireJS makes it difficult for the students to follow and play with the code.