SlideShare ist ein Scribd-Unternehmen logo
Advanced RIAs for the OpenWeb, or
       No Flash no more?

 Raju Bitter - RIA & Open Source Expert
     OpenLaszlo Committer - www.rajubitter.com




                                                 1
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
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
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
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
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
Einer der ersten Flash Filme




RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
                                                       7
Laszlo Dashboard (2003)




RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
                                                       8
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
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
Multi-Runtime Vision 2007




RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
                                                       11
Webbasierte Rich Apps




RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
                                                       12
OpenLaszlo DHTML Runtime




RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
                                                       13
Multi-Runtime Compiler




RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
                                                       14
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
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
Open Video / W3C - HTML 5




RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
                                                       17
CSS Drop Shadow Demo




RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
                                                       18
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
Kabelnetz & Internet USA




RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
                                                       20
Flash Entwicklung1996- 2002
                                                Die “Timeline”




RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
                                                                 21
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
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
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
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
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
Laszlo Webtop im Vergleich




RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
                                                       27
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
                                                       28
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
                                                       28
OpenLaszlo Adoption
Communication         Finance             Consumer Web   Government




 RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
                                                                      29
Alcatel-Lucent 5155 RCM




RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
                                                       30
RIAForum Basel 09 / Raju Bitter - www.rajubitter.com
                                                       31
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
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
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
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
OpenLaszlo - Open Source RIA for
         an OpenWeb

  Raju Bitter - RIA & Open Source Expert
      OpenLaszlo Committer - www.rajubitter.com




                                                  36

Weitere ähnliche Inhalte

Andere mochten auch

Tasmania的海洋04
Tasmania的海洋04Tasmania的海洋04
Tasmania的海洋04
anitachen
 
Tasmania的海洋05
Tasmania的海洋05Tasmania的海洋05
Tasmania的海洋05
anitachen
 
Internal Capabilitty In Training
Internal Capabilitty In TrainingInternal Capabilitty In Training
Internal Capabilitty In Training
imc
 
Carnaval De VinaròS ‘07
Carnaval De VinaròS ‘07Carnaval De VinaròS ‘07
Carnaval De VinaròS ‘07
hazelyxema
 
Creating Secure Applications
Creating Secure Applications Creating Secure Applications
Creating Secure Applications
guest879f38
 
2008年Tasmania之旅 Standly02
2008年Tasmania之旅 Standly022008年Tasmania之旅 Standly02
2008年Tasmania之旅 Standly02
anitachen
 
Tasmania的海洋06
Tasmania的海洋06Tasmania的海洋06
Tasmania的海洋06
anitachen
 
Vote now on our logo.....1, 2, 3, 4, or 5
Vote now on our logo.....1, 2, 3, 4, or 5Vote now on our logo.....1, 2, 3, 4, or 5
Vote now on our logo.....1, 2, 3, 4, or 5
John Bulloch
 
Carnaval De VinaròS ‘07
Carnaval De VinaròS ‘07Carnaval De VinaròS ‘07
Carnaval De VinaròS ‘07hazelyxema
 
Tasmania的海洋01
Tasmania的海洋01Tasmania的海洋01
Tasmania的海洋01
anitachen
 
Livinginagarbagetruck
LivinginagarbagetruckLivinginagarbagetruck
Livinginagarbagetruck
John Bulloch
 

Andere mochten auch (11)

Tasmania的海洋04
Tasmania的海洋04Tasmania的海洋04
Tasmania的海洋04
 
Tasmania的海洋05
Tasmania的海洋05Tasmania的海洋05
Tasmania的海洋05
 
Internal Capabilitty In Training
Internal Capabilitty In TrainingInternal Capabilitty In Training
Internal Capabilitty In Training
 
Carnaval De VinaròS ‘07
Carnaval De VinaròS ‘07Carnaval De VinaròS ‘07
Carnaval De VinaròS ‘07
 
Creating Secure Applications
Creating Secure Applications Creating Secure Applications
Creating Secure Applications
 
2008年Tasmania之旅 Standly02
2008年Tasmania之旅 Standly022008年Tasmania之旅 Standly02
2008年Tasmania之旅 Standly02
 
Tasmania的海洋06
Tasmania的海洋06Tasmania的海洋06
Tasmania的海洋06
 
Vote now on our logo.....1, 2, 3, 4, or 5
Vote now on our logo.....1, 2, 3, 4, or 5Vote now on our logo.....1, 2, 3, 4, or 5
Vote now on our logo.....1, 2, 3, 4, or 5
 
Carnaval De VinaròS ‘07
Carnaval De VinaròS ‘07Carnaval De VinaròS ‘07
Carnaval De VinaròS ‘07
 
Tasmania的海洋01
Tasmania的海洋01Tasmania的海洋01
Tasmania的海洋01
 
Livinginagarbagetruck
LivinginagarbagetruckLivinginagarbagetruck
Livinginagarbagetruck
 

Ähnlich wie OpenLaszlo - Advanced RIAs for the OpenWeb

Rich Internet Applications
Rich Internet ApplicationsRich Internet Applications
Rich Internet Applications
Oliver Belikan
 
FMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel MoréFMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel Moré
Verein FM Konferenz
 
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhone
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhoneWebapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhone
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhone
die.agilen GmbH
 
Webstandards auf dem Weg zu Standards im Mobilen Bereich
Webstandards auf dem Weg zu Standards im Mobilen BereichWebstandards auf dem Weg zu Standards im Mobilen Bereich
Webstandards auf dem Weg zu Standards im Mobilen BereichPeter Rozek
 
Rapid Deployment mit JomaSoft VDCF
Rapid Deployment mit JomaSoft VDCFRapid Deployment mit JomaSoft VDCF
Rapid Deployment mit JomaSoft VDCF
JomaSoft
 
Li So G Osci
Li So G OsciLi So G Osci
Li So G OsciCloudcamp
 
Browserbasiertes computing, RIA
Browserbasiertes computing, RIABrowserbasiertes computing, RIA
Browserbasiertes computing, RIAThomas Christinck
 
Thin, Rich und RIA Clients entwirrt -- und Faktoren, die Sie zum geeigneten C...
Thin, Rich und RIA Clients entwirrt -- und Faktoren, die Sie zum geeigneten C...Thin, Rich und RIA Clients entwirrt -- und Faktoren, die Sie zum geeigneten C...
Thin, Rich und RIA Clients entwirrt -- und Faktoren, die Sie zum geeigneten C...
Nikolaos Kaintantzis
 
Oracle Open World 2009 Review V1.6
Oracle Open World 2009 Review V1.6Oracle Open World 2009 Review V1.6
Oracle Open World 2009 Review V1.6
Torsten Winterberg
 
Wissenstechnologie 2007 - IX
Wissenstechnologie 2007 - IXWissenstechnologie 2007 - IX
Wissenstechnologie 2007 - IXpscheir
 
Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1
DNUG e.V.
 
Cloud Native Computing & DevOps
Cloud Native Computing & DevOpsCloud Native Computing & DevOps
Cloud Native Computing & DevOps
Aarno Aukia
 
TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014
TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014
TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014
die.agilen GmbH
 
DACHNUG50 MX_Workshop.pdf
DACHNUG50 MX_Workshop.pdfDACHNUG50 MX_Workshop.pdf
DACHNUG50 MX_Workshop.pdf
DNUG e.V.
 
20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge
Karin Patenge
 
Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core Applications
Robin Sedlaczek
 
FMK2018- Virtuelle Server Peter Schubert
FMK2018- Virtuelle Server Peter SchubertFMK2018- Virtuelle Server Peter Schubert
FMK2018- Virtuelle Server Peter Schubert
Verein FM Konferenz
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Niels de Bruijn
 
Enterprise JS
Enterprise JS Enterprise JS
Enterprise JS
Oliver Ochs
 
Technologievergleich für RIA
Technologievergleich für RIATechnologievergleich für RIA
Technologievergleich für RIA
Oliver Belikan
 

Ähnlich wie OpenLaszlo - Advanced RIAs for the OpenWeb (20)

Rich Internet Applications
Rich Internet ApplicationsRich Internet Applications
Rich Internet Applications
 
FMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel MoréFMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel Moré
 
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhone
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhoneWebapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhone
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhone
 
Webstandards auf dem Weg zu Standards im Mobilen Bereich
Webstandards auf dem Weg zu Standards im Mobilen BereichWebstandards auf dem Weg zu Standards im Mobilen Bereich
Webstandards auf dem Weg zu Standards im Mobilen Bereich
 
Rapid Deployment mit JomaSoft VDCF
Rapid Deployment mit JomaSoft VDCFRapid Deployment mit JomaSoft VDCF
Rapid Deployment mit JomaSoft VDCF
 
Li So G Osci
Li So G OsciLi So G Osci
Li So G Osci
 
Browserbasiertes computing, RIA
Browserbasiertes computing, RIABrowserbasiertes computing, RIA
Browserbasiertes computing, RIA
 
Thin, Rich und RIA Clients entwirrt -- und Faktoren, die Sie zum geeigneten C...
Thin, Rich und RIA Clients entwirrt -- und Faktoren, die Sie zum geeigneten C...Thin, Rich und RIA Clients entwirrt -- und Faktoren, die Sie zum geeigneten C...
Thin, Rich und RIA Clients entwirrt -- und Faktoren, die Sie zum geeigneten C...
 
Oracle Open World 2009 Review V1.6
Oracle Open World 2009 Review V1.6Oracle Open World 2009 Review V1.6
Oracle Open World 2009 Review V1.6
 
Wissenstechnologie 2007 - IX
Wissenstechnologie 2007 - IXWissenstechnologie 2007 - IX
Wissenstechnologie 2007 - IX
 
Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1
 
Cloud Native Computing & DevOps
Cloud Native Computing & DevOpsCloud Native Computing & DevOps
Cloud Native Computing & DevOps
 
TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014
TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014
TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014
 
DACHNUG50 MX_Workshop.pdf
DACHNUG50 MX_Workshop.pdfDACHNUG50 MX_Workshop.pdf
DACHNUG50 MX_Workshop.pdf
 
20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge
 
Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core Applications
 
FMK2018- Virtuelle Server Peter Schubert
FMK2018- Virtuelle Server Peter SchubertFMK2018- Virtuelle Server Peter Schubert
FMK2018- Virtuelle Server Peter Schubert
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)
 
Enterprise JS
Enterprise JS Enterprise JS
Enterprise JS
 
Technologievergleich für RIA
Technologievergleich für RIATechnologievergleich für RIA
Technologievergleich für RIA
 

OpenLaszlo - Advanced RIAs for the OpenWeb

  • 1. Advanced RIAs for the OpenWeb, or No Flash no more? Raju Bitter - RIA & Open Source Expert OpenLaszlo Committer - www.rajubitter.com 1
  • 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. 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. 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. 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. 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. Einer der ersten Flash Filme RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 7
  • 8. Laszlo Dashboard (2003) RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 8
  • 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. 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. Multi-Runtime Vision 2007 RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 11
  • 12. Webbasierte Rich Apps RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 12
  • 13. OpenLaszlo DHTML Runtime RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 13
  • 14. Multi-Runtime Compiler RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 14
  • 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. 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. Open Video / W3C - HTML 5 RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 17
  • 18. CSS Drop Shadow Demo RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 18
  • 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. Kabelnetz & Internet USA RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 20
  • 21. Flash Entwicklung1996- 2002 Die “Timeline” RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 21
  • 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. 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. 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. 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. 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. Laszlo Webtop im Vergleich RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 27
  • 28. RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 28
  • 29. RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 28
  • 30. OpenLaszlo Adoption Communication Finance Consumer Web Government RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 29
  • 31. Alcatel-Lucent 5155 RCM RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 30
  • 32. RIAForum Basel 09 / Raju Bitter - www.rajubitter.com 31
  • 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. 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. 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. 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. OpenLaszlo - Open Source RIA for an OpenWeb Raju Bitter - RIA & Open Source Expert OpenLaszlo Committer - www.rajubitter.com 36