Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Javascript MVC

My journey to learning JavaScript & client-side MVC
by

Joe Fiorini

on 4 May 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Javascript MVC

The
Renaissance
M
V
C
?
Cargo Cult
N00B
Dark
Skilled
1996-2001
&
Copy
Paste
Not really a general purpose language.
Just a way to do cool stuff HTML can't do.
JAVASCRIPT
Microsoft.com
circa 1997
Image Rollovers
Adobe ImageStyler
Not really a general purpose language.
Just a way to do cool stuff HTML can't do.
JAVASCRIPT
on hover
Functions!
Way more advanced
Server Side
2001-2004
User Events
Client-side Validation
Still not general purpose; great for DOM manipulation and user events
JAVASCRIPT
jQuery
Unobtrusive Javscript
Encapsulation 8 years
3 years
2 years
2004-2007
Excited to return to web
MooTools
Just animation?
CWSA
jQuery
Unobtrusive Javscript
Encapsulation 2 years
1 year
ahead
Turning Point
Cross browser support, cool animations? Maybe there's something to this Javscript thing.
JAVASCRIPT
Should be treated like any other code, though not general purpose; great for progressively adding UI enhancements.
JAVASCRIPT
2008-2011
Inconceivable!
What does "good" mean?
NaN
Unobtrusive Events
onload
State Storage
Objects
HOLY
ENTRYPOINT
OVERLOAD
BATMAN
M
V
C
a?
a!
I'm ready!
$
$(document).ready(function(){
//...
});
x103
$(document).ready(function(){
//...
});
$(document).ready(function(){
//...
});
$(document).ready(function(){
//...
});
$(document).ready(function(){
//...
});
$(document).ready(function(){
//...
});
$(document).ready(function(){
//...
});
$(document).ready(function(){
//...
});
$(document).ready(function(){
//...
});
$(document).ready(function(){
//...
});
$(document).ready(function(){
//...
});
Extremely flexible functional/OO hybrid with great async capabilities and mostly sane namespacing.
JAVASCRIPT
2011-?
Future of the web, great web API client; awesome for building rich apps with no server back end for maximum scalability!
JAVASCRIPT
ROUTES!
View
template rendering
Model
state in data- attributes
Controller
view rendering, model
loading, events
?
View
template rendering/events
Model
state in memory
Controller
routing
Using objects
so
use 'em!
Backbone.js!
Event Overload
Danger!
There be passionate programmers here.
LOL inheritance
I have been writing JavaScript for 8 years now, and I have never once found need to use an uber function. The super idea is fairly important in the classical pattern, but it appears to be unnecessary in the prototypal and functional patterns.
I now see my early attempts to support the classical model in JavaScript as a mistake.
Eureka!
Sorry, no gold.
Ruby + Browser
Mocha
TDD that respects JavaScript
S3
Made of Scale
1990s
2012
ASP, ASP.NET, Ruby on Rails
HTML
CSS
JavaScript
HTML
CSS
JavaScript
The way I do AWESOME things that HTML, CSS and Ruby can't do.
JAVASCRIPT
And not just on mouseover
JAVASCRIPT
Joe
Fiorini
I do
STUFF
at
THIS IS
my
JOURNEY
Full transcript