My Account Log in

2 options

CoffeeScript application development / Ian Young.

EBSCOhost Ebook Public Library Collection - North America Available online

View online

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Young, Ian, 1970-
Series:
Community experience distilled
Language:
English
Subjects (All):
CoffeeScript (Computer program language).
Scripting languages (Computer science).
Physical Description:
1 online resource (258 p.)
Edition:
1st edition
Place of Publication:
Birmingham, England : Packt Publishing, 2013.
Language Note:
English
System Details:
text file
Biography/History:
Greenleaf Young Ian: Ian Young wrote his very first program on a TI-89 scientific calculatoran 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.
Summary:
What JavaScript user wouldn’t want to be able to dramatically reduce application development time? This book will teach you the clean, elegant CoffeeScript language and show you how to build stunning applications. 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 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.
Contents:
Cover
Copyright
Credits
About the Author
Acknowledgements
About the Reviewers
www.PacktPub.com
Table of Contents
Preface
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 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
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
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
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
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
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
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
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
Fixing the problem
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
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
Chapter11: 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
Index.
Notes:
Includes index.
Description based on online resource; title from PDF title page (ebrary, viewed September 20, 2013).
ISBN:
9781782162674
1782162674
OCLC:
857712526

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account