eclipsist2009 rich client roundup

24
Copyright © 2009 eteratio a.s. Rich Internet Application Platforms Roundup

Upload: murat-yener

Post on 14-Jan-2015

1.133 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

Rich Internet Application Platforms Roundup

Page 2: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

Internet is changing... so do the clients

Internet Connection getting faster and stable. Client computers getting more advanced. Expectations getting more in terms of interactions, design and usability Ajax was a great start but can not drive the change. Cross Browser and Cross OS compability getting more important Ruby and scripting platforms encourage fast and agile development

Page 3: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

Ajax&HTML is not the only alternative

Adobe's Flex became very mature, version 4 is in development stage. Microsoft's Silverlight is catching up with version 2. JavaFx is still in early phase but very promising. Eclipse became the development platform for all. Even Microsoft is moving to eclipse.

Page 4: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

Adobe's Flex

Flex had been on eclipse since version 2 just after the acquisition of Macromedia by Adobe.

Flex SDK is open source since version 3. (not including the eclipse plugin)

A subset of Flex Live Services is also open sourced and available for free under name of BlazeDS

Flex SDK and Builder version 4 is in pre release stage. Flex is much more stable than all competitors, thanks to flash runtime

and previous versions. Learning curve of ActionScript is easy for Java Developers. Data services offer Remoting capabilities with Java and very fast. Wide variety of commercial and open source libraries (including Google's

flexlib and Yahoo's astra) and design templates are available. Great integration with Flash. Ease of Design with Flash Catalyst (formerly called Thermo)

Page 5: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

Flex Code Example

Page 6: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

What's new with Flex4

• Design in Mind: provide a framework meant for continuous collaboration between designer and developer.

• Developer Productivity: improve compiler performance and add productivity enhancements to language features like data binding

• Framework Evolution: take advantage of new Flash Player capabilities and add features required by common use-cases

Page 7: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

FXG 1.0 anXML-based graphics interchange format for the Flash Platform• Fills the gap between Flash and Flex.• Graphic objects, Symbols, Raster Effects, Text and Fonts• Rendering, Painting, Clipping, Masking and Object Opacity• Basic Data Types; angle, length, percentage, coordinate• Document Structure• Coordinate Space Transformations• FXG Paths; moveto, lineto, curve• FXG Fills, Strokes, Visibility and Blend Modes

http://opensource.adobe.com/wiki/display/flexsdk/FXG+1.0+Specification

Page 8: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

Gumbo Skinning (including SkinnableComponent)

http://opensource.adobe.com/wiki/display/flexsdk/Gumbo+Skinning

Page 9: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

MXML 2009Flex 3 Gumbo

xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:fx="http://ns.adobe.com/mxml/2009"<mx:Binding> <fx:Binding><mx:Component> <fx:Component><mx:Metadata> <fx:Metadata><mx:Model> <fx:Model><mx:Repeater> <fx:Repeater><mx:Script> <fx:Script><mx:Style> <fx:Style>N/A <fx:Declarations>N/A <fx:Definition>N/A <fx:DesignLayer>N/A <fx:Library>N/A <fx:Private>N/A <fx:Reparent><mx:Array> <fx:Array><mx:Boolean> <fx:Boolean><mx:Class> <fx:Class><mx:Date> <fx:Date><mx:Function> <fx:Function><mx:int> <fx:int><mx:Number> <fx:Number><mx:String> <fx:String><mx:uint> <fx:uint>N/A <fx:Vector><mx:XML> <fx:XML><mx:XMLList> <fx:XMLList>

http://opensource.adobe.com/wiki/display/flexsdk/MXML+2009

Page 10: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

Two-way Data Binding

http://opensource.adobe.com/wiki/display/flexsdk/Two-way+Data+Binding

Page 11: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

Others...• ASDoc in MXML• Gumbo DOM Tree API • CSS Advanced Selectors• Group• Layout• Viewport• Application• Scroller• Text Primitives (TextBox, TextGraphic, and TextView)• FxTextInput• FxTextArea• ScrollBar• Range• TrackBase• Slider• Spinner• NumericStepper

Page 12: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

More Advanced...

• Pixel Bender Integration• Arbitrary Type Interpolation• New Effects for Components and Graphics• 3D Effects Support• Effect Interruption and Reversal• Shader Based Bitmap Effects• Notes on Compiler Performance Improvements• Spark DropDownList (added 3/25/09)• Flex Component Kit for Flash (added 3/25/09)• Virtualization (added 3/30/09)• CSS Namespaces Support (added 4/01/09)

http://opensource.adobe.com/wiki/display/flexsdk/Gumbo#Gumbo-DocumentsandSpecifications

Page 13: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

Microsoft's Silverlight

Silverlight 1.0 came with lack of components and a stable IDE. Silverlight 1.0 did not hava own scripting language and was tightly

coupled with JavaScript As with version 2 Silverlight SDK has more components. Again with version 2 C# scripts can be used in Silverlight. Good interaction with .net projects. Not open source. Eclipse plugin is a good step but still need external editors such as Blend

for animation and advanced design. No Debugging Code assist not complete yet. Runtime is getting spread fast with windows updates.

Page 14: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

Silverlight Code Example

Page 15: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

What's new with Silverlight 2

• Version 2 lets you write VB.NET or C# code that will run in Internet Explorer, FireFox, and Safari which means you don't have to use JavaScript any longer

• Controls; core form controls (TextBox, CheckBox, RadioButton, etc), built-in layout management panels (StackPanel, Grid, Panel, etc), common functionality controls (Slider, ScrollViewer, Calendar, DatePicker, etc), and data manipulation controls (DataGrid, ListBox, etc). PasswordBox, ComboBox (non-editable), MessageBox and ProgressBar. Updated look and feel for controls.

• Support for popping up windows; HtmlPage.PopupWindow API

• Resources; Color, FontFamily, TextAlignment... etc

Page 16: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

More with version 2...

• Networking Support: support for calling REST, WS*/SOAP, POX, RSS, and standard HTTP services. It supports cross domain network access (enabling Silverlight clients to directly access resources and data from resources on the web). Also includes built-in sockets networking support.

• Rich Base Class Library: collections, IO, generics, threading, globalization, XML, local storage, etc. Includes rich APIs that enable HTML DOM/JavaScript integration with .NET code. It also includes LINQ and LINQ to XML library support, as well as local data caching and storage support.

• Silverlight 2 does not require the .NET Framework to be installed on a computer in order to run. The Silverlight setup download includes everything necessary to enable all the above features. Silverlight 2 is 4.3MB in size

Page 17: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

Silverlight on Eclipse!

• The plug-in is being developed by Soyatec with funding, architectural guidance, and project management from Microsoft's Interoperability Team

• Java Development Kit (JDK) 1.5.0-11 or higher

• Eclipse Ganymede 3.4.1• Microsoft .NET® Framework 3.5• Silverlight 2 Runtime 2.0.31005.0 or higher• Silverlight 2 SDK• No debugger yet, but one is planned by

summer.• Doesn't yet work on 64-bit or any OS other

than windows.

Page 18: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

JavaFX

Did Sun get the lessons in applets or is it just Applets 2.0 Consumer JRE is a great step for ease of JRE installment. Applets and WebStart are mature tecnologies supporting JavaFx Eclipse plugin is finally available. The eclipse plugin is not very stable and functional yet Lack of components when compared to Flex and Silverlight. By use of wrappers all Java libraries available from Swing to RMI. Java Developers feel safer to stay in the same environment. Coding style differs from Flex and Silverlight. While competitors are built

on XML, JavaFx code style looks like a CSS file. Still version 1. Needs improvements. Open sourcing the SDK may boost the evolution process.

Page 19: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

JavaFX Code Sample

Page 20: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

What JavaFx Offers

• http://javafx.com/ A good site full of tutorials and sample applications.• Runs on widely accepted and stable JRE• Easy to install or update Runtime.• Production Suite;

– JavaFX Media Factory (SVG Importer/Transcoder)

– JavaFX Plugin for Adobe Photoshop

– JavaFX Plugin for Adobe Illustrator

• JavaFx Mobile with version 1.1• Mostly open sourced• Good integration with Java• Whole JRE and Java libraries available to use (with wrappers); RMI,

sockets, swing... etc• Different launch methods supported either as applet or WebStart• Eclipse Plugin available...

Page 21: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

What JavaFx can't offer

• New platform, same Sun... Where is javafx.ui.* package...http://www.flexjava.org/2009/03/javafx-new-platform-same-sun.html

• Does not offer new shinny UI components.• Lack of components, development left to community.• Not as mature as Flex or even Silverlight.• Eclipse plugin does not offer code assist and debugging

Page 22: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

Coding the Rich Client

One Eclipse installiation to rule them all...Lets code..

Page 23: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

Thank You..

Murat [email protected]

www.flexjava.org

Yunus [email protected]

www.flexjava.org

Page 24: Eclipsist2009 Rich Client Roundup

Copyright © 2009 eteration a.s.

Resources

• http://www.flexjava.org• http://www.javafx.com• http://opensource.adobe.com/wiki/display/flexsdk