Microsoft Powerpoint
Total Page:16
File Type:pdf, Size:1020Kb
XDEV Software Corp. – XDEV 2 - Visual Java Development Stand 102-104 Markus Stiegler, XDEV Software Corp. Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen Früher war alles einfacher Pascal Cobol Assembler C Basic Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen Heutzutage: 1000 Technologien für die Web-Entwicklung JavaFX AppletsJavaCSS GooglePerl GWT DOJO JSONJSF XML.NET Adobe Air t hh Flash ASP.NETJSP AJAX gg Python JavaScriptSVG Silverli Ruby on Rails on Ruby Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen Bekannteste Web-Frameworks Echo OpenEmcee Cassandra Cocoon Turbine Baritus Millstone Scope Stripes OXF Warfare Click Struts JWAA GWT SOFIA Jaffa Bento Tapestry Jacquard jStatemachine WebWork Macaw jZonic Spring Smile MVC MyFaces Canyamo Chiba Maverick JBanana JPublish Jeenius JATO JWarp Jucas Genie Verge Melati Niggle Dovetail Bishop Cameleon Barracuda JFormular Action Framework Xoplon Shocks Japple TeaServlet Helma wingS Dinamica Expresso WebOnSwing Nacho Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen Heutzutage: 1000 Technologien für die Web-Entwicklung Viele Entwickler und Projektleiter verlieren zwangsläufig völlig den Überblick. Entscheidungen sind daher schwer zu treffen. Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen Die Entwicklung von HTML Die Vielfalt an Web-Technologien liegt an der Entwicklungsgeschichte von HTML ... Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen Die Entwicklung von HTML HTML • Informationsaustausch zwischen Wissenschaftler • Texte strukturiert anzeigen • Grafiken einbinden • Verweise auf andere Dokumente per Hypertext Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen HTML-Erweiterungen 1995 • Formulare • JavaScript 1997 • Tabellen • Textfluss um Bilder • Einbindung von Java Applets 1997 • Frames • CSS Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen JavaScript Interaktivität für Webseiten • Effekte • Prüfung und Verarbeitung von Eingaben Merkmale • Syntax und Name an Java angelehnt • Objektorientierung möglich • Ausführung auf dem Client • Der Browser ist der Interpreter Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen CSS Vorteile • Formatierungen vom Content trennen • Formatierungen in externe Dateien auslagern Merkmale • Ausführung auf dem Client • Der Browser ist der Interpreter Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen Statische Webseiten HTML CSS JavaScript <HTML><HTML> CSS<HTML> JavaScript<HTML> <HTML><HTML> <HTML><HTML> <HTML><HTML> Internet Client Provider Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen Externe Inhalte nur mit Dynamischen Webseiten möglich <HTML> <Script> User- Beitrag Interpreter oder VM Internet Client Provider Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen Statische Webseiten Statische Webseiten • Bereits fertig geschriebene Datei(en) auf dem Webserver • Lediglich Interaktivität im Browser möglich mit JavaScirpt • Keine Einbindung externer Inhalte möglich, u.a. • Foren-Beiträge • aktualisierbare Artikelbestände in Shops • Social-Content … dann Schaubild „dynamische Webseiten zeigen“ … Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen Dynamische Webseiten Perl (www.perl.org) • Skriptsprache, teilweise OO • Schnelle und einfache Programmierung • Plattformunabhängig • Stärke bei Verbindung inkompatibler Software • Sehr viele Freiheiten bei der Programmierung • Anfangs De-facto Standard für die Web-Entwicklung • Allmählich von PHP verdrängt Nachteile: • Mangelnde Lesbarkeit des Codes • Zum Teil veraltete Konzepte, u.a. OO, Signaturen • Perl 6 Entwicklung dauert bereits 7 Jahre Perl.org | perl.de | perl-community.de Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen Dynamische Webseiten PHP (www.zend.com/de) • Skriptsprache, teilweise OO • Perl sehr ähnlich, gilt jedoch als einfacher • Plattformunabhängig • Open Source (GPL) • Bestandteil von LAMP und WAMP (z.B. XAMPP) • De-facto Standard bei Internet-Service-Providern • Große Community Nachteile: • Ungesteuert gewachsen • Viele Standard-Bibliotheken noch prozedural • Fehlendes Threading • Fehlende Möglichkeit zum Debuggen • Gilt als langsamer als Perl Apachefriends.org | zend.com/forums Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen Dynamische Webseiten ASP (www.asp.net) • Pendant zu Perl und PHP von Microsoft • Seit 2002 ASP.NET • Alle Möglichkeiten des .NET Frameworks, u.a. C#, J#, VB.NET • Fehler werden bereits beim Kompilieren sichtbar • Sehr gutes Debuggen möglich • Enorm viele Frameworks für Web-Entwicklung verfügbar (AJAX, UI) Nachteile: • .NET-Sprachen sind komplizierter als Perl und PHP • Microsoft Infrastruktur notwendig, u.a. WIN, Microsoft Application Server • Vergleichsweise geringes Web-Hosting Angebot ASP.net | aspnetzone.de/forums Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen Dynamische Webseiten Servlets • Java Programme auf dem Server • Alle Möglichkeiten der Programmiersprache Java • Compiler-Sprache (gute Fehlerbehandlung und Debugging) • Servlet-Engine notwendig, z.B. Tomcat, Glassfish, Websphere, Weblogic Nachteile: • Keine Unterstützung durch Standard -Hosting -Pakete – min. V -Server • Deutlich schwieriger als PHP http://java.sun.com/products/servlet Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen Dynamische Webseiten JSP (http://java.sun.com/products/jsp) • Basiert auf Java • Plattform-unabhängig • Sollte Servlet-Entwicklung erheblich erleichtern • JSP-Aktionen in statischem HTML (fertige Java Klassen in Tag-Libs) • Tag-Libs: JSTL, Jakarta, Struts • Alle Möglichkeiten von Java für eigene Tag-Libs • JSP Compiler generiert Java Code (Servlet), Java Compiler generiert Bytecode • Servlet-Engine notwendig, z.B. Tomcat, Glassfish, Websphere, Weblogic • Compiler-Sprache (gute Fehlerbehandlung und Debugging) Nachteile: • Keine Unterstützung durch Standard-Hosting-Pakete – min. V-Server • JSP enthält zahlreiche Java-Konzepte, daher wie ASP.NET schwerer erlernbar als PHP • AJAX nur mit JSF Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen Dynamische Webseiten Ruby (www.ruby-lang.org) • Vollständig objektorientierte Programmiersprache • In Japan so beliebt wie PHP in Europa • Ziel: Prinzip der „geringstmöglichen Überraschung“ • Compiler-Sprache (gute Fehlerbehandlung und Debugging) • Interpretiert durch eine Plattform-unabhängige VM • JRuby Interpreter für Java • IronRuby und Gardens Point Ruby.NET von Microsoft für Visual Studio und C# • Blue Ruby für ABAP von SAP Nachteile: • Nicht immer abwärtskompatibel Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen Nachteil dynamischer HTML-Seiten Keine konkurrenzfähigen Anwendungen möglich • Bei jeder Anfrage an den Server, u.a. Datenbankabfragen -> Laden einer völlig neuen Seite • Lange Wartezeiten • Flüssige Abläufe wie in Basic-, C++, Java- oder .NET Programmen nicht möglich Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen Anwendungen wie auf dem Desktop nur mit AJAX möglich Technik zur Datenübertragung • HTML für den Content • Document Object Model zur Beschreibung des Contents (DOM) • JavaScript Engine zur Manipulation des DOM • Datenübertragung asynchron per XMLHttpRequest • Daten in Form von XML, JSON, SOAP Vorteile: • Nachladen von Daten möglich • Deutlich weniger Daten insgesamt • Schnellere Ladezeiten • Einbinden der Daten in HTML ohne neuem Seitenaufbau • Flüssige Anwendungsabläufe möglich • Echte Software-Anwendungen in HTML möglich • Software weltweit über das Web verfügbar • Kein Browser-Plugin nötig Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen AJAX DOM <XML> <Script> User- Beitrag Interpreter oder VM DOM JavaScriptEngine Internet Client Provider Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen AJAX Problematiken • Sehr komplexe JavaScirpt Programmierung • Ständiger Abgleich des Client- und Server-DOM • Browser Zurück • Abbruch der Verbindung • Verzögerung von Requests • Polling-Problem (ständige Anfragen an den Server) und Ladezeit-Symbole • Browser bietet nur Standard -Controls, u.a. Buttons und Formular -Komponenten • GUI-Controls müssen in JavaScript programmiert werden • Beherrschen zahlreicher Technologien notwendig • Ausgabe: HTML / XHTML, CSS, JavaScript • Serverseitige Verarbeitung: PHP / ASP.NET / JSP / Java • Datenformate: XML / JSON • Browser-Inkompatibilitäten Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen Frameworks erleichtern die AJAX-Entwicklung enorm Lösungen • AJAX-Frameworks zur Generierung der AJAX-Funktionalität für alle wichtigen Programmier- und Scriptsprachen • JavaScript UI-Frameworks für Oberflächen-Controls Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen AJAX-Frameworks – UI-Controls DOJO • Open Source JavaScript Bibliothek • Alle Standard UI-Controls • Dynamische Diagramme • Kalenderfunktion • Rich-Text-Editor • 2D-Vektorgrafik, Animationseffekte • Widgets für barrierefrei Webseiten • Entwicklung eigener Controls möglich • AJAX-fähig • Integriert in Zend Framwork • Unterstützt von IBM, Sun, AOL • Dokumentation hinkt hinterher www.dojotoolkit.org -> see in Action -> DojoMail, evt. Feature Explorer Web-Technologien - Überblick, Vor- und Nachteile, Entscheidungshilfen AJAX-Frameworks – UI-Controls Yahoo! UI Library • Open Source JavaScript Bibliothek • Alle Standard UI-Controls • BSD-Lizenz • Viele