by Wyatt Greene
This is where notes pertaining to each slide will be.
Rails is Dead OMG!!!
discussion on the Internet
makes it seem like the relevance of Rails is fading. Rails is not going anywhere
anytime soon. However, the web programming environment is changing, and some of the
assumptions Rails was built upon are no longer valid. One of these is that view logic
should be on the server. We are increasingly seeing thick clients, however.
- From DOM manipulation to general purpose programming
- Overview, pointers
- This topic is way too big
- Building a thick-client app
- Libraries & frameworks
- Resources for further learning
- Audience input
Nothing is wrong with CoffeeScript. You should try it.
- invented 1995
- ECMAScript 3 (1999)
- ECMAScript 5 (2009)
- ES.Next (Harmony)
planning and maturity up front, like the streets of Washington, D.C.
But it is not like a stagnant abandoned building; it is evolving and continually improving.
Szkieletor is the tallest building in Krakow. Construction stopped in 1981.
Here to Stay
"the canonical programming language for the next 20+ years." -- Allen Wirfs-Brock,
Mozilla Research Fellow
- associative arrays (like a hash)
- functions are objects
- prototypal inheritance
- details are complicated
- functions are first-class citizens
- pass functions around
- ActiveRecord callbacks
Traps for Rubyists
- differing runtime environments
this can change
- variable hoisting
- falsy values (false, null, undefined, '', 0, NaN)
- implied globals
Kinds of Architecture
- split (can be hosted separately)
Embedded means there is an interactive part of your site. Split means that your application
is split cleanly between the client and the server. The client is a full-scale app,
treating the backend like a glorified database.
Decisions, Decisions, Decisions
- testing (Jasmine, QUnit)
- dependency management
If you are hosting your thick client files outside of Rails, you have a lot more
concerns to manage. You no longer can take advantage of Rails' asset pipeline.
Know what you're getting into
Hosting your thick-client app on a CDN as static files means you've got a lot more
decisions to make and processes to manage that otherwise Rails had given to you for
free. So know what you're getting into.
- Github first, search second
Some Useful Libraries