66
JavaScript und Ajax mit Rails Jonathan Weiss http://blog.innerewut.de

JavaScript und Ajax mit Rails

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: JavaScript und Ajax mit Rails

JavaScript und Ajax mit Rails

Jonathan Weiss http://blog.innerewut.de

Page 2: JavaScript und Ajax mit Rails

JavaScript

Page 3: JavaScript und Ajax mit Rails
Page 4: JavaScript und Ajax mit Rails
Page 5: JavaScript und Ajax mit Rails
Page 6: JavaScript und Ajax mit Rails
Page 7: JavaScript und Ajax mit Rails
Page 8: JavaScript und Ajax mit Rails
Page 9: JavaScript und Ajax mit Rails

JavaScript - Die Wiederentdeckung

Page 10: JavaScript und Ajax mit Rails

Was hat sich geändert?

Page 11: JavaScript und Ajax mit Rails

Was hat sich geändert?

• Besinnung auf JS-Stärken und Usability

• Highlevel JavaScript Bibliotheken

• Tool-Support

Page 12: JavaScript und Ajax mit Rails

JavaScript

• prototype OO

• Closures

• DOM manipulation

• ECMA basics mittlerweile durchgängig etabliert

• XmlHTTPObject

Page 13: JavaScript und Ajax mit Rails
Page 14: JavaScript und Ajax mit Rails

High-level JS Bibliotheken

Browser-unabhängige Programmierung von

• DOM Manipulationen

• Effekten

• Ajax

• UnitTests

Page 15: JavaScript und Ajax mit Rails

Entwickler kann sich wieder auf

Applikation konzentrieren

Page 16: JavaScript und Ajax mit Rails

Was hat das jetzt mit Rails zu tun?

Page 17: JavaScript und Ajax mit Rails
Page 18: JavaScript und Ajax mit Rails
Page 19: JavaScript und Ajax mit Rails

Prototype und Scriptaculous

Page 20: JavaScript und Ajax mit Rails

$ und $$

Page 21: JavaScript und Ajax mit Rails
Page 22: JavaScript und Ajax mit Rails

Scriptaculous Effekte

Page 23: JavaScript und Ajax mit Rails

In & Out

• Appear / Fade

• BlindDown / BlindUp

• SlideDown / SlideUp

• Grow / Shrink

Page 24: JavaScript und Ajax mit Rails

Out

• SwitchOff

• Fold

• Puff

• Squish

• DropOut

Page 25: JavaScript und Ajax mit Rails

“Schau hier!”

• Shake

• Highlight

• Pulsate

Page 26: JavaScript und Ajax mit Rails

Ajax Recap

Page 27: JavaScript und Ajax mit Rails

AJAX

Asynchronous JavaScript And XML

Page 28: JavaScript und Ajax mit Rails

AJAH ?

Asynchronous JavaScript And HTML

Page 29: JavaScript und Ajax mit Rails

AJAJ ?

Asynchronous JavaScript And

JavaScript

Page 30: JavaScript und Ajax mit Rails

GET http://example.com/

TEXT/HTML

<html><body>...</body></html>

Normaler Request

Page 31: JavaScript und Ajax mit Rails

POST http://example.com/posts/new

Ajax Request

TEXT/XML

<?xml .... ><people> <person id=’1’>Alf</person></people>

AJAX Request

Page 32: JavaScript und Ajax mit Rails

POST http://example.com/posts/new

Ajax Request

TEXT/HTML

<div> <p> Post saved</p></div>

AJAX Request mit HTML Response

Page 33: JavaScript und Ajax mit Rails

Ajax

Einfacher Request

Page 34: JavaScript und Ajax mit Rails

Ajax

Einfacher Request mit callbacks

Page 35: JavaScript und Ajax mit Rails

Ajax

DOM Updates

Page 36: JavaScript und Ajax mit Rails

http://wiki.script.aculo.us

Page 37: JavaScript und Ajax mit Rails

Was hat das jetzt mit Rails zu tun?

Page 38: JavaScript und Ajax mit Rails

Rails JavaScript Helper

Page 39: JavaScript und Ajax mit Rails

http://api.rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper.html

Page 40: JavaScript und Ajax mit Rails

in .rhtml:

link_to_remote

Page 41: JavaScript und Ajax mit Rails

in .rhtml:

Browser bekommt:

link_to_remote

Page 42: JavaScript und Ajax mit Rails

in .rhtml:

Page 43: JavaScript und Ajax mit Rails

in .rhtml:

Browser bekommt:

Page 44: JavaScript und Ajax mit Rails

in .rhtml:

form_remote_tag

Page 45: JavaScript und Ajax mit Rails

in .rhtml:

Browser bekommt:

form_remote_tag

Page 46: JavaScript und Ajax mit Rails

RJS -

Rails JavaScript Templates

Page 47: JavaScript und Ajax mit Rails

GET http://example.com/

TEXT/HTML

Page 48: JavaScript und Ajax mit Rails

POST http://example.com/posts/new

Ajax Request

TEXT/JavaScript

Page 49: JavaScript und Ajax mit Rails

eval( )

Page 50: JavaScript und Ajax mit Rails

in .rjs:

Page 51: JavaScript und Ajax mit Rails

in .rjs:

Browser bekommt:

Page 52: JavaScript und Ajax mit Rails

new.rjs

Controller

Page 53: JavaScript und Ajax mit Rails

RJS Inline im Controller

Page 54: JavaScript und Ajax mit Rails

RJS Selectoren

Browser bekommt:

Page 55: JavaScript und Ajax mit Rails

Beliebiges JavaScript mit `<<`

Browser bekommt:

Page 57: JavaScript und Ajax mit Rails

Testen und Debuggen

Page 58: JavaScript und Ajax mit Rails

config/development.rb

Debugging RJS Ausgabe im Browser

Page 59: JavaScript und Ajax mit Rails

ARTS: Another RJS Test System

http://glu.ttono.us/articles/2006/05/29/guide-test-driven-rjs-with-arts

Page 60: JavaScript und Ajax mit Rails

• Console / JavaScript Shell

• DOM Inspector

• XMLHTTPRequest Tracer

• Debugger

http://joehewitt.com/software/firebug/

Page 61: JavaScript und Ajax mit Rails

• DOM Inspector

• Verschiedene Tools rund um Cookies, Forms, CSS, Bilders, Header, ....

http://chrispederick.com/work/webdeveloper/

Webdeveloper

Page 62: JavaScript und Ajax mit Rails

• Profiler

• Debugger

• JavaScript Shell

http://www.mozilla.org/projects/venkman/

Venkman

Page 63: JavaScript und Ajax mit Rails

• DOM Inspector

• JavaScript Debugger

http://nightly.webkit.org/

Nightly + Drosera

Page 64: JavaScript und Ajax mit Rails

http://www.microsoft.com/downloads/details.aspx?FamilyID=2f465be0-94fd-4569-b3c4-dffdf19ccd99&DisplayLang=en

MS Script Debugger

Page 65: JavaScript und Ajax mit Rails

Fin

http://blog.innerewut.de/files/jweiss-rails-konferenz-2006.pdf

Page 66: JavaScript und Ajax mit Rails

Links

http://api.rubyonrails.org

http://mir.aculo.us/stuff/AdventuresInJavaScriptTesting.pdf

http://mir.aculo.us/stuff/COR_20060413_RailsAjax.pdf

http://mir.aculo.us/stuff/orcreatehappyusers.pdf

http://www.slash7.com/articles/2006/07/26/javascript-boot-camp-tutorial