The compatibility is a key question.
If you remember, all java is
about compatibility : "write once, run everywhere!".
For that you need a
common sets of libraries and API.
But even Sun has defined several
dialects of Java:
- JSE for desktops applications
- JEE for
server applications
- JME for mobile devices (phones,
etc.)
It's the same language (java) but not the same subset of
API.
JEE is a superset of of JSE API, while JSE contains only a subset of JSE
API.
Even JME defines different profiles with different API
subsets.
The base libraries and API are common to all editions (but even
that is not so simple...), but for example the UI API differ in JSE and in MIDP
(a specific version of JME for phones) (as the way to start a
program...).
Google has reused most of the libraries API and defined a
new sets of API for UI, android application interoperability (using intents
aso). On the other hand it has discarded RMI (to heavy) all of the JSE API it
find to heavy for mobile and small devices...
Doing that many JSE
libraries are usable on Android (but not all). However it's the same problem
with SUN official JME (MIDP, CLDC, etc.).
All this (Google Oracle fight) in
fact is about control. Which one is allowed or not to create new Java dialects
(just Oracle or everyone...)? Which one is allowed to distribute Java (partially
or not) compatible systems (Official Oracle licensees or everyone)?
If Oracle
wins it will a tight control on the whole Java ecosystem et will be able to rule
it (it will have the master ring!).
[ Reply to This | Parent | # ]
|