Archive for the ‘API’ Category

Adobe AIR 3.6 beta is now available

Posted: January 31, 2013 in Adobe, API, Technology
Tags:

The Adobe AIR 3.6 beta release provides access to the AIR 3.6 runtime and SDK for Windows, Mac OS, iOS and Android.

Below are some of the key features and benefits of AIR 3.6:
Packaging and Loading Multiple SWFs: This feature provides developers better memory management by allowing them to load the assets they need dynamically at ANY time from multiple SWFs and not have to load it up-front.
Retina display support: This feature allow to add the retina display support for Adobe AIR applications running on Mac Retina (hiDPI)

You just have to add
<requestedDisplayResolution>high</requestedDisplayResolution>
in the <initialWindow> block of the app descriptor.

 

 

For more info : http://labs.adobe.com/technologies/flashruntimes/air/


Adobe releases a new AIR SDK version 3.4, it’s comes with Adobe ActionScript Compiler 2.0 (ASC 2.0).

ASC 2.0 is a new compiler for ActionScript® 3.0 (AS3). It has stricter adherence to the AS3 language specification, includes compilation performance improvements, is more stable under memory pressure, and contains some demonstration optimizations that can be optionally enabled (in-lining, dead code elimination). This is the same compiler that is included with Flash Builder® 4.7 Preview, packaged up as a stand-alone command-line compiler and made available in a distribution combined with AIR SDK 3.4.

Note: ASC 2.0 supports compiling AS3 applications. It still exposes familiar mxmlc and compc command-line entry points but it does not support compiling Flex application.

For mor info : Adobe Lab


Adobe Flash Player

Adobe Flash Player

Flash is travelled very long distance in last decade, from Macromedia Flash to Adobe Flash. This Flash word is always in tech buzz. Initially it was popular in animator group then gradually attracted the attention of application developers and became a de-facto for RIA applications.

Flash is always preferable for developing richest content and deployed on browser. This enables consistent look and feel across different browser wherever Flash Player installed. Last year Flash was rejected by Apple’s for their devices and Apple started advocating open source technologies HTML5. This incident started a new thread in tech community over Flash existence.  Now again the same buzz started on Flash and its future after the Adobe’s recent announcement that they will no longer develop the Flash player for mobile browsers. In tech history there were several popular technology rolled out and rolled back depends on market movement, like JavaFX, SilverLight etc. Every technology has their lifecycle and this is manipulated by technology deviations.

Now we are entered in handheld device from desktop era. Here in this era everyone is looking for application migration for handheld devices. Here now if anything happens related to mobile or handheld devices then there is big news, but last year Adobe also stopped future development for Linux based AIR then there was silence.

Compare to Flash Player currently HTML5 is now supported on all major mobile devices. HTML5 is now a preferable technology for browser based application on mobile devices. With the latest release of Flash Player 11.1 for mobile browser Adobe will not support further for Flash player of mobile browser. This version of Flash player is still a very advance and powerful, there is still a scope of development Flash based application for mobile browser by taking advantage of new Flash Player 11.1 features.

As per market trends most of the customer want to port there application as a mobile devices apps, not as a browser based application. Here in this segment Flash is still a key player and we can port our Flash based application on Mobile device using AIR. Good news Adobe is still working on Flash Player 12 version so there is no point of worry.HTML5 is a very good technology but it still need time to fulfil the entire RIA requirement. Video/Media content delivery model is still not consistent in HTML5. Here Flash Player is best solution.

I am waiting for the day when Flash Player become an open source product and managed by some open source community. Then after we can say that we as Flash developers are using non-proprietary technology like HTML5. In this area Adobe has already taken initiative by planning to contribute the Flex SDK to an open source foundation.  This step will really give a high momentum in Flex SDK area.

Flash journey start from FutureWave to Macromedia and from Macromedia to Adobe, now Flash is ready to open source community in future. There is one thing for sure wherever Flash will go it will rock, it will not going to die soon like others.


In my last project assignment I found Spring BlazeDS Integration API is very fruitful. It really helps developer to focus on only business implementation of application and forget about backend server level configuration. Spring BlazeDS Integration is a top-level Spring project, and a component of the complete Spring Web stack. This project’s purpose is to make it easier to build Spring-powered Rich Internet Applications using Adobe Flex as the front-end client. It aims to achieve this purpose by providing first-class support for using the open source Adobe BlazeDS project and its powerful remoting and messaging facilities in combination with the familiar Spring programming model.

Spring FrameworkBlazeDS

By this article I am going to share the basic and essential part of this API that helps to understand the integration process. In this example I am going to use Spring+BlazeDS integration API for integrating backend Spring based J2EE layer into client layer Flex application.

What I am going to cover here:
#
Creating Spring based J2EE backend layer
# Implementing Spring BlazeDS Integration API
# Creating Flex application for client layer

List of software used for this implementation:
#
FlashBuilder 4.5
# Flex Framework SDK 4
# Apache Tomcat 7.0
# Spring BlazeDS Integration 1.5.0
# Spring framework library
# BlazeDS library
# Eclipse with WTP for creating dynamic web application
Note – we can use compatible preceding version of these software also.

Creating Spring based J2EE backend layer

In this step first create a dynamic web application using Eclipse IDE by File->New->Project->Web- Dynamic Web Project options and enter the basic project details and settings.

New Dynamic ProjectContext Root

In the above steps cross check the context root name for this application. This context root name will be use for client layer integration. After this steps this project will look like below in project explorer of Eclipse IDE.

Project Explorer

Now put all the jar files of downloaded library in WebContent->WEB-INF->lib folder. Total number of jar files in lib folder are 36.

List of library files

Tips : If you unable to find any of these listed jar files then you can manually download this from http://grepcode.com by entering the full name of zar file. Make sure you have all the respective library jar files of Spring Framework, BlazeDS and Spring+BlazeDS integration API.

Now after this initial project setup steps move to J2EE layer development. In this example I am fetching the list of country for Flex client layer.

Creating Spring based J2EE backend layer

First modify ‘web.xml’ in the ‘WEB-INF’ directory. Go to the WebContent->WEB-INF->web.xml directory. Here I define a DispatcherServlet (also known as a ‘Front Controller’. It is going to control all the requests. This servlet definition also has an attendant <servlet-mapping/> entry that maps to the URL patterns that will be used for making request. Here I am defining url pattern as /messageBroker/*, that means all request url containing this pattern will be routed to the ‘blazeds’ servlet (the DispatcherServlet).

Modifying the Deployment Descriptor web.xml file

Now I have created blazeds-servlet.xml file in WebContent->WEB-INF-> directory. This file contains the bean definitions used by the DispatcherServlet. It is the WebApplicationContext where all web-related components go. The name of this file is determined by the value of the <servlet-name/> element from the 'web.xml', with '-servlet' appended to it (hence 'blazeds-servlet.xml'). In this I am configuring spring annotation framework and providing a base package location of J2EE interface layer classes for Flex communication. And most important thing is configuring message-broker of Spring+BlazeDS integration API for object serialization.

Configuring WebApplicationContext

After this we have to define blazeDS communication channel in services-config.xml file at WebContent->WEB-INF->flex-> (this is a default location of services config file).

Configuring services config file

Now all the configuration lavel part is done and move to Class lavel coding. Just have a look on this class.

J2EE layer service class MapManager

The best part of Spring+BlazeDS Integration API is we now we don’t need to configure remote-config file for every java class. We just have to write a one single Spring annotation tag in class and need to provide a remoting communication channel information. In the above class I have used these three basic Spring annotation tag:

  • @Service(“mapManagerService”) – for giving a destination name of this class for Flex layer remoting.
  • @RemotingDestination(channels={“my-amf”}) – for providing a remoting communication channel name.
  • @RemotingInclude – using this tag we can include the method of the class for remoting.

Now we are ready to deploy this application on server.

Creating Flex application for client layer

In Flex layer we don’t have to do anything extra just need to create a Remote Object and call the exposed service destination from J2EE layer. For testing we don’t need to deploy this Flex application on server.

Client layer Flex Application

Output screen of Flex application

Output screen of client layer Flex application

Reference link:

Source files of example projet : http://uploading.com/files/f22164bb/GeekTest_01.zip/

 


I am currently looking into a Flex application framework for my upcoming Flex Enterprise project. In Flex application development Cairngorm and PureMVC framework is a de facto standards. For my project we are looking into a possibility to introduced Swiz framework for application architecture.

Swiz official website stated this as “The brutally simple micro-architecture for Enterprise ActionScript development”. This tagline is very catchy and promise to cater key requirement of any application i.e. simple framework for enterprise level application. While judging this statement I have migrated some of the small apps into Swiz framework and reduced 30-40% of codebase, it is interesting.

Here I am giving you simple steps to give a start Swiz based application:
Create a context file for configuring Swiz framework. In this configuration we are providing the Beans and configure the Swiz framework.

  1. Create a Bean factory as repository for Bean classes.
  2. Injecting the bean where it needed using [Inject] tag. After injecting the bean you are able access the bean object.
  3. Register handle for flash event using [Eventhandler(event=”EventClass.EVENT_NAME”)] for event handling.
Swiz Context Configuration

swiz_part1

Swiz Bean factory

swiz_part2

Injecting Bean and register event handler

swiz_part3

Dispatching event

swiz_part4

Now after this simple step we can give a start to Swiz based application development. This is really a very simple as stated in Swiz website. One key point here is all metadata tag related function and properties should marked as public. Swiz framework developer’s team are also ready with Swiz AOP version (Aspect Oriented Programming). Swiz AOP gives you the powerful ability to easily configure new functionality into existing code, instead of muddying up your fundamental business logic. It is an extremely powerful methodology that Swiz makes very easy to work with.

WAC : A Mobile Apps Mart For All

Posted: April 13, 2011 in API, Mobile
Tags: ,

The Wholesale Applications Community(WAC) is an open global alliance formed from the world’s leading telecoms operators. WAC will unite a fragmented applications marketplace & create an open industry platform that benefits the entire ecosystem, including applications developers, handset manufacturers, OS owners, network operators and end users.The-Wholesale-Applications-Community

The idea of WAC are to :-

  • Accelerate and expand the market for applications
  • Enable the creation of more compelling applications
  • Provide greater choice for businesses and consumers

For achieve these goals WAC will use industry standard web technologies and develop business models that provide revenue opportunities across the ecosystem. WAC is now open for business at Mobile World Congress (open recently in Feb 2011) and also introduced business model that will provide a revenue share for participants in the value chain, from the application store owner through to the application developer. This will enable application and service monetization for enabling revenue to generation from the use of telecom operator services. WAC will be a non-profit making organization and will only generate revenues to cover its operational costs.

WACmembers

For creating WAC compliance mobile applications developer have to use standard web technology HTML, CSS, JavaScript and BONDI/JIL for accessing device APIs. Client side applications authored using web standard technologies and packaged for distribution in archive. All the apps related file e.g. configuration, design, icons, lib file etc. will be bundled in zip collection. Bundled archive file will uploaded to WAC store and for end user it is downloaded on to device and run as a standalone application.

The concept of interoperability describe that write an application once and deploy/run on all devices and platform. For this purpose WAC adopted open web standard technologies e.g. HTML, CSS, JavaScript that allows for openness across all mobile/devices.

Interoperability by WAC looks promising but also have some challenges. Currently the mobile marketplace is ruled by Apple iTune store, Google Android store and RIM apps store. So there will be very good competition for WAC apps market in this domain. And these mobile market giant are not alliance with WAC so this is an open competition. But the future is still bright for WAC because it supported open standard web technologies and it’s all depends on developer community support. This WAC is sign of new battle in mobile apps market place and adaptability is a key weapon to survive in this battle.


Adobe now brings your favourite TV show to the Internet. Now you can watch Television show your favourite internet device including personal computer, tablet and smartphone. This concept is popularizing with the name of TV Everywhere. TV everywhere allows end user to use all of these devices to access the same content that they have already subscribe to as pay TV customer without any additional fee.

Adobe Pass takes TV Everywhere from concept to reality by seamlessly verifying a user’s entitlement to content in a manner that is both simple and secure. This means a quick time to market for content owners and pay TV providers, a secure environment to prevent fraud, and a great customer experience, with more TV content available to more people across more platforms than ever before.

Adobe Pass for TV Everywhere, a secure and user-friendly authentication tool that allows consumers who subscribe to cable providers to easily access premium content previously only available via paid TV. The playback of content can occur on any platform including Flash Player, Silverlight, or HTML5, and in combination with any DRM technology like Adobe Flash Access.

Who is Adobe Pass for?

  • Programmers and content owners who want to easily integrate with top pay TV providers, while reaching the widest audience for optimal revenue
  • Pay TV distributors who seek painless connectivity with multiple programmers and higher customer satisfaction by facilitating access to premium content online
  • Pay TV customers who want easy access to content they already subscribe to, wherever they are, at no additional fee

Who are already implemented this?

For more info on this please visit : http://www.adobe.com/products/adobepass/

Accessing the USB port

Posted: August 18, 2010 in API
Tags: ,

The Arduino is an inexpensive, easy to find, open-source hardware prototyping platform.  You can connect a wide variety of sensors and other electronics to it, and then using the open-source as3glue “Physical Interaction Library for Flash” you can communicate via the USB port with Flash or AIR.
Arduino: http://www.arduino.cc/

as3glue: http://code.google.com/p/as3glue/

  1. Get an Arduino, a basic one goes for about US$30.  Download the driver and software for your OS from the “Download” section of the Arduino web site and install them.
  2. Download the as3glue files from the Google Code website.  It will include the installs for Standard Firmata and Serproxy that you need for later steps.  (Note: The Serproxy included is for Windows and Mac only.)
  3. Plug your Arduino into the USB port and upload the Standard Firmata.  This sets up the Arduino to use a standardized protocol for communicating with a host computer.
  4. Unplug your Arduino and connect up your sensor, probably to one of the analog input pins.
  5. Install Serproxy on your computer.  (Or another serial port proxy if you are not using Windows or Mac.  Sorry but I can’t help you with that.)  Serproxy will take the USB input from the Arduino and act as a serial server which your Flash or AIR app will open a Socket connection to.
  6. Plug the Arduino into your USB port, start Serproxy and you’re ready to use as3glue to receive the sensor’s output in Flash or AIR.  There are some example .fla files included in the as3glue download that show how to code this.
  7. Celebrate! 🙂
PS:  If you have a problem with loading the Standard Firmata that comes with as3glue onto your Arduino you may want to try a newer version, which you can download from the Firmata Wiki here http://firmata.org/wiki/Main_Page.