HTML5 and JavaScript Web Apps

Author: Wesley Hales
Publisher: O'Reilly
Pages: 172
ISBN: 978-1449320515
Audience: JavaScript programmers
Rating: 3.5
Reviewer: Ian Elliot

HTML5 JavaScript based apps - we would all like to know how to create them - does this slim book manage to solve the problem?

This is a very odd book. Part of its strangeness is due to the position we find ourselves in. HTML/JavaScript is almost up to creating apps that work as well as native apps but , mostly for reasons of security, lots of facilities are either crippled or missing. For example, try to gain access to the local filing system from a web app and you will find that it is very difficult.



This book suffers from the fact that while there are lots of chunks of technology available there is still a lot missing. As a result it isn't 100% clear what a web  app actually is let alone what an archetypal web app looks like. Then there is the mobile desktop split and do you write apps for Chrome or Firefox OS?

The author seems to take a slightly old fashioned approach. He takes HTML5 and a few additional APIs and describes how to build web pages that do things. Overall the approach tends to ignore the incredible range of APIs currently being thought up by the likes of Mozilla to allow us access to more and more hardware based facilities.



Chapter 1 reads like a description of the problem to someone who has been living under a rock for the past few years. However, client and server side considerations are at least dealt with in a very few pages and we get on to the real topic of the book quite quickly.

Chapter 2 opens a section of the book about mobile web apps. We have an overview of the browsers you are likely to meet and how well they support HTML5. Of course, the issue isn't really how well the support HTML5 but how well they go beyond the basics to support emerging standard APIs such as touch, camera and so on. The account is inevitably a bit out of date already because things are moving fast. It is also a bit webkit-biased - as are the following chapters.

The next chapter deals with essentially using webkit CSS to implement special effects. Non-webkit browsers are considered but only as an afterthought. The chapter closes with a look at the various frameworks that are available to help you create single page JavaScript applications complete a range of widgets.

Chapter 4 moves on to the desktop. First we consider the idea of client or server side generation of HTML and the security implications. The last part of the chapter considers tools including the use of grunt and MVC frameworks. Overall the chapter is a little unfocused with discussion of problems that aren't unique to the construction of web apps.

From this point on the book falls into a pattern of discussing a few APIs. Chapter 5 outlines websockets. Chapter 6 explains the storage API. Chapter 7 deals with geolocation. Chapter 8 is on device orientation API - even though it doesn't make sense for most desktop devices. Finally, chapter 9 deals with web workers. This is a fairly reasonable selection of important APIs. that play a role in creating web apps. None of the chapters are deep in terms of writing code and how to do things. They do contain simple examples but nothing more. There are, however, lots of useful comments about implementing the APIs and frameworks that you can use to simplify things. What you are getting is an overview of the situation - something that would help you orient yourself before using the facility.

There are lots of missing topics, but in a book of this size you can't really expect a complete coverage of all the topics that are important in creating a web app - WebGL, Canvas, WebRTC, the touch API and so on. You can also argue that some of these things aren't fully standardize yet and so probably shouldn't be included.

What really is missing from this book is a prescription for how to create a web app. There is no discussion of how the app might be discovered, installed or managed. Most important there is no discussion of how the app could work offline. One of the biggest challenges we face is the constructor of web based apps that behave like installed apps and carry on working when the web goes down or isn't available.  There also is very little discussion of how to deal with the screen resolution problem using say fluid layouts and CSS.

What is really being described in this book are web pages that use JavaScript to do a bit more than you would expect a web page to do - but this is possibly the point we have reached in the development of web apps, unless you are willing to explore APIs that are not yet fully standardized.

If you are a beginner looking to find out a bit about web apps, but nothing too deep, then this book might make a good overview. If you are looking for real help in constructing installable or off-line capable web apps then this isn't for you.

See also:

I Programmer's series on creating web apps:



Deep Learning (No Starch Press)

Author: Andrew Glassner
Publisher: No Starch Press
Date: July 2021
Pages: 750
ISBN: 978-1718500723
Print: 1718500726
Kindle: ‎ B085BVWXNS
Audience: Developers interested in deep learning
Rating: Mike James
Reviewer: 5
A book on deep learning wtihout an equation in sight?

Database Design for Mere Mortals: 25th Anniversary Edition

Author: Michael J Hernandez
Publisher: Addison-Wesley
Pages: 680
ISBN: 978-0136788041
Print: 0136788041
Kindle: B08JLXKJ6S
Audience: Database developers
Rating: 5
Reviewer: Kay Ewbank

As the title of this book suggests, this is a title that has stood the test of time, and this updated 4th Edition has bee [ ... ]

More Reviews

Last Updated ( Tuesday, 22 January 2013 )