General Notes for AO

From WikiContent

Jump to: navigation, search

Additional notes re Open Android

Java:

Proposition: Android is client Java

Client Java used to be...

   AWT
   Swing
   SWT
   JavaFX

Android is the first successful client Java technology


Why did Android succeed?

   Java SE tried by being everywhere
   Android Java succeeded by being very good in one place
   Android solved several serious issues
       Multi-processing
           Uses real processes
           Efficient enough for mobile devices
           Copy-on-write, Zygote, etc. are novel approaches
       How to share singleton client node resources
           You have one mobile radio, one gps receiver, etc.
           The Service class
       How to recover memory across multiple processes
       A UX for devices
           No "exiting" or "saving"- apps just exist, data always safe
           Activity and Fragment instead of overlapping windows
           Strong influence of Filthy Rich Clients
       Android benefited from an OS designed for the Android Java runtime, and vica versa
       Android is a big advancement in client Java, not just the first successful client Java

But Android is currently tied to Android OS

   RIM, Myriad, Canonical, others, tried/trying to pry it loose
   Is it possible to use Android's runtime without Android OS?
       Does Android have the tools for portability of apps?
           Manifests and required capabilities, resources
           Optional APIs and capabilities
           Resiliency to unavailable resources, capabilities
       Portability and the Android intent interface
           Is Android app cooperation portable?
           Is the Intent interface resilient to widely different environments?
       Is compatibility achievable?
           Is it possible to write a specification for an Android runtime?
       Will Oracle make another try at client Java and/or mobile Java?
   What would an Android runtime mean outside of Android OS?
Personal tools