Playstation Mobile is a software development kit and application market provided by Sony Computer Entertainment for developers to create software on Playstation Mobile certified devices. The concepts behind its design are to provide developers with a framework of easy to use tools to create applications that will run on different hardware devices without needing to program with a specific hardware architecture in mind. The idea is you code once, and the program will run on all Playstation Certified devices.
Playstation Certified Devices Edit
- Playstation Vita
- Sony Tablet S and P
- Sony Ericcson Xperia Play, Xperia Arc, Xperia Acro, Xperia S and Xperia ION.
Sony has stated that any Android Phone that meets the hardware requirements that Playstation Mobile must use, can become Playstation Certified in the future.
Also according to the developers on the forums and past presentations there are internal discussions inside SCE currently discussing the possibility of Playstation Suite supporting PS3 in the future.
Playstation Mobile utilizes many open source programs and libraries along with SCE's own personally authored code to create the entirety of Playstation Mobile that supports the many interesting software characteristics of the SDK.
At the heart of the it is the Mono Runtime that allows a hardware neutral approach to programming with the SDK. What this ultimately means is that when we create a program and build it into an executable file. We are actually converting it into what is know as Common Intermediate Language. This approach is much like Java in that respect in that we store it in byte code format.
When we execute the file on a hardwares architecture it is run through the Mono Runtime. We can imagine this as being a sandbox or virtual machine type environment completely contained and unable to interact with the outside enviroment without explicit permission. (Theoretically anyways, You find a way to build something and ill find a way to destroy it seems to be the recurring hacker theme today) In this enviroment when we pass in CLR, the runtime has whats called a Just In Time compiler that compiles our CLR into machine language bits of code at a time as it needs to be executed.
Also in this runtime enviroment is whats called a garbage collector. The garbage collector does exactly what the name implies. When we create objects and variables in CLR based languages like C#, We are ultimately asking the garbage collector to go and create a chunk of memory that our object will exist in and then much like in the real world, the garbage man comes and picks up the trash you dont need anymore. This is in contrast to native code like C or C++ in that you directly communicate with the hardware at that stage by using commands like malloc (memory allocate) or delete to create and destroy chunks of memory you need to use.
This does not suggest however, that you do not need to destroy objects you create in playstation suite! Some objects in Playstation Mobile exist for the entirety of the program unless you specifically dispose them. For example art assets are resources you need to dispose of explicitly when you load them into memory and are done using them. Otherwise they will always take up a chunk of memory until you run out and your program crashes.