The Modern Web: Multi-Device Web Development with HTML5, CSS3, and JavaScript – #bookreview

The Modern Web
Multi-Device Web Development with HTML5, CSS3, and JavaScript
Peter Gasston
(No Starch Press – Kindle, paperback)

After a quick first glance, you might look right past this book. You might assume its title, “The Modern Web,” simply introduces some kind of heavily footnoted, academic study of the Internet.

Not so, Web breath. In this case, it’s the subtitle that should grab your attention.

Whether you hope to go into web development, or you’re already there, Peter Gasston’s new book can help you get an improved grasp on three important, device-agnostic tools that will be essential to your work and career development. They are: HTML5, CSS3, and JavaScript, that not-so-simple programming language that many new web specialists often try to avoid learning. (That’s because, typically, it’s easier, more fun and a bit less cryptic to work with HTML5 and CSS3.)

Also, Gasston notes, there have been big explosions in the number of libraries and frameworks that use JavaScript, further clouding a developer’s ability to know which ones he or she should learn next. (The author limits his coverage to four: jQuery, YepNope, Modernizr, and Mustache.)

Gasston’s well-written book zeroes in on the three “web technologies that can be used anywhere, from open websites to device-specific web apps.” And on all sorts of devices, ranging from tiny phones to tablet computers to wall-covering HDTVs.

And his teaching aim is to show you “modern coding methods and techniques that you can use to build websites across multiple devices or that are tailored to the single device class you’re targeting.”

By the way, “websites” is simply a shorthand term the author uses “to avoid repetition. The features you’ll learn from this book are relevant to websites, web applications, [and] packaged HTML hybrid applications–in short, anything that can use HTML, CSS, and JavaScript.”

Gasston also wants you to learn that “fast” is the main thing that matters to those who will use your site. “Your site needs to be fast–and feel fast–regardless of the device it’s being displayed on,” he emphasizes. “And fast means not only technical performance (which is incredibly important) but also the responsiveness of the interface and how easily users can navigate the site and find what they need to complete the task that brought them to you in the first place.”

His 243-page book contains many short, useful code examples and illustrations, and is excellent for developers who have at least a little bit of experience with HTML5, CSS3, and JavaScript but aren’t sure where and how to focus their energies and attention for the rapidly changing career road ahead.

The Modern Web offers a well-organized introduction, plus 11 chapters:

  1. The Web Platform
  2. Structure and Semantics
  3. Device Responsive CSS
  4. New Approaches to CSS Layouts
  5. Modern JavaScript
  6. Device APIs
  7. Images and Graphics
  8. New Forms
  9. Multimedia
  10. Web Apps
  11. The Future

There also are two appendices: Browser Support as of March 2013 and Further Reading.

Peter Gasston has been a web developer for more than 12 years, and his previous book is The Book of CSS3.

He notes that “[t]he Web is constantly evolving, and book publishing means taking just a single snapshot of a moment. Some things will change; some will wither and be removed. I’ve tried to mitigate this by covering only technologies that are based on open standards rather than vendor-specific ones and that already have some level of implementation in browsers.”

He urges developers to stay alert to changing Web standards and to “be curious, be playful, keep on top of it all. He stresses: “There’s never been a more exciting time to work in web development, but you’ll need to put in an extra shift to really take advantage of it.”

Si Dunn

Practical Vim: Edit Text at the Speed of Thought – #programming #bookreview

Practical Vim: Edit Text at the Speed of Thought
Drew Neil
(Pragmatic Bookshelf,
paperback)

Vim is a popular, free text editor used by programmers, web developers, and others. If you are a reasonably good touch typist and know just two commands, i and :w, you can create simple code files and text files in a hurry. For serious Vim users, however, there is a fairly long learning curve that includes a large array of features and configurable settings.

Practical Vim: Edit Text at the Speed of Thought is for Vim users who have been through the basic tutorial offered through the program and now want to step up their skills.

The book focuses on “the core functionality of the editor…[m]aster Vim’s core, and you’ll gain portable access to a text editing power tool,” author Drew Neil promises.

Neil has structured his content as “a recipe book. It’s not designed to be read from start to finish.”

Instead, Practical Vim follows its opening chapter, “The Vim Way,” with 20 additional chapters separated into six parts:

  • Part 1 – Modes (Normal, Insert, Visual, Command Line)
  • Part 2 – Files (Manage Multiple Files, Open Files and Save Them to Disk)
  • Part 3 – Getting Around Faster (Navigate Inside Files with Motions, Navigate Between Files with Jumps)
  • Part 4 – Registers (Copy and Paste, Macros)
  • Part 5 – Patterns (Matching Patterns and Literals, Search, Substitution, Global Commands)
  • Part 6 – Tools (Index and Navigate Source Code with ctags; Compile Code and Navigate Errors with the Quickfix List; Search Project-Wide with grep, vimgrep, and Others; Dial X for Autocompletion; Find and Fix Typos with Vim’s Spell Checker; Now What?

There is one appendix, and its focus is: Customize Vim to Suit Your Preferences.

The book is well written, and it provides numerous how-to steps, illustrated sequences of commands, tips, explanations, and suggestions.

If you are a Vim novice and serious about getting good at using the program, Drew Neil’s Practical Vim can show you how to do it.

Si Dunn

Practical Vim: Edit Text at the Speed of Thought

For more information:  paperback

Mobile JavaScript Application Development – Bringing the Web to Mobile Devices – #programming #bookreview

Mobile JavaScript Application Development
Adrian Kosmaczewski
(O’Reilly,
paperback, list price $24.99; Kindle edition, list price $19.99)

In the author’s view, “the most important moment in recent technological history was the introduction of the iPhone in January 2007. The impressive growths of iOS, Android, and other platforms [have] completely transformed the landscape of software engineering, while at the same time opening new possibilities for companies.”

Indeed, Adrian Kosmaczewski notes: “It is estimated that, in 2015, more than 50% of all web requests will come from mobile devices!”

So, if you are, or are planning to be,  a JavaScript programmer, you better know how to develop and support apps for mobile devices. And you’d better stay aware of “platform fragmentation” – the various platforms that you may encounter as old and new ones battle for survival and market dominance.

Kosmaczewski’s new, 145-page book is aimed at web developers who have some familiarity with HTML5, CSS, and JavaScript.

“It does not matter if you have mobile software engineering experience,” he assures potential readers. But: “Mobile applications are a world of their own, and they present challenges that common applications don’t deal with.…” These include:

  • Small screen sizes
  • Reduced Battery Life
  • Little Memory and disk specifications
  • Rapidly changing network conditions

His book is divided into seven well-written chapters. And six of them offer numerous screenshots and short code examples. The chapters are:

  1. HTML5 for Mobile Applications
  2. JavaScript Productivity Tips
  3. jQuery Mobile
  4. Sencha Touch
  5. Phone Gap
  6. Debugging and Testing
  7. Conclusion

Mobile JavaScript Application Development takes this straightforward approach: (1) “leave the theory to others” and (2) focus on “understand by doing.” And, mercifully, the author does not try to tackle too many technologies at once. Instead, he concentrates – in “an opinionated, hands-on” way on three technologies that he says “are currently the most promising and…show the most interesting roadmap.”

These are, as previously mentioned in the chapter list, jQuery Mobile, Sencha Touch, and PhoneGap. His goal is to help you determine which one is best for your project. (If you don’t agree with his choices, he provides helpful links to several others but does not discuss them.)

To work with the book’s code samples, certain items are needed and not easily summed up here in a few words, because of platform fragmentation and other factors. But the requirements can be viewed easily, using Amazon’s “Click to Look Inside!” feature for both the paperback and Kindle editions.

If your job or ambitions include developing apps for smartphones, you should check out this book.

Si Dunn