CodeinWP CodeinWP

Some JavaScript Resources for Web App Developers

A Few JavaScript Resources for Web App DevelopersI’ve been bookmarking quite a few guides, docs, and other resources, some of which I thought I’d share here. (Oh and when I say “bookmarking”, I mean saving to a text file. I’m so high tech, dude.)

In particular, if you’re developing large-scale JavaScript-driven applications, some of these might be useful for you. Beginners be warned: Most of these are uber-intense, so not for the faint of heart. Nonetheless, I think beginners can still learn a few things despite the high-level of most of this information.

Essential JavaScript Design Patterns (Addy Osmani)
“Design patterns are reusable solutions to commonly occurring problems in software design. They are both exciting and a fascinating topic to explore in any programming language… In this book we will explore applying both classical and modern design patterns to the JavaScript programming language… This book is targeted at professional developers wishing to improve their knowledge of design patterns and how they can be applied to the JavaScript programming language.”

Principles of Writing Consistent, Idiomatic JavaScript (Rick Waldron)
“All code in any code-base should look like a single person typed it, no matter how many people contributed.”

“Part of being a good steward to a successful project is realizing that writing code for yourself is a Bad Idea. If thousands of people are using your code, then write your code for maximum clarity, not your personal preference of how to get clever within the spec.”

Developing Backbone.js Applications (Addy Osmani)
“In this book, I will be covering the popular Backbone.js, which I consider the best of the current family of JavaScript architectural frameworks…. The goal of this book is to create an authoritative and centralized repository of information that can help those developing real-world apps with Backbone.”

Writing forward-compatible websites (MDN)
“This page explains how to write websites that do not break when new browser versions are released. This is especially important for intranets and other non-public websites; if we can’t see your code, we can’t see that it broke. It’s not always possible to follow all of these, but following as many of them as possible will help future-proof your website.”

JavaScript Patterns Collection (Shichuan)
“A JavaScript pattern and antipattern collection that covers function patterns, jQuery patterns, jQuery plugin patterns, design patterns, general patterns, literals and constructor patterns, object creation patterns, code reuse patterns, DOM and browser patterns.”

Efficient JavaScript (Mark Wilton-Jones / Opera)
“Traditionally, a Web page would not contain much scripting, or at least, not much that would affect the performance of that Web page. However, as Web pages become more like applications, the performance of scripts is having a bigger effect. With more and more applications being developed using Web technologies, improving the performance of scripts is becoming increasingly important.”

Patterns For Large-Scale JavaScript Application Architecture (Addy Osmani)
“I’m currently a JavaScript and UI developer at AOL helping to plan and write the front-end architecture to our next generation of client-facing applications. As these applications are both complex and often require an architecture that is scalable and highly-reusable, it’s one of my responsibilities to ensure the patterns used to implement such applications are as sustainable as possible.”

Got Any Others?

As usual, Addy Osmani dominates authorship in these types of references. I swear, that guy doesn’t sleep.

If you know of any other higher-level JavaScript resources for assisting in building efficient, scalable web apps, feel free to share them in the comments.

17 Responses

  1. Every JavaScript Developer must read Object Oriented JavaScript and JavaScript Patterns by Stoyan Stefanov.

  2. Rob F. says:

    There are tons of other great resources out there for getting your head around writing JavaScript for applications. Articles that I’ve found immensely useful:

    – Nicholas Zakas’ Maintainable JavaScript post;
    – Rebecca Murphey’s Code Org, Take 2 post;

    Plus, both of them have great slides available on Slideshare. For more specific topics there’s…:

    – Shi Chuan’s JavaScript Patterns Collection;
    – Ben Cherry’s Writing Testable JavaScript;
    – Kyle Simpson’s (pre)Maturely Optimize Your JavaScript;
    – the Opera Dev team’s Efficient JavaScript article; and
    – Alex Sexton’s UX of Language post (which goes into i18n/L10n).

    All of these are great posts.

  3. Filip Minev says:

    There is so much greatness in this article and the comments! Lots of JavaScript magic that would be a great addition to the list of JS tricks at :)

    Thank you.

  4. Nice post!! Javascript is the future for the web!

  5. Dan says:

    I’d like to recommend Douglas Crockford’s JSLint.

    JSLint has been the greatest contributing factor to the improvement of my JS coding, particularly with regard to clarity/quality/robustness.

    It’s gotten to the point now that I can write large chunks of code that are (at least, syntactically) bug-free on the first take.

  6. Mohit Bumb says:

    I hate JS but its imp now used in every project so thanks mate

  7. Ahmad Alfy says:

    Thank you so much, I was looking for a good reference to start backbone.js

  8. Jeroen Smit says:

    A good ‘online” book is Eloquent JavaScript from Marijn Haverbeke.

  9. Pablo says:

    Perhaps the Javascript the good parts from Crockford?

  10. Jonathan says:

    Thanks for the link to Addy Osmani’s Backbone book. Although I’ve done quite a lot of research into Backbone during the past few weeks, that one never crossed my radar for some reason.

  11. Ruth says:

    Really good js guide, i add this where you can find javascript software developed by kquery

  12. Taylor says:

    This is a really nice set of resources that will really help you figure out just how JavaScript works.

Leave a Reply

Comment Rules: Please use a real name or alias. Keywords are not allowed in the "name" field and deep URLs are not allowed in the "Website" field. If you use keywords or deep URLs, your comment or URL will be removed. No foul language, please. Thank you for cooperating.

Markdown in use! Use `backticks` for inline code snippets and triple backticks at start and end for code blocks. You can also indent a code block four spaces. And no need to escape HTML, just type it correctly but make sure it's inside code delimeters (backticks or triple backticks).