Как происходит рендеринг экрана сообщений ВКонтакте
Что делает ВКонтакте, чтобы уменьшить лаги отрисовки? Как отобразить очень большое сообщение и не убить UiThread? Как уменьшить задержки при скролле в RecyclerView?
Благодаря Xamarin и моей любви к этому фреймворку я, в принципе, перешел в стан разработчиков, этот инструмент помог заработать мне немалых денег, знаний и найти замечательных коллег. Так почему же сейчас я пишу на Flutter? Короткий ответ, потому что Flutter покрывает все потребности кросс-платформенной разработки.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
iOS
- Unit тесты для RxSwift кода
- Автоматические скриншоты iOS с помощью XCTestplan и XCode 11
- HandsAppMVP: iOS-архитектура для студии аутсорс разработки
- Неоморфизм с помощью SwiftUI. Часть 2: Что можно сделать с доступностью? + Часть 1
- iOS-приложение с витрины Flutter может вообще не использовать фреймворк
- Что разработчику ждать от iOS 14?
- Swift 5.3 начнет поддерживать Windows
Создаем всплывающую кнопку оценки с помощью SwiftUI 5 забавных iOS-библиотек для улучшения UI Превью SwiftUI в масштабе Реализация POP в iOS-приложении Современные подходы к разработке пользовательского интерфейса в iOS Что нового в Swift 5.3 Codables: лучший способ парсинга данных в Swift Динамические ссылки Firebase в приложения для iOS Создание полностью прозрачного UITabBar в Swift Топ-10 самых полезных iOS-библиотек в 2020 году Как интегрировать fastlane в iOS-проект Как создавать градиенты в Swift с помощью CAGradientLayer Неудобная правда об отправке вашего приложения в Apple… Как создать повторно используемые превью SwiftUI, которое можно сохранить в JSON-файл RHLinePlot: график, как в Robinhood EasySwiftLayout: простая работа с Auto-Layout в iOS YouTag: музыкальный плеер для iOS
Android
- Прокачиваем беговую дорожку
- Контроль пульса во время пробежки через музыкальную обратную связь — или «ищутся тестировщики, любящие бегать»
- Создание приложений с помощью Mediapipe
- CI TeamCity — Автоматизация build процессов Android и UI тестирования
- Пробуем и разбираемся с StateFlow
- Декларативное программирование клиент-серверных приложений на Android. Часть 2
- MVVM и выбор элементов в адаптере — LiveData
- Как я не создал свой бизнес по разработке Android-приложений
Android Dev Podcast #114: Новости Прорезаем статику – поиск и устранение проблем с помощью статического анализатора кода Android Studio Beetlens: кастомный Android UI на OpenGL Как использовать Coil, собственный загрузчик изображений Kotlin Расширяемый Recycler View в Android Мгновенное распознавание речи на Android Понимание корутинов в Kotlin с этой ментальной моделью Git репозитории как зависимости Gradle Движения Material Design для Android FAB с BottomAppBar Почему я отказался от любимого Gson в моем Kotlin-проекте Обнаружение сбоев в опубликованном приложении для Android Несколько навигационных графов (с нижней панелью навигации) AGSkeletonLoading: экраны-скелеты для Android EasyFlipViewPager: переворачивающиеся карточки
Разработка
- Уменьшение размера React Native-приложения на 60% за несколько простых шагов
- Программирование игры для embedded-устройства на ESP32
- Azure DevOps и App Center вместо тестовых ферм: упрощаем и ускоряем мобильную разработку с помощью облачных сервисов
- Материальный Python. Кастомные карточки с OpenGL-эффектами
- Лор и сюжет в несюжетных играх на примере Throne: Kingdom at War
- Как улучшить производительность вашего Flutter приложения
- Тенденции тестирования, к которым стоит присмотреться в 2020 году
- Подробно о пакете Provider для Flutter
- Podlodka #164: Продуктовая безопасность
- make sense: о переходе на удаленку, спаде производительности и осознанности
- Google и Apple запустили API для отслеживания контактов
- Citrix представил App Protection для защиты данных на персональных устройствах
- King открывает Defold
- Плагин для Adobe XD экспортирует готовый код во Flutter
- Где и как размещать Floating Action Buttons в мобильных приложениях
- UX для недизайнеров, или что должен учитывать разработчик мобильных приложений
От отсутствия опыта в программировании к офферу от Microsoft за 1 год Создание паззла на Flutter 4 новых продукта GitHub, которые изменят ваш код Трассировка лучей в Notepad.exe со скоростью 30 кадров в секунду 3 ловушки, из-за которых разработчики перестают учиться Динамические темы Flutter в 3 строчки
Аналитика, маркетинг и монетизация
- Видеозаписи докладов митапа по продуктовой аналитике
- Работающая геймификация: Octalysis Framework
- GameRefinery отслеживает «Мотивацию игроков и их архетипы»
- Маркетплейс RapidAPI привлек еще $25 млн.
- «Руководство по работе с обратной связью пользователей» от Instabug
- Трафик загрузки приложений вырос на треть
- Checkaso выпустили инструмент для работы над текстовым ASO
- Workstream: поиск не офисных работников
- Rumble Hockey отдаст 100% дохода всем инфлюэнсерам
- AirBnB и Bumble предлагаю виртуальные свидания
- Constellation Software покупает TUNE
- Mozilla начинает принимать заявки в Builders Incubator
- Контента для Oculus Quest продано на $100 млн.
- Как потратить $300 тысяч и узнать все о доставке кофе
- «Второе пришествие» Apple Search Ads в Россию: какие первые выводы можно сделать
- Как сделать мобильное приложение заметным в App Store и Google Play: инструкция по размещению и оптимизации
- Построение прогноза аудитории и дохода с помощью когортного анализа в Excel/Google Spreadsheets
AI, Устройства, IoT
- Хождение по граблям в чистом поле или как собрать MAC-адреса близлежащих Wi-Fi-устройств
- Как построить “Умный дом» и не сойти с ума
- IoT там, где вы не ждали (часть 3). Построение имитационной модели + (часть 2) + (часть 1)
- Magic Leap получил еще $350 млн.
- Samsung прекращает работу приложений виртуальной реальности
- Mail.ru Group будет бесплатно готовить специалистов по анализу данных и машинному обучению
- Sony и Microsoft сделали модуль камеры с ИИ
Программирование Raspberry Pi на Swift: светофоры Пинбол на Arduino, который играет сам