Ajax zum Projekteinsatz!
Projektvoraussetzungen Hardware / Software Für Deployment: Gute bis sehr gute Konnektivität Primär: Geringe Latenzzeit Sekundär: Hohe Bandbreite Für Entwicklung: Webserver DB Umgebung Typisch: Auch: Lamp (Linux Apache Mysql PHP) Wimp (Windows IIS Mysql PHP) Eventuell: Andere DB: SQL compliance und Skriptanbindung genügt Javaskript Debugger Editor Browser Anderer Server: Besser nicht wegen Stabilität und Sicherheit Anderes Skripting: EJB, JSP, ASP wenn es sein muß Firebug (sehr wichtige Ffox Erweiterung) JS / HTML / CSS Unterstützung sinnvoll Ffox sinnvoll für Erstentwicklung, da stabiler 2
Projektvoraussetzungen Know How: Technologie Vorkenntnisse in DB, SQL Gute Vorkenntnisse in Javascript, HTML, PHP Sehr gute Vorkenntnisse in DOM, CSS Know How: Konzepte Sehr gute Vorkenntnisse & Erfahrung in OO Patterns Sehr gute Praxis in statischer Grafik (GUI Design), und dynamischem Verhalten (Usability) Orgware Viel Geduld für eine längere Lernkurve in der Technologie Raum für Redesign-Phasen Die ersten Ajax Bücher erscheinen soeben Die ersten Toolkits sind in Version 0.3 Die Anwendungsmetaphern sind noch ungewohnt 3
AJAX IDE AJAX IDEs Integrate Development Environments
IDEs Unterstützung ist problematisch, da Große Bandbreite an Technologien (JS, HTML, CSS, XML, Server-side Teile, usw) JS kapselt schlecht, nicht ausreichend OO Relativ neue Technologie, unklar, wie zu unterstützen Wesentliches Element in Programmierung ist benutztes Toolkit Derzeit: Hohe Anzahl von (wenig ausgereiften) Toolkits Unklar, was sich durchsetzt und was in IDE zu unterstützen ist Erste Ansätze für IDEs Eclipse AJAX Tools Tibco GI Aptana 5
IDE Eclipse Ajax Tools Eclipse Erweiterung Editor für Javascript + HTML Syntax: Highlighting, Comment Toggeling, Src Formatting Validation: Verschiedene Stufen der Code-Validierung Assist: Namen von Variablen und Funktionen, Dokumentation Debugger für Javascript Operations: Pause, Resume, Step Into, Step Over, Step to Return, Terminate Breakpoints: In.js files, in HTML-embedded js, in linked js Files, in JSP files Views: Browser, Call Stack, Variables, Console Bezugsquelle: www.myeclipside.com Preis: Free trial, dann 50 $ 6
IDE IntelliJ IDEA (1) IDE primär für Java Support auch für HTML, CSS, Javascript, JSP, J2EE Editor: XML code completion gemäß DTD oder XSD XML Strukturansicht XML Validierung gegen DTD oder XSD Code formatting Usage highlighting g g Goto symbol, goto declaration, goto label 7
IDE IntelliJ IDEA (2) Refactoring: Extensive Unterstützung für Refactoring (in Java, JS, CSS, HTML) Rename von Funktion, Variable, Parameter oder Label Move und Copy von JS Dateien mit Nachführung von Referenzen Safe Delete: Kontrolle auf Projektintegrität bei Löschen von ggf. referenzierten Files Rename von CSS file, class Attribut, id Attribut Verschieben von HTML-inline: style in CSS file, script in JS file Bezugsquelle: Preis: www.jetbrains.com 0$ für OS Coders, bis 500$ für Commercial Lizenz 30 day free trial 8
Aptana Code Assis für JS, HTML, CSS Outliner für JS, HTML, CSS Error und warning Funktion für den Code Language support (Anzeige von TERMINALS) für Javascript, HTML, CSS; code autocomplete Integrierte Javascript Referenzdokumentation Integriertes realtime Help-Wiki Support für diverse Ajax Toolkits im Aufbau AFLAX, Dojo, JQuery, MochiKit, Prototype, Rico, script.aculo.us,yahoo UI Quelle: www.aptana.com Preis: OS 9
Ajax Toolkit Framework (1) Sehr empfehlenswertes Eclipse Plugin Läuft nur im Mozilla, da XULRunner engine genutzt Integration für Dojo, Zimbra, Rico Embedded Mozilla browser DOM browsing support via XULrunner engine DOM Inspector (Integrierte DOM element selection im Browser, tree-like DOM inspector und DOM Source Sicht mit Editmöglichkeit in allen 3 Sichten) CSS viewer und editor CSS editor in HTML Sicht eng integriert BOX model Sicht auf das CSS / HTML Box Model erleichtert Layout und dynamisches Placement von Elementen zur Design Zeit Javascript Debug support via XULrunner engine 10
Ajax Toolkit Framework (2) Weitere Features Syntax checking für JS XMLHttprequest Monitor zeigt Mthoden, URL, Status Code des Servers, verstrichene Zeit bis Antwort; zeigt ausführlich Inhalte von Request und Response Das ist auch in Firebug vorhanden! Browser Console zeigt Fehlermeldungen verlinkt direkt mit Verantwortlichen Teilen in der Source Personality Builder erlaubt Aufbau von spezifischen Frameworks, die mit beliebigen Ajax Toolkits interagieren können Quelle: www.eclipse.org/atf Preis: 0 $, OS Flash Demo zeigt Teile der Arbeitsweise 11
R.A.D Ajax Macht Standard ASP.NET Anwendung AJAX-fähig Eingeschränkt auf ASP.NET mit Visual Studio Ajax.Versionen von ASP.NET Komponenten Diese vollautomatisch transformiert Wird vermutlich durch M$ Entwicklungen überflüssig werden Wird sehr optimistisch beworben: "r.a.d.ajax you only have to drag-and-drop the AJAX Manager on the page tick the respective checkboxes in the dialog, and hit F5. You application is now AJAX-enabled" Quelle: www.telerik.com 12