Рождественский, последний в этом году дайджест. Счастливого вам Нового года и Рождества, хорошего кода и интересных проектов, мира, любви и счастья. Увидимся в уже в новом году!

В нашем Telegram-канале Mobile Insights, еще больше материалов для разработчиков — подключайтесь!



iOS

• Встречайте: новый протокол Transferable
• Как подключить российский SSL-сертификат к iOS-приложению
• Async/await в iOS: что нам дает неблокирование потоков
• Swift модуляризация вашего проекта
• Apple снова работает над собственным поисковиком
• Swift Properties and how to use them correctly
• What to consider if Apple opens up the iOS app ecosystem
• Reduce share extension crashes from your app with this one weird trick!
• Testing push notifications within XCTest
• Lazy Closures Using Swift
• A Comprehensive Guide to URLs in Swift and SwiftUI
• How to Create an iOS Lock Screen Widget?
• Prototyping SwiftUI interfaces with OpenAI’s ChatGPT
• Efficiently Managing Multiple Async Tasks in SwiftUI
• Developing iOS Applications without ready-to-use backend API
• SwiftUI Performance Tuning: Tips and Tricks
• How to take advantage of SwiftUI inside UIKit?
• Generate a Shazam signature with only one line instead of 120
• RunLoop.main vs DispatchQueue.main: The differences explained
• Create an End-to-End SwiftUI Application With Swift Playgrounds on iPad
• How to Implement a Unit Test in an iOS Legacy Codebase
• How to create text recognition with Vision Framework in Swift
• SwiftUI View Lifecycle: демонстрация жизненного цикла
• Popup View: тосты и попапы для SwiftUI

Android

• Binder: как устроена работа с несколькими процессами в Android
• Настраиваем Gitlab CI для сборки Android-проекта
• Yolo на мобильном без постобработки
• Material You Color System: быстрое погружение в пучины
• Factory Design Pattern
• Android HDR | Migrating from TextureView to SurfaceView
• Maps Compose Library Tutorial for Android: Getting Started
• ViewModel: for UI business, not UI operations
• Internals of Kotlin flows
• Unhandled Exceptions in Kotlin Collections
• Optimize Android App Development With Docker, SonarQube, Detekt, and MobSF
• Stylus Low Latency
• Adding a domain layer
• Everything you need to know about State in Jetpack Compose with examples
• Drag and drop with AndroidX
• Nearby Connections for Android: Getting Started
• Using ChatGPT to Set Up an Android App
• 3 Awesome Kotlin Feature Requests
• Launching coroutines vs suspend functions
• Improving Your Gradle Workflow by Not Auto-reloading Build Files
• UnifiedPush: a decentralized, open-source push notification protocol
• Android Object Animator
• Catalog Android Sample App: образцовый каталог
• Animated Circular Download Button: кнопка загрузки
• Jukebox: аудиоплеер для Jetpack Compose

Кроссплатформа

• Flutter Flame: глобальная оптимизация производительности игрового движка
• Тестирование мобильных приложений на Flutter с использованием Python + Appium
• Unity «уменьшение размера файла на устройстве» Часть 1
• Write best performance ListViews with Riverpod in Flutter
• Impeller & Flutter
• Flutter is No Longer a Cross-platform Framework — it is something more
• Reasons Why Flutter Can’t Beat React Native
• Retrofit Implementation In Flutter
• Flutter Bottom Navigation Bar Animation
• Retrofit Implementation In Flutter
• How to Hack & Protect Flutter Apps — Simple and Actionable Guide
• Rive and Flutter: A Match Made in Animation Heaven

Разработка

• Как тестировать современный фронтенд
• Что будет в 2023: тренды мобильной разработки
• Какие проблемы решает Release Train в мобильной разработке
• Что такое Design Review
• Нефункциональные проверки при тестировании мобильных приложений
• Библиотека компонентов для дизайнеров приложений
• Как мы создавали мобильное приложение «Х5 Недвижимость», или любовь не с первого касания
• Несовершенство трех законов робототехники
• Как дизайнить приложения, если ты не дизайнер? Пошаговая инструкция
• Podlodka #299: приоритизация
• Зарплата в IT за год выросла на 16.5%
• «Ростелеком» заместит Trello и Jira «Ягой»
• Google ужесточает Performance Review сотрудников
• Программисты тратят на бессмысленную работу в среднем 38% своего рабочего времени
• Самые высокооплачиваемые вакансии декабря в области разработки приложений
• Как разработать приложение доставки in-house: опыт экспресс-доставки Перекрёстка
• The Awesome Power of Well-Documented Code
• Yet another way to deal with nested if/else conditions
• Scrum Teams are often Coached to Death, while the Problems are With Management
• Gamification gone wrong: stop the streaks
• 7 Design Tips I Learned From Apple
• 37 tips for improving productivity in software development teams
• Most Popular Tech Interview Questions asked @ FAANG
• The Best of Material in 2022
• How To Increase Development Velocity by Future Proofing Your Code
• Building a Secure Mobile App in the Cloud
• How I Created a Free Digital Product That People Want To Pay
• Challenging algorithms and data structures every programmer should try
• UX for Introverts

Аналитика, маркетинг и монетизация

• Расходы на приложения снизились на 2% — обзор 2022 года от data.ai
• $20 млн: Deep Voodoo — студия дипфейков создателей «Южного парка»
• $30 млн: ImagenAI — постобработка фото на основе ИИ для профессиональных фотографов
• Epic Games оштрафовали на $520 млн за «темные паттерны»
• Маркетологи в мобайле. Итоги года 2022. Часть 1
• Повторит ли BeReal судьбу Clubhouse?
• Состояние социальных приложений в Европе 2022
• Альтернативные магазины мобильных приложений: как обойтись без Google Play и AppStore

AI, Устройства, IoT

• #4 Нейронные сети для начинающих. Sudoku Solver. Судоку. Часть 1
• Третья жизнь пет-проекта по распознаванию рукописных цифр
• Телематическая система автомобиля
• OpenAI открыла Point-E — систему преобразования текста в 3D-модели
• Apple может отказаться от выпуска новой версии iPhone SE
• Google распознает почерк врачей
• Magic Mirror — my first ever Raspberry Pi project

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

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