CoffeeScript Application Development

CoffeeScript Application Development
eBook: $26.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $71.98    Print cover: $44.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Learn the ins and outs of the CoffeeScript language, and understand how the transformation happens behind the scenes
  • Use practical examples to put your new skills to work towards building a functional web application, written entirely in CoffeeScript
  • Understand the language concepts from short, easy-to-understand examples which can be practised by applying them to your ongoing project

Book Details

Language : English
Paperback : 258 pages [ 235mm x 191mm ]
Release Date : August 2013
ISBN : 1782162666
ISBN 13 : 9781782162667
Author(s) : Ian Young
Topics and Technologies : All Books, Web Development, Open Source, Web Development

Table of Contents

Chapter 1: Running a CoffeeScript Program
Chapter 2: Writing Your First Lines of CoffeeScript
Chapter 3: Building a Simple Application
Chapter 4: Improving Our Application
Chapter 5: Classes in CoffeeScript
Chapter 6: Refactoring with Classes
Chapter 7: Advanced CoffeeScript Usage
Chapter 8: Going Asynchronous
Chapter 9: Debugging
Chapter 10: Using CoffeeScript in More Places
Chapter 11: CoffeeScript on the Server
  • Chapter 1: Running a CoffeeScript Program
    • Installing Node.js
      • Installing Node.js on OS X
        • Using the installer
        • Using Homebrew
        • Using Macports
      • Installing Node.js on Windows
    • Using the installer
      • Using the standalone executable
      • Using Chocolatey
      • Installing Node.js on Linux
        • Using a graphical package manager
        • Using the command line
      • Compiling Node.js manually
      • Skipping the Node installation step
    • Testing our Node installation
      • Testing npm
    • Installing CoffeeScript
    • Our very first CoffeeScript code
    • Compiling from a CoffeeScript file
    • CoffeeScript support in the editor
      • Support in TextMate
      • Support in Sublime Text 2
      • Support in Vim
      • Support in Emacs
    • Starting our web application
      • One more thing
    • Summary
    • Chapter 2: Writing Your First Lines of CoffeeScript
      • Following along with the examples
        • Seeing the compiled JavaScript
      • CoffeeScript basics
        • Statements
        • Variables
        • Comments
      • Calling functions
        • Precedence
      • Control structures
        • Using if statements
        • The else and else if statements
        • The unless statement
        • Single-line form
      • Comparison operators
      • Arrays
        • Ranges
        • Loops
          • Loop comprehensions
          • A few more array tricks
        • Checking array membership
      • Simple objects
        • Iterating over objects
      • Summary
      • Chapter 3: Building a Simple Application
        • Building our application
        • String Interpolation
          • Using string interpolation in our application
        • Defining functions
          • Function naming
          • Function return behavior
        • Adding dynamic behavior to our application
        • Switch statements
          • Using a switch statement in our application
        • Summary
        • Chapter 4: Improving Our Application
          • Checking if a value exists
            • Using the existential operator
            • Null values in chained calls
            • Assigning new values conditionally when null
            • Dealing with nulls in our application
          • Assigning multiple values at once
            • Using destructuring assignment in our application
          • Advanced function arguments
            • Default argument values
              • Using default arguments in our application
            • Accepting a variable number of arguments with splats
              • Invoking functions with splats
              • Using splats in our application
          • Summary
          • Chapter 5: Classes in CoffeeScript
            • Defining a class in CoffeeScript
              • Attaching methods to a class
              • How CoffeeScript builds classes in JavaScript
              • Maintaining state with object properties
              • Calling other methods on this object
              • Attaching a method outside of the class definition
            • Constructors
              • CoffeeScript constructors in JavaScript
            • Calling methods statically on classes
            • Inheritance
              • CoffeeScript's inheritance in JavaScript
            • Using CoffeeScript with other class libraries
              • Backbone classes in CoffeeScript
              • Ember classes in CoffeeScript
            • Summary
            • Chapter 6: Refactoring with Classes
              • The refactoring cycle
              • Structuring our data with classes
                • Adding business logic
                • More data modeling
                • More business logic
              • Managing display logic with classes
                • Displaying a collection
                • The top-level display logic
              • A final refactoring pass
              • Using inheritance while refactoring
              • Getting the green light
              • Summary
              • Chapter 7: Advanced CoffeeScript Usage
                • Getting our context right
                  • Using fat arrows in our project
                • Saving our work with memoization
                  • Using memoization in our application
                • A new idiom: options objects
                  • Using options objects in our application
                • Summary
                • Chapter 8: Going Asynchronous
                  • Understanding asynchronous operations
                  • Getting to know our remote API
                  • Making an asynchronous request
                  • Using a third-party library
                    • Refactoring
                  • Wrangling multiple asynchronous calls
                    • Requests in a loop
                    • Determining when we're finished
                  • Alternatives for managing asynchronous calls
                    • Promises
                      • Using Promises in our application
                    • An async helper library
                      • Using Async.js in our application
                    • IcedCoffeeScript
                      • Using IcedCoffeeScript in our application
                  • Summary
                  • Chapter 9: Debugging
                    • Discovering a problem
                    • Working with source maps
                      • Source maps in the Firefox developer tools
                        • Inspecting our application state
                        • Using the debugger
                      • Source maps in the Chrome developer tools
                        • Inspecting our application state
                        • Using the debugger
                    • Fixing the problem
                    • Summary
                    • Chapter 10: Using CoffeeScript in More Places
                      • CoffeeScript directly in the browser
                      • CoffeeScript in the browser console
                        • A CoffeeScript console in Firefox
                        • A CoffeeScript console in Chrome
                      • Using CoffeeScript with Rails
                        • Setting up the asset pipeline
                          • Creating a new Rails application
                          • Rails 3.0
                          • Rails 3.1 and 3.2
                          • Rails 4
                        • Setting up our application
                        • Adding some CoffeeScript
                        • Precompiling assets
                      • Using CoffeeScript with Brunch
                        • Creating a Brunch project
                        • Filling out our application
                        • Precompiling assets
                      • Using CoffeeScript with Node.js
                        • Creating our project
                        • Keeping the server up-to-date
                        • Adding CoffeeScript compilation
                        • Finishing our application
                        • Cleaning up our script dependencies
                      • Summary
                      • Chapter 11: CoffeeScript on the Server
                        • Running a server with CoffeeScript
                          • Running our application
                        • Adding an endpoint for data
                        • Using a database
                          • Handling errors
                        • Using a Cakefile
                          • Writing a Cake task
                          • More Cake tasks
                        • Making our application interactive
                          • Seeing the results
                        • Summary

                        Ian Young

                        Ian Young wrote his very first program on a TI-89 scientific calculator—an infinite loop that printed an insulting message to one of his friends. As one might expect, things could only improve from there. Ian graduated from Grinnell College with a degree in Computer Science, and since then has been working as a web developer for small tech companies; first in Minneapolis and now in San Diego. He loves web technology, small teams, frequent iteration, testing, beautiful ideas, free speech, free beer, and any tool that reduces cognitive overhead.
                        Sorry, we don't have any reviews for this title yet.

                        Code Downloads

                        Download the code and support files for this book.

                        Submit Errata

                        Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

                        Sample chapters

                        You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

                        Frequently bought together

                        CoffeeScript Application Development +    Building Websites with Microsoft Content Management Server =
                        50% Off
                        the second eBook
                        Price for both: £18.85

                        Buy both these recommended eBooks together and get 50% off the cheapest eBook.

                        What you will learn from this book

                        • Write CoffeeScript everywhere, and compile it to JavaScript that can run anywhere
                        • Discover techniques to manage a complicated codebase and ever-changing requirements
                        • Drop the semicolons with CoffeeScript's clean, powerful syntax
                        • Build for loops, if statements, and functions without all the extra keystrokes
                        • Keep your code clean and organized with classes and inheritance
                        • Use advanced CoffeeScript idioms to deal with the needs of a growing application
                        • Debug effectively with source maps
                        • Integrate CoffeeScript into your project seamlessly with Rails, Brunch, and other web frameworks
                        • Utilize CoffeeScript for server-side software with Node.js

                        In Detail

                        JavaScript is becoming one of the key languages in web development. It is now more important than ever across a growing list of platforms. CoffeeScript puts the fun back into JavaScript programming with elegant syntax and powerful features.

                        CoffeeScript Application Development will give you an in-depth look at the CoffeeScript language, all while building a working web application. Along the way, you'll see all the great features CoffeeScript has to offer, and learn how to use them to deal with real problems like sprawling codebases, incomplete data, and asynchronous web requests.

                        Through the course of this book you will learn the CoffeeScript syntax and see it demonstrated with simple examples. As you go, you'll put your new skills into practice by building a web application, piece by piece. You'll start with standard language features such as loops, functions, and string manipulation. Then, we’ll delve into advanced features like classes and inheritance. Learn advanced idioms to deal with common occurrences like external web requests, and hone your technique for development tasks like debugging and refactoring.

                        CoffeeScript Application Development will teach you not only how to write CoffeeScript, but also how to build solid applications that run smoothly and are a pleasure to maintain.


                        CoffeeScript Application Development is a practical, hands-on guide with step-by-step instructions. Follow the smooth and easy tutorial approach, covering examples that build in complexity. By the final chapter you'll be wondering why you didn't try CoffeeScript sooner.

                        Who this book is for

                        If you are a JavaScript developer who wants to save time and add power to your code, then this is the book that will help you do it. With minimal fuss you will learn a whole new language which will reduce your application development time from weeks to days.

                        Code Download and Errata
                        Packt Anytime, Anywhere
                        Register Books
                        Print Upgrades
                        eBook Downloads
                        Video Support
                        Contact Us
                        Awards Voting Nominations Previous Winners
                        Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
                        Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software