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