OpenLaszlo - Advanced RIAs for the OpenWeb

2,211 views

Published on

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.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,211
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

OpenLaszlo - Advanced RIAs for the OpenWeb

  1. 1. Advanced RIAs for the OpenWeb, or No Flash no more? Raju Bitter - RIA & Open Source Expert OpenLaszlo Committer - www.rajubitter.com 1
  2. 2. Zu meiner Person • RIA Entwicklung seit 2004 • 2006-2007 Laszlo Systems Technology Evangelist • OpenLaszlo Committer • RIA Themen: OpenLaszlo, Flex,Video, Ajax, JavaFX, WebTV, • Open Source Evangelist RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 2
  3. 3. 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 RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 3
  4. 4. 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, ... RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 4
  5. 5. 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 RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 5
  6. 6. 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 RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 6
  7. 7. Einer der ersten Flash Filme RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 7
  8. 8. Laszlo Dashboard (2003) RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 8
  9. 9. 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 RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 9
  10. 10. 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) RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 10
  11. 11. Multi-Runtime Vision 2007 RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 11
  12. 12. Webbasierte Rich Apps RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 12
  13. 13. OpenLaszlo DHTML Runtime RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 13
  14. 14. Multi-Runtime Compiler RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 14
  15. 15. 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) RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 15
  16. 16. 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 RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 16
  17. 17. Open Video / W3C - HTML 5 RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 17
  18. 18. CSS Drop Shadow Demo RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 18
  19. 19. 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 RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 19
  20. 20. Kabelnetz & Internet USA RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 20
  21. 21. Flash Entwicklung1996- 2002 Die “Timeline” RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 21
  22. 22. 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 RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 22
  23. 23. Webservice Integration • XML Datasets (HTTP) • SOAP (OpenLaszlo Proxy Server) • JavaRPC • JSON • RTMP, AMF0 und AMF3 (Flash Protokolle) • HTML5 Sockets (ab OpenLaszlo 5.0) RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 23
  24. 24. Klassen, Interfaces, Mixins • Klassen, Methoden, Scripting <class name=”myBox” extends=”view”... • Modularisierung, Bibliotheken <library> </library> <include href=”chatclient.lzx” /> • JavaScript 2 Syntaxunterstützung mixin DrawviewShared { ... } class $lzc$class_drawview extends LzView with DrawviewShared {... RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 24
  25. 25. JavaScript - ActionScript 2&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"; JavaScript this.getMCRef().firstChild.style.overflow = "visible"; this.getMCRef().firstChild.style.clip = ""; DHTML 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, ActionScript 3 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 ActionScript 2 if ($as2) { this.sprite.removeMask(); } updateSWFFilter(); } RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 25
  26. 26. 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 RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 26
  27. 27. Laszlo Webtop im Vergleich RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 27
  28. 28. RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 28
  29. 29. RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 28
  30. 30. OpenLaszlo Adoption Communication Finance Consumer Web Government RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 29
  31. 31. Alcatel-Lucent 5155 RCM RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 30
  32. 32. RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 31
  33. 33. 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 RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 32
  34. 34. 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 RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 33
  35. 35. Corporate Sponsors • Laszlo Systems Hauptsponsor • g.ho.st - Global Hosted Operating System • IBM • Offen für weitere Sponsoren RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 34
  36. 36. 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 RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 35
  37. 37. OpenLaszlo - Open Source RIA for an OpenWeb Raju Bitter - RIA & Open Source Expert OpenLaszlo Committer - www.rajubitter.com 36

×