Flash and Python. Dynamic Object oriented Rapid development. Flash and Python. Dave Thompson



Similar documents
Pentesting Adobe Flex Applications OWASP. The OWASP Foundation Marcin Wielgoszewski Gotham Digital Science

Load Testing RIA using WebLOAD. Amir Shoval, VP Product Management

Accessing Data with ADOBE FLEX 4.6

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

RIA Technologies Comparison

Rich Internet Applications

REST web services. Representational State Transfer Author: Nemanja Kojic

By Kundan Singh Oct Communication

Beyond The Web Drupal Meets The Desktop (And Mobile) Justin Miller Code Sorcery Workshop, LLC

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

Streaming Real-Time Data into Xcelsius Apps

OSGi Remote Management

Suh yun Ki m (KIS T) (KIS suhyunk@.com

Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application

Senior IT manager s guide to customer experience management

Getting Started Guide for Developing tibbr Apps

socketio Documentation

Web Cloud Architecture

Implementing Mobile Thin client Architecture For Enterprise Application

ADOBE AIR. Working with Data in AIR. David Tucker

Using Adobe AIR for Online Help

Modern Web Development From Angle Brackets to Web Sockets

Open Source Multi-Cloud, Multi- Tenant Automation in the cloud with SlipStream PaaS

Step into the Future: HTML5 and its Impact on SSL VPNs

Creating Web Services in NetBeans

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

Addressing Mobile Load Testing Challenges. A Neotys White Paper

ADOBE FLASH PLAYER Administration Guide for Microsoft Windows 8

ebay : How is it a hit

Adobe LiveCycle Data Services 3 Performance Brief

bbc Adobe LiveCycle Data Services Using the F5 BIG-IP LTM Introduction APPLIES TO CONTENTS

Selenium WebDriver. Gianluca Carbone. Selenium WebDriver 1

Web Tracking for You. Gregory Fleischer

The presentation explains how to create and access the web services using the user interface. WebServices.ppt. Page 1 of 14

How To Build A Web App

Introduction to BlackBerry Smartphone Web Development Widgets

A Data Collection Revolution?

Smartphone Enterprise Application Integration

Adobe ColdFusion 11 Enterprise Edition

Load and Performance Load Testing. RadView Software October

WHITE PAPER on Flex to HTML5 The Migration Challenge. April 2014

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

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

Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON

Live Guide System Architecture and Security TECHNICAL ARTICLE

Using Flash CS3 and AIR to Build Desktop Applications

CS297 Report. Online Video Chatting Tool. Sapna Blesson

Mobile Application Development Options

RIA DEVELOPMENT OPTIONS - AIR VS. SILVERLIGHT

Adobe Flash Player and Adobe AIR security

Building native mobile apps for Digital Factory

Accessing Data with ADOBE FLEX 4

Why API? Using the REST API in an education environment. JAMF Software, LLC

County of Los Angeles. Chief Information Office Preferred Technologies for Geographic Information Systems (GIS) September 2014

Windmill. Automated Testing for Web Applications

Integrating Web Messaging into the Enterprise Middleware Layer

Understanding Evolution's Architecture A Technical Overview

Jonathan Worthington Scarborough Linux User Group

Offerte del 13 giugno 2014

VIDEOCONFERENCING WEB APPLICATION FOR CARDIOLOGY DOMAIN USING FLEX/J2EE TECHNOLOGIES

Middleware- Driven Mobile Applications

Data Centers and Cloud Computing. Data Centers

Introducing the Adobe Digital Enterprise Platform

Mobility Information Series

Efficiency Considerations of PERL and Python in Distributed Processing

Rich Internet Applications

Mobile Cloud Computing T Open Source IaaS

POINT-TO-POINT vs. MEAP THE RIGHT APPROACH FOR AN INTEGRATED MOBILITY SOLUTION

ipad, a revolutionary device - Apple

Capacity Planning Guide for Adobe LiveCycle Data Services 2.6

AJAX Storage: A Look at Flash Cookies and Internet Explorer Persistence

From Delphi to the cloud

A Monitored Student Testing Application Using Cloud Computing

Introduction to the. Barracuda Embedded Web-Server

Developing Java Web Services

How To Write An Ria Application

EFFICIENCY CONSIDERATIONS BETWEEN COMMON WEB APPLICATIONS USING THE SOAP PROTOCOL

Lesson 4 Web Service Interface Definition (Part I)

Evaluation of Xamarin Forms for MultiPlatform Mobile Application Development

Electronic Ticket and Check-in System for Indico Conferences

Transcription:

Dynamic Object oriented Rapid development 1

What is Flash? Byte code is interpreted by VM in Flash Player Actionscript code is compiled to byte code AS2 Flash Player 7+, Flash Player Lite AS3 Flash Player 9+ http://www.adobe.com/products/flashplayer/ 2

What is Flex? Flex is a framework for developing RIA apps AS3 / Flash Player 9+ Collection of useful classes Pre compiler with support for mxml Open source http://flex.org/ http://www.adobe.com/products/flex/ Flex API 3

What is Air? Flash player for the desktop File system access Native window decoration Built in WebKit HTML renderer Extends Flex http://www.adobe.com/products/air/ 4

Talking to the server All Flash Players support URLRequest class Async req/resp with plain text, XML, JSON... AS2 Players support NetConnection class AMF remoting packets AS3 Players support RemoteObject class Additional remoting features 5

What is AMF? Adobe Messaging Format Binary object serialization format AMF0 works with AS2 players AMF0 spec AMF3 works with AS3 players AMF3 spec More compact 6

AMF Features Compact format Serialized/Deserialized by native code in the player Built in types Typed and un typed objects Object references AMF3 also has string and class references 7

AMF Example Python: {'spam': 'eggs'} AMF3 \x0a\x0b\x01 \x09spam \x06\x09eggs \x01 8

AMF Packets Packets are encoded in AMF0 Headers and messages may be encoded in AMF0 or AMF3 <packet> <target>string</target> <response>string</response> <headers /> <messages> <remoteobject /> </messages> </packet> 9

RemoteObject Features Automates RPC calls Can switch 'channels' Transparently switch between AMF, SOAP, etc. 10

RemoteObject Example 11

AMF packages for Python PyAmf AmFast my package!! Django AMF 12

PyAmf Thijs Triemstra and Nick Joyce Most mature / biggest community Pure Python Supports custom class mapping Supports NetConnection and RemoteObject Built in WSGI gateway Supports: Django, Google App Engine, SQLAlchemy Examples for major frameworks 13

PyAmf cont. Slow for large object graphs Not very customizable 14

PyAmf Example 15

AmFast Extension written with Python C API ~18x faster than PyAmf Alpha / no community yet Supports custom class mapping Supports NetConnection and RemoteObject Supports SQLAlchemy Example project 16

AmFast cont. Calls methods on user supplied Python objects to allow for complete customization Not as much functionality built in as PyAmf, but it's easier to add additional features Exposes packet, header, and messages objects to callable targets 17

AmFast Example 18

What is RTMP? Real Time Messaging Protocol Alternative to HTTP Used by expensive Adobe Live Cycle Data Services server Supports push to client Java's BlazeDS does not support RTMP, but it fakes push by supporting a HTTP polling interface 19

RTMP in Python RTMPy Twisted protocol Still in development, but looks promising Developed by the 2 main developers of PyAmf None of the Python AMF packages currently support psuedo push through polling, but should be easy to add to AmFast. 20

Blog Visit my blog: limscoder.blogspot.com for copies of these slides and updates about Flash and Python 21