Дайджест в этот раз чуть припозднился. Будем считать, что мы дожидались релиз-кандидат Kotlin 1.3!
- Первая новость — собственно, появление этого релиз-кандидата. Теперь уже совсем на носу релиз, с которым корутины больше не будут «экспериментальными».
Если из-за этого захотелось погрузиться в корутины глубже, сейчас как раз появился ещё и пост Романа Елизарова о появлении в них structured concurrency (что это такое, в самом посте и объясняется).
А если после этого сохранится ощущение «we need to go deeper» — можно прочитать текст полугодовой давности «Notes on structured concurrency, or: Go statement considered harmful», из которого в команде Kotlin позаимствовали само название «structured concurrency».
- Релиз Android Studio 3.2 тоже на носу (на прошлой неделе вышел последний релиз-кандидат), но тут есть нюансы. Команда пишет: «Вообще-то у нас ещё не закрыты некоторые P1-баги, так что выпускать вроде как рано, но в 3.1 проблем ещё больше, зачем тогда заставлять людей сидеть на ней». Правильный ли это подход?
- Раз пошла такая пьянка с «последними предрелизными версиями», упомянем, что и у Flutter тоже такая вышла, дальше будет 1.0. Но там сейчас новости связаны не с Android, а с iOS.
- А есть ли хоть кто-то, у кого сейчас вышла не предрелизная версия, а релизная? Да: у Koin (если кто не в курсе, dependency injection для котлинистов) появилась 1.0.
- Переходим от релизов к постам. Вы можете знать Евгения Мацюка как создателя Telegram-чата «Android Architecture», перевалившего уже за 2000 участников. И теперь он написал большущий хабрапост, связанный как раз с этим: «Многомодульность в Android с точки зрения архитектуры. От А до Я».
- Вдогонку этому — англоязычный пост с примером многомодульной архитектуры. Иногда в авторе просыпается филолог: «сравните глаголы из предыдущего абзаца, core module предоставляет, а feature module потребляет и отображает, при этом оба они содержат».
- И ещё об архитектуре, холиварное: 10-минутный видеоролик о том, что Android Architecture Blueprints — это неправильные пчёлы, и их MVP на самом деле неправильный MVP.
- Если хочется ещё похоливарить, есть пост с намеренно кликбейтным заголовком «Всё, что мы делаем в Android-разработке неправильно» (как замечают комментаторы, если бы заголовок был верен и перечислено было действительно «всё», то книги бы не хватило).
- И ещё пост с кричащим заголовком: «Уведомления в Android кошмарно поломаны». На самом деле корректнее был бы заголовок «Некоторые китайские производители ограничивают уведомления» (что действительно проблема, но при этом не новость).
- Любопытный текст о недостатке Picasso. Если из-за плохого интернета картинка недогрузилась, Picasso кэширует её часть как полноценное изображение и никак не сообщает о проблеме. Так что даже когда соединение возобновится, пользователь будет видеть недозагруженную версию, и на стороне приложения никак не узнать, что надо сбросить кэш. Джейк Уортон весной объяснял, что проблема на стороне Android и со стороны Picasso тут ничего не сделать. Но при этом в Glide аналогичной проблемы нет.
- Пост о хранении данных в виде простых файлов интереснее не приведённым кодом (три строчки вы и сами можете написать), а смелой позицией автора «конечно, минусы есть, но вообще-то порой это лучший вариант». Как он признаётся, «у меня даже в Google Play есть несколько приложений с этим подходом, только не скажу, какие именно». Наверное, это как мастурбация: на самом деле все таким занимаются, но когда никто не смотрит.
- В то время как Google закрывает сервис Inbox, сторонний разработчик вдохновился интерфейсом этого сервиса и сделал InboxRecyclerView. Другие маленькие новинки опенсорса — PixelShot («сохраняет любой View или SurfaceView как изображение») и AndroidWM (добавляет на изображение вотермарки).
- В дополнение к предыдущему: подборка «30 библиотек и инструментов, которые не стоит упускать в 2018-м». Не счесть числа подобным подборкам, но всё равно каждый раз любопытно открывать.
- Пара текстов не про Android-разработку, но произвели такой резонанс во всём IT-сообществе, что тут тоже сошлёмся. Никита Прокопов, которого мы хорошо знаем по нашей конференции HolyJS, проходится огнём и мечом по всей современной разработке (в том числе и мобильной), ужасаясь «мы тратим всё больше ресурсов, чтобы выполнять то же самое». Даже если вы с ним не согласны, смысл прочитать есть.
А известный отсутствием эмпатии Линус Торвальдс, обычно проходящийся по всем огнём и мечом, наоборот, решил сделать перерыв в своей основной деятельности и научиться лучше коммуницировать с людьми. Как можно догадаться, одни бурно радуются этому решению («IT как раз об умении сотрудничать комфортно для всех»), а другие бурно возмущаются («прогнулся перед обиженками»). Даже если вы во второй категории, смысл прочитать есть. В конце концов, когда Торвальдс в прошлый раз сделал перерыв, появился git.
- И напоследок — сложно не согласиться с твитом:
Would be lovely if Google would lead by example. pic.twitter.com/aDhQQcDq6U
— Juhani Lehtimäki (@lehtimaeki) September 19, 2018