SlideShare ist ein Scribd-Unternehmen logo
1 von 69
Downloaden Sie, um offline zu lesen
ExtJS on Rails
   Michael Siebert
Michael Siebert

• Freelancer Ruby / Rails / JavaScript / PHP
• www.siebert-wd.de
• siebertm85@googlemail.com
Buzzword-Bingo!
Rich Internet
Applications
Rich Internet
        Applications
Wikipedia:
„Der Begriff Rich Internet Application (RIA,
deutsch: reichhaltige Internet Anwendung)
beschreibt eine Anwendung, die Internet-
Techniken benutzt und eine intuitive
Benutzeroberfläche bietet.“
(c) amrufm http://flickr.com/photos/amrufm/2195019023/
Rich Internet
Applications
Rich Internet
        Applications
• Anspruchsvolles UI
Rich Internet
        Applications
• Anspruchsvolles UI
• Tastenkürzel
Rich Internet
        Applications
• Anspruchsvolles UI
• Tastenkürzel
• Drag‘n‘Drop
Rich Internet
        Applications
• Anspruchsvolles UI
• Tastenkürzel
• Drag‘n‘Drop
• Clientseitige Berechnungen
Rich Internet
        Applications
• Anspruchsvolles UI
• Tastenkürzel
• Drag‘n‘Drop
• Clientseitige Berechnungen
• Geschwindigkeit
Javascript + HTML + CSS + Backend
Javascript + HTML + CSS + Backend
Javascript + HTML + CSS + Backend
Javascript + HTML + CSS + Backend
Javascript + HTML + CSS + Backend


     Framework?
Javascript + HTML + CSS + Backend


     Framework?
       +
Javascript + HTML + CSS + Backend


     Framework?
       +
Javascript + HTML + CSS + Backend


     Framework?
       +
Javascript + HTML + CSS + Backend


     Framework?
       +
Javascript + HTML + CSS + Backend


     Framework?
Javascript + HTML + CSS + Backend


     Framework?
Javascript + HTML + CSS + Backend


     Framework?
Javascript + HTML + CSS + Backend


     Framework?
ExtJS?
ExtJS?
• JavaScript Framework
ExtJS?
• JavaScript Framework
• Cross-Browser, Cross-Platform
ExtJS?
• JavaScript Framework
• Cross-Browser, Cross-Platform
• GPLv3 und kommerzielle Lizenz
ExtJS?
• JavaScript Framework
• Cross-Browser, Cross-Platform
• GPLv3 und kommerzielle Lizenz
• Rich Internet Applications
ExtJS?
• JavaScript Framework
• Cross-Browser, Cross-Platform
• GPLv3 und kommerzielle Lizenz
• Rich Internet Applications
• Adobe AIR Integration (optional)
ExtJS?
• JavaScript Framework
• Cross-Browser, Cross-Platform
• GPLv3 und kommerzielle Lizenz
• Rich Internet Applications
• Adobe AIR Integration (optional)
• Modularer Aufbau
Demo
Frameworks
Frameworks

• Adapter für
Frameworks

• Adapter für
 • Prototype & Script.aculo.us
Frameworks

• Adapter für
 • Prototype & Script.aculo.us
 • jQuery
Frameworks

• Adapter für
 • Prototype & Script.aculo.us
 • jQuery
 • YUI
Frameworks

• Adapter für
 • Prototype & Script.aculo.us
 • jQuery
 • YUI
 • oder nur ExtJS
(c) Simon Greig http://flickr.com/photos/xrrr/2321685873/
(c) SpAvAAi http://flickr.com/photos/spavaai/2536426227/
Rails?
Rails?

• „Normale“ Rails-Anwendung
 • Views in HTML
 • vereinzelt ExtJS nutzen
Rails?

• „Normale“ Rails-Anwendung
 • Views in HTML
 • vereinzelt ExtJS nutzen
• „Ganzheitlicher Ansatz“
 • Anwendung komplett mit ExtJS
 • Rails nur Datenlieferant
Kommunikation
Kommunikation
• XML
 • Rails: collection.to_xml
 • ExtJS: Ext.data.XMLReader
Kommunikation
• XML
 • Rails: collection.to_xml
 • ExtJS: Ext.data.XMLReader
• JSON
 • Rails: collection.to_json
 • ExtJS: Ext.data.JSONReader
REST!
Datenformate
Datenformate
      Rails via to_json               ExtJS erwartet
                             {
                                 quot;resultsquot;: 2,
[{
                                 quot;rootquot;: [{
   quot;titlequot;: quot;Rails scalesquot;
                                   quot;titlequot;: quot;Rails scalesquot;
},{
                                 },{
   quot;titlequot;: quot;Ruby scalesquot;
                                   quot;titlequot;: quot;Ruby scalesquot;
}]
                                 }]
                             }
Datenformate
      Rails via to_json               ExtJS erwartet
                             {
                                 quot;resultsquot;: 2,
[{
                                 quot;rootquot;: [{
   quot;titlequot;: quot;Rails scalesquot;
                                   quot;titlequot;: quot;Rails scalesquot;
},{
                                 },{
   quot;titlequot;: quot;Ruby scalesquot;
                                   quot;titlequot;: quot;Ruby scalesquot;
}]
                                 }]
                             }
Datenformate
       Rails via to_json              ExtJS erwartet
                             {
                                 quot;resultsquot;: 2,
[{
                                 quot;rootquot;: [{
   quot;titlequot;: quot;Rails scalesquot;
                                   quot;titlequot;: quot;Rails scalesquot;
},{
                                 },{
   quot;titlequot;: quot;Ruby scalesquot;
                                   quot;titlequot;: quot;Ruby scalesquot;
}]
                                 }]
                             }

     render :json => {
              :root => @posts,
              :results => @posts.size
            }
Demo
Plugins
ext_scaffold


• Scaffold Generator von Martin Rehfeld
• http://tinyurl.com/2pu4pl
ext_js_with_rails
ext_js_with_rails
• Sammlung von Helferlein
ext_js_with_rails
• Sammlung von Helferlein
 • script/js_autobuild
ext_js_with_rails
• Sammlung von Helferlein
 • script/js_autobuild
 • JSLint Integration
ext_js_with_rails
• Sammlung von Helferlein
 • script/js_autobuild
 • JSLint Integration
 • YUICompressor
ext_js_with_rails
• Sammlung von Helferlein
 • script/js_autobuild
 • JSLint Integration
 • YUICompressor
 • div. Controller und Model-Erweiterungen
ext_js_with_rails
• Sammlung von Helferlein
 • script/js_autobuild
 • JSLint Integration
 • YUICompressor
 • div. Controller und Model-Erweiterungen
 • ...
ext_js_with_rails
ext_js_with_rails


• (noch) kein Release
ext_js_with_rails


• (noch) kein Release
• http://github.com/siebertm/ext_js_with_rails/
Fragen?

Weitere ähnliche Inhalte

Ähnlich wie Ext Js On Rails

Rails i18n - Railskonferenz 2007
Rails i18n - Railskonferenz 2007Rails i18n - Railskonferenz 2007
Rails i18n - Railskonferenz 2007jan_mindmatters
 
Ajax and JavaScript mit Ruby on Rails
Ajax and JavaScript mit Ruby on RailsAjax and JavaScript mit Ruby on Rails
Ajax and JavaScript mit Ruby on RailsJonathan Weiss
 
Lehmanns Rails Erweitern
Lehmanns Rails ErweiternLehmanns Rails Erweitern
Lehmanns Rails Erweiternjan_mindmatters
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro sessionVirttoo org
 
Grails 0.3-SNAPSHOT Presentation WJAX 2006
Grails 0.3-SNAPSHOT Presentation WJAX 2006Grails 0.3-SNAPSHOT Presentation WJAX 2006
Grails 0.3-SNAPSHOT Presentation WJAX 2006Sven Haiges
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenMayflower GmbH
 
Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010Dirk Ginader
 
Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?GFU Cyrus AG
 
An Introduction to Ruby On Rails
An Introduction to Ruby On RailsAn Introduction to Ruby On Rails
An Introduction to Ruby On RailsJonathan Weiss
 
Einfuehrung in Elasticsearch
Einfuehrung in ElasticsearchEinfuehrung in Elasticsearch
Einfuehrung in ElasticsearchFlorian Hopf
 
JSON in der Oracle12c Database
JSON in der Oracle12c DatabaseJSON in der Oracle12c Database
JSON in der Oracle12c DatabaseCarsten Czarski
 
Microservices mit Rust
Microservices mit RustMicroservices mit Rust
Microservices mit RustJens Siebert
 
Wieviel client braucht das web
Wieviel client braucht das webWieviel client braucht das web
Wieviel client braucht das webgedoplan
 
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajaxMT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajaxMT AG
 

Ähnlich wie Ext Js On Rails (20)

Rails i18n - Railskonferenz 2007
Rails i18n - Railskonferenz 2007Rails i18n - Railskonferenz 2007
Rails i18n - Railskonferenz 2007
 
Rack-Middleware
Rack-MiddlewareRack-Middleware
Rack-Middleware
 
Ruby on Rails SS09 11
Ruby on Rails SS09 11Ruby on Rails SS09 11
Ruby on Rails SS09 11
 
PHP Sucks?!
PHP Sucks?!PHP Sucks?!
PHP Sucks?!
 
Ajax and JavaScript mit Ruby on Rails
Ajax and JavaScript mit Ruby on RailsAjax and JavaScript mit Ruby on Rails
Ajax and JavaScript mit Ruby on Rails
 
Lehmanns Rails Erweitern
Lehmanns Rails ErweiternLehmanns Rails Erweitern
Lehmanns Rails Erweitern
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro session
 
Grails 0.3-SNAPSHOT Presentation WJAX 2006
Grails 0.3-SNAPSHOT Presentation WJAX 2006Grails 0.3-SNAPSHOT Presentation WJAX 2006
Grails 0.3-SNAPSHOT Presentation WJAX 2006
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
 
Ruby on Rails SS09 03
Ruby on Rails SS09 03Ruby on Rails SS09 03
Ruby on Rails SS09 03
 
Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010
 
Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?
 
An Introduction to Ruby On Rails
An Introduction to Ruby On RailsAn Introduction to Ruby On Rails
An Introduction to Ruby On Rails
 
Ruby on Rails SS09 02
Ruby on Rails SS09 02Ruby on Rails SS09 02
Ruby on Rails SS09 02
 
Einfuehrung in Elasticsearch
Einfuehrung in ElasticsearchEinfuehrung in Elasticsearch
Einfuehrung in Elasticsearch
 
JSON in der Oracle12c Database
JSON in der Oracle12c DatabaseJSON in der Oracle12c Database
JSON in der Oracle12c Database
 
Microservices mit Rust
Microservices mit RustMicroservices mit Rust
Microservices mit Rust
 
Ruby on Rails SS09 08
Ruby on Rails SS09 08Ruby on Rails SS09 08
Ruby on Rails SS09 08
 
Wieviel client braucht das web
Wieviel client braucht das webWieviel client braucht das web
Wieviel client braucht das web
 
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajaxMT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
 

Ext Js On Rails