Мобильная разработка за неделю #519 (11 — 17 декабря)

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

В новом выпуске усложнение iOS и избавление от рекурсии в Kotlin, cимволизация логов и новые фичи на старых Android, многомодульность на Flutter, опыт прохождения собеседования в Google, как много языков может влезть в одного программиста и многое другое!

Подписывайтесь на на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.



iOS

• iOS-разрабокта становится сложнее — обсуждение на Reddit
• Символизация логов сбоев с помощью Xcode
• SwiftUI: Разбираемся с identity на примере переходов
• xcconfig: интеграция в проект, валидация и подключение к Tuist
• Объединяем Combine и Swift Concurrency
• SwiftData как замена CoreData: глубокое погружение
• Маслины и грабли: все, что вам нужно знать о разработке продукта полностью на SwiftUI
• Поваренная книга SwiftUI: добавление кастомной формы к представлению SwiftUI
• Опубликованы SDK, для которых Apple будет требовать подпись
• Apple заблокировала Beeper Mini «в целях безопасности»
• Откройте для себя Journaling Suggestions API
•  Marin’s Side Projects 2023
•  How to customize the macOS About Panel in SwiftUI
•  AsyncPhoto for displayng large photos in SwiftUI
•  Create an iOS Share Extension with custom UI in Swift and SwiftUI (2023)
•  The Complete Guide to JSON Web Tokens (JWT) Authentication in iOS
•  A Guide to Geofences in SwiftUI
•  Leveraging Emerge Tools in CI/CD Pipelines for iOS App Size Optimisation
•  Distributing a Swift Macro using CocoaPods
•  Writing Custom SwiftLint Rule with SwiftSyntax
•  Getting to Swift.weak { }
•  Modern iOS Navigation Patterns
•  What’s new in UIKit
•  Mastering MapKit in SwiftUI. Camera.
•  Implementing Drag Gestures In Xcode 15 (SwiftUI)
•  iOS Developer Roadmap 2023
•  Stretching an audio file using Swift
•  Selecting multiple items with a two-finger pan gesture
•  Mastering the ‘Final’ Keyword in Swift: A Comprehensive Guide for Optimized Coding
•  Symbolicating SwiftUI (and any Apple Framework)
•  Implementing Drag Gestures In Xcode 15
•  How to Answer iOS Interview Questions Like a Pro
•  App Localizations
•  ChatGPT 4 Xcode: интеграция ИИ в Xcode
•  Aespa: фото и видео в 2 строчки кода
•  Swift 30 Projects: 30 учебных проектов для изучающих iOS-разработку

Android

• ThrowInDB — Разбираю домашний хлам или сам себе склад
• Используйте Gemini в своих приложениях для Android
• Kotlin под капотом: как избавиться от рекурсии
• Detekt: как статический анализ помогает улучшить код автотестов
• Погружение в Smali. До и После. Decompile-Change-Build
• Разработка для нестандартных устройств
• Мок-собеседование по Android System Design (+ больше онлайн собесов)
• Android SDK Extensions — новые фичи на старых Android
• Доктор Bazel: как я научился не волноваться и полюбил сборки
• Amazon выпустил AWS SDK для Kotlin
•  How to build Wrapped 2023 in Compose Animation
•  Kotlin K2 Compiler’s Latest Features: Subtle Under-the-Hood Advances for Koin
•  Exceptions for control flow in Kotlin
•  What can Advanced / Lesser Known Modifiers do for your UI
•  Unit testing Kotlin Flow emissions
•  Zooming out Twilio Migration
•  How to share and publish Detekt config?
•  Firebase dynamic link deprecation and its alternates
•  How we tested a Google Play application
•  MVI Architecture with Jetpack Compose
•  Optimizing Mobile App Performance
•  Kotlin Mutex: A Comprehensive Guide
•  Multitasking Intrusion and Preventing Screenshots in Android Apps
•  Crash Course on the Android UI Layer
•  Navigating Multiple Technical Migrations in Our Domain: Motivation and Strategy
•  Now in Android: 97 — Gemini, AICore, ML Kit, Android Studio Hedgehog, and more!
•  Detecting faces and landmarks — ML on Android with MediaPipe
•  Should You Use a Navigation Library in Jetpack Compose?
•  Full Guide to Multiple Back Stacks in Jetpack Compose — Android Studio Tutorial
•  Google Generative AI Sample: пример работы с Gemini
•  Compose Preference: экран настроек в Material 3

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

• Многомодульность на Flutter или как не выстрелить себе в ногу
• Ускорение игрового 2D движка Flame до стабильных максимальных FPS на телефонах и ПК
• Когда официальные гайды не такие и полезные или WebSocket на ktor
•  The Anatomy of Dart Code Analysis: Understanding Key Entities
•  Implementing Blurred Bottom TabBar in React Native
•  Separation of Concerns in Flutter Applications
•  Flutter Deep Linking: The Ultimate Guide
•  Build a watch app using Flutter
•  Handling Real-time data in Flutter efficiently without Firebase
•  State of React Native survey
•  How to store key-values in KMP in the secure way
•  Modularizing Flutter UI with Factory Constructors
•  Flutter Tutorial: building an offline-first chat app with Supabase and PowerSync
•  Platform Channels are Dead! Objective-C/Swift Interop is Here!
•  Flutter Firebase Festival

Разработка

• Мой опыт прохождения собеседования в Google
• Стоит ли создавать приложение для умных часов?
• Пуш-уведомления RuStore
• «Что? Где? Когда?» в названии багов
• Как я использую мутационное тестирование для поддержки хорошего покрытия тестами
• Как много языков может влезть в одного программиста?
• От конструктора до облака: какие есть способы разработки мобильных приложений
• Как формировать топовые команды
• Ozon Tech Community Techdoc Meetup
• Почему ты пишешь говнокод? Главная причина
• Что такое символизация логов сбоев
• Вопросы с собеседований: что такое Потокобезопасность (Thread-Safe)
• Адвент-календарь MonkeyUser на 2023 год
• Вопросы с собеседований: что такое Copy-On-Write
•  Processing Payments in Firebase with Stripe
•  Navigation patterns in mobile applications. How to make the right choice?
•  What I Wish I Knew As a Mid-Level Engineer
•  How to arrange GitHub actions to improve feedback cycles
•  How Plane, an open-source alternative to Jira, got to the #1 in project management on GitHub in less than a year
•  Migrating Netflix to GraphQL Safely
•  Lessons from building GitHub code search

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

• Epic Games выиграла в суде у Google
• АБ тесты и подводные камни при их автоматизации
• Разметить всё: как мы настроили систему логирования в приложении каршеринга
• Социальная торговая платформа Maka привлекает $2.65 млн для упрощения покупок в Африке
• Маркетологи в мобайле: Александр Багринцев (Sunlight)
• DistroKid запустил приложение для Android
• Лучшая мобильная игра в Game Awards 2023
• Как я потерял $2,85 млн и решил создать приложение для массового инвестирования
•  Email marketing for mobile apps: A comprehensive guide

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

• Удаленно следим за состоянием газового котла
• Зачем на камере и видеорегистраторе нужен криптоблок и как его восстановить
• Локальные GPT нейронный сети — проверяем на адекватность аналоги ChatGPT, запускаемые на домашнем компьютере
• Осваиваем чип с Arm Cortex-M85
• MedLM: генеративный ИИ для индустрии здравоохранения
• Microsoft выпустила модель Phi-2, которая «может работать на мобильном устройстве»

← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Источник: https://habr.com/ru/companies/productivity_inside/articles/781182/


Интересные статьи

Интересные статьи

Привет, Хабр!На связи участник профессионального сообщества NTA Владислав Рулев.Это первый пост в серии, где я буду рассказывать, как создавал свой собственный task manager. В наст...
Мы в облачном провайдере T1 Cloud уделяем серьезное внимание защищенности клиентских сервисов, поэтому решили подготовить серию материалов о разработке приложений в облаке. Начнем с вводных и расскаже...
Каждый разработчик рано или поздно сталкивается с необходимостью повторного использования собственного кода. В проектах PHP для этих целей создаются пакеты, устанавливаемые с помощью Composer. При это...
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.
Коронавирус типа 2019-nCoV, после вспышки заболевания в китайском городе Ухань, стремительно распространяется по миру. По состоянию на 30 января 2020 года сообщено о более чем 9000 заражённых и о...