Дайджест интересных материалов для мобильного разработчика #198 (2-9 апреля)

Из нового дайджеста вы можете узнать, как устроено автоматическое тестирование в Почте, в нескольких вариантах о том, как работать с WebRTC, о том, что Android стал самой используемой ОС в мире, что MZ собирает все данные мира и о средней «по больнице» вовлеченности людей в приложения.

68377da13da64b70a3fe24144471f4c1.png

3d58ff8c6d614277a4253c29bfd76f76.png

Не будет преувеличением сказать, что это гипербола

30 лет назад эта команда очистила экран IBM PC/XT. Я, как зачарованный, смотрел на потухшие 320 на 200 черных точки и понимал, что теперь могу их зажечь, как звезды на небе. Простой командой. Простой парень. И я зажег. Так зажег, что до сих пор остыть не могу.
7c37adcf23ea9143a9900897a4d0f1df.jpg

React Native: очередная «серебряная пуля» для кросплатформенной разработки?

Есть революции, которые происходят незаметно. Когда разработчики Facebook выпустили фреймворк React Native, никто не захватывал мосты и телеграфы. Новому подходу к кроссплатформенной разработке мобильных приложений удалось взять в плен самое ценное — мозги нативных программистов.
dfaad4159c3c4b54b27db921205fb413.jpg

Как устроено автоматическое тестирование в Почте Mail.Ru под iOS

Для тестирования каждой сборки мы проводим более 500 автотестов, которые выполняются менее чем за один час. Как мы их реализовывали и зачем? С какими проблемами сталкивались и как смогли их решить?

Теперь дайджест доступен и в виде рассылки. Подписаться вы можете тут.

f1930ac4945596eb9707bc7a01bc5bdc.pngiOS

  • (+13) Как сократить время запуска приложений под iOS
  • (+13) Читаем бинарные файлы iOS-приложений. Часть 2: Swift
  • (+10) Удобная локализация iOS приложений в Interface Builder
  • (+2) WebRTC, Safari
  • Пять отличных инструментов с открытым исходным кодом для iOS-разработчиков
  • Apple опубликовала лучшие практики ответов на комментарии пользователей
  • Google Play Games Services отказывается от iOS и ряда функций
  • SAP и Apple выпустили Cloud Platform SDK для iOS
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifТоп-5 iOS-библиотек апреля
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifПлавный скроллинг с iOS 10 Pre-Fetching API
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifСоветы как стать лучшим Swift-разработчиком
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifСтатистика по стикерам в iMessage
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifCodeThemes: цветные темы для Xcode
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifНативные анимации в Xcode при помощи Sketch, After Effects и Lottie
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifДелаем сканер бензоколонки на OpenCV/Python/iOS
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifВ Xcode 8.3.1 поправили 3 ошибки, увеличивавших размер файла
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifКастомизация вставки ячейки в UICollectionView
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifИспользование SetSDK для предсказания того, куда направляется пользователь
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifКак сделать веб-краулер на Swift
  • 96716bcb926741e79bb1c284a88083ca.pngOSXRubberDucky: резиновая уточка для OS X, которой можно объяснить, что вы кодите
  • 96716bcb926741e79bb1c284a88083ca.pngGliding Collection: красивый UICollectionView
  • 96716bcb926741e79bb1c284a88083ca.pngTinyConstraints 2.0: упрощение разметки

e1a3cf2a8b65a0da69bbdd5c0ad040fe.pngAndroid
  • (+24) Аутентификация OAuth2 в приложении посредством Google Sign-In. Непрерывный доступ к API Google
  • (+17) Kademlia (DHT) — практическое руководство
  • (+16) Реактивные приложения с Model-View-Intent. Часть 1: Модель
  • (+12) Векторные картинки с градиентом в Андроид 5.0
  • (+9) Интеграция Android-приложения с фискальным принтером и кардридером
  • (+3) Kotlin для Android: упрощаем работу со слабыми ссылками в асинхронных вызовах
  • Android стал самой используемой ОС в мире
  • Google выпустил инструмент для подбора цветов Материального дизайна
  • Android в Лицах: Жизнь после Databinding
  • imageAndroid Dev Подкаст. Выпуск 30. Android O и новости
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifKotlin в продакшене: оставаться или уходить?
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifНаходим элементы списка, которые просмотрел пользователь: решение на RxJava
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifКак использовать App Links Assistant в Android Studio 2.3
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifAndroid и Dagger 2.10 AndroidInjector
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifTabLayout и ViewPager в вашем Android-приложении. Приложение Dubai Tour Guide #3
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifРазвертывание TensorFlow на Android
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifКак работать с фоновыми сервисами в Android O
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifMVP + Dagger 2 + RX =
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifТестирование приложения при помощи Dagger 2 и AndroidInjectionModule
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifТоп-5 Android-библиотек апреля
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifПуш-уведомления через Firebase Cloud Messaging (FCM)
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifВзгляд на Android Runtime: DVM vs ART
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifОсновы Android MVP с простым приложением
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifТуннелирование HTTP через NFC на Android используя Host Card Emulation
  • 96716bcb926741e79bb1c284a88083ca.pngTinglingSquares: индикатор ожидания в виде складывающихся кубиков
  • 96716bcb926741e79bb1c284a88083ca.pngBlurredImageView: размытие для изображений
  • 96716bcb926741e79bb1c284a88083ca.pngFloating Action Menu: FAB с меню
  • 96716bcb926741e79bb1c284a88083ca.pngIconSwitch: красивый переключатель
  • 96716bcb926741e79bb1c284a88083ca.pngDiscrollView 2: выезжающие элементы в разметке
  • 96716bcb926741e79bb1c284a88083ca.pngSwipe3DRotateView: 3D поворот по свайпу

7081c634ec176ab6b953d9d19e82a09a.pngРазработка
  • (+26) Как мы делали безопасную телефонию для Wheely, мирового сервиса личных водителей
  • (+21) За закрытой дверью фронтенда ЕФС
  • (+18) Intel Media SDK стал open source проектом
  • (+15) PWA, «Зловещая долина» и стабильная работа в офлайне
  • (+13) Unity3d / Android: проверка пользователя на собственном сервере Node.JS
  • (+13) Вокруг шум. Чат-бот: пустой хайп или новая эра?
  • (+10) Разработка WebRTC видеочата между iOS, Android и браузером
  • (+4) Из разработчиков — в Solution Architects: история одной трансформации
  • (+1) Фото-реалистичная графика в мобильной игре или первая в мире «видео»-игра (мобильная)
  • Twitter изменяет API для привлечения разработчиков
  • Яндекс открывает новый набор в Школу анализа данных
  • SAP объявляет о старте онлайн-конкурса для разработчиков «SAP Кодер»
  • MZ соберет все данные мира
  • Операционные и технологические проблемы IT стартапов
  • Canonical отказывается от мобильной платформы
  • Новый рабочий класс: программисты
  • Стачка 2017: 14–15 апреля в Ульяновске
  • Rakuten Games запускает социальную игровую HTML5-платформу
  • Лучшие боты для Facebook Messenger
  • Дизайн-линч: новый Сбербанк Онлайн
  • Роскачество разработало стандарт для мобильных приложений
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifСоздание юзабилити движением
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifКак стать лучшим дизайнером
  • 377ae0333d0f4b7b97307c9eea5ee21a.gif9 советов по работе с Firebase
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifДизайн для iOS и Andrpoid: 3 принципа переноса дизайна между платформами
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifИсследование юзабилити Runkeeper
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifReactXP: библиотека Microsoft для кроссплпатформенной разработки

509dc9bde69347ecbe0c21ff2973d7e7.jpgАналитика, маркетинг и монетизация
  • (+16) Big Data для автодилера и автопроизводителя: от идеи до монетизации
  • Glu Mobile: бывшие короли
  • Кросс-девайс коммерция набирает обороты в России
  • EYEO (Adblock Plus) покупает микроплатежи Flattr
  • Начался отбор в Stanislavsky Ventures: подготовка московских стартапов для международных конкурсов
  • Лучшая продающая презентация из всех: как продает Zuora
  • Как получить 2 млн пользователей не тратя много денег на рекламу: опыт QuackQuack
  • Исследование «Вовлеченность пользователей мобильных приложений» от AppsFlyer
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifНаш набор инструментов App Store Optimization
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifСоздание приложений, вовлекающих и возвращающих пользователей
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifПуш-уведомления, которые вам понравится читать

8538129f5e7b404a720121cb9c3814db.jpgУстройства и IoT
  • (+21) Запускаем датчик скорости потока жидкости
  • Отчет о посещении международной выставки Embedded world в Германии
  • Дайджест интернета вещей: Март 2017
  • Дверь для кошек и собак Microchip Pet Door Connect управляется через приложение
  • Ученые создали протез для замены смартфона
  • 377ae0333d0f4b7b97307c9eea5ee21a.gifВышел Android Things Developer Preview 3

← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.

Комментарии (0)

© Habrahabr.ru