openlaszlo - advanced rias for the openweb

37
Advanced RIAs for the OpenWeb, or No Flash no more? Raju Bitter - RIA & Open Source Expert OpenLaszlo Committer - www.rajubitter.com 1

Upload: raju-bitter

Post on 14-Jan-2015

1.941 views

Category:

Technology


0 download

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.

TRANSCRIPT

Page 1: OpenLaszlo - Advanced RIAs for the OpenWeb

Advanced RIAs for the OpenWeb, orNo Flash no more?

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

1

Page 2: OpenLaszlo - Advanced RIAs for the OpenWeb

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

Page 3: OpenLaszlo - Advanced RIAs for the OpenWeb

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

Page 4: OpenLaszlo - Advanced RIAs for the OpenWeb

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

Page 5: OpenLaszlo - Advanced RIAs for the OpenWeb

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

Page 6: OpenLaszlo - Advanced RIAs for the OpenWeb

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

Page 7: OpenLaszlo - Advanced RIAs for the OpenWeb

RIAForum Basel 09 / Raju Bitter - www.rajubitter.com

Einer der ersten Flash Filme

7

Page 8: OpenLaszlo - Advanced RIAs for the OpenWeb

RIAForum Basel 09 / Raju Bitter - www.rajubitter.com

Laszlo Dashboard (2003)

8

Page 9: OpenLaszlo - Advanced RIAs for the OpenWeb

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

Page 10: OpenLaszlo - Advanced RIAs for the OpenWeb

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

Page 11: OpenLaszlo - Advanced RIAs for the OpenWeb

RIAForum Basel 09 / Raju Bitter - www.rajubitter.com

Multi-Runtime Vision 2007

11

Page 12: OpenLaszlo - Advanced RIAs for the OpenWeb

RIAForum Basel 09 / Raju Bitter - www.rajubitter.com

Webbasierte Rich Apps

12

Page 13: OpenLaszlo - Advanced RIAs for the OpenWeb

RIAForum Basel 09 / Raju Bitter - www.rajubitter.com

OpenLaszlo DHTML Runtime

13

Page 14: OpenLaszlo - Advanced RIAs for the OpenWeb

RIAForum Basel 09 / Raju Bitter - www.rajubitter.com

Multi-Runtime Compiler

14

Page 15: OpenLaszlo - Advanced RIAs for the OpenWeb

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

Page 16: OpenLaszlo - Advanced RIAs for the OpenWeb

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

Page 17: OpenLaszlo - Advanced RIAs for the OpenWeb

RIAForum Basel 09 / Raju Bitter - www.rajubitter.com

Open Video / W3C - HTML 5

17

Page 18: OpenLaszlo - Advanced RIAs for the OpenWeb

RIAForum Basel 09 / Raju Bitter - www.rajubitter.com

CSS Drop Shadow Demo

18

Page 19: OpenLaszlo - Advanced RIAs for the OpenWeb

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

Page 20: OpenLaszlo - Advanced RIAs for the OpenWeb

RIAForum Basel 09 / Raju Bitter - www.rajubitter.com

Kabelnetz & Internet USA

20

Page 21: OpenLaszlo - Advanced RIAs for the OpenWeb

RIAForum Basel 09 / Raju Bitter - www.rajubitter.com

Flash Entwicklung1996- 2002Die “Timeline”

21

Page 22: OpenLaszlo - Advanced RIAs for the OpenWeb

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

Page 23: OpenLaszlo - Advanced RIAs for the OpenWeb

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

Page 24: OpenLaszlo - Advanced RIAs for the OpenWeb

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

Page 25: OpenLaszlo - Advanced RIAs for the OpenWeb

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

Page 26: OpenLaszlo - Advanced RIAs for the OpenWeb

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

Page 27: OpenLaszlo - Advanced RIAs for the OpenWeb

RIAForum Basel 09 / Raju Bitter - www.rajubitter.com

Laszlo Webtop im Vergleich

27

Page 28: OpenLaszlo - Advanced RIAs for the OpenWeb

RIAForum Basel 09 / Raju Bitter - www.rajubitter.com28

Page 29: OpenLaszlo - Advanced RIAs for the OpenWeb

RIAForum Basel 09 / Raju Bitter - www.rajubitter.com28

Page 30: OpenLaszlo - Advanced RIAs for the OpenWeb

RIAForum Basel 09 / Raju Bitter - www.rajubitter.com

OpenLaszlo Adoption

Communication Finance Consumer Web Government

29

Page 31: OpenLaszlo - Advanced RIAs for the OpenWeb

RIAForum Basel 09 / Raju Bitter - www.rajubitter.com

Alcatel-Lucent 5155 RCM

30

Page 32: OpenLaszlo - Advanced RIAs for the OpenWeb

RIAForum Basel 09 / Raju Bitter - www.rajubitter.com31

Page 33: OpenLaszlo - Advanced RIAs for the OpenWeb

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

Page 34: OpenLaszlo - Advanced RIAs for the OpenWeb

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

Page 35: OpenLaszlo - Advanced RIAs for the OpenWeb

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

Page 36: OpenLaszlo - Advanced RIAs for the OpenWeb

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

Page 37: OpenLaszlo - Advanced RIAs for the OpenWeb

OpenLaszlo - Open Source RIA for an OpenWeb

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

36