View
1.943
Download
0
Category
Tags:
Preview:
DESCRIPTION
Presentation of OpenLaszlo at the 2009 RIAForum in Basel/Switzerland. Focusing on how OpenLaszlo - with the Flash and Ajax support - can be an enabler for open web and open standards (HTML5 + CSS3) based RIAs.
Citation preview
Advanced RIAs for the OpenWeb, orNo Flash no more?
Raju Bitter - RIA & Open Source ExpertOpenLaszlo Committer - www.rajubitter.com
1
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
Zu meiner Person
• RIA Entwicklung seit 2004
• 2006-2007 Laszlo SystemsTechnology Evangelist
• OpenLaszlo Committer
• RIA Themen: OpenLaszlo, Flex, Video, Ajax, JavaFX, WebTV,
• Open Source Evangelist
2
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
Was Sie heute lernen
• Warum wurde OpenLaszlo entwickelt?
• Wie funktioniert OpenLaszlo?
• Wo liegen Stärken und Schwächen?
• Wer nutzt OpenLaszlo - und warum
• OpenLaszlo und Open Web - Open Standards, HTML 5, CSS 3 und RIAs
• Die Zukunft von OpenLaszlo
3
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
OpenLaszlo 2004 - 2009
• Gestartet als kommerzielles Produkt, Entwicklung seit 2002
• Open-Sourcing im Oktober 2004 (Adobe Flex folgte 2007)
• Mehr als 650,000 Downloads
• Verwendet von IBM, Alcatel-Lucent, Walmart, Fnac, Monster.com, g.ho.st, MIT, U.S. Airforce, Verizon Wireless, Cox, ...
4
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
OpenLaszlo - warum Flash?
• Das Internet im Jahr 2001/2002: Flash ist einzige weitverbreitete Technologie für Pixel-Perfect Rendering auf allen Browsern
• Multimediaunterstützung (MP3 und Video)
• Fehlende Unterstützung von JavaScript in Browsern, Ajax noch unbekannt
• CSS bietet keine Unterstützung für die Entwicklung von Applikationsoberflächen
5
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
F(uture Sp)lash Historie
• Ursprünglich FutureSplash (1995)
• Macromedia kauft die Technologie,ab Dezember 1996 als Flash
• Flash 4 (1999) mit MP3 Streaming
• Flash 5 (2000) mit ActionScript 1.0,XML, SmartClips
• Flash 6 (2002): Video (Sorenson Spark), UI Komponenten, Unicode, Drawing-API
• Flash 9 (2007, Adobe) ActionScript3
6
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
Einer der ersten Flash Filme
7
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
Laszlo Dashboard (2003)
8
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
OpenLaszlo SWFx Runtime
• Volle Unterstützung von SWF8 und ActionScript 2
• Volle Unterstützung von SWF9 und ActionScript 3 sowie einbindung von SWIC
• Alpha-Unterstützung von Flash 10
• Zugriff auf AS2 und AS3 API aus LZX
• Webcam, Microphone, Fullscreen, Videostreaming
9
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
DHTML Runtime
• Die Idee: Write once, run within many virtual machines or scripting engines!
• Proof-of-concept vorgestellt im März 2006
• Release der ersten Multi-Runtime Version von OpenLaszlo 4.0 im März 2007
• Laszlo Webtop läuft jetzt auch mit der DHTML Runtime (1.2 mb JavaScript)
10
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
Multi-Runtime Vision 2007
11
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
Webbasierte Rich Apps
12
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
OpenLaszlo DHTML Runtime
13
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
Multi-Runtime Compiler
14
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
JS VM Performanceexplosion
• Webkit (Basis für Safari, Adobe AIR, Google Chrome, Nokia S60-Webkit, u.a.)
• Firefox SpiderMonkey mit Adobes Tamarin JavaScript Engine (TraceMonkey)
15
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
HTML5 und CSS 3
• Open Web RIAs oder RIA 2.0
• Multimedia Unterstützung ohne Plugins
• Filter, Effekte, 3d Transformation
• Canvas, DrawingAPI, Pixel & Image Manipulation
• Local Storage (SQL)
• Desktop Drag & Drop Integration
16
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
Open Video / W3C - HTML 5
17
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
CSS Drop Shadow Demo
18
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
Die LZX Sprache
• Eine neue Programmiersprache für eine neue Art von Anwendungen
• Basiert auf Erfahrungen mit Breitband Internetanwendungen im Kabelnetz (TeleTV, Excite, @home)
• Lösung für Probleme bei der Umsetzung von Flash Prototypen durch ein Team von Softwareingenieuren
• Best-Practices der traditionallen Softwareentwicklung umsetzbar
19
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
Kabelnetz & Internet USA
20
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
Flash Entwicklung1996- 2002Die “Timeline”
21
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
XML-JavaScript für Apps?
• Eine der weltweit ersten Sprachen für die XML/JavaScript basierte Entwicklung von Anwendungen (keine Dokumente!)
• Ähnliche Sprachen: Mozilla/XUL, MXML, XAML, JavaFX Script
• Deklarativer Ansatz verringert den Programmcode um ca. 70%
• Instanz-basierter Entwicklungsansatz
22
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
Webservice Integration
• XML Datasets (HTTP)
• SOAP (OpenLaszlo Proxy Server)
• JavaRPC
• JSON
• RTMP, AMF0 und AMF3 (Flash Protokolle)
• HTML5 Sockets (ab OpenLaszlo 5.0)
23
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
Klassen, Interfaces, Mixins
• Klassen, Methoden, Scripting<class name=”myBox” extends=”view”...
• Modularisierung, Bibliotheken<library> </library><include href=”chatclient.lzx” />
• JavaScript 2 Syntaxunterstützungmixin DrawviewShared { ... }class $lzc$class_drawview extends LzView with DrawviewShared {...
24
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
JavaScript - ActionScript 2&3
JavaScriptDHTML
ActionScript 3
if ($dhtml) { // lz.text clipping active, which would cut off the shadow in DHTML // Workaround for http://jira.openlaszlo.org/jira/browse/LPP-8415 this.getMCRef().style.overflow = "visible"; this.getMCRef().firstChild.style.overflow = "visible"; this.getMCRef().firstChild.style.clip = ""; this.cssCalculateOffset(); var cssString = "#333 "+ __xoffset +"px "+ __yoffset+"px "+ blurx + "px"; this.getMCRef().style.textShadow = cssString;} else if ($as2 || $as3){
this.shadowfilter = new flash.filters.DropShadowFilter(this.distance, this.angle, 0x333333, 0.95, this.blurx, this.blury, 1, 2, false, false, false); // Have to remove mask on sprite for SWF8 runtime // Workaround for http://jira.openlaszlo.org/jira/browse/LPP-8426 if ($as2) { this.sprite.removeMask(); } updateSWFFilter();}
ActionScript 2
25
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
Laszlo Webtop
• Unified Frontend für applikationsübergreifende Konvergenz
• Integration mehrerer RIAs im Browser - Applikationen können interagieren
• Service-Integration auf Userebene (SmartObjects)
• Interaktion statt Aggregation und Präsentation
• Single-sign on: seamless user-facing experience
• Medien- und Datenkonvergenz
• Carried-grade Unified Communication Portal
• Branding, Styling und Skinning wird unterstützt
26
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
Laszlo Webtop im Vergleich
27
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com28
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com28
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
OpenLaszlo Adoption
Communication Finance Consumer Web Government
29
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
Alcatel-Lucent 5155 RCM
30
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com31
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
Positionierung von OpenLaszlo
• Kein “Poor-man’s Flex” - Multi-Runtime Framework für komplexe RIAs
• Open-Web Enabler - Soft-Migration von Flash RIAs zu W3C Open Standard RIAs
• Mobile Runtimes - offen oder kommerziell
• Silverlight, SVG oder andere Runtime
32
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
Wo liegen Schwächen?
• Schwacher Tool-Support, keine wirklich gute IDE
• Keine standardisierte Backendintegration, wie z.B. bei GWT
• Komponenten veraltet - neue Komponenten erst Anfang 2010
• Entwicklercommunity relativ klein
• Komplexität durch Mischung von JS und AS
33
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
Corporate Sponsors
• Laszlo Systems Hauptsponsor
• g.ho.st - Global Hosted Operating System
• IBM
• Offen für weitere Sponsoren
34
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
Runtime Development
• Sponsoring und Custom-Entwicklung von Runtimes oder Runtime Features
• Proof-of-Concept für J2ME Runtime mit Sun (2007, JavaONE)
• Aufwand für zusätzliche Runtime (z.b. Silverlight): 2 - 3 Mannjahre
• Seit OpenLaszlo 4.2 (SWF9 support) Kernel optimiert für weitere Runtimes
35
OpenLaszlo - Open Source RIA for an OpenWeb
Raju Bitter - RIA & Open Source ExpertOpenLaszlo Committer - www.rajubitter.com
36
Recommended