Дайджест: Android-неделя

Мы давно уже публикуем по пятницам дайджест новостей из Java-мира, где порой оказывались и Android-события — а теперь вечером четверга публикуем отдельный Android-дайджест:

  • Когда Google сообщил Android-разработчикам «в 2018-м потребуем от вас targetSdkVersion не ниже 26», это подавалось так: «не бойтесь, мы же не трогаем minSdkVersion, так что под старые версии сможете писать сколько душе влезет». Но теперь выясняется, что гладко было на бумаге, а в жизни всё несколько сложнее.
     
    Сначала на Stack Overflow задали вопрос «Где я могу пожаловаться на новые ограничения», там описан реальный проблемный сценарий. Есть приложение с ощутимым числом Gingerbread-пользователей, использующее Support Library. При обновлении targetSdkVersion придётся обновить и библиотеку. А её новая версия требует API не ниже 14. И получается, что перемены скажутся-таки на minSdkVersion, оставляя Gingerbread-пользователей за бортом.
     
    А следом появился блог-пост, отмечающий, что в будущем проблема может обостриться. Google не просто разово что-то потребовал, а будет следить за targetSdkVersion в будущем, повышая ограничение с выходом новых версий. А значит, когда у support library в следующий раз возрастут требования, это снова скажется на разработчиках. И если сейчас вам нет дела до пользователей с API ниже 14, то в следующий раз может не так повезти. В посте приведён ряд вариантов «и что с этим делать», все неудобные.
     

  • Хотя в Reddit-обсуждении предыдущего пункта отметился Джейк Уортон, сам он явно живёт в будущем, где об API 14 никто даже не вспоминает.
     
    На этой неделе он в качестве пет-проекта выпустил маленькое приложение Android SDK Search для быстрого поиска по документации Android SDK. И значением minSdkVersion там было установлено 26 (прописью: двадцать шесть). Это вызвало много эмоций у разработчиков, внезапно обнаруживших, что их Samsung Galaxy S8 недостаточно современный для этой простенькой искалки.
     
    Почему у приложения из одного экрана оказались такие зверские требования? Уортон тут балуется с новыми возможностями вроде мультиплатформенности Kotlin (хочет в рамках того же проекта сделать ещё и расширение для Chrome). И в числе прочего он использовал пакет java.time.*, появившийся только в Oreo. (Издалека доносится злорадный смех серверных джавистов по поводу того, что в Android это инновация, доступная на полпроценте устройств.) Но позже сжалился и снизил запросы до Android 7.0+, так что
    вам, вероятно, есть на что установить приложение. Лайфхак: сообщают, что его удобно использовать в сплит-скрине с браузером.


     

  • Целый ряд новостей про Kotlin:
    Вышла версия 1.2.20
    — Объявлены время и место следующей KotlinConf: 3-5 октября, Амстердам (так что из России добраться попроще, чем на предыдущую)
    — В документации Android к примерам кода на Java добавили аналоги на Kotlin, причём сделали их дефолтными
    — Библиотеки Kategory и FunKtionale, призванные сделать Kotlin функциональнее, теперь переросли в новую библиотеку Λrrow, её презентовали в свежем выпуске подкаста Talking Kotlin
     

  • Несколько ссылок на свежие блог-посты и не только:
    Список «25 новых библиотек и проектов, на которые стоит обратить внимание в начале 2018-го»
    Пост «Использование APK Analyzer для уменьшения размера APK»
    Введение в GraphQL
    Выпуск «Android Dev Подкаста» про DevOps (мы как организаторы конференций Mobius и DevOops не можем пройти мимо пересечения этих двух тем)
     

  • Ну и напоследок — знакомое многим ощущение: