Modern Web Practices
Minimum price
Suggested price

Modern Web Practices

About the Book

In its infancy, web development used to be simple. A developer who knew a bit of HTML, CSS, and JavaScript could compete in a fledgling market.

Then libraries like jQuery and prototype gave web developers a taste for dynamic HTML, while AJAX reduced the web server to an API.

The browser, once a thin client, gained weight. HTML5, CSS3, and ECMAScript5 filled the developer’s toolbox with powerful new tools for creating application data, presentation, and behavior.

An explosion of open source projects (and some proprietary extensions) sprung to life around these advancements. Suddenly the World Wide Web became a much more complex place for developers. Web applications now rival the capabilities of many desktop applications, and must function in a wide range of browsers on an even wider range of devices.

The modern web is no longer simple. And those who code for it can't be either.

Table of Contents

  • Automate Your Workflow with Grunt -- Aaron Bushnell
  • Offline Web Applications -- Nicholas Cloud
  • Data Binding -- Ryan Conaway
  • Making Things Move with CSS3 Transitions and Animations -- Trevan Hetzel
  • HTML and CSS Bad Practices -- Ted Waller
  • Bower in Practice: A Package Manager for the Web -- Bob Yexley

About the Editors

Nicholas Cloud
Nicholas Cloud

For over a decade I’ve worked hard to turn my skills into a career. I have developed solutions on both Linux and Windows platforms with JavaScript, C#, Ruby, and PHP. I have extensive experience with web technologies, web services, and desktop development. I’ve used more open source libraries than you can shake a stick at and have even contributed to a few as well. I am the founding member of the St. Louis ALT .NET user group, speak at a variety of user groups and conferences, and write technical articles and blog posts in my spare time.

I have a real passion for deconstructing business problems, creating abstract, reusable and flexible solutions, and creating awesome software that rocks.

Phillip Conaway
Phillip Conaway

Full Stack Web Developer, Husband of tattoo artists, gamer

Ted Waller
Ted Waller

Ted Waller is a Front-end developer from Atlanta, GA. He's been making stuff for the web since the mid 2000s and loves writing CSS and JavaScript all day from his home office. When he's not making websites, Ted's reading, gaming, making music, or playing with his kids.

Aaron Bushnell
Aaron Bushnell

Aaron Bushnell is a web developer born and raised in the midwest. He spends most of his day working with HTML, CSS, JavaScript and more.

In his free time he enjoys spending time with his wife and dog, hanging out with family and friends, cooking and playing video games.

Trevan Hetzel
Trevan Hetzel

I am a front-end web developer, designer and startup enthusiast. I'm passionate about building scalable responsive websites that push the limits of CSS as far as possible. With 9 years experience as a front-end developer, my specialty technologies hover around HTML, CSS and JavaScript. However, I thoroughly enjoy building fun things with Ruby on Rails, Node.js and, my main freelancing service under the Hetzel Creative brand, Wordpress. On top of front-end web development, my roots lie in user interface design and I can still throw around some top-notch mockups in Photoshop.

Bob Yexley
Bob Yexley

I am a disciple of Jesus, a husband to Crystal, a father to Phoenix and Hunter, a software developer and an that order. I am an introvert who prefers the peace and quite of the wilderness to the hustle and bustle of civilization, yet I have found my place in both. I lurk as @ryexley on Twitter, and I sometimes write stuff on my blog at

Table of Contents

  • Credits and Acknowledgements
  • Preface
  • Automate Your Workflow with Grunt
    • Some things to mention before we begin
    • Getting started
    • Setting up Grunt and solving our first issue
    • Setting up our first task - concatenation and minification
    • Automating CSS with Grunt
    • Using Grunt to include files in our HTML
    • Running Grunt automatically when files change
    • Automation now and beyond
    • Resources
  • Offline Web Applications
    • Introduction
    • Caching application resources
    • Caching application data
    • Putting it all together
    • Conclusion
  • Data Binding
    • Client Side Data Binding
    • How did we get here?
    • Do it yourself
    • Modern Browser alternatives
    • Hasn’t this been done already?
    • Wrap up
  • Making Things Move with CSS3 Transitions and Animations
    • Transition vs. animation
    • Getting to know transitions
    • Getting to know animations
    • Use cases on the web
    • A few notes on performance
    • Wrapping up
  • HTML and CSS Bad Practices
    • Naming classes after style
    • Ignoring Accessibility
    • Writing selectors that are too general
    • Writing selectors that are too specific
    • Using absolute units and fixed widths
    • Animating with JavaScript instead of CSS
    • Using inline-styles
    • Wrapping up
  • Bower in Practice: A Package Manager for the Web
    • How to use it
    • Creating and maintaining your own Bower package
    • That’s Bower for ya…

The Leanpub 60-day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $12 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub