AJAX und Ruby on Rails

Ähnliche Dokumente
AJAX und Ruby on Rails

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Webseiten sind keine Gemälde. Webstandards für ein besseres Web. Webstandards für ein besseres Web

AWE12. Carsten Bormann

Präsentation Von Laura Baake und Janina Schwemer

Alte Technik neu verpackt

Di 8.4. Silverlight: Windows Presentation Foundation für s Web. Christian Wenz

Einführung Internettechnologien. - Clientseitige Programmierung -

Online-Publishing mit HTML und CSS für Einsteigerinnen

Agenda. Einführung AJAX Was ist eigentlich AJAX?

Webseiten werden mobil Planung geht vor

Schüler-E-Tutorial für mobile Endgeräte. Ein Folgeprojekt des Netzwerks Informationskompetenz Berlin/Brandenburg mit der HdM

Layoutmodelle. Steffen Schwientek Große Klostergasse Friedberg schwientek@web.de Web :schlaukopp.org

Datenbank-basierte Webserver

«Integration in WebSite» HTML-/Javascript-Code-Beispiele

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Web 2.0 (In) Security PHPUG Würzburg Björn Schotte

Ajax HACKS. O'REILLY* Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo. Bruce W Perry. Deutsche Übersetzung von Kathrin Lichtenberg

Landes-Arbeits-Gemeinschaft Gemeinsam Leben Gemeinsam Lernen Rheinland-Pfalz e.v.

AJAX DRUPAL 7 AJAX FRAMEWORK. Was ist das Ajax Framework? Ein typischer Ablauf eines Ajax Requests Die Bestandteile des Ajax Frameworks.

IAC-Programmierung HELP.BCFESITSIACPROG. Release 4.6C

HTML Formulare. Benutzerschnittstelle für interaktive Webseiten

AJAX Implementierung mit Joomla!

Monatstreff für Menschen ab 50 Temporäre Dateien / Browserverlauf löschen / Cookies

Hochschule Darmstadt Fachbereich Informatik

Reporting Services und SharePoint 2010 Teil 1

Aktualisierung des Internet-Browsers

Leichte-Sprache-Bilder

Webentwicklung mit Mozilla Composer I.

Webseiten und Web-Apps grafisch gestalten mit HTML5 Canvas ohne Flash und sonstige Tools

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

TYPO3 CMS 6.2 LTS. Die neue TYPO3- Version mit Langzeit- Support

Die SPD und die Grünen machen im Niedersächsischen Landtag. Alle Menschen sollen in der Politik mitmachen können.

Lokale Installation von DotNetNuke 4 ohne IIS

> Mozilla Firefox 3. Browsereinstellungen optimieren. Übersicht. Stand Juli Seite. Inhalt. 1. Cache und Cookies löschen

Presse-Information

Wie funktioniert das WWW? Sicher im WWW

GuiXT und mysap ERP. Regensdorf, April 2004 Dr.Gerhard Rodé, Synactive GmbH

4D Server v12 64-bit Version BETA VERSION

Vitaminkapseln.ch - SEO Check

QTS. Qualitätssicherungs-Teileverfolgungs- System online. Benutzung der grafischen Oberfläche via Internetbrowser

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

ESB - Elektronischer Service Bericht

Entwicklung des Dentalmarktes in 2010 und Papier versus Plastik.

SANDBOXIE konfigurieren

Grundsätze für das Online-Marketing der TMB

Barrierefreies Web. Web-Sites so gestalten, dass jeder sie nutzen und lesen kann. Zielkonflikte: barrierefreies Web für kommerzielle Anbieter

Java Script für die Nutzung unseres Online-Bestellsystems

Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden.

Einbindung von Videos im ZMS

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller

8. Workshop - Internetarchivierung

Apps entwickeln mit HTML und Javascript

Online-Marketing. Zum Nachmachen empfohlen oder mehr Schein als Sein? Der Internetauftritt eine erfolgreiche Visitenkarte im www

FORGE2015 HDC Session 4. Nachhaltige Infrastruktur als technologische Herausforderung. Tibor Kálmán Tim Hasler Sven Bingert

Webalizer HOWTO. Stand:

Inhaltsverzeichnis. Hinweise zum Gebrauch des Buches... XIII. Teil I Grundlagen der Web-Programmierung

Herzlich willkommen im Modul Web-Engineering

Hilfe bei Adobe Reader. Internet Explorer 8 und 9

Internet Explorer Version 6

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Kleines Handbuch zur Fotogalerie der Pixel AG

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Tracking-Beispiele. Inhalt: Standard Tracking / Cookie Tracking Anchor-Tracking Direct Tracking Referer Tracking Tracking von Produkt-Feeds

Mehr Interaktion! Aber einfach und schnell!

Schlechte Internetseite

Let s book! Willkommen bei der neuen Veranstalter- Leichtigkeit. Willkommen bei bilettix!

Neue Arbeitswelten Bürokultur der Zukunft

Beispiel aus der Praxis

Warum Tables doof und Divs viel besser sind

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Ein mobiler Electronic Program Guide

Macher Solutions Produktinformation SAP Crystal Reports 2011

Loggen Sie sich in Ihrem teamspace Team ein, wechseln Sie bitte zur Verwaltung und klicken Sie dort auf den Punkt Synchronisation.

Anleitung über den Umgang mit Schildern

Selbst ist die Frau / der Mann: eine eigene Homepage erstellen!

Die Post hat eine Umfrage gemacht

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Lehrer: Einschreibemethoden

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Online Termine in die eigene Facebook Seite integrieren

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

DCCS Lotusphere Nachlese 2012 Was sind XPages? Mobile Features für XPages

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand:

Inhaltsverzeichnis. Hinweise zum Gebrauch des Buches... XIII. Teil I Grundlagen der Web-Programmierung

TYPO3 (Facett.Net Backend) 33

bagfa ist die Abkürzung für unseren langen Namen: Bundes-Arbeits-Gemeinschaft der Freiwilligen-Agenturen.

Das HMS-Reporting-Framework Schneller Zugang zu relevanten Reports

Sicherheit in Rich Internet Applications

Allgemeiner Leitfaden zum Einfügen suchmaschinenoptimierter Texte

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Internet online Update (Mozilla Firefox)

Studygroup AJAX 1 / 28. Studygroup AJAX. Christian Kroiß / 4A Solutions GmbH

INSTALLATIONSANLEITUNG

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

Transkript:

AJAX und Ruby on Rails Web-2.0-Kongreß 2006-10-10 Frankfurt (slightly updated for AWE12) Prof. Dr.-Ing. Carsten Bormann <cabo@tzi.org> 1

Was ist Web 2.0? (nach Paul Graham) (1) AJAX (2) Demokratie (Participation Control) (3) Ethik: Don t be evil 2

Übersicht } AJAX das Ende schwerfälliger Web-Schnittstellen } Herausforderungen bei der Entwicklung von AJAX- Anwendungen } Ruby on Rails die Entwicklungsumgebung der Wahl für Agile Web-Entwicklung } AJAX-Unterstützung in Rails 3

Umfrage: 4

Umfrage: } Wer hat schon etwas von AJAX gehört? 4

Umfrage: } Wer hat schon etwas von AJAX gehört? } Wer hat es schon ausprobiert? 4

Umfrage: } Wer hat schon etwas von AJAX gehört? } Wer hat es schon ausprobiert? } Wer hat schon ein Projekt damit durchgeführt? 4

The State of Web Development 2006/2007 Results Preview Source: The State of Web Development 2006/2007, SitePoint Pty Ltd. and Ektron, Inc., August 2006 http://www.sitepoint.com/launch/survey06/ Which technologies do you or your organization use in your current web projects? AJAX: Stand Juni/Juli 2006 5

The State of Web Development 2006/2007 Results Preview Source: The State of Web Development 2006/2007, SitePoint Pty Ltd. and Ektron, Inc., August 2006 http://www.sitepoint.com/launch/survey06/ Which technologies are you or your organization planning to use in your future web projects (next 12 months)? AJAX: Planung 12 Monate 6

Was ist AJAX? 7

Was ist AJAX? } Garrett: Asynchronous JavaScript and XML (2005-02-18) 7

Was ist AJAX? } Garrett: Asynchronous JavaScript and XML (2005-02-18) } 2006: Pizza Hefeteig (HTML) Käse (JavaScript) Tomaten (CSS) Oregano (XMLHttpRequest) Weitere Toppings Sardellen (XML) Salami (JSON) 7

Interaktionsmuster vor AJAX 8

Interaktionsmuster vor AJAX } Rein Client-seitig: DHTML (JavaScript) 8

Interaktionsmuster vor AJAX } Rein Client-seitig: DHTML (JavaScript) } Server-Zugriff: Abschicken (Link verfolgen, Formular abschicken) 8

Interaktionsmuster vor AJAX } Rein Client-seitig: DHTML (JavaScript) } Server-Zugriff: Abschicken (Link verfolgen, Formular abschicken) } Seite wird neu aufgebaut Im besten Fall wird der Fokus geeignet rekonstruiert 8

Interaktionsmuster vor AJAX } Rein Client-seitig: DHTML (JavaScript) } Server-Zugriff: Abschicken (Link verfolgen, Formular abschicken) } Seite wird neu aufgebaut Im besten Fall wird der Fokus geeignet rekonstruiert } Bruch im Interaktionsfluß 8

Interaktionsmuster vor AJAX } Rein Client-seitig: DHTML (JavaScript) } Server-Zugriff: Abschicken (Link verfolgen, Formular abschicken) } Seite wird neu aufgebaut Im besten Fall wird der Fokus geeignet rekonstruiert } Bruch im Interaktionsfluß } 1990er-Krücke: Frames starr Verlust wichtiger Web-Funktionen 8

Interaktion mit AJAX 9

Interaktion mit AJAX } Längeres Verbleiben auf einer Seite 9

Interaktion mit AJAX } Längeres Verbleiben auf einer Seite Extremfall: Single-Page Application 9

Interaktion mit AJAX } Längeres Verbleiben auf einer Seite Extremfall: Single-Page Application } Interaktionen mit dem Server finden im Hintergrund statt 9

Interaktion mit AJAX } Längeres Verbleiben auf einer Seite Extremfall: Single-Page Application } Interaktionen mit dem Server finden im Hintergrund statt AJAX: asynchronous 9

Interaktion mit AJAX } Längeres Verbleiben auf einer Seite Extremfall: Single-Page Application } Interaktionen mit dem Server finden im Hintergrund statt AJAX: asynchronous } Wichtige Funktionen sind in JavaScript programmiert 9

Interaktion mit AJAX } Längeres Verbleiben auf einer Seite Extremfall: Single-Page Application } Interaktionen mit dem Server finden im Hintergrund statt AJAX: asynchronous } Wichtige Funktionen sind in JavaScript programmiert AJAX: JavaScript 9

Interaktion mit AJAX } Längeres Verbleiben auf einer Seite Extremfall: Single-Page Application } Interaktionen mit dem Server finden im Hintergrund statt AJAX: asynchronous } Wichtige Funktionen sind in JavaScript programmiert AJAX: JavaScript } Server-Interaktion kann mit XML stattfinden 9

Interaktion mit AJAX } Längeres Verbleiben auf einer Seite Extremfall: Single-Page Application } Interaktionen mit dem Server finden im Hintergrund statt AJAX: asynchronous } Wichtige Funktionen sind in JavaScript programmiert AJAX: JavaScript } Server-Interaktion kann mit XML stattfinden AJAX: XML 9

Interaktion mit AJAX } Längeres Verbleiben auf einer Seite Extremfall: Single-Page Application } Interaktionen mit dem Server finden im Hintergrund statt AJAX: asynchronous } Wichtige Funktionen sind in JavaScript programmiert AJAX: JavaScript } Server-Interaktion kann mit XML stattfinden AJAX: XML AJA* wäre passender 9

Interaktion mit AJAX } Längeres Verbleiben auf einer Seite Extremfall: Single-Page Application } Interaktionen mit dem Server finden im Hintergrund statt AJAX: asynchronous } Wichtige Funktionen sind in JavaScript programmiert AJAX: JavaScript } Server-Interaktion kann mit XML stattfinden AJAX: XML AJA* wäre passender } Keine neuen Browser, Plugins,... 9

AJAX ist ein Rezept... 10

AJAX ist ein Rezept... }... keine genaue Liste von Zutaten 10

AJAX ist ein Rezept... }... keine genaue Liste von Zutaten } Asynchronität kann auf vielen Wegen erreicht werden XMLHttpRequest IFrames Cookies 10

AJAX ist ein Rezept... }... keine genaue Liste von Zutaten } Asynchronität kann auf vielen Wegen erreicht werden XMLHttpRequest IFrames Cookies } Datenformat muß nicht XML sein HTML JSON JavaScript! 10

AJAX ist ein Rezept... }... keine genaue Liste von Zutaten } Asynchronität kann auf vielen Wegen erreicht werden XMLHttpRequest IFrames Cookies } Datenformat muß nicht XML sein HTML JSON JavaScript! } Konstante: JavaScript 10

JavaScript: Die unterschätzte Sprache } Schlechter Leumund Jahrelanges inkompetentes Cut-and-Paste Fragwürdige Effekte Gestörte Barrierefreiheit } Tatsache: JavaScript ist eine der fünf führenden dynamischen Programmiersprachen } Hintergrund: Self, Smalltalk 11

Alte Fehler nicht wiederholen 12

Alte Fehler nicht wiederholen } Keine coolen Effekte bringt ein Effekt einen Nutzen in der Interaktionslogik? 12

Alte Fehler nicht wiederholen } Keine coolen Effekte bringt ein Effekt einen Nutzen in der Interaktionslogik? } Websites müssen auch ohne JavaScript funktionieren Unobtrusive JavaScript Zurückfallen auf Standard-HTML Barrierefreiheit 12

Alte Fehler nicht wiederholen } Keine coolen Effekte bringt ein Effekt einen Nutzen in der Interaktionslogik? } Websites müssen auch ohne JavaScript funktionieren Unobtrusive JavaScript Zurückfallen auf Standard-HTML Barrierefreiheit } Web-Funktionen müssen weiter funktionieren: Bookmarks und Permalinks; Suchmaschinen Zurück-Knopf 12

Alte Fehler nicht wiederholen } Keine coolen Effekte bringt ein Effekt einen Nutzen in der Interaktionslogik? } Websites müssen auch ohne JavaScript funktionieren Unobtrusive JavaScript Zurückfallen auf Standard-HTML Barrierefreiheit } Web-Funktionen müssen weiter funktionieren: Bookmarks und Permalinks; Suchmaschinen Zurück-Knopf } Es gibt noch wenig AJAX-Konventionen Benutzer brauchen mehr Führung! 12

AJAX-Entwicklung: nicht unproblematisch! } AJAX = Browser jenseits ihres Designs nutzen! Bugs Kompatibilitätsfragen (Mehrfachprogrammierung) } Abhilfe: JavaScript-Bibliotheken enthalten bereits die nötigen Browserspezifika werden kontinuierlich an neue Browser angepaßt } Führende JavaScript-Bibliotheken: Prototype/Script.aculo.us/Rico Dojo 13

Source: Ajaxian.com 14

Source: Ajaxian.com 14

15

AJAX vs. RIA } Rich Internet Application = Mehr als Web 1.0 } Java Applets: Naheliegend für Java-Anwender Komplexe Berechnungen, interaktive Grafik } Flash: sieht gut aus; ActionScript JavaScript Lösung der Wahl für Audio/Video-Bestandteile Integration mit Web nach wie vor nicht gut } AJAX kann diese (und andere) Richer Plugins integrieren 16

Rails in AJAX } MVC-Modell: AJAX wird auf View-Seite durch Helper unterstützt } Enge Integration mit Prototype und Script.aculo.us Die wichtigsten Aktionen und Effekte für AJAX-Websites sind da Links und Formulare; Observer und Updater; Visuelle Effekte } Neu in Rails 1.1: RJS Ruby-Notation für JavaScript-Programme JavaScript-Kenntnisse nur noch für Debugging erforderlich } Neu in Rails 3: Unobtrusive JavaScript... und freie Auswahl des JavaScript-Frameworks 17