Здравствуйте уважаемые читатели. Сегодня мы поговорим о такой теме как Java 8 и Android. О плюсах и минусах, и прочих интересных темах.
Уже прошло не мало времени со времен выхода 8 Явы, а на андроиде она появилась не так уж давно. Однажды эта история повторялась с переходом на Java 7. И вот мы снова на том же месте.
И вот после
Плюсы Java 8
Главным плюсом является, вы не поверите, Java 8. Новые фичи действительно полезны, и довольно таки круты. Это и те же самые лямбда выражения, и ссылки на методы, и другие крутые штуки о которых можно писать целый день, а теперь о плохом.
Минусы Java 8
У Java 8 есть один жирный минус — Jack. Дабы подключить новую Яву к проекту нужно и так потратить какое-то время, а с Jack андроид разработка превращается в ад.
Мой красочный опыт
Однажды я решил попробовать что это за зверь. Я добавил Java 8 в свой проект, и я был искренне рад что сделал это, хотя пришлось повозится. Java 8 никак не желала дружить с Dagger'ом. Но после
Менее радужное продолжение
Свой следущий проект я решил делать на той самой Java 8, о чем позже пожалел. В отличии от предыдущего проекта этот надо было делать быстро и не тратить время на раскачку. Ничто не предвещало беды, пока после очередного билда приложуха крешнулась. Это был старый добрый
NullPointerException
. Тот еще нежданчик. Он срабатывал когда я питался поменять текст в TextView
. Значит TextView == null
. Но как? Сделать ButterKnife.bind(this);
я не забыл, так в чем же дело? И почему оно крешнулось именно сейчас, ведь раньше все было ок, и я ничего не менял? Решил ребилднуть — все снова ок. Думаю: ладно, что оно было разберусь как-то позже. Снова кое-что изменил, снова билд, и снова NullPointerException. Единственным разумным объяснением было то, что по какой-то весомой причине butterKnife ни черта не делал. После нескольких ребилдов все возвращалось в норму, потом снова крешилось, и После И как оказалось проблемы с Jack были не только у ButterKnife. С тех самых пор я продолжаю работать на Java 7, так как считаю Jack слишком нестабильным. Такое ощущение будто играешь в рулетку. Вот так радужный свет превратился в серую печаль :(
Комментарии (9)
Mujahit
10.09.2017 17:59+5Зачем пинать того, кто давно умер? О смерти Джека объявили еще пол года назад. https://android-developers.googleblog.com/2017/03/future-of-java-8-language-feature.html Поддержка 8-ой Джавы теперь добавлена в грейдл плагин. https://developer.android.com/studio/write/java8-support.html
vlad2711 Автор
10.09.2017 18:04Круто! Я не знал что поддержка 8-ой Джавы теперь добавлена в грейдл плагин, везде эти устаревшие статьи, которые по сто лет никто не обновляет. Спасибо.
Пинать того, кто давно умер нужно для того что бы удостоверится в его смерти :)int00h
10.09.2017 18:26+7Я не знал что поддержка 8-ой Джавы теперь добавлена в грейдл плагин, везде эти устаревшие статьи, которые по сто лет никто не обновляет.
Потому что вместо устаревших статей, нужно читать https://developer.android.com
maxzh83
Почему нет варианта «Использую Котлин»? Ведь это лучше практическое применение новомодному языку.
vlad2711 Автор
Как-то позабыл про него
vlad2711 Автор
Добавил второй опрос специально для людей пишущих на котлин
asmrnv777
Если бы им ещё можно было пользоваться. Редактор в Android Studio лагает от котлина даже на топовом железе.