Brings the power of the desktop and the vibrancy of multimedia experience to the web—while amplifying the web’s core strengths of interactivity and connectivity
HTML + CSS3 + JavaScript
How did HTML5 effort started?
HTML5 is a cooperation between the World Wide Web Consortium (W3C) and the Web Hypertext Application Technology Working Group (WHATWG).
WHATWG was working with web forms and applications, and W3C was working with XHTML 2.0.
In 2006, they decided to cooperate and create a new version of HTML.
Timeline of Web Technologies
Major Design Goals of HTML5
New features should be based on existing and established standards
HTML, CSS, DOM, and JavaScript
Eliminate/reduce the need for external plugins (like flash)
Provide built-in markup replacing custom scripting
Support wide spectrum of computing devices
Mobile friendly
HTML5 is a set of many technologies
Why HTML5?
A few facts on Browser
Browser is becoming the application platform of choice
“browser apps” over “desktop apps”: Google apps, Gmail, Games
“browser apps” over “native mobile apps” (Mobile)
Innovations on browser has been huge
The performance of JavaScript engine increased hundred-fold
Browser only platforms
Chrome OS, Firefox OS
Fast, secure, reliable, cloud-enabled
No overhead of general-purpose OS platform
Browser-only devices
ChromeBook
Why HTML5?
Offline and Storage
Aside from letting apps retain their states and hold data without a server, offline features have the bonus of improving an app’s performance by storing data in the cache or making data persistent between user sessions and page reloading
Better user experience
HTML5 enables web apps to be more responsive, creating a user experience that rivals that of their desktop counterparts
Easier development
HTML5 simplifies your development cycle by letting you use the same technology stack across multiple platforms and devices
HTML5 technologies—JavaScript, CSS, and HTML—are easier to learn
Broad reach
HTML5 is broadly supported on all modern desktop browsers and major mobile devices. No other technology can offer the same ubiquity
Security
Native support in browsers for multimedia and other capabilities reduces the need for plugins, some of which have introduced vulnerabilities to the browser
Lower cost and easier maintenance
HTML5-enabled web applications are cheaper to run across multiple platforms, they’re easier to maintain, and they make specific devices irrelevant. All these features not only lower costs, but also improve productivity.
HTML5 Adoption: Everyone is on it!
“The world is moving to HTML5”
Steve Jobs (Apple)
"The world is pushing down HTML 5 path and so are we."
Steve Ballmer (Microsoft)
“The web has not seen this level of transformation, this level of acceleration, in the past 10 years... we're betting big on HTML5”
Presentation (view generation) is done at the client
HTML5-enabled Rich Client Architecture
All presentation handling is done on the client
HTML5 semantics, JavaScript, CSS
All conversational state (also known as view or presentation state) is kept on the client
The server is stateless from the perspective of requests
HTML5 offline technologies
The client is responsible for fetching the data from the server and insert it into the presentation and extracting data from the presentation to send to the server
HTML5 Web sockets, XHR2
REST
Improved Performance
Performance aspects includes
server load
bandwidth use
latency
The server load & bandwidth use is reduced - No time spent on server-side page generation and then transport it to the client
The user response time is improved – the client is more responsive to user interactions
Scalability
Moving the presentation to the client also moves all the conversational state to the client.
This leverages the processing power of the clients.
It distributes the per-client session memory and processing requirements inherent in server side architectures to all the clients.
Transferring less data and not doing presentation generation should free up the server for handling more clients.
It should be easier to additional servers
No (or less) server state needs to be replicated
Reduced Complexity
The main reason complexity is reduced is because control of the UI is in one place rather than split between client in server
The server is no longer micro managing the client by remote control.
UI events stay on the client.
Also the framework code that supports the application presentation layer can be implemented in one language (JavaScript) rather than for example JavaScript on the client and Java on the server.
Improved User Experience
More responsive to user actions
Offline usage of the application is possible
It is possible since the UI handling is performed on the client
Is HTML5-enabled Rich Client Architecture Ready?
Absolutely!
HTML5 is now pervasive
Highly popular JavaScript libraries – jQuery
Emergence of client JavaScript MV* frameworks – Angular.js, Backbone.js
JavaScript template – Mustache.js
JavaScript engine is quite powerful now, thus can handle work load on client (and on the server)
REST
So How Can I Get Started?
Things a Developer need to learn
Frontend
JavaScript, CoffeeScript
HTML5 APIs (we learned today)
jQuery
Mustache.js
JavaScript MVC framework (AngularJS)
Backend
Building RESTful services
Use HTML5 friendly frameworks – NodeJS, Play, Grails, (Rails)
Tool
NetBeans 7.3+ now supports HTML5 app development
HTML5 Course from JPassion.com :-)
http://jpassion.com
We cover pretty much everything HTML5 in hands-on style
I have attended the 5-day Java Programming code camp and it has been very helpful. The course content is very detailed including lot of examples and homework for each topic. Sang is very knowledgeable, also very patient in making sure everyone understands the content covered. He goes well and beyond the expectations. After taking the course, I feel confident now to take the Oracle Java Programmer certification exam. I am looking forward for 'Advanced Java Programming' code camp in future. I would definitely recommend jpassion to anyone.
Maheswar V
I am participated in the Java Programming - Learn Java for the first time (beginners) Code Camp and I have to mention that it is very well organized, contains very interesting exercises and home-works, and the way in which Mr. Sang explains everything is very great and effective specially by having the possibility to ask any question do you want. I am very eager to attend another Code Camps and also to read and learn from all these great materials. I am suggesting this website for everyone, beginners can consider it as an effective station to start from, and the experienced people can use it to review and refresh their knowledge..
Wahi N.
Java Live code camp was really an amazing experience. Instructor is there to answer you questions, it is something not to be missed at any cost, especially the way it has gone through is marvelous.
Chan
If you want to understand Java thoroughly, take this course. Clear explanations and lots of meaningful examples.
Vonnie K.
This is the best resource for learning Java programming. The material is thorough and well-detailed, yet concise. The Web Services and SOA Programming bootcamp was a huge springboard in my career as a middleware developer and in my personal persuits in Java development.
J. C., Middleware/Java Developer, Deloitte Consulting
I had attended the 4 day training program on Java. The course agenda was clear and the presentations were easy to understand even for a novice in programming. Concepts were clearly explained with adequate hands on exercises. Above all as the name suggests "jpassion",Sang Shin teaches with so much passion, even if we could imbibe a quarter of it, we would be good programmers. Looking forward for many more.
Rajesh.V
Bangalore
This was a superb class, fully stocked with examples and a good selection of source code explanation. High recommended.
Joel Kass
Thank you for the wonderful class. You explained everything in detail and was very easy to understand.
Karthika Mani
Thank you! Though the clas was a little fast I felt it was still very good and informative.This is a lot of data in a short session and your presentation is excellent.
Nabil Hussein
Its because of your site today i am so good in java
Mudassar H.
JPassion code camps - Fastest, easiest way to build real Java development skills. Perfect for those short on time, money to get what you need at the pace you need. Missing class is not an issue since all material including lectures is available for download. If you submit the homework exercises, you get a course certificate.
Jim M.
I enjoy the books by Cay Horstmann such as core Java (volume 1 and 2) and Big Java.. I also like the Udemy classes on Java and Coursera and edX.. However, jPassion gives the direct live interaction with Professor Sang Shin that these other formats of learning don't do. In those other formats you can post a question but they may or may not answer it, and you have to wait for the answer. In jPassion Sang is very open to answering all types of questions even unrelated to the exact topic being discussed!! His material is quite in depth even when it's called Introduction or Beginner etc. It's also a great motivating factor to hear him live and try to wake up early and listen live. Thanks for these great teachings Sang..
John S.
This course was incredible value – and very well done. I find that I need a starter class to begin a new language and the ability to learn from - and interact with – a live Instructor is marvelous.
Martin B.
Great codecamp! It helped to understand some of the complex Java programming concepts in depth by interacting instructor that breaks down the complexity and makes it easier to understand.
Natalya P.
Very good course. Sang shin (the instructor) makes it very hands on and at the same time is willing to answer all the conceptual questions thus making it overall a very interactive and practical experience