RIA DEVELOPMENT OPTIONS - AIR VS. SILVERLIGHT

Similar documents
Deepak Patil (Technical Director) iasys Technologies Pvt. Ltd.

HTML5 the new. standard for Interactive Web

ipad, a revolutionary device - Apple

Rich Internet Applications

Developing and deploying mobile apps

Best practices building multi-platform apps. John Hasthorpe & Josh Venman

Rich Internet Applications

How To Write An Ria Application

Creating Next-Generation User Experience with Windows Aero, Windows Presentation Foundation and Silverlight on Windows Embedded Standard 7

Mobile Development Frameworks Overview. Understand the pros and cons of using different mobile development frameworks for mobile projects.

RFP# ADDENDUM No. 1 Questions and Answers

Adobe Flash Player and Adobe AIR security

Cross-Platform Development: Target More Platforms and Devices with a Minimal Amount of Source Code

HTML5 & Digital Signage

Native, Hybrid or Mobile Web Application Development

(Based on Flash Technology) By Shikai Chen Ver

Why HTML5 Tests the Limits of Automated Testing Solutions

Choosing a Mobile Application Development Approach

Enterprise Mobile Application Development: Native or Hybrid?

01. Introduction of Android

CROSS PLATFORM DEVELOPMENT The HTML5 Way

[PACKTl. Flash Development for Android Cookbook. Flash, Flex, and AIR. Joseph Labrecque. Over 90 recipes to build exciting Android applications with

Take full advantage of IBM s IDEs for end- to- end mobile development

HTML5 - Key Feature of Responsive Web Design

Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application

QML and JavaScript for Native App Development

Project Plan Microsoft Team System Web Client

Chapter 12: Advanced topic Web 2.0

System Requirements and Technical Prerequisites for SAP SuccessFactors HCM Suite

Crosswalk: build world class hybrid mobile apps

How to Choose Right Mobile Development Platform BROWSER, HYBRID, OR NATIVE

RIA Technologies Comparison

ios SDK possibilities & limitations

Whitepaper. Rich Internet Applications. Frameworks Evaluation. Document reference: TSL-SES-WP0001 Januar

Mobile App Infrastructure for Cross-Platform Deployment (N11-38)

Mashup Development Seminar

White Paper INTRODUCTION. In mobile development, there are three different types of applications: PRE-SMARTPHONE MOBILITY NATIVE MOBILE APPLICATIONS

Adobe Flash Catalyst CS5.5

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

Web Conferencing: It should be easy THE REASONS WHY IT IS NOT AND THE PATHS TO OVERCOME THE CHALLENGES.

Value Added Services (VAS) - Mobile Applications Business Cases

Web 2.0 Technology Overview. Lecture 8 GSL Peru 2014

Curl Building RIA Beyond AJAX

Research on HTML5 in Web Development

Cross-Platform Phone Apps & Sites with jquery Mobile

Software development. We listen. We care. We develop in-house! Benefits of working with Yumasoft:

Develop Hybrid Mobile Applications with Apache Cordova & PhoneGap Enterprise

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

Smart Phones Application development using HTML5 and related technologies: A tradeoff between cost and quality

Solution Showcase Session. Enterprise 2.0 Computing Services

Additional information >>> HERE <<< ## interview questions and answers for btech ece freshers

Sviluppo soluzioni Open Source per il Cloud

A Monitored Student Testing Application Using Cloud Computing

AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev

More details >>> HERE <<<

Overview of CS 282 & Android

Vector Web Mapping Past, Present and Future. Jing Wang MRF Geosystems Corporation

Microsoft Technology Practice Capability document. WPF and Silverlight Building Rich Interactive Applications with XAML. Overview

Smart and Innovative Web Solutions. Just One Click Away

Using Flash CS3 and AIR to Build Desktop Applications

Minimum Computer System Requirements

Getting Started with iphone SDK, Android and others: Mobile Application Development Create your Mobile Applications Best Practices Guide

Indie_App_Development() { // Arjun Gopalakrishna // Bhavya Udayashankar

Mobile Phones Operating Systems

Comparative Analysis of Various Automated Test Tools for Flex Application

Adobe Flash Professional CS6

Additional information >>> HERE <<<

Web Design Specialist

Mobile Applications Developer. MAIN PURPOSE OF JOB To lead the design, development and maintenance of Android, iphone and ipad applications.

Lecture 4 Cross-Platform Development. <lecturer, date>

<Insert Picture Here> Oracle Policy Automation System Requirements

Mobile App Proposal Magazine company- @address.com. January 12, y. Direct Contact.


The Importance of Patching Non-Microsoft Applications

ni.com Remote Connectivity with LabVIEW

Simplifying and Empowering the Implementation of Enterprise Mobile Strategy

Complete Patch Management

Wiley Publishing, Inc.

Choosing a Mobile Strategy for Your Business

Automation using Selenium

This manual provides information and recommendations for Mac SharePoint Users at Fermilab. Using SharePoint from a Mac: Overview

Mobile Game and App Development the Easy Way

Whitepaper. Trans. for Mobile

Transcription:

RIA DEVELOPMENT OPTIONS - AIR VS. SILVERLIGHT Oxagile 2010 www.oxagile.com

TABLE OF CONTENTS 1 ATTRIBUTION... 3 2 ABOUT OXAGILE... 4 3 QUESTIONNAIRE... 5 3.1 DO YOU THINK AIR AND SILVERLIGHT ARE COMPARABLE OPTIONS AT THIS POINT IN TIME? WHY/WHY NOT?... 5 3.2 WHAT ARE THE ADVANTAGES AND DISADVANTAGES OF AIR?... 5 3.3 WHAT ARE THE ADVANTAGES AND DISADVANTAGES OF SILVERLIGHT?... 5 3.4 WHAT FEATURES IMPRESS YOU MOST ABOUT AIR AND SILVERLIGHT, RESPECTIVELY?... 6 3.5 IF I M A FLASH/FLEX OR.NET DEVELOPER THEN IT SEEMS LOGICAL TO ADOPT AIR OR SILVERLIGHT, RESPECTIVELY. IN WHAT CIRCUMSTANCES WOULD THAT NOT BE THE CASE?... 6 3.6 IF I M ON THE FENCE (MAYBE BECAUSE MY COMPANY USES BOTH ADOBE AND MS PRODUCTS, SAY AS A RESULT OF A MERGER) WHAT WOULD INFLUENCE MY DECISION OF WHICH PLATFORM TO CHOOSE?... 6 3.7 HOW DO ADOBE AND MICROSOFT STACK UP ON LANGUAGE, BROWSER, AND OS SUPPORT? HOW ABOUT APPLICATION PERFORMANCE? DOES IT MATTER THAT ADOBE SUPPORTS LINUX DIRECTLY AND MICROSOFT SUPPORTS IT THROUGH NOVELL/MONO/MOONLIGHT?... 7 3.8 TO WHAT EXTENT DOES CORPORATE HERITAGE PLAY INTO THE SOLUTIONS AND THEIR USABILITY? (JUST READING UP ON AIR AND SILVERLIGHT IT BECOMES OBVIOUS THAT EVEN THE DESCRIPTION OF SILVERLIGHT IS MOST EASILY DIGESTED BY A DEVELOPER VS. A CREATIVE.)... 7 3.9 IS SILVERLIGHT IS BETTER FOR INTERNAL APPLICATIONS AND AIR IS BETTER FOR CUSTOMER-FACING APPLICATIONS OR IS THAT AN OVERSIMPLIFICATION?... 8 3.10 GIVEN TODAY S FOCUS ON USER EXPERIENCE IT HAS BECOME NECESSARY FOR CREATIVES AND DEVELOPERS TO COLLABORATE. DOES AIR OR SILVERLIGHT DO A BETTER JOB THAN THE OTHER ADDRESSING THE NEEDS OF BOTH?... 8 3.11 WHAT ARE THE BEST MEASURES OF SUCCESS? INSTALLER BASE? NUMBER OF DEVELOPERS? BIG BRAND NAME USERS? OTHER?... 8 3.12 BOTH PLATFORMS WILL SUPPORT MOBILE APPLICATIONS. IS ADOBE OR MICROSOFT IN A BETTER POSITION TO CAPITALIZE ON THIS OPPORTUNITY? WHY?... 8 3.13 WHAT CAN WE EXPECT TO SEE AS ADOBE MOVES TOWARD AIR 3?... 9 3.14 WHAT CAN WE EXPECT TO SEE AS MICROSOFT MOVES TOWARD SILVERLIGHT 5?... 9 3.15 WHAT DID I FAIL TO ASK YOU THAT I SHOULD HAVE ASKED YOU?... 9 Oxagile 2010 Page 2 of 9

1 ATTRIBUTION The following Q&A is an expanded version of an interview Oxagile CTO Sergey Marchuk had with SD Times for its March 1, 2010 Special Report. The questions are the property of and have been used with the express permission of SD Times. Oxagile 2010 Page 3 of 9

2 ABOUT OXAGILE Oxagile is an agile software development company that provides web and mobile application development services for big and small companies. We have completed several rich internet applications development projects for our clients using Adobe Flash/Flex/AIR, Microsoft Silverlight and Google Web Toolkit Java AJAX framework and were selected for an interview for SD Times special report. Sergey Marchuk is a CTO of Oxagile who started his career as a software engineer at Belhard and after that became one of the most successful project managers at Belhard. Sergey is a co-founder of Oxagile software development company and is responsible for all production projects at Oxagile. For more information please visit us at www.oxagile.com. Oxagile 2010 Page 4 of 9

3 QUESTIONNAIRE 3.1 DO YOU THINK AIR AND SILVERLIGHT ARE COMPARABLE OPTIONS AT THIS POINT IN TIME? WHY/WHY NOT? It is not exactly right to compare AIR and Silverlight. AIR in a nutshell is just a runtime environment that enables RIA applications written on Flash or DHTML to run out of browser. While Silverlight is a complete framework for building and running RIA applications (together with ability to run them out of browser). It is possible though to compare AIR and Out-of-Browser feature of Silverlight. And of course it is possible to compare Flash/Flex with Silverlight. So, hereunder when we speak about AIR we consider its underlying technologies such as Flash/Flex and JavaScript/HTML as well. 3.2 WHAT ARE THE ADVANTAGES AND DISADVANTAGES OF AIR? Advantages: - Complete cross platform technology both at runtime and for development. Runtime environment is compatible with all operating systems and thanks to cross platform AIR SDK and Flex SDK a lot of IDEs can be used by developers. - Ability to write applications using HTML and JavaScript. DHTML developers community is very broad so almost any programmer can create AIR application without the need to learn new languages. - Extended OS integration capabilities. Local file system full access, windows management, clipboard access, drug-n-drop, printing, notifications. - Support of embedded SQLite database. Allows you to manage local application data in a standard way. Disadvantages: - No multi-threading support. 3.3 WHAT ARE THE ADVANTAGES AND DISADVANTAGES OF SILVERLIGHT? Advantages: - Easier installation procedure. No extensive user privileges required, no security warnings. - WMS and IIS integration. Support of wma and wmv formats with no dependency on WMP and existence of specific codes in OS. - Multi-threading out of the box. Quite important with growing popularity of multi-core processors. Disadvantages: - Limited OS integration capabilities. Will be enhanced in v.4. - No support of camera and microphone. Will be available in v.4. Oxagile 2010 Page 5 of 9

- Absence on native Linux support. Mono Moonlight project is behind the native versions of Silverlight. - Development is possible on Windows platform only. Visual Studio runs on Windows only and Eclipse development environment that supports Mac is behind the latest version support (only Silverlight 2 is supported now). - Popularity. Less than 50% of PCs have Silverlight plug-in installed. While Flash exists almost of every machine (97%). 3.4 WHAT FEATURES IMPRESS YOU MOST ABOUT AIR AND SILVERLIGHT, RESPECTIVELY? AIR: - Ability to write applications in HTML and JavaScript. It extends community of AIR developers and simplifies learning curve. Silverlight: - Deep Zoom out of the box. With growing photo resolutions on new cameras necessity to view large pictures increases. - Smooth Streaming based on IIS Media Services. Much less expensive to set up than Flash Dynamic Streaming and uses standard HTTP. Both: - One-click local installation from a web page. 3.5 IF I M A FLASH/FLEX OR.NET DEVELOPER THEN IT SEEMS LOGICAL TO ADOPT AIR OR SILVERLIGHT, RESPECTIVELY. IN WHAT CIRCUMSTANCES WOULD THAT NOT BE THE CASE? It is definitely logical and it is a common way. It usually doesn t make a lot of sense for Flash/Flex developer to learn.net/silverlight or for.net developer to learn Flash/Flex/AIR instead of Silverlight. The only exceptions (if they could be named so) that can be considered by the companies are: - Support of existing product that has.net backend and Flash/Flex frontend. - No need to have RIA at all (e.g. simple company website, blog or wiki, etc ). 3.6 IF I M ON THE FENCE (MAYBE BECAUSE MY COMPANY USES BOTH ADOBE AND MS PRODUCTS, SAY AS A RESULT OF A MERGER) WHAT WOULD INFLUENCE MY DECISION OF WHICH PLATFORM TO CHOOSE? The decision to use AIR or Silverlight should be taken considering each particular case separately (or majority of the cases if selection is done on the company level). The following factors need to be evaluated first: target audience, necessity to duplicate web application, degree of OS integration, necessity in true 3D-animation and, of course, amount of resources possessing particular technology knowledge. So, is you write a killer application success of which will depend on the number of users you select AIR, because it is installed from Flash and Flash has larger user base. Oxagile 2010 Page 6 of 9

If you need to have the same application both in web and locally you select Silverlight. If you need tight integration with OS still being cross-platform you select AIR. If you need to support windows media formats you select Silverlight. If you need 3D-animated application you select AIR because it has more stable 3D support (wide variety of 3D engines available). 3.7 HOW DO ADOBE AND MICROSOFT STACK UP ON LANGUAGE, BROWSER, AND OS SUPPORT? HOW ABOUT APPLICATION PERFORMANCE? DOES IT MATTER THAT ADOBE SUPPORTS LINUX DIRECTLY AND MICROSOFT SUPPORTS IT THROUGH NOVELL/MONO/MOONLIGHT? Language: AIR supports ECMAScript family languages: ActionScript and JavaScript. Silverlight supports all.net languages. Silverlight also supports JavaScript, but you cannot use Out of Browser feature in this case. Browser: AIR supports all major browsers out of the box: IE, Firefox, Safari, Chrome, Opera. Silverlight does not yet support Opera and Chrome. Chrome support will be added in v.4. OS: AIR supports Windows, Linux, Mac. Silverlight supports them as well, but support of Linux is done via third-party Moonlight implementation. Actually it scores negatively to Silverlight because Moonlight is quite behind the Silverlight in features support, in particular its latest version doesn t support Out of Browser feature yet. Performance: Performance can be considered from 2 sides: graphic processing and code execution. As for graphic processing performance, both AIR and Silverlight try hard to offload this part on the GPU. It seems they are pretty aligned there with no evident leader. As for code execution performance, such as performance in mathematical computations, arrays calculations, etc Silverlight is the winner because it uses compiled code. 3.8 TO WHAT EXTENT DOES CORPORATE HERITAGE PLAY INTO THE SOLUTIONS AND THEIR USABILITY? (JUST READING UP ON AIR AND SILVERLIGHT IT BECOMES OBVIOUS THAT EVEN THE DESCRIPTION OF SILVERLIGHT IS MOST EASILY DIGESTED BY A DEVELOPER VS. A CREATIVE.) Corporate heritage is more evident in Silverlight, where orientation on Windows/IE platform has always been the key. Reasons are: new versions of Silverlight appear first for Windows/IE and only later migrated to other platforms, Linux is supported by a separate project, development environment is only Windows based for the newest versions. On the contrary, Adobe releases AIR and its development environment to all platforms at once. The fact that Adobe products have been heavily used by graphical designers for ages plays significant role in propagation of Silverlight s Expression Blend design tool. Nowadays most of the Oxagile 2010 Page 7 of 9

designers work in Adobe products (Adobe Photoshop, Illustrator, Flash Professional) and are reluctant to work in Expression Blend even when creating graphical designs for Silverlight. But as it is described in question 10, Silverlight provides better capabilities for developers and graphic designers to collaborate. 3.9 IS SILVERLIGHT IS BETTER FOR INTERNAL APPLICATIONS AND AIR IS BETTER FOR CUSTOMER-FACING APPLICATIONS OR IS THAT AN OVERSIMPLIFICATION? It is an oversimplification. Both Silverlight and AIR are good for internal and customer-facing applications. Suitability of each technology should be considered on the other factors which are described in question 6. 3.10 GIVEN TODAY S FOCUS ON USER EXPERIENCE IT HAS BECOME NECESSARY FOR CREATIVES AND DEVELOPERS TO COLLABORATE. DOES AIR OR SILVERLIGHT DO A BETTER JOB THAN THE OTHER ADDRESSING THE NEEDS OF BOTH? Silverlight definitely does a better job here. Silverlight allows developers and designers to collaborate on the same project in parallel following standard software development process which utilizes management of all project assets under the source control repository. It is achieved by the usage of XAML files for interface definition and separate tools used for their editing. Visual Studio is used for source code editing and Expression Blend is used for design and animation editing. Changes from one side are immediately reflected on the other side. In Flash/AIR process of graphical design changes is complicated because there is no clear separation between design assets and source code. Designers use Flash Professional for adjustment of graphical assets only because source code editing capabilities in it are very limited. Then these assets need to re re-imported into Flash (Flex) Builder development environment and changes manually applied to the source code. 3.11 WHAT ARE THE BEST MEASURES OF SUCCESS? INSTALLER BASE? NUMBER OF DEVELOPERS? BIG BRAND NAME USERS? OTHER? Best measure of success is a number of applications developed on particular technology. Installer base is not adequate measure because AIR has been distributed with Adobe Acrobat Reader with no possibility to opt-out. Number of developers is not adequate as well, because it takes almost nothing for Flash/Flex developer to start using AIR and in general, knowledge possessed doesn t mean it is used. Big brand name users measure is always subjective, and you will always have various brand name applications developed on both technologies. 3.12 BOTH PLATFORMS WILL SUPPORT MOBILE APPLICATIONS. IS ADOBE OR MICROSOFT IN A BETTER POSITION TO CAPITALIZE ON THIS OPPORTUNITY? WHY? I think Adobe has better chances to capitalize on the opportunity. First, Adobe already has Flash Lite runtime available on multiple mobile platforms, so it already knows this market. Second, subset of AIR2.0 APIs will be available for iphone applications creation Oxagile 2010 Page 8 of 9

with release of Flash Professional CS5, and iphone is the platform where capitalization opportunities are well defined with their Apple App Store. Silverlight will support Windows Mobile 7 and considers supporting Nokia S60. Support plans for other mobile devices are not clear. 3.13 WHAT CAN WE EXPECT TO SEE AS ADOBE MOVES TOWARD AIR 3? - Most of mobile devices support. - Major performance optimization. 3.14 WHAT CAN WE EXPECT TO SEE AS MICROSOFT MOVES TOWARD SILVERLIGHT 5? - Most of mobile devices support. - Bringing Moonlight implementation up to speed. - Catching up on AIR local OS integration capabilities. - Major performance optimization. - Popularity increase close to Flash/Flex popularity. 3.15 WHAT DID I FAIL TO ASK YOU THAT I SHOULD HAVE ASKED YOU? The following question could have been considered: How will HTML5 standard influence on AIR and Silverlight evolution? YouTube and Vimeo already announced support of video tag from HTML5. It allows users to watch video without installing Flash Player or Silverlight. This already might cause that some users remove these plug-ins from their browsers. HTML5 has many other useful features which in a way overlap with AIR/Silverlight features, e.g. offline application caches, local storages, on the fly graphics rendering. If various browser vendors elaborate some common standard for offline applications basing on HTML5 it can result in a new competitor appearing for AIR and Silverlight. Oxagile 2010 Page 9 of 9