Adobe is from Mars, Microsoft is from Uranus. A look at two competing web stacks


Published on

Here is the powerpoint for the mega session given by Jun Heider and Eric Fickes at 360Flex 2010 at eBay Headquarters in San Jose, CA.

This talk was a technical comparison of the latest production offerings from Adobe and Microsoft in the Rich Internet Application space. Eric and Jun built a web based video player application using Adobe Flex, and Microsoft's Silveright. Then to add life, backend data services where created using Adobe's Coldfusion 9, and Microsoft's WCF, part of the .NET Framework.

presentation resource download page :

200 - Jun Heider - Adobe is from Mars,
Microsoft is from Uranus: A View from
the Client

200 - Eric Fickes - Adobe is from Mars,
Microsoft is from Uranus: A View from
the Server

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Adobe is from Mars, Microsoft is from Uranus. A look at two competing web stacks

  1. 1. Adobe is from Mars, Microsoft is from Uranus <ul><li>Jun Heider, esq. & Dr. Eric Fickes </li></ul>
  2. 2. Who we are <ul><li>Jun Heider </li></ul><ul><ul><li>Web: </li></ul></ul><ul><ul><li>Email: </li></ul></ul><ul><ul><li>Twitter: @coderjun </li></ul></ul><ul><li>Eric Fickes </li></ul><ul><ul><li>Twitter: @ericfickes </li></ul></ul>
  3. 3. What to expect <ul><li>Flex talk @ 200 level </li></ul><ul><li>Silverlight/MS talk @ 100 level </li></ul><ul><li>Fuzzy comparison between Flex v3 and v4 and Silverlight v3 and v4 </li></ul>
  4. 4. BACKGROUND <ul><li>Runtimes </li></ul>
  5. 5. Runtimes <ul><li>Flash Player </li></ul><ul><li>Version 10 Release (10.1 in beta) </li></ul><ul><li>Runtime installer size: </li></ul><ul><ul><li>Windows: ~1.8 MB (v10) </li></ul></ul><ul><ul><li>Mac: ~5.7 MB (v10) </li></ul></ul><ul><li>Market Penetration: </li></ul><ul><ul><li>90%+ </li></ul></ul><ul><li>Silverlight </li></ul><ul><li>Version 3 Release (4 in beta) </li></ul><ul><li>Runtime installer size: </li></ul><ul><ul><li>Windows: ~4.7 MB (v3) </li></ul></ul><ul><ul><li>Mac: ~8.7 MB (v3) </li></ul></ul><ul><li>Market Penetration: </li></ul><ul><ul><li>50%+ </li></ul></ul>
  6. 6. Runtimes <ul><li>Flash Player </li></ul><ul><li>Backward compatible all the way back to the first version </li></ul><ul><li>JIT compiler since version 9. </li></ul><ul><li>Runs SWF files </li></ul><ul><li>Silverlight </li></ul><ul><li>Silverlight 3 player not backward compatible with previous content. </li></ul><ul><li>Silverlight 4 player will be backward compatible with version 3. </li></ul><ul><li>JIT compiler coming with version 4. </li></ul><ul><li>Runs XAP files </li></ul>
  7. 7. BACKGROUND <ul><li>Languages </li></ul>
  8. 8. Languages <ul><li>Flex </li></ul><ul><li>MXML </li></ul><ul><li>ActionScript </li></ul><ul><li>Silverlight </li></ul><ul><li>XAML (Extensible Application Markup Language) </li></ul><ul><li>.NET </li></ul><ul><ul><li>C# </li></ul></ul><ul><ul><li>VB.NET </li></ul></ul><ul><ul><li>IronRuby </li></ul></ul><ul><ul><li>IronPython </li></ul></ul>
  9. 9. BACKGROUND <ul><li>Tooling/Workflow </li></ul>
  10. 10. Tooling/Workflow <ul><li>Flex Platform </li></ul><ul><li>Adobe Photoshop/Illustrator/Fireworks </li></ul><ul><li>Adobe Flash Catalyst ( beta for Flex 4 ) </li></ul><ul><li>Flash Builder </li></ul><ul><li>OR Some text editor + Flex SDK for FREE </li></ul><ul><li>Silverlight Platform </li></ul><ul><li>Adobe Photoshop/Illustrator </li></ul><ul><li>Sketchflow </li></ul><ul><li>Expression Blend </li></ul><ul><li>Visual Studio 2008 sp 1 + </li></ul><ul><li>OR Visual Web Developer Express + Silverlight SDK for FREE </li></ul>
  11. 11. Tooling/Workflow <ul><li>Flex Platform </li></ul><ul><li>Flex 4: Round trip between Adobe Photoshop/Illustrator and Flash Catalyst </li></ul><ul><li>Flex 4: One way from Flash Catalyst to Flash Builder (Out of the box) </li></ul><ul><li>Use the main dev tools on Windows and Mac </li></ul><ul><li>Silverlight Platform </li></ul><ul><li>Round trip between Expression Blend and Visual Studio </li></ul><ul><li>Use the main dev tools on Windows only … </li></ul>
  12. 12. DEMONSTRATION <ul><li>Tooling/Workflow </li></ul>
  13. 13. BACKGROUND <ul><li>SDK/Features </li></ul>
  14. 14. Components <ul><li>Flex Platform </li></ul><ul><li>Extensive </li></ul><ul><li>Access to Source Code </li></ul><ul><li>Good Number of 3 rd Party </li></ul><ul><li>Silverlight Platform </li></ul><ul><li>Extensive </li></ul><ul><li>Access to Source Code </li></ul><ul><li>Good Number of 3 rd Party </li></ul>
  15. 15. Features <ul><li>Flex Platform </li></ul><ul><li>Data Binding </li></ul><ul><li>Event Handling </li></ul><ul><li>Layout </li></ul><ul><li>Navigation ( View states, View Stacks) </li></ul><ul><li>Controls </li></ul><ul><li>DataGrid </li></ul><ul><li>Data Visualization </li></ul><ul><li>Styling </li></ul><ul><li>Silverlight Platform </li></ul><ul><li>Data Binding </li></ul><ul><li>Event Handling </li></ul><ul><li>Layout </li></ul><ul><li>Navigation (Silverlight Navigation Framework) </li></ul><ul><li>Controls </li></ul><ul><li>DataGrid </li></ul><ul><li>Data Visualization </li></ul><ul><li>Theming </li></ul>
  16. 16. Features <ul><li>Flex Platform </li></ul><ul><li>Camera and Microphone </li></ul><ul><li>Offline DRM support ( Adobe AIR ) </li></ul><ul><li>Peer-assisted Networking – P2P ( Flash Player 10+ and Stratus ) </li></ul><ul><li>Printing Support </li></ul><ul><li>Right -to-leftText ( Flash Player 10+Flex 4 ) </li></ul><ul><li>HTML hosting ( Adobe AIR ) </li></ul><ul><li>Silverlight Platform </li></ul><ul><li>Camera and Microphone ( Silverlight 4 ) </li></ul><ul><li>Offline DRM support ( Silverlight 4 ) </li></ul><ul><li>Multicast Streaming ( Silverlight 4 ) </li></ul><ul><li>Printing Support ( Silverlight 4 ) </li></ul><ul><li>Right-to-left Text ( Silverlight 4 ) </li></ul><ul><li>HTML Hosting ( Silverlight 4 ) </li></ul>
  17. 17. Remote Access <ul><li>Flex Platform </li></ul><ul><ul><li>HTTP </li></ul></ul><ul><ul><li>Socket </li></ul></ul><ul><ul><li>Web Services </li></ul></ul><ul><ul><li>Remoting </li></ul></ul><ul><li>Silverlight Platform </li></ul><ul><li>HTTP </li></ul><ul><li>Sockets </li></ul><ul><li>Web Services </li></ul><ul><li>WCF (Windows Communication Foundation) </li></ul>
  18. 18. Local Access <ul><li>Flex Platform </li></ul><ul><li>Read </li></ul><ul><li>Upload </li></ul><ul><li>Shared Object </li></ul><ul><li>Read/Write ( Adobe AIR ) </li></ul><ul><li>Sqlite ( Adobe AIR ) </li></ul><ul><li>Silverlight Platform </li></ul><ul><li>Read </li></ul><ul><li>Read/Write XML/Plain Text </li></ul><ul><li>Read/Write local file system ( Silverlight 4 ) </li></ul><ul><li>Hardware device access ( Silverlight 4 ) </li></ul>
  19. 19. THOUGHTS ON CLIENT-SIDE AND TOOLING <ul><li>Flex/Silverlight </li></ul>
  20. 20. <ul><li>Flex Platform </li></ul><ul><li>Great workflow (esp. with Catalyst) </li></ul><ul><li>Easy to build UI </li></ul><ul><li>Remoting config tricky </li></ul><ul><li>Data services dance similar to SL side </li></ul><ul><li>Silverlight Platform </li></ul><ul><li>Great workflow with great round tripping </li></ul><ul><li>Confusing UI development </li></ul><ul><li>Confusing development with code-behind </li></ul><ul><li>Designer quirky </li></ul><ul><li>Data services super easy </li></ul>
  21. 21. DEMONSTRATION <ul><li>SDK/Features </li></ul>
  22. 22. BACKGROUND <ul><li>Video Delivery </li></ul>
  23. 23. Video Prep <ul><li>Flex Platform </li></ul><ul><li>File types (FLV, F4V) </li></ul><ul><li>Encoder: Adobe Media Encoder, Rhozet Carbon Coder (FMES), Flash Media Live Encoder </li></ul><ul><li>DRM Available? YES, Flash Access </li></ul><ul><li>Silverlight Platform </li></ul><ul><li>File types (WMV, F4V) </li></ul><ul><li>Encoding: Expression Media Encoder </li></ul><ul><li>DRM Available? YES </li></ul>
  24. 24. Video Delivery <ul><li>Flex Platform </li></ul><ul><li>Adobe Flash Media Server </li></ul><ul><ul><li>Progressive download or streaming </li></ul></ul><ul><ul><li>Smooth streaming: Multi-bitrate </li></ul></ul><ul><ul><li>HD Video (1080p) </li></ul></ul><ul><ul><li>Secure streaming </li></ul></ul><ul><ul><li>Live streaming </li></ul></ul><ul><ul><li>Bit rate throttling </li></ul></ul><ul><ul><li>Edge servers </li></ul></ul><ul><li>Silverlight Platform </li></ul><ul><li>Microsoft IIS </li></ul><ul><ul><li>Microsoft IIS Media Services </li></ul></ul><ul><ul><ul><li>Progressive download or streaming </li></ul></ul></ul><ul><ul><ul><li>Microsoft IIS Smooth Streaming Services: Multi-bitrate </li></ul></ul></ul><ul><ul><ul><li>HD Video (720p+) </li></ul></ul></ul><ul><ul><ul><li>Live Streaming </li></ul></ul></ul><ul><ul><ul><li>Bit rate throttling </li></ul></ul></ul><ul><ul><ul><li>Edge Servers </li></ul></ul></ul>
  25. 25. BACKGROUND <ul><li>Server-side </li></ul>
  26. 26. Data Services <ul><li>ColdFusion 9 </li></ul><ul><li>Flash Remoting! </li></ul><ul><li>Binary and Soap services </li></ul><ul><li>.NET </li></ul><ul><li>Windows Communication Foundation (WCF) services </li></ul><ul><li>Binary and Soap services </li></ul>
  27. 27. Web Services <ul><li>ColdFusion 9 </li></ul><ul><li>Build your CFC </li></ul><ul><li>Import WSDL </li></ul><ul><li>Your SOAP web service is now fully proxied and ready to code </li></ul><ul><li>.NET </li></ul><ul><li>Code your Web Service </li></ul><ul><li>Test in browser! </li></ul><ul><li>Add Service Reference in SL project </li></ul><ul><li>Your service is proxied and ready to code </li></ul>
  28. 28. Data Access Layer <ul><li>ColdFusion 9 </li></ul><ul><li>CF 9 has ORM, it’s Hibernate! </li></ul><ul><li>Enable in Application.cfc </li></ul><ul><li>Map your DB via .cfc or manual .hbmxml </li></ul><ul><li>Get your query on! </li></ul><ul><li>.NET </li></ul><ul><li>.NET 3.5’s ORM is ADO.NET Entity Framework </li></ul><ul><li>Map your DB via wizard ( or by hand ) </li></ul><ul><li>Your DB tables are now “Entities” </li></ul><ul><li>Get your LINQ to SQL on! </li></ul>
  29. 29. THOUGHTS ON SERVER-SIDE <ul><li>Flex/Silverlight </li></ul>
  30. 30. Thoughts <ul><li>CF9 </li></ul><ul><li>CF9 is the best update since 4.5 </li></ul><ul><li>Love CF9, CFSCRIPT is getting better </li></ul><ul><li>.NET </li></ul><ul><li>.NET is powerfully difficult, as always </li></ul><ul><li>Love C#, don’t love ASP.NET </li></ul>
  31. 31. DEMONSTRATION <ul><li>Server-side </li></ul>
  32. 32. Conclusion <ul><li>Flex and it’s platform FTW! </li></ul>
  33. 33. Resources <ul><li>Adobe Flex Platform: </li></ul><ul><ul><li>Main/Flex 3: </li></ul></ul><ul><ul><li>Flex 4: </li></ul></ul><ul><ul><li>Samples: </li></ul></ul><ul><ul><li>ColdFusion 9: </li></ul></ul><ul><ul><li>FMS: </li></ul></ul>
  34. 34. Resources <ul><li>Microsoft Silverlight Platform: </li></ul><ul><ul><li>Main: </li></ul></ul><ul><ul><li>Silverlight 3: </li></ul></ul><ul><ul><li>Silverlight 4: </li></ul></ul><ul><ul><li>Toolkit and Samples: </li></ul></ul><ul><ul><li>WCF: </li></ul></ul><ul><ul><li>IIS Media: </li></ul></ul>
  35. 35. Resources <ul><li>Misc: </li></ul><ul><ul><li> </li></ul></ul><ul><ul><li>Install the AIR app from the 360 Flex USB drive </li></ul></ul><ul><ul><li>We have a bunch of links that we’ll be posting to delicious: </li></ul></ul>
  36. 36. Thanks! Any more questions?