Talking about one code base and multiple devices is a tricky affair. In that case there are various frameworks and platforms which strive to do that. One of the most beautiful platform I found is OpenPlug|Studio. Well, being an Actionscript developer and working on Flex SDK, one will certainly feel at home with OpenPlug|Studio. Being said that, there are some very subtle differences to consider while creating applications with this platform compared to Flex itself.
1. Its loosely based on Flex 3 SDK. That means there are things like “mx” components like “WindowedApplication” is present in it. The work flow is similar to any Flex 3 based project. But then it is recommended to use “mob” namespace based components for they are mobile optimized for almost all devices. Again this OpenPlug|Studio SDK, which is known as Elips SDK only supports a subset of Actionscript 3.
2. Almost all the “mob” components are final classes. The immediate effect is one can not extend native “mob” components to create a new component.
3. The display object containers do not include “MovieClip”.
4. Using the available flex/actionscript frameworks is a strict no, as to one will end up writing the whole framework again for this OpenPlug|Studio (Elips SDK). For this ElipsSDK is a subset of Actionscript 3.
5. I was trying to open an image in the device with the default photo viewer application on Android, but then at the end came to know that this is not possible. Though Elips SDK provides the component, which can display the photo. I think, that indicates we can use Elips SDK to view images, run videos/audios with SDK components but can not directly force the default players/viewers of the device to launch the files.
6. About the “List” component I have already shared my views in the blog post earlier. Just use a default “ItemRenderer” to use the “List” component for the time being, until the Elips SDK fixes the bug.
7. Accessing the file system is a little tricky! I was trying to access file system of an Android phone , both phone memory and SD card memory. While the document says, it could be accessed as
Path to access memory card is: app-storage:/ExternalStorage/ Path to access internal memory is: app-storage:/InternalStorage/ In AIR, it corresponds to subfolder in app-storage:/, to keep Flash compatibility for simulation.
But in reality I could never get into the file system with them. The in-phone memory access I still have to find a way, the SD card file system can be accessed as
var extFolderPath:String = File.applicationStorageDirectory.nativePath+ "ExternalStorage";
var externalFolder:File=new File(extFolderPath);
8. Javascript can be used inside the Application with “script” tag as
mx:Script source="test.js"
This is interesting as from inside javascript file one can access the components with their “id” as one accesses them in Actionscript. But take care not to use any javascript libraries here as this is not DOM manipulation we are doing but using javascript syntax to do our Application. I have not tested the loose typing metaphor of javascript with a project, will update when I do that.
9. The OpenPlug|Studio is a free IDE and it works on both Mac and Windows. There is a plugin version, which could be installed over a FlashBuilder and a standalone version which could be installed separately without any dependencies. And the forum at the OpenPlug|Studio site is quite active, though it may not be instant but at least you will get your answers within a decent amount of time.
I thought would put my experiences here, so as to it may help someone out there with similar kind of problem.
Hi Saumya, I am Deepak Singh Kushwah, individual PHP developer. I heard about open-plug studio and tried to make application for android. But what i found is lack of books & training material from the owners. I know AS3 but I feel difficulties when I tried using this software. Do you have any notes, training material from which one can learn open-plug studio application development process from the scratch. It would be appreciated if you can provide training material.
Kind Regards
hi Deepak,
thanks for dropping the lines here. Its really motivating for me.
Well, Open-plug is helpful if you already are familiar with Flex framework, which is a lot of people, who are doing Flash development are used to. So this Open-plug actually creates a seamless development environment for them. I would appreciate if you get yourself some time to learn Flex framework, the basics also will do a great help. There are a lot of tutorial around internet regarding Flex framework. After that Open-plug should not be a problem for you. But anyway, if you feel you know already the basics, then you can start asking the particular questions and I will try my best to come up with some tutorial for that.
Let me know, what you are thinking of the idea