(Based on Flash Technology) By Shikai Chen csk@live.com www.csksoft.net Ver. 2009.3

Similar documents
RIA DEVELOPMENT OPTIONS - AIR VS. SILVERLIGHT

Rich Internet Applications

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

ipad, a revolutionary device - Apple

Rich Internet Applications

RIA Technologies Comparison

JavaFX Session Agenda

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

Mashup Development Seminar

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

How To Write An Ria Application

Using Flash CS3 and AIR to Build Desktop Applications

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

HTML5 the new. standard for Interactive Web

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

ANDROID DEVELOPER TOOLS TRAINING GTC Sébastien Dominé, NVIDIA

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

Mobile Phones Operating Systems

Flash with CS3/CS4 & ActionScript 3.0 (Flash as a design-tool, techniques & timeline-animations)

Overview of CS 282 & Android

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

Lecture 1 Introduction to Android

QML and JavaScript for Native App Development

Adobe Creative Suite 4 Web Standard

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010

Developing multi-platform mobile applications: doing it right. Mihail Ivanchev

Analysis of Cross-Platform Development Frameworks for a Smartphone Pediatric Application

CA Plex and Microsoft Windows Presentation

Practical Android Projects Lucas Jordan Pieter Greyling

RadView Software Whitepaper. Load Testing Web 2.0 Technologies Ajax-RIA-SOA-Web Services

Rich Web Map Applications HANNES JOHANSSON

Adobe Flash Catalyst CS5.5

Chapter 13 Computer Programs and Programming Languages. Discovering Computers Your Interactive Guide to the Digital World

Web Design Specialist

Chapter 12: Advanced topic Web 2.0

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

Adobe Flash Professional CS6

Outline. 1.! Development Platforms for Multimedia Programming!

Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT

System Architecture V3.2. Last Update: August 2015

By Kundan Singh Oct Communication

Choosing a Mobile Application Development Approach

Developing Applications for ios

Cross-Platform Phone Apps & Sites with jquery Mobile

Adobe Certified Expert Program

Research on HTML5 in Web Development

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

CSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University

Comparative Analysis of Various Automated Test Tools for Flex Application

Jay Yu. January. Web Programmer & Designer

Outline. CIW Web Design Specialist. Course Content

An evaluation of JavaFX as 2D game creation tool

SPORTS MANAGEMENT. A Thesis. Presented to the. Faculty of. San Diego State University. In Partial Fulfillment. of the Requirements for the Degree

Developing and deploying mobile apps

BRIAN RUSSEL DAVIS. New Media Programming, Design & Concept Development. Summary

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

Nokia 9210i/9290 Communicators and PersonalJava TM Application Development

An Easier Way for Cross-Platform Data Acquisition Application Development

Introducing Silverlight 1.1

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

Designing The User Experience AIGA Design Camp

Native, Hybrid or Mobile Web Application Development

Here to take you beyond Mobile Application development using Android Course details

A Monitored Student Testing Application Using Cloud Computing

01. Introduction of Android

Windows Presentation Foundation (WPF)

Game Development in Android Disgruntled Rats LLC. Sean Godinez Brian Morgan Michael Boldischar

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

Workshop on Android and Applications Development

Bridging the Gap: from a Web App to a Mobile Device App

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Android Architecture. Alexandra Harrison & Jake Saxton

Creative Cloud for Web Design

rich mobile applications made easy

Adobe Flash Player and Adobe AIR security

Solution Showcase Session. Enterprise 2.0 Computing Services

Enterprise RIA Deployment Examples

Enterprise Mobile Application Development: Native or Hybrid?

Transcription:

(Based on Flash Technology) By Shikai Chen csk@live.com www.csksoft.net Ver. 2009.3

What is RIA? R.I.A. = Rich Internet Application. Rich Internet applications (RIAs) are web applications that have some of the characteristics of desktop applications, typically delivered by way of an Ajax framework, proprietary web browser plug-ins, advanced javascript compiler technology, or independently via sandboxes or virtual machines. Wikipedia I Introduction. Video/Photo sharing & playback Music mix, DJ software 3d applications Webgames WebOS B2C Augmented Reality (AR) applications

Web Photoshop (www.photoshop.com) Based on Flash(Flex)

RIA frameworks Adobe AIR ( codename:apollo ) Microsoft Silverlight Javascript + DHTML + XMLHttp + Opensource libs Sun JavaFX Ajax RIA platforms PC Mac Winmobile Iphone Android Mobiln Flashlite

Flash Platform Flash is no longer just an animation software. Adobe Flash is a multimedia platform created by Macromedia and currently developed and distributed by Adobe Systems. Wikipedia II Flash & AIR Flash Player (VM & runtime) ActionSctipt 1/2/3 Opensource Libs Tools & IDEs ( Flex, FlashIDE, ) Arts & Media ( vector graph, sounds, video ) Current Version : 10

Flash Framework.ABC ( Actionscript Byte Code) ActionScript Runtime AVM1/AVM2 SWF files Flash Player OS

Flash for different people Developer Flex Builder Flex sdk (free & Opensource) Designer/Artist Flash IDE Adobe Flash Catalyst* MXML[1] /FLA * http://labs.adobe.com/technologies/flashcatalyst/ [1] http://en.wikipedia.org/wiki/mxml

Flash CS4 snapshot A.k.a. Flash IDE For artists/designers Timeline based

Flex Builder3 snapshot Based on Eclipse For software developers Code based

Flash s evolution * Version Alpha (FutureSplash Animator) Macromedia Flash 3 Milestone Vector graphics & Timeline support MovieClip element Macromedia Flash 4 Variable support &Advanced ActionScript Macromedia Flash 5 ActionScript 1.0 XML support Macromedia Flash MX 2004 (7) ActionScript 2.0 (OO) UIControls Adobe Flash CS3 (9) Adobe Flash CS4 (10) ActionScript 3.0 (OO) Better performance by AVM2 Inverse kinematics Basic 3D manipulation Object-based animation * A complete list is available at http://en.wikipedia.org/wiki/adobe_flash#history

New features 3d Rendering Flash 10 supports simple 3d Projection manipulation 3d model with HDR* rendering[1] Online 3d game based on PaperVision engine[2] * High dynamic range imaging(hdr): http://en.wikipedia.org/wiki/high_dynamic_range_imaging [1] hdr-away3d: http://www.derschmale.com/demo/hdr/away3d/hdr-away3d.html [2] http://www.redbull.com/flightlab/

New features Pixel Blender[1] The Adobe Pixel Bender technology delivers a common image and video processing infrastructure which provides automatic runtime optimization on heterogeneous hardware. You can use the Pixel Bender kernel language to implement image processing algorithms (filters or effects) in a hardware-independent manner. Adobe The syntax is based on GLSL[2], and a Pixel Bender program is analogous to an OpenGL fragment shader. Wikipedia [1] Pixel Blender Toolkit: http://labs.adobe.com/technologies/pixelbender/ [2] OpenGL Shading Language: http://en.wikipedia.org/wiki/glsl

New features Pixel Blender * Predefined filter Kernel Pixel Blender <languageversion : 1.0;> kernel ChannelScramblerFilter < namespace : "com.adobe.example"; vendor : "Adobe Systems Inc."; version : 1; description : "Changes the color channel order from rgba to gbra."; > { input image4 inputimage; output pixel4 outpixel; void evaluatepixel() { pixel4 samplepixel = samplenearest( inputimage, outcoord() ); outpixel = samplepixel.gbra; } } * Pictures and a more detailed description: http://www.adobe.com/devnet/flex/articles/pixel_bender_basics_flex_air.html

A comparison: 3d Rendering & Pixel Blend Script 3d Projection transform, lighting model Platform dependent ( GPU/ Emu ) HLSL[1], Pixel shader assembly 3d Projection transform, lighting model? PixelBlender Platform independent ( CPU/GPU ) Direct3D pipeline * * DirectX 8.1 Programmer's Reference, Microsoft [1] HLSL: high level shader language: http://en.wikipedia.org/wiki/high_level_shader_language

Adobe Integrated Runtime (AIR) Adobe AIR is a cross-platform runtime environment for building rich Internet applications, using Adobe Flash, Adobe Flex, HTML, or Ajax, that can be deployed as a desktop application. Wikipedia III Flash for developers Enabling offline operation, out of browser, invoking OS functions.

Adobe Integrated Runtime (AIR) The Adobe AIR architecture* * Flex Builder 3 datasheet: http://www.adobe.com/products/flex/pdfs/fb3_datasheet.pdf

AIR application sample: Quicklook http://www.adobe.com/devnet /air/flex/samples.html#quicklo ok

ActionScript A scripting language based on ECMAScript*. 3 versions, 2 Vms: AVM1 AS 1.0 AS 2.0 AVM2 AS 3.0 AVM2 is much faster than AVM1. Code belong to the two different VM models cannot communicate directly.

ActionScript samples AS 1.0 function MyClass() { //constructor }; MyClass.prototype = new MovieClip(); //extends MyClass.prototype.method1 = function() //methods { var myval = 0; // none-type this.newmethod2 = function() //dynamic language { }; } More flexible. Similar to Javascript.

ActionScript samples AS 2.0 class com.example.myclass extends MovieClip { public function MyMethod() :Void { var MyVal:Number = 0.1f; } } OO-based, compatible with AS1.0

ActionScript samples AS 3.0 package com.example { import flash.display.*; class MyClass extends MovieClip { public function MyMethod() :void { var MyVal:uint = 0xFF; } } } With Type Annotations, incompatible with AS1/2

AS3.0 & AVM2 AVM2 architecture* AS ->.abc -> MIR -> Jit code* * Gary Grossman, ActionScript 3.0 and AVM2:Performance Tuning, Adobe

AS3.0 Runtimes Display & UI Data & Network Multimedia flash.display { sprite, shape, textfield, movieclip, Shape3D, } flash.controls{ button, window, } flash.filters {.. flash.net { URLRequest, XMLSocket, TcpSocket, SOAP, } flash.xml{ XMLDoc } fl.video{ FLV playback, video capture, camera support, } flash.media{ SoundCapture, SoundMixer, } AS3.0 runtime reference: http://help.adobe.com/en_us/as3lcr/flash_10.0/

Opensource Flash http://labs.adobe.com/ http://osflash.org/ http://www.libspark.org/

Opensource Flash : SWF format specification SWF FILE FORMAT SPECIFICATION (VERSION 10) http://www.adobe.com/devnet/swf VIDEO FILE FORMAT SPECIFICATION (VERSION 10) http://www.adobe.com/devnet/flv

* http://www.openscreenproject.org/ Opensource Flash : the OpenScreen Project*

Opensource Flash : Tools Flash Develop 3 http://www.flashdevelop.org/ Flex SDK 3/4 http://www.adobe.com/products/flex/flexd ownloads/index.html

FlashDevelop + FlexSDK

Opensource Flash : Libs PaperVision3D TweenLite FLartoolkits Etc * http://www.openscreenproject.org/

Flartoolkit + Papervision3d Flartoolkit is a Augmented Reality (AR)* framework port from C++ artoolkit[1]. IV Demos http://www.squidder.com/flardrums/ * Augmented Reality: http://en.wikipedia.org/wiki/augmented_reality [1] Artoolkit algorithm description: http://www.hitl.washington.edu/artoolkit/documentation/vision.htm

Flex sdk + MXML IV Demos

Flex sdk + FD, one by one Build a sound visualization effect with 100 lines of code demos/sndfft/bin/sndeffect.swf

Flex sdk + FD, one by one Build a sound visualization effect with 100 lines of code demos/sndfft/bin/sndeffect.swf

Flex sdk + FD, one by one Compile & run a face detection demo (based on haarcascade classifier* ) Sourcecode: http://www.squidder.com/2009/02/26/realtime-face-detectionin-flash/ demos/facedetection/bin/test4.swf * haarcascade classifier: http://www.opencv.org.cn/index.php/ 特 征 检 测 专 题

Appendix: About Silverlight Current Version: 2.0 Based on AXML and.net 3.0 ( SL 2 ) Textual content can be indexed by Search Engines.

Silverlight 2.0.net framework 3.0 Multiple programming languages: C#, VB.net, Jscript, Ruby, Code is compiled into the.net assembly A subset of WPF UI model Includes Deep Zoom* technology Microsoft Silverlight stack * Deep Zoom: http://en.wikipedia.org/wiki/deep_zoom

AIR vs Silverlight Languages Source Platforms SDKs AIR(Flash) AS1/2/3, JS MXML/Fla Win32, Linux, MacOS, WinCE, FlashLite FlashIDE/Flex /Thirdparty Silverlight CLR & etc XAML Win32, Linux*, MacOS, WinCE VisualStudio2008+ Expression Blender Tool chains Runtime Env. Search Engine support PS/AI/Fr/ FlashPlugin FlashPlayer Air framework No Expression Blender Silverlight Plugin Yes Multithread No Yes

AIR vs Silverlight : UI design Default UI look&feel of Flex Default UI look&feel of SL

AIR vs Silverlight : Runtime size 1.7MB Flash Player Win Binary Size 4MB+ Silverlight Player Win Binary Size 4MB+ Flash Player MACOSX Binary Size 14MB Adobe AIR Runtime Size 18.5MB Silverlight Player MACOSX Binary Size