SlideShare a Scribd company logo
1 of 45
Download to read offline
Android is client Java


   Can't we all just get along?
Tablet devices, and
 mobile devices in
    general, are
 revolutionizing IT
It is practical to treat
     Android's Java
runtime environment
   as separate from
        Android
When we say
  “Android is client
         Java”
that is a more-general
 statement than, say,
   “Objective-C is a
mainstream language”
Client Java was...
       AWT
      Swing
       SWT
     JavaFX
   Qt bindings
       Etc.
Step1: “Write once,
 run everywhere”
 Step 2: Convince
 everyone this is a
     good idea
   Step 3: ?????
Step1: Make a really
appropriate mobile
managed language
      runtime
Step 2: Watch ISVs
write 200,000+ apps
I'm good
enough, I'm
    smart
enough, and
 doggone it,
 people like
     me!
The recipe for modern
   smartphone OSs:
      Linux or other
embedded UNIX-like OS
   Managed language
         runtime
  Full-featured browser
Examples:
     iOS
   Android
Windows Phone
Partial:
Meego – more like
Linux-goes-mobile
  Bada – C++ app
 runtime and APIs
Android is client Java
Real multi-processing –
 multiple VM instances
Low memory overhead
      per instance
      Fast launch
Share-able data heap
  – copy-on-write
    Save/restore
  component and
   process state
Security benefits from true
     multi-processing
     Process per app
    UID per publisher
 Effective sandboxing of
   multiple publishers
VM efficiency for
     mobile
Smaller bytecode
Faster bytecode
Mobile-tuned JIT compiler
   Much less CPU/power-
intensive than previous JIT
         compilers
 Compiles much less code
Relies on efficiency of non-
      compiled code
Android is a really
  good, mature client
Java, and far ahead of
    other managed
language runtimes for
   mobile devices
So it is reasonable to want
  the Android application
     runtion on another
platform, but can you get it
    without diluting the
      advantages with
 virtualization, emulation,
      hypervizors, etc?
Why?
Here comes another
guy prophesying the
 end of the PC era
Plummeting!




     Source: Hitslink
Why believe it this
     time?
The dominance of PCs in IT
       is artificial
       PCs were...
  Personal – you own it
      A revolution
Empowering to individuals
Some people need
      PCs
Some people need
   this stove
So why did all the
alternatives fail?
The economics of PC
 manufacturing crushed
     all challengers
   Tablets are “large
  smartphones” - they
inherit the economics of
      smartphones
Tablets and touch make
everything easier Cheaper
        to support
    Tablets can support
  legacy apps through
  desktop virtualization
     Tablets are a great
 delivery vehicle for Web
           apps
A new revolution in
     enterprise
 collaboration and
  communication
To sum up
Java is a good language
Android Java is the best
  managed language
  runtime for mobile
         devices
Tablets are an IT revolution
  Tablets will become the
       basis of a new
  collaborative work and
communications paradigm
 Java can be a big part of
      this revolution
There will be lots of
Android devices, but...
You can treat Android
    as a runtime
   separately from
 Android OS, if you
   need or want to
Learn Android Java

More Related Content

What's hot

TOP 5 TECHNOLOGIES TO CREATE A COMPETENT ANDROID APP IN 2019
TOP 5 TECHNOLOGIES TO CREATE A COMPETENT ANDROID APP IN 2019TOP 5 TECHNOLOGIES TO CREATE A COMPETENT ANDROID APP IN 2019
TOP 5 TECHNOLOGIES TO CREATE A COMPETENT ANDROID APP IN 2019
upssingh
 
Go mobile with Windows Phone
Go mobile with Windows PhoneGo mobile with Windows Phone
Go mobile with Windows Phone
Dima Maleev
 
Modern mobile development overview
Modern mobile development overviewModern mobile development overview
Modern mobile development overview
Dima Maleev
 

What's hot (20)

Start from the User
Start from the UserStart from the User
Start from the User
 
Mobile or Web First?
Mobile or Web First? Mobile or Web First?
Mobile or Web First?
 
TOP 5 TECHNOLOGIES TO CREATE A COMPETENT ANDROID APP IN 2019
TOP 5 TECHNOLOGIES TO CREATE A COMPETENT ANDROID APP IN 2019TOP 5 TECHNOLOGIES TO CREATE A COMPETENT ANDROID APP IN 2019
TOP 5 TECHNOLOGIES TO CREATE A COMPETENT ANDROID APP IN 2019
 
Mobile Application Development With Android
Mobile Application Development With AndroidMobile Application Development With Android
Mobile Application Development With Android
 
Introduction to Android Programming
Introduction to Android ProgrammingIntroduction to Android Programming
Introduction to Android Programming
 
Nex g exuberant solutions
Nex g exuberant solutionsNex g exuberant solutions
Nex g exuberant solutions
 
Go mobile with Windows Phone
Go mobile with Windows PhoneGo mobile with Windows Phone
Go mobile with Windows Phone
 
Camerjam mobile marketing masterclass 12snap
Camerjam mobile marketing masterclass 12snapCamerjam mobile marketing masterclass 12snap
Camerjam mobile marketing masterclass 12snap
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introduction
 
Basics of android
Basics of androidBasics of android
Basics of android
 
Modern mobile development overview
Modern mobile development overviewModern mobile development overview
Modern mobile development overview
 
Ro Ck St Ar
Ro Ck St ArRo Ck St Ar
Ro Ck St Ar
 
Android Design Architecture
Android Design ArchitectureAndroid Design Architecture
Android Design Architecture
 
iOS
iOSiOS
iOS
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Latest Development Of MeeGo
Latest Development Of MeeGoLatest Development Of MeeGo
Latest Development Of MeeGo
 
Tk2323 lecture 1 introduction to mobile application
Tk2323 lecture 1   introduction to mobile applicationTk2323 lecture 1   introduction to mobile application
Tk2323 lecture 1 introduction to mobile application
 
Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5
Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5
Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Windows 10 & Raspberry Pi 2
Windows 10 & Raspberry Pi 2Windows 10 & Raspberry Pi 2
Windows 10 & Raspberry Pi 2
 

Viewers also liked

Big Data for each one of us
Big Data for each one of usBig Data for each one of us
Big Data for each one of us
OSCON Byrum
 

Viewers also liked (8)

Faster! Faster! Accelerate your business with blazing prototypes
Faster! Faster! Accelerate your business with blazing prototypesFaster! Faster! Accelerate your business with blazing prototypes
Faster! Faster! Accelerate your business with blazing prototypes
 
Refactoring to the State Design Pattern
Refactoring to the State Design PatternRefactoring to the State Design Pattern
Refactoring to the State Design Pattern
 
Oscon 2013 Jesse Anderson
Oscon 2013 Jesse AndersonOscon 2013 Jesse Anderson
Oscon 2013 Jesse Anderson
 
Big Data for each one of us
Big Data for each one of usBig Data for each one of us
Big Data for each one of us
 
The Vanishing Pattern: from iterators to generators in Python
The Vanishing Pattern: from iterators to generators in PythonThe Vanishing Pattern: from iterators to generators in Python
The Vanishing Pattern: from iterators to generators in Python
 
Finite State Machines - Why the fear?
Finite State Machines - Why the fear?Finite State Machines - Why the fear?
Finite State Machines - Why the fear?
 
Using Cascalog to build an app with City of Palo Alto Open Data
Using Cascalog to build an app with City of Palo Alto Open DataUsing Cascalog to build an app with City of Palo Alto Open Data
Using Cascalog to build an app with City of Palo Alto Open Data
 
How we built our community using Github - Uri Cohen
How we built our community using Github - Uri CohenHow we built our community using Github - Uri Cohen
How we built our community using Github - Uri Cohen
 

Similar to Android is client Java

B feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopmentB feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopment
sathesh leo
 
Desktop is going to be v2
Desktop is going to be  v2Desktop is going to be  v2
Desktop is going to be v2
Pini Cohen
 
Ch1 hello, android
Ch1 hello, androidCh1 hello, android
Ch1 hello, android
Jehad2012
 
Mobile Application Development-Lecture 03 & 04.pdf
Mobile Application Development-Lecture 03 & 04.pdfMobile Application Development-Lecture 03 & 04.pdf
Mobile Application Development-Lecture 03 & 04.pdf
AbdullahMunir32
 

Similar to Android is client Java (20)

Mobile app
Mobile appMobile app
Mobile app
 
Android architecture
Android architectureAndroid architecture
Android architecture
 
Android os(comparison all other mobile os)
Android os(comparison all other mobile os)Android os(comparison all other mobile os)
Android os(comparison all other mobile os)
 
Comparative Study Of Android VS Windows Phone
Comparative Study Of  Android  VS  Windows PhoneComparative Study Of  Android  VS  Windows Phone
Comparative Study Of Android VS Windows Phone
 
Android in Netbooks
Android in NetbooksAndroid in Netbooks
Android in Netbooks
 
Android complete basic Guide
Android complete basic GuideAndroid complete basic Guide
Android complete basic Guide
 
Uses of java
Uses of javaUses of java
Uses of java
 
What is Codename One - Transcript.pdf
What is Codename One - Transcript.pdfWhat is Codename One - Transcript.pdf
What is Codename One - Transcript.pdf
 
Android application development
Android application developmentAndroid application development
Android application development
 
B feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopmentB feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopment
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Development
 
Desktop is going to be v2
Desktop is going to be  v2Desktop is going to be  v2
Desktop is going to be v2
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android
 
Developers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th editionDevelopers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th edition
 
Android platform
Android platform Android platform
Android platform
 
Android_Studio_Structure.docx
Android_Studio_Structure.docxAndroid_Studio_Structure.docx
Android_Studio_Structure.docx
 
Ch1 hello, android
Ch1 hello, androidCh1 hello, android
Ch1 hello, android
 
An brief introduction to android operating system
An brief introduction to android operating systemAn brief introduction to android operating system
An brief introduction to android operating system
 
First Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting IntroductionFirst Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting Introduction
 
Mobile Application Development-Lecture 03 & 04.pdf
Mobile Application Development-Lecture 03 & 04.pdfMobile Application Development-Lecture 03 & 04.pdf
Mobile Application Development-Lecture 03 & 04.pdf
 

More from OSCON Byrum

Declarative web data visualization using ClojureScript
Declarative web data visualization using ClojureScriptDeclarative web data visualization using ClojureScript
Declarative web data visualization using ClojureScript
OSCON Byrum
 

More from OSCON Byrum (20)

OSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
OSCON 2013 - Planning an OpenStack Cloud - Tom FifieldOSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
OSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
 
Protecting Open Innovation with the Defensive Patent License
Protecting Open Innovation with the Defensive Patent LicenseProtecting Open Innovation with the Defensive Patent License
Protecting Open Innovation with the Defensive Patent License
 
Open Source Automotive Development
Open Source Automotive DevelopmentOpen Source Automotive Development
Open Source Automotive Development
 
Distributed Coordination with Python
Distributed Coordination with PythonDistributed Coordination with Python
Distributed Coordination with Python
 
An overview of open source in East Asia (China, Japan, Korea)
An overview of open source in East Asia (China, Japan, Korea)An overview of open source in East Asia (China, Japan, Korea)
An overview of open source in East Asia (China, Japan, Korea)
 
US Patriot Act OSCON2012 David Mertz
US Patriot Act OSCON2012 David MertzUS Patriot Act OSCON2012 David Mertz
US Patriot Act OSCON2012 David Mertz
 
OSCON 2012 US Patriot Act Implications for Cloud Computing - Diane Mueller, A...
OSCON 2012 US Patriot Act Implications for Cloud Computing - Diane Mueller, A...OSCON 2012 US Patriot Act Implications for Cloud Computing - Diane Mueller, A...
OSCON 2012 US Patriot Act Implications for Cloud Computing - Diane Mueller, A...
 
BodyTrack: Open Source Tools for Health Empowerment through Self-Tracking
BodyTrack: Open Source Tools for Health Empowerment through Self-Tracking BodyTrack: Open Source Tools for Health Empowerment through Self-Tracking
BodyTrack: Open Source Tools for Health Empowerment through Self-Tracking
 
Declarative web data visualization using ClojureScript
Declarative web data visualization using ClojureScriptDeclarative web data visualization using ClojureScript
Declarative web data visualization using ClojureScript
 
Using and Building Open Source in Google Corporate Engineering - Justin McWil...
Using and Building Open Source in Google Corporate Engineering - Justin McWil...Using and Building Open Source in Google Corporate Engineering - Justin McWil...
Using and Building Open Source in Google Corporate Engineering - Justin McWil...
 
A Look at the Network: Searching for Truth in Distributed Applications
A Look at the Network: Searching for Truth in Distributed ApplicationsA Look at the Network: Searching for Truth in Distributed Applications
A Look at the Network: Searching for Truth in Distributed Applications
 
Life After Sharding: Monitoring and Management of a Complex Data Cloud
Life After Sharding: Monitoring and Management of a Complex Data CloudLife After Sharding: Monitoring and Management of a Complex Data Cloud
Life After Sharding: Monitoring and Management of a Complex Data Cloud
 
Comparing open source private cloud platforms
Comparing open source private cloud platformsComparing open source private cloud platforms
Comparing open source private cloud platforms
 
State of the Art Web Mapping with Open Source
State of the Art Web Mapping with Open SourceState of the Art Web Mapping with Open Source
State of the Art Web Mapping with Open Source
 
Building an Ecosystem of FLOSS to Educate Students with Disabilities
Building an Ecosystem of FLOSS to Educate Students with DisabilitiesBuilding an Ecosystem of FLOSS to Educate Students with Disabilities
Building an Ecosystem of FLOSS to Educate Students with Disabilities
 
Android Security Essentials
Android Security EssentialsAndroid Security Essentials
Android Security Essentials
 
How to Design for the Future - Cross Channel Experience Design
How to Design for the Future - Cross Channel Experience DesignHow to Design for the Future - Cross Channel Experience Design
How to Design for the Future - Cross Channel Experience Design
 
Harnessing the good intentions of others for your oss project
Harnessing the good intentions of others for your oss projectHarnessing the good intentions of others for your oss project
Harnessing the good intentions of others for your oss project
 
Introduction to android testing - oscon 2012
Introduction to android testing - oscon 2012Introduction to android testing - oscon 2012
Introduction to android testing - oscon 2012
 
The Art of Social Media Analysis with Twitter & Python-OSCON 2012
The Art of Social Media Analysis with Twitter & Python-OSCON 2012The Art of Social Media Analysis with Twitter & Python-OSCON 2012
The Art of Social Media Analysis with Twitter & Python-OSCON 2012
 

Recently uploaded

Recently uploaded (20)

How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 

Android is client Java

  • 1.
  • 2.
  • 3.
  • 4. Android is client Java Can't we all just get along?
  • 5. Tablet devices, and mobile devices in general, are revolutionizing IT
  • 6. It is practical to treat Android's Java runtime environment as separate from Android
  • 7. When we say “Android is client Java” that is a more-general statement than, say, “Objective-C is a mainstream language”
  • 8. Client Java was... AWT Swing SWT JavaFX Qt bindings Etc.
  • 9. Step1: “Write once, run everywhere” Step 2: Convince everyone this is a good idea Step 3: ?????
  • 10. Step1: Make a really appropriate mobile managed language runtime Step 2: Watch ISVs write 200,000+ apps
  • 11. I'm good enough, I'm smart enough, and doggone it, people like me!
  • 12. The recipe for modern smartphone OSs: Linux or other embedded UNIX-like OS Managed language runtime Full-featured browser
  • 13. Examples: iOS Android Windows Phone
  • 14. Partial: Meego – more like Linux-goes-mobile Bada – C++ app runtime and APIs
  • 16. Real multi-processing – multiple VM instances Low memory overhead per instance Fast launch
  • 17. Share-able data heap – copy-on-write Save/restore component and process state
  • 18. Security benefits from true multi-processing Process per app UID per publisher Effective sandboxing of multiple publishers
  • 19. VM efficiency for mobile Smaller bytecode Faster bytecode
  • 20. Mobile-tuned JIT compiler Much less CPU/power- intensive than previous JIT compilers Compiles much less code Relies on efficiency of non- compiled code
  • 21. Android is a really good, mature client Java, and far ahead of other managed language runtimes for mobile devices
  • 22. So it is reasonable to want the Android application runtion on another platform, but can you get it without diluting the advantages with virtualization, emulation, hypervizors, etc?
  • 23.
  • 24. Why?
  • 25.
  • 26. Here comes another guy prophesying the end of the PC era
  • 27. Plummeting! Source: Hitslink
  • 28. Why believe it this time?
  • 29. The dominance of PCs in IT is artificial PCs were... Personal – you own it A revolution Empowering to individuals
  • 30. Some people need PCs Some people need this stove
  • 31.
  • 32.
  • 33. So why did all the alternatives fail?
  • 34. The economics of PC manufacturing crushed all challengers Tablets are “large smartphones” - they inherit the economics of smartphones
  • 35. Tablets and touch make everything easier Cheaper to support Tablets can support legacy apps through desktop virtualization Tablets are a great delivery vehicle for Web apps
  • 36. A new revolution in enterprise collaboration and communication
  • 37.
  • 38.
  • 39.
  • 40.
  • 42. Java is a good language Android Java is the best managed language runtime for mobile devices
  • 43. Tablets are an IT revolution Tablets will become the basis of a new collaborative work and communications paradigm Java can be a big part of this revolution
  • 44. There will be lots of Android devices, but... You can treat Android as a runtime separately from Android OS, if you need or want to