From: arne@vajhoej.dk   
      
   On 10/15/2025 9:01 PM, Dan Cross wrote:   
   > In article <10cpebq$26b5$1@dont-email.me>,   
   > Arne Vajhøj wrote:   
   >> On 10/15/2025 7:58 AM, Dan Cross wrote:   
   >>> [snip]   
   >>> Oh sure, it had some   
   >>> adoption in mobile phone type applications, but util Android   
   >>> (which tried to skirt the licensing issues with Dalvik) that   
   >>> was pretty limited.   
   >>   
   >> Almost all the 3 millions apps available for the 3 billion   
   >> Android phones are written in Java or Kotlin. Not particular limited.   
   >   
   > ...but not running on the JVM or using the JRE.   
      
   True.   
      
   But the difference is not that big.   
      
   A) library   
      
   Mostly:   
      
   Android SDK =   
   standard Java library   
   - desktop GUI (Swing)   
   + Android GUI   
   + phone stuff   
      
   So the Java developer need to learn a new GUI (but few will   
   miss Swing) and learn some phone specific API's (which   
   is sort of unavoidable).   
      
   But mostly the usual API. Which was the core of Oracle's   
   lawsuit against Google.   
      
   They can use most of the third party Java libraries that they   
   know from elsewhere. If they make sense on a phone and are   
   not too heavy.   
      
   B) VM   
      
   It is different:   
      
   Java source   
   --(javac)-->   
   Java byte code (stack based)   
   -->   
   JVM   
      
   (Hotspot JVM is JIT only, GraalVM is JIT or AOT, J9 is JIT with   
   cache between runs which result in some sort of AOT)   
      
   vs   
      
   Java source   
   --(javac)-->   
   Java byte code (stack based)   
   --(Android tool)-->   
   Android byte code (register based)   
   -->   
   Android VM   
      
   (Dalvik in Android 2-4 is JIT, ART in Android 5-6 i AOT,   
   ART in Android 7- is a hybrid between AOT and JIT)   
      
   And while I am sure the different byte code formats and   
   AOT vs JIT can create very heated arguments among VM writers,   
   then the average Java developer does not care. They write their   
   Java code, they compile it with javac and then it gets deployed   
   and it somehow runs.   
      
   Arne   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|