В конце концов, Гуглу надоело это положение вещей и они решили сделать следующий «финт ушами» — следующая версия Android N (7.0) уже пишется при помощи открытой OpenJDK.
В качестве косвенного доказательства приводят ссылку на страницу одного коммита https://android.googlesource.com/platform/libcore.git/+/51b1b6997fd3f980076b8081f7f1165ccc2a4008, который датирован ноябрем 2015 года, где есть упоминание об OpenJDK.
Сама компания говорит, что подобный шаг позволит использовать новые возможности Java 8. Но независимые аналитики предполагают, что не последнюю роль в этом решении сыграло желание Google покончить с обвинениями Oracle в нарушении патентов.
OpenJDK является открытым и свободным ПО и подобный шаг кажется логичным. В тоже время при обсуждении этой новости зарубежные комментаторы указывают на определённые юридические проблемы, которые по-прежнему останутся. И юристы из Oracle без работы не останутся. Поживём — увидим. Пока официальных комментариев от двух компаний не поступало. Поэтому новость нельзя считать полностью подтверждённой.
Некоторое время назад также циркулировали слухи, что Google думает о замене Java в Android на другой язык программирования. В качестве преемника назывались Go и Dart, И где-то в секретных подвалах компании разработчики якобы пробуют портировать код. Думается, что на данный момент такой исход маловероятен. Их время ещё не пришло, а может и не придёт.
Upd: через час после выхода моей статьи на Гиктаймс появился более развёрнутый пост на эту тему — http://geektimes.ru/company/icover/blog/268644/
Комментарии (15)
dirtyHabrBobr
04.01.2016 10:57Go уже позволяет делать мобильные приложения без участия Java;
и может быть использован на обеих ведущих платформах.ScratchBoom
04.01.2016 12:11+5При желании можно хоть на паскале писать. Но поддержка всего этого оставляет желать лучшего
burjui
04.01.2016 20:22Если точнее, то именно поддержки вовсе нет — есть возможность. Что ни возьми — Go, C++ или Pascal — всё равно всё придётся делать через JNI, т.к. подавляющая часть Android API написана на Java и недоступна напрямую в native code, так что полноценное приложение нельзя написать целиком даже на C++, на котором сам Android написан. Другими словами, в Android внутри C++, а снаружи — Java. А для полноценной поддержки нужен C'шный API, для работы с которым уже сто лет в обед существуют всевозможные FFI в подавляющем большинстве языков программирования.
dirtyHabrBobr
04.01.2016 22:31dirtyHabrBobr
04.01.2016 22:45+1halyavin
05.01.2016 12:16Про них и речь. Без использования JNI, у NativeActivity приложений есть доступ только к тому, что предоставляет NDK. Послать интент, к примеру, вы не сможете — такого API в NDK нет.
alexanderVmironenko
05.01.2016 18:21Интересно:
1. Спорят уже компании давно, что мешало то раньше перейти на OpenJDK тем более с ресурсами Гугла?
2. Затронет ли переход на OpenJDK code base стандартизацию API Андроида? Иначе говоря, JCK будут проходить или просто стянули API + имплементацию?
gotozero
09.01.2016 20:06Здесь хорошо описано что из этого следует и чего ждать:
http://gluonhq.com/android-moving-openjdk/
ScratchBoom
Go и Dart? Я лично вангую Kotlin
Borz
а Kotlin разве уже ушёл хотя бы в стабильный предрелиз?
Vladiator
А в чём разница, если всё равно в JVM компилится? Или тяжбы лишь из-за языка?
ScratchBoom
В том то и дело, что go и dart в JVM не компилятся. Зачем их в статье упомянули — вообще непонятно. Для них ни вменяемых средств разработки нет, ни нормального комьюнити. Переучиваться на эти языки с java как-то странно. А для kotlin уже и поддержка в android studio есть и писать на нём можно одновременно с java.
MercurieVV
Ээээ. Как я понимаю, суть проблемы в том, что Андроид использует Джава АПИ без разрешения. Если поменять на Котлин, то проблема не исчезнет. Поэтому, менять на него смысла особого нет.
Ghedeon
Все правильно упомянули, и в Dart и в Go есть коммиты которые напрямую относятся к андроид. Dart вон даже отдельный фреймворк выкатил. Сам я за kotlin, но нельзя отрицать, что работа ведется по многим направлениям. В Google тоже не одни пророки, видимо распределяют риски, авось что-то одно да выстрелит.