
TL;DR: Вот репка на GitHub с приложением, а кто любит (настоящие) лонгриды — прошу под кат.
Инженер-программист
Сегодня, если вбить поисковый запрос "Asylum" (с современного англ. - дурка, псих.больница) в строку браузера и нажать "искать", можно найти большое количество музыкальных альбомов самых разных жанров - от трэш-металла до хард-рока и, возможно (но это не точно) - до попсы. А ещё там будут фильмы, книги, журналы и комиксы. Но старина ScientaeVulgaris (написано с ошибками, отчего у многих подгорает, и это симптом) сразу спросит: кино это, конечно, здорово, а книжки, конечно, тоже полезно… но где всё остальное? Где старый недобрый галоперидол, на фоне побочных эффектов от которого самое мрачное будущее антиутопий Стругацких будет казаться райским обитаемым островом с говорящими стаями павианов-людоедов. Где обливания холодной водой? Где медицинская асфиксия (удушение)? Лоботомия? Удары током? Вертикальная и горизонтальная карусель для больных (центрифуга)? Классическая порка? Лечебное голодание? Где история карательной психиатрии СССР и Китая 20-го века? Где опыты над пациентами? Где персидские "дурдомы" 9-го века с балалайками и финиками? А где лондонские пыточные камеры для "лунатиков"? Где вся эта история терапевтических процедур для восстановления ментальной целостности? Нету! Хоть шаром по палате прокати. Ну что же, восполняем пробелы знаний с SV, дабы не ударить в грязь лицом при госпитализации в психиатрию.
Я собрал список из десяти отличных репозиториев на Github, которые помогут вам существенно расширить свои знания.
А я его перевел, т.к. показалось, что пост многим будет интересен. Перевод очень вольный: я опустил нерелевантные промо-ссылки и гипер эмоциональные похвалы автора оригинала, чтобы оставить только суть. Еще, обновил цифры, чтобы информация была более актуальной к моменту публикации этого перевода. Итак, перейдем к списку.
Предлагаю вашему вниманию перевод оригинальной статьи от Mike Nakhimovich
Давным-давно я работал в «Нью-Йорк Таймс» и создал библиотеку под названием Store
, которая была «библиотекой Java для легкой, реактивной загрузки данных». Мы создали Store, используя RxJava
и шаблоны, взятые из реализации Guava’s Cache. Сегодняшние пользователи приложений ожидают, что обновления данных будут происходить в UI без необходимости делать такие вещи, как pull-to-refresh, чтобы обновить данные или переходить между экранами туда-сюда. Реактивный фронтенд заставил меня задуматься о том, как мы можем иметь декларативные хранилища данных с простыми API, которые абстрагируют сложные функции, такие как многозадачный троттлинг и дисковое кэширование, которые необходимы в современных мобильных приложениях. За три года работы у Store 45 контрибьютеров и более 3500 звёзд на GitHub. Отныне я рад объявить, что Dropbox возьмет на себя активное развитие Store и выпустит его полностью на Kotlin с поддержкой Coroutines
и Flow
. И теперь Store 4
— это возможность воспользоваться тем, что мы узнали, переосмысливая API и текущие потребности экосистемы Android.
В этой статье пойдет речь о том, как рассказать человеку, ранее не знакомому с программированием под Android, об основных его компонентах. Заинтересовать и показать, что все не так сложно, как многие думают. При этом сделать это за 15 минут и не уходя в объяснение какой-то базовой теории, которую каждый может прочитать сам и вернуться уже с уточняющими вопросами.
Когда я попробовал сделать это первый раз, был неприятно удивлен собой. Мое "простое и понятное" объяснение превратилось в занудство, в рамках которого четко прослеживалась отчаянная попытка объять необъятное и рассказать в двух словах обо всем понемногу. Нужно ли говорить, что такой рассказ скорее не заинтересует, а напугает Вашего собеседника, попутно уменьшив желание сделать что-то свое, даже если раньше в планах был небольшой калькулятор.
Не секрет, что в Интернете размещено огромное количество статей на эту тему, но в моем случае повествование будет немного отличаться: здесь будет только наглядная практика, без определений и прочих деталей. То есть смотрим — видим — комментируем происходящее. Смотрится, на мой взгляд, все достаточно просто и наглядно, куски кода получились тоже небольшие и очень простые, готовые к быстрому использованию в собственном проекте. Мне кажется, такой подход дает достаточно широкую обзорную картину классических инструментов Android, и при написании первого приложения вместо вопросов "что мне использовать" будут более конкретные вопросы "как именно мне использовать компонент Х". А уже все подробности об этом человек сможет узнать сам — если захочет.