Мобайл: дизайн и разработка – Telegram
Мобайл: дизайн и разработка
473 subscribers
8 photos
158 links
Android-разработчик и дизайнер делится своим опытом, полезными инструментами, выжимками статей и докладов.
Download Telegram
Android Studio обновилась до версии 3.0.

Теперь она поддерживает Kotlin из коробки. При создании проекта можно сразу указать, что вы хотите использовать этот язык, или же конвертировать классы уже существующего проекта. Если вы беспокоитесь о производительности, есть возможность заглянуть под капот – студия показывает байткод и декомпилирует его в Java.

В ConstraintLayout теперь есть барьеры – линии, за которые не могут выходить определённые элементы интерфейса.

Появился новый тип ресурсов – @sample. Вместо Lorem Ipsum в предпросмотр лейаута теперь можно подставить JSON с реальными данными.

Обновились профайлеры для CPU, памяти и сети. Хотите просматривать отдельные HTTP-запросы? Пожалуйста, и никакой Stetho не нужен.

Конечно, это далеко не все изменения. Посмотрите видео, чтобы узнать об адаптивных иконках, шрифтах в XML, новых фичах эмулятора и других улучшениях.
Новое в Support Library

Основные изменения коснулись текста и графики.

Шрифты теперь можно скачивать сразу в Android Studio и задавать в XML. За работу со шрифтами отвечает Font Provider. Он скачивает шрифты, кэширует их и раздаёт приложениям, которые хотят их использовать. Для разработчиков доступна библиотека шрифтов Google Fonts.

EmojiCompatLibrary поможет с отрисовкой новых emoji, которые недоступны на ранних версиях системы. Появились TextView, EditText и Button с поддержкой Emoji.

У TextView появился автоподбор размера текста в зависимости от границ его контейнера.

Анимация теперь обладает физикой. Появились SpringAnimation и FlingAnimation – анимации, завязанные на реальном поведении объектов при взаимодействии с ними.

26 версия библиотеки работает с API 14 и выше – поддержка Gingerbread и Honeycomb была прекращена.

Обновление также коснулось векторных ресурсов, хранения настроек, Android Wear и Android TV.

Полный список изменений:
https://developer.android.com/topic/libraries/support-library/revisions.html#26-0-0-beta1
Наверное, лучшее введение в реактивное программирование. Когда я решил в нём разобраться, именно после этой статьи произошел a-ha moment, и всё стало на свои места.
Примеры написаны на JS, но суть будет понятна, даже если вы не знаете этот язык.

https://gist.github.com/staltz/868e7e9bc2a7b8c1f754
Небольшая (8 минут) статья про психологию в дизайне.

Здесь рассказывается о принципах гештальта (как мозг визуально группирует объекты), о висцеральных реакциях (когда мы мгновенно формируем позитивное или негативное отношение к интерфейсу), психологии цветов, распознавании объектов, паттернах сканирования и законе Хика (чем больше выбор, тем труднее определиться с решением).
Здесь эти вещи рассмотрены довольно поверхностно, но в конце статьи можно найти материалы для дальнейшего изучения.

Если вы предпочитаете видео, посмотрите лекцию Школы дизайна Яндекса на эту тему.
Подписчик (@micolucis) делится своим переводом case study по редизайну iOS-приложения Apple Music. Внутри много интересных решений и красивых визуальных деталей.
Вышла бета-версия Firebase Performance Monitoring – инструмента для сбора метрик, касающихся производительности iOS и Android приложений. С его помощью можно отследить, сколько времени у пользователей занимают те или иные действия (например, запуск приложения или загрузка картинки), как долго выполняются HTTP-запросы и какие коды ошибок приходят в ответ, Все метрики разбиты по странам, устройствам, версиям приложения и операционным системам.

https://firebase.googleblog.com/2017/05/introducing-firebase-performance.html
Слепой разработчик рассказывает и показывает, как сделать ваши приложения доступнее для инвалидов. Это не так сложно, как может казаться, хоть и требует определенных усилий.

https://www.raizlabs.com/dev/2017/05/android-accessibility/
Уже сегодня Apple покажет iOS 11 и macOS 10.13, колонку под управлением Siri – конкурента Amazon Echo, и, возможно, новые iPad, Macbook, iMac и Mac Pro.
Присоединяйтесь к трансляции в 20:00.
Начинаем!
В Apple Watch теперь есть вочфейс с Siri, который подбирает наиболее релевантную инофрмацию.
Появились новые циферблаты. Обновились приложения музыки и тренировок.
watchOS 4 – уже этой осенью.
macOS High Sierra

В Safari добавили возможность отключить автовоспроизведение видео. Браузер теперь предотвращает отслеживание рекламой персональных данных.
Apple File System – новая файловая система. Шифрование, защита от крашей, мгновенное дублирование файлов и папок.
Metal 2 – новая платформа для графики, которая работает на внешних GPU.
Steam VR, Unity и Unreal Engine теперь есть и на Mac.

Бета-версия системы уже доступна для разработчиков, публичная бета – в июне, а окончательная версия – осенью.
iOS 11

Голос Siri прокачали с помощью deep learning – он стал более натуральным. Также она теперь поддерживает переводы (пока только с английского на мировые языки; русский не поддерживается). Siri обучается на ваших данных, и они синхронизируются между вашими устройствами (и хранятся в зашифрованном виде).
Новый пункт управления, который стал удобнее благодаря 3D Touch.
Для Live Photos добавили больше возможностей редактирования – обрезка, зацикливание, длинная выдержка.
Apple Pay теперь поддерживает переводы денег между пользователями.
AppStore получил новый дизайн. Появился раздел "Сегодня" (рекомендации), а также отдельные разделы для приложений и игр. Обзоры и советы по играм от сотрудников Apple – теперь на страницах AppStore.
Augmented Reality

Камера распознает поверхности, что придает виртуальным моделям реалистичности. Выглядит круто, но непонятно, зачем это может пригодиться.
Новый iPad Pro с экраном 10.5 дюймов.

Рамки на 40% меньше, частота обновления экрана – больше, и регулируется автоматически.
6-ядерный процессор A10X Fusion позволяет прогонять довольно сложные алгоритмы для редактирования графики в 120 fps.
iOS 11 сделала мультитаскинг на iPad гораздо удобнее – появился drag-n-drop и предпросмотр открытых приложений, как на macOS.
Приложение Files позволяет (вы не поверите) управлять файлами. В нем есть поддержка Dropbox и других облачных сервисов.
Apple несут Pencil в массы – теперь они продвигают стилус не только как инструмент для рисования, но и как средство для создания заметок и быстрых скетчей.
Последнее, что показали – HomePod – умная колонка для воспроизведения музыки дома. Подстраивает звук под помещение, регулируя определенные частоты. Работает с Apple Music. Поддерживает голосовые команды. В конце рассказали, что помимо проигрывания музыки, колонка может работать, как обычный голосовой ассистент. По словам Apple, HomePod не записывает ничего лишнего и отправляет запросы анонимно. Продаваться будет в США, Великобритании и Австралии с декабря за $349.
У Dribbble теперь есть официальное iOS-приложение.
Про Android пока никаких новостей, но я могу посоветовать сторонние клиенты Plaid и Rippple. Первое работает еще и как агрегатор новостей с Designer News и Product Hunt, а его исходники лежат в свободном доступе на GitHub.
Ещё один перевод от подписчика – большая подборка best practices, касающихся структуры форм, обязательных и необязательных полей, автозаполнения и других аспектов.
Перевод статьи про функторы, аппликативные функторы и монады с Haskell на Kotlin и Swift.

• Kotlin Functors, Applicatives and Monads In Pictures (3 части)

Swift Functors, Applicatives, and Monads in Pictures

• Бонус: еще одна статья про те же концепции в Swift, но гораздо короче

Если коротко, functor позволяет применять фукнцию к помещенному в контекст значению (например, Optional), applicative – применять помещенную в контекст функцию к помещенному в контекст значению, а monad – применять фукнцию, которая возвращает помещенное в контекст значение. В статьях все эти вещи объясняются гораздо понятнее, так что не поленитесь почитать.
Android-разработчик из Vimeo рассказывает о создании Instant App для их видеоплеера. Сначала о том, как делать не надо – не надо делать новую ветку в проекте и удалять из нее все, кроме нужной фичи (а потом фиксить возникшие баги). Надо избавляться от ненужных зависимостей, абстрагироваться от нужных и использовать Dependency Injection. Эти манипуляции не всегда даются легко, но после них выделять фичи в отдельные модули станет гораздо удобнее. Приемы из статьи подойдут и для обычных приложений, если вы захотите выжать из них максимум.

https://medium.com/vimeo-engineering-blog/vimeo-android-instant-apps-2f8b1e94760c