понедельник, 26 декабря 2011 г.

Java vs. Android

Мобильная платформа Google поддерживает относительно большое множество функционала Java Standard Edition. Но существуют части J2SE, которые по тем или иным соображениям не включены в Android(к примеру, java.applet, javax.print, java.awt, ...).
Итак, что же общего у Андроида и Java(сравнение с версией Java 2 Platform Standard Edition 5.0)?

Общее:

  • java.io - Файловый и потоковый ввод/вывод
  • java.lang (кроме java.lang.management) - Языковая поддержка и поддержка исключений
  • java.math - Большие числа, округление, точность
  • java.net - Сетевой ввод/вывод, URL-ы, сокеты
  • java.nio - Файловый и канальный ввод/вывод
  • java.security - Авторизация, сертификаты, открытые ключи
  • java.sql - Интерфейс баз данных
  • java.text - Форматирование, естественный язык, сопоставление
  • java.util (включай java.util.concurrent) - Lists, maps, sets, массивы, коллекции
  • javax.crypto - Шифры, открытые ключи
  • javax.net - Socket factories, SSL
  • javax.security (кроме javax.security.auth.kerberos, javax.security.auth.spi, и javax.security.sasl)
  • javax.sound - Звуковые и музыкальные эффекты
  • javax.sql (кроме javax.sql.rowset) - Интерфейсы БД
  • javax.xml.parsers - XML парсинг
  • org.w3c.dom (но не суб-пакеты) - DOM ноды и элементы
  • org.xml.sax - Примеры API для XML

Теперь о том, что не поддерживает платформа Android

Отсутствует поддержка следующих вещей:

  • java.applet
  • java.awt
  • java.beans
  • java.lang.management
  • java.rmi
  • javax.accessibility
  • javax.activity
  • javax.imageio
  • javax.management
  • javax.naming
  • javax.print
  • javax.rmi
  • javax.security.auth.kerberos
  • javax.security.auth.spi
  • javax.security.sasl
  • javax.swing
  • javax.transaction
  • javax.xml (кроме javax.xml.parsers)
  • org.ietf.*
  • org.omg.*
  • org.w3c.dom.* (субпакеты)

И наоборот:

В свою очередь, существуют плюшки, которые Андроид включает в себя, но которые отсутствуют в ствндартных поставках Java 2 Platform Standard Edition 5.0(так называемые, third-party libraries). Среди них следующее:

  • org.apache.commons.codec - Утилиты для кодировки и декодировки
  • org.apache.commons.httpclient - HTTP аутентификация, cookies, методы, и протокол
  • org.bluez - поддержка Bluetooth
  • org.json - JavaScript Object Notation

Как видим, в силу своей специфики, Android включил в себя большую часть функционала стандартного языка Java.

Оригинальная статья датирована 14 января 2008 года. Поэтому, данные могут быть не совсем достоверными. Я постараюсь по мере накопления знаний корректировать свой пост. Если что-то не так - не судите строго) Полезная критика приветствуется.

Комментариев нет:

Отправить комментарий