Прививка от созависимости. Зачем нужен DI и как он работает в iOS-приложениях
Статья от
👉 Какую проблему решает DI
👉 Что такое DI и инверсия зависимостей?
👉 Примеры реализации: библиотеки и паттерны
👉 Готовые библиотеки
👉 О многомодульности в проекте
Читать (Ru)
hh.ru
Статья от
hh.ru
, в которой рассматриваются основы DI, какую проблему решает этот принцип, возможные варианты реализации: паттерны и популярные библиотеки + подробно рассказывают как работает DI в многомодульном iOS проекте hh.ru
.👉 Какую проблему решает DI
👉 Что такое DI и инверсия зависимостей?
👉 Примеры реализации: библиотеки и паттерны
👉 Готовые библиотеки
👉 О многомодульности в проекте
hh.ru
Читать (Ru)
🔥8👍3❤1
Всех с наступающим Новым Годом! 🎅 🎄
2023 год был крутым и продуктивным, хоть и со своими заморочками.
В новогом году желаю вам оставаться или стать крутым спецом, разиваваться, крутых проектов и успехов во всех сферах и начинаниях.
И конечно же всем спасибо, за то, что читаете канал, репостите, оставляете реакции.
С наступающим друзья, ура!🥂
2023 год был крутым и продуктивным, хоть и со своими заморочками.
В новогом году желаю вам оставаться или стать крутым спецом, разиваваться, крутых проектов и успехов во всех сферах и начинаниях.
И конечно же всем спасибо, за то, что читаете канал, репостите, оставляете реакции.
С наступающим друзья, ура!🥂
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉6❤4🎄3
Forwarded from Mobile Native ️️
Новогодний Дайджест 🎅
Итак ребята, если вдруг вам нечем будет заняться в новогодние праздники, специально для вас собрал наиболее популярные посты в структурированном виде за весь год 😱, точно найдете для себя что-то полезное 😉
Android🖥
• 7 Jetpack Compose Projects to Become a Better Android Developer
• 10 Open-Source Projects That’ll Make You Excited About Using Jetpack Compose
• Jetpack Compose Samples
• Jetpack Compose Codelabs
• Android Basics with Compose
• Осознанная оптимизация Compose
• Best Practices for Compose Navigation in Multi-Module Project
• Migrating to Jetpack Compose — an interop love story
• Performance with Jetpack Compose
• Jetpack Compose: Mastering States
• Реализуем современный UI на Jetpack Compose
• Android Kotlin Coroutines interview questions
• Работа с асинхронными операциями с помощью Kotlin Coroutines
• Coroutines Guide
• Kotlin Coroutines Recipes
• Kotlin Coroutines Best practices
• Kotlin Coroutines Tutorial for Android: Getting Started
• От потоков к корутинам: как и почему видоизменились примитивы синхронизации в языке Kotlin.
• Learn Kotlin Flow by real examples for Android
• Kotlin. Коллекции
• Серия статей – Kotlin под капотом
• Mastering Kotlin : A Comprehensive Guide
• Вопросы и ответы для собеседования по Kotlin
• Inline, noinline, crossinline, reified in kotlin with examples
• Best practices for error handling in Kotlin
• Kotlin Performance Tuning: 20 Best Practices You Should Know
• Kotlin: взгляд изнутри — преимущества, недостатки и особенности
• Teach Computer Science with Kotlin
• Архитектура Android. Понятно и подробно
• Guide to Good Android App Architetture
• Clean Android multi-module offline-first scalable app in 2022
• Clean Architecture for Android Sample Project
• Modern Android Development in 2023
• Multi-Module Architecture in Android
• The "Real" Modularization in Android
• How to architect Android apps
• Crash Course on the Android UI Layer
• Android-разработка для новичков: 20+ полезных ресурсов
• Android Developer Roadmap 2023
• Deep Dive Into Android Memory
• Где и как можно ускорить приложение на Android
• Эффективное и комплексное устранение утечек памяти в Android
• How ViewModel works under the hood
• Best Practises In ViewModel
• Communicating with fragments
• Многопоточность в мобильной разработке
• Gradle Cache: Your build’s best friend
• Shielding Your App: Implementing Best Practices for Android Security
• Reverse Engineering and Analyzing Android Apps
• Обзор актуальных инструментов шифрования в Android
• Ускоряем поиск по коду в Android Studio
• Список фишек Android Studio для ускорения разработки
• Оптимизация сборок Android приложений: ProGuard, D8, R8. Тайны обфускации
iOS💸
• In-App Purchases in iOS
• Swift iOS interview questions and answers
• 7 iOS Projects to Become a Better iOS Developer
• Разбираем ошибки начинающих iOS-разработчиков
• Как не потерять голову (и память) при поиске утечек в iOS
• Building Large-Scale Apps with SwiftUI: A Guide to Modular Architecture
• Swift async/await. Чем он лучше GCD?
• Как стать iOS-разработчиком?
• Многопоточность в iOS-разработке
• Awesome iOS Dev Tools
• Полезные iOS-инструменты для дебаггинга
• iOS Developer Roadmap 2023
• Расширенное управление памятью с помощью Unsafe Swift
• 10 quick tips to increase your iOS code quality
• 10 tips to increase your iOS code quality – Part 2
• Server-Driven UI using SwiftUI
• Книги по Swift и iOS-разработке для начинающих специалистов и профессионалов
• Ускоряем прохождение iOS UI-тестов
• Mastering in SwiftUI
• Как хранить данные в iOS: UserDefaults, Keychain и сэндвичи
Common 🛠
• Основы алгоритмов
• Git Cheat Sheet
• Книга – Чистый код: создание, анализ и рефакторинг.
• Чистый код
• System Design Interview
• Clean Code — A practical approach
• Cracking the Mobile System Design Interview (iOS & Android)
• Делай нейминг как сеньор
• Mobile Applications Data Security
Что посмотреть📹
• Часть 1
• Часть 2
• Часть 3
Еще раз с наступающим друзья, увидимся в январе 😉
Итак ребята, если вдруг вам нечем будет заняться в новогодние праздники, специально для вас собрал наиболее популярные посты в структурированном виде за весь год 😱, точно найдете для себя что-то полезное 😉
Android
• 7 Jetpack Compose Projects to Become a Better Android Developer
• 10 Open-Source Projects That’ll Make You Excited About Using Jetpack Compose
• Jetpack Compose Samples
• Jetpack Compose Codelabs
• Android Basics with Compose
• Осознанная оптимизация Compose
• Best Practices for Compose Navigation in Multi-Module Project
• Migrating to Jetpack Compose — an interop love story
• Performance with Jetpack Compose
• Jetpack Compose: Mastering States
• Реализуем современный UI на Jetpack Compose
• Android Kotlin Coroutines interview questions
• Работа с асинхронными операциями с помощью Kotlin Coroutines
• Coroutines Guide
• Kotlin Coroutines Recipes
• Kotlin Coroutines Best practices
• Kotlin Coroutines Tutorial for Android: Getting Started
• От потоков к корутинам: как и почему видоизменились примитивы синхронизации в языке Kotlin.
• Learn Kotlin Flow by real examples for Android
• Kotlin. Коллекции
• Серия статей – Kotlin под капотом
• Mastering Kotlin : A Comprehensive Guide
• Вопросы и ответы для собеседования по Kotlin
• Inline, noinline, crossinline, reified in kotlin with examples
• Best practices for error handling in Kotlin
• Kotlin Performance Tuning: 20 Best Practices You Should Know
• Kotlin: взгляд изнутри — преимущества, недостатки и особенности
• Teach Computer Science with Kotlin
• Архитектура Android. Понятно и подробно
• Guide to Good Android App Architetture
• Clean Android multi-module offline-first scalable app in 2022
• Clean Architecture for Android Sample Project
• Modern Android Development in 2023
• Multi-Module Architecture in Android
• The "Real" Modularization in Android
• How to architect Android apps
• Crash Course on the Android UI Layer
• Android-разработка для новичков: 20+ полезных ресурсов
• Android Developer Roadmap 2023
• Deep Dive Into Android Memory
• Где и как можно ускорить приложение на Android
• Эффективное и комплексное устранение утечек памяти в Android
• How ViewModel works under the hood
• Best Practises In ViewModel
• Communicating with fragments
• Многопоточность в мобильной разработке
• Gradle Cache: Your build’s best friend
• Shielding Your App: Implementing Best Practices for Android Security
• Reverse Engineering and Analyzing Android Apps
• Обзор актуальных инструментов шифрования в Android
• Ускоряем поиск по коду в Android Studio
• Список фишек Android Studio для ускорения разработки
• Оптимизация сборок Android приложений: ProGuard, D8, R8. Тайны обфускации
iOS
• In-App Purchases in iOS
• Swift iOS interview questions and answers
• 7 iOS Projects to Become a Better iOS Developer
• Разбираем ошибки начинающих iOS-разработчиков
• Как не потерять голову (и память) при поиске утечек в iOS
• Building Large-Scale Apps with SwiftUI: A Guide to Modular Architecture
• Swift async/await. Чем он лучше GCD?
• Как стать iOS-разработчиком?
• Многопоточность в iOS-разработке
• Awesome iOS Dev Tools
• Полезные iOS-инструменты для дебаггинга
• iOS Developer Roadmap 2023
• Расширенное управление памятью с помощью Unsafe Swift
• 10 quick tips to increase your iOS code quality
• 10 tips to increase your iOS code quality – Part 2
• Server-Driven UI using SwiftUI
• Книги по Swift и iOS-разработке для начинающих специалистов и профессионалов
• Ускоряем прохождение iOS UI-тестов
• Mastering in SwiftUI
• Как хранить данные в iOS: UserDefaults, Keychain и сэндвичи
Common 🛠
• Основы алгоритмов
• Git Cheat Sheet
• Книга – Чистый код: создание, анализ и рефакторинг.
• Чистый код
• System Design Interview
• Clean Code — A practical approach
• Cracking the Mobile System Design Interview (iOS & Android)
• Делай нейминг как сеньор
• Mobile Applications Data Security
Что посмотреть
• Часть 1
• Часть 2
• Часть 3
Еще раз с наступающим друзья, увидимся в январе 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
🎄6👍5❤3🍾2
Как Додо Пицца доставляет свежий код: история мобильного CI для iOS
Ребята из Додо Пицца рассказывают как собрали свой CI на М1, с виртуализацией и на полном нативе.
👉 TeamCity с раннером на Mac Mini
👉 Раннеры в Bitrise
👉 Self-hosted GitHub Actions Runners
👉 Cilicon виртуализация.
Читать (Ru)
Ребята из Додо Пицца рассказывают как собрали свой CI на М1, с виртуализацией и на полном нативе.
👉 TeamCity с раннером на Mac Mini
👉 Раннеры в Bitrise
👉 Self-hosted GitHub Actions Runners
👉 Cilicon виртуализация.
Читать (Ru)
❤5👍3🔥3
ScrollView с прилипающим выделенным элементом на SwiftUI
Гайд как при скролле запиннить элемент из ScrollView к верхней границе на SwiftUI.
Читать (Ru)
Гайд как при скролле запиннить элемент из ScrollView к верхней границе на SwiftUI.
Читать (Ru)
🔥13❤2💩2👍1👨💻1
Разборы важных новинок для iOS-разработки с WWDC 2023
Разборы новинок для iOS-разработки с WWDC 2023 от ребят из KTS.
👉 Mergeable libraries
👉 Что нового в Xcode
👉 Push Notifications. Что менялось в последние годы?
👉 Live Activities
👉 Что нового в UIKit
👉 Что нового в Swift 5.9
👉 Swift Macros
👉 SwiftData
Читать (Ru)
Разборы новинок для iOS-разработки с WWDC 2023 от ребят из KTS.
👉 Mergeable libraries
👉 Что нового в Xcode
👉 Push Notifications. Что менялось в последние годы?
👉 Live Activities
👉 Что нового в UIKit
👉 Что нового в Swift 5.9
👉 Swift Macros
👉 SwiftData
Читать (Ru)
❤11🔥7👍2💩1
Error handling in Swift
Гайд с примерами кода, по обработке ошибок с использованием
Читать (En)
Гайд с примерами кода, по обработке ошибок с использованием
throw
и do-catch
.Читать (En)
👍8❤3🔥2
Forwarded from Mobile Native ️️
Как снять логи при краше мобильного приложения?
Не уверен, что вам, как разработчикам будет полезно, но всё же – подробный гайд как снимать логи крешей приложений разными способами в iOS/Android.
Если ваши QA не умеют этого делать, можно переслать им статью 😉
Читать (Ru)
Не уверен, что вам, как разработчикам будет полезно, но всё же – подробный гайд как снимать логи крешей приложений разными способами в iOS/Android.
Если ваши QA не умеют этого делать, можно переслать им статью 😉
Читать (Ru)
🔥5👍3❤2💩1🥱1
Полезные материалы для начинающих iOS разработчиков
Подборка полезных материалов для начинающих, с базовыми рекомендациями по обучению, книгами и статьями на различные темы.
Читать (Ru)
Подборка полезных материалов для начинающих, с базовыми рекомендациями по обучению, книгами и статьями на различные темы.
Читать (Ru)
👍7🔥5❤1👎1💩1
Упрощаем локализацию iOS-приложения со String Catalogs
Статья о том, как можно в значительной мере облегчить и усовершенствовать процесс перевода iOS-приложения на другие языки с помощью String Catalogs.
👉 Что такое Strings Catalogs
👉 Преимущества
👉 Какие бывают статусы
👉 Немного практики
👉 Разные строки для различных устройств
👉 Автоплюрализация
👉 Ручное управление строками
👉 Сколько каталогов можно создавать
👉 Заключение
Читать (En)
Статья о том, как можно в значительной мере облегчить и усовершенствовать процесс перевода iOS-приложения на другие языки с помощью String Catalogs.
👉 Что такое Strings Catalogs
👉 Преимущества
👉 Какие бывают статусы
👉 Немного практики
👉 Разные строки для различных устройств
👉 Автоплюрализация
👉 Ручное управление строками
👉 Сколько каталогов можно создавать
👉 Заключение
Читать (En)
🔥12❤3👍3
Кто ты, SwiftData
Статья с разбором основных концепций и киллер-фич SwiftData. Как устроена под капотом и как можно мигрировать с CoreData на актуальную SwiftData.
👉 Концепция
👉 Концепция Model Container
👉 Концепция Predicate
👉 Интеграция со SwiftConcurrency
👉 CoreData и SwiftData вместе
👉 Детали SwiftData
Читать (Ru)
Статья с разбором основных концепций и киллер-фич SwiftData. Как устроена под капотом и как можно мигрировать с CoreData на актуальную SwiftData.
👉 Концепция
@Model
👉 Концепция Model Container
👉 Концепция Predicate
👉 Интеграция со SwiftConcurrency
👉 CoreData и SwiftData вместе
👉 Детали SwiftData
Читать (Ru)
👍6❤4🔥3🤡1
Concurrency-safe global variables to prevent data races
Материал про использование глобальных переменных в многопоточке(что такое глобальные переменные, как не напороться на data races, создание глобальных переменных).
👉 What are global variables?
👉 Creating concurrency-safe global variables
👉 Marking a global variable as nonisolated unsafe
Читать (En)
Материал про использование глобальных переменных в многопоточке(что такое глобальные переменные, как не напороться на data races, создание глобальных переменных).
👉 What are global variables?
👉 Creating concurrency-safe global variables
👉 Marking a global variable as nonisolated unsafe
Читать (En)
🔥5👍3❤1
Уменьшаем boilerplate с помощью Swift Macros
Статья с разбором Swift макросов: что такое Swift Macros, сравнение кодогенерации от Apple со сторонними решениями(Liquid, Generamba, Sourcery), как создать собственный Swift Macros.
Читать (Ru)
Статья с разбором Swift макросов: что такое Swift Macros, сравнение кодогенерации от Apple со сторонними решениями(Liquid, Generamba, Sourcery), как создать собственный Swift Macros.
Читать (Ru)
👍8🔥2🤔1💩1
10 Tips for Writing Cleaner and More Readable Swift Code
Несколько рекомендаций, которые помогу вам писать более понятный и легкий для чтения Swift код.
👉 Observe naming standards
👉 Use blank space
👉 Keep it simple
👉 Comment cod
👉 Use guard statements
👉 Apply enums
👉 Use optionals
👉 Use extensions
👉 Use protocols
👉 Utilize functional programming methods
Читать (En)
Несколько рекомендаций, которые помогу вам писать более понятный и легкий для чтения Swift код.
👉 Observe naming standards
👉 Use blank space
👉 Keep it simple
👉 Comment cod
👉 Use guard statements
👉 Apply enums
👉 Use optionals
👉 Use extensions
👉 Use protocols
👉 Utilize functional programming methods
Читать (En)
👍4❤3🔥2💩1
Forwarded from Mobile Native ️️
Что ждёт мобильную разработку в 2024 году
Яндекс Практикум рассказывает о трендах мобильной разработки, как будет (и будет ли) меняться сфера в 2024 году.
👉 Что такое мобильная разработка и чем она отличается от других направлений
👉 Вакансий стало меньше, но перспективы у джуниоров есть
👉 iOS-разработка никуда не денется — даже несмотря на ограничения
👉 Нативная разработка по-прежнему будет востребованнее кросс-платформенной
👉 Главный приоритет для джуниоров — стабильность, а для работодателей — ресурсность
👉 Нетворкинг и навыки коммуникации будут важны как никогда
👉 Нейросеть — уже привычный инструмент в руках разработчиков
👉 RuStore укрепит позиции, а отечественные операционные системы вряд ли
👉 Apple Vision Pro не повлияет массово на наём и развитие компаний
👉 SwiftUI продолжит набирать популярность
👉 Compose будет популярнее, но не вытеснит XML
Читать (Ru)
Яндекс Практикум рассказывает о трендах мобильной разработки, как будет (и будет ли) меняться сфера в 2024 году.
👉 Что такое мобильная разработка и чем она отличается от других направлений
👉 Вакансий стало меньше, но перспективы у джуниоров есть
👉 iOS-разработка никуда не денется — даже несмотря на ограничения
👉 Нативная разработка по-прежнему будет востребованнее кросс-платформенной
👉 Главный приоритет для джуниоров — стабильность, а для работодателей — ресурсность
👉 Нетворкинг и навыки коммуникации будут важны как никогда
👉 Нейросеть — уже привычный инструмент в руках разработчиков
👉 RuStore укрепит позиции, а отечественные операционные системы вряд ли
👉 Apple Vision Pro не повлияет массово на наём и развитие компаний
👉 SwiftUI продолжит набирать популярность
👉 Compose будет популярнее, но не вытеснит XML
Читать (Ru)
🔥6👎3❤2👍1🤡1
Опровергаю пять архитектурных заблуждений
Толковая статья от iOS-разработчика из Тинькофф, с разбором основных заблуждений в вопросах архитектуры. А также с чего начинается архитектура и в чем разница между архитектурными шаблонами и архитектурой.
Топ-5 заблуждений в вопросах архитектуры
👉 MVC — это архитектура приложения
👉 Разработка — это только написание кода
👉 Бизнес-логика — это все, кроме UI
👉 Самый верхний слой — это UI
👉 В UI логику не держим
Читать (Ru)
Толковая статья от iOS-разработчика из Тинькофф, с разбором основных заблуждений в вопросах архитектуры. А также с чего начинается архитектура и в чем разница между архитектурными шаблонами и архитектурой.
Топ-5 заблуждений в вопросах архитектуры
👉 MVC — это архитектура приложения
👉 Разработка — это только написание кода
👉 Бизнес-логика — это все, кроме UI
👉 Самый верхний слой — это UI
👉 В UI логику не держим
Читать (Ru)
❤9🔥5👍2🤡1
Камера как сканер штрих-кодов: проблемы, инструменты и эксперименты
Статья от Ozon Tech, про то, с какими проблемами могут столкнуться пользователи при использовании мобильного сканера и какие есть способы их решить.
👉 Проблемы мобильного сканера
👉 Сравнение инструментов, которые предлагает Apple
👉 Технический обзор одного из них
👉 История его внедрения в приложение и конечные результаты
Читать (Ru)
Статья от Ozon Tech, про то, с какими проблемами могут столкнуться пользователи при использовании мобильного сканера и какие есть способы их решить.
👉 Проблемы мобильного сканера
👉 Сравнение инструментов, которые предлагает Apple
👉 Технический обзор одного из них
👉 История его внедрения в приложение и конечные результаты
Читать (Ru)
👍5🔥5❤1
Топ-5 распространенных практик написания хорошего Swift-кода
В статье рассматриваются некоторые ключевые сравнения и практики программирования на Swift, которые могут значительно повысить эффективность вашего кода.
👉 Циклы for и forEach
👉 Проверка диапазона
👉 Использование Map и циклов for для преобразований
👉 Ленивые свойства и немедленная инициализация
👉 Структуры и классы: Выбираем между ссылочными и значимыми типами
Читать (Ru)
В статье рассматриваются некоторые ключевые сравнения и практики программирования на Swift, которые могут значительно повысить эффективность вашего кода.
👉 Циклы for и forEach
👉 Проверка диапазона
👉 Использование Map и циклов for для преобразований
👉 Ленивые свойства и немедленная инициализация
👉 Структуры и классы: Выбираем между ссылочными и значимыми типами
Читать (Ru)
❤7🔥4👍2💩1
iOS — How to Integrate Camera APIs using SwiftUI
Гайд по интеграции Camera API на SwiftUI.
• Display Camera Preview
• Add Camera Manager
• Add a View Model
• Add Camera Screen Design
• Manage the Flashlight
• Manage Focus on Tap
• Handle Zoom in-out with a pinch
• Switch Between Front and Back Camera
• Capture and Save Images to Device
Читать (En)
Гайд по интеграции Camera API на SwiftUI.
• Display Camera Preview
• Add Camera Manager
• Add a View Model
• Add Camera Screen Design
• Manage the Flashlight
• Manage Focus on Tap
• Handle Zoom in-out with a pinch
• Switch Between Front and Back Camera
• Capture and Save Images to Device
Читать (En)
🔥9👍4❤1
Как работает async/await в Swift
Статья-перевод про то, как устроен async/await под капотом, чего можно добиться и какие нюансы следует учитывать при работе с async/await.
👉 Swift и цель обеспечения безопасности памяти
👉 Проблема конкурентности в Swift
👉 Async/await изнутри
👉 Cooperative Thread Pool
👉 Исполнители
👉 Паттерн async/await
👉 Задачи и структурированный параллелизм
👉 Защита общего изменяемого состояния: акторы
👉 Заключение
Оригинал тут: How async/await works internally in Swift
Читать (Ru)
Статья-перевод про то, как устроен async/await под капотом, чего можно добиться и какие нюансы следует учитывать при работе с async/await.
👉 Swift и цель обеспечения безопасности памяти
👉 Проблема конкурентности в Swift
👉 Async/await изнутри
👉 Cooperative Thread Pool
👉 Исполнители
👉 Паттерн async/await
👉 Задачи и структурированный параллелизм
👉 Защита общего изменяемого состояния: акторы
👉 Заключение
Оригинал тут: How async/await works internally in Swift
Читать (Ru)
🔥10❤7👨💻3👍1💩1