Упрощаем локализацию 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
Forwarded from Mobile Native ️️
API Design 101: From Basics to Best Practices
Сегодня будет несколько материалов не совсем по нашей тематике, но тесно свзаны с мобилками или имеющие общие аспекты для развития кругозора.
Короткая статья c основами по пректированию API: CRUD, протоколы и механизмы передачи данных, эндпоинты, связи, обратная совместимость, версионирование.
Читать (En)
Сегодня будет несколько материалов не совсем по нашей тематике, но тесно свзаны с мобилками или имеющие общие аспекты для развития кругозора.
Короткая статья c основами по пректированию API: CRUD, протоколы и механизмы передачи данных, эндпоинты, связи, обратная совместимость, версионирование.
Читать (En)
❤5🔥5👍1
Forwarded from Mobile Native ️️
System Design Concepts
В догонку серия статей от того же автора на тему System Design: архитектура, DNS, CDN, Data Storage, протоколы, балансёры, масштабируемость и т.д.
👉 6 System Design Interview Concepts
👉 System Design Interview Question: Design Spotify
👉 Mastering Databases
👉 Computer Architecture
👉 Meeting Design Requirements
👉 Architecture of Production Web Apps
👉 Networking Essentials
В догонку серия статей от того же автора на тему System Design: архитектура, DNS, CDN, Data Storage, протоколы, балансёры, масштабируемость и т.д.
👉 6 System Design Interview Concepts
👉 System Design Interview Question: Design Spotify
👉 Mastering Databases
👉 Computer Architecture
👉 Meeting Design Requirements
👉 Architecture of Production Web Apps
👉 Networking Essentials
👍3🔥3❤1
Forwarded from Mobile Native ️️
System Design Interview Survival Guide (2024): Preparation Strategies and Practical Tips
В дополнение к этому посту, ещё один материал про System Design: понимание основ, практические советы, вопросы с собесов, ресурсы для подготовки и т.д.
👉 Understanding the Basics of System Design
👉 Practical Tips for the Interview
👉 Follow the System Design Master Template
👉 Top System Design Interview Questions
👉 System Design Resources and the Strategy
👉 Ready to Ace Your Next Tech Interview?
Читать (En)
В дополнение к этому посту, ещё один материал про System Design: понимание основ, практические советы, вопросы с собесов, ресурсы для подготовки и т.д.
👉 Understanding the Basics of System Design
👉 Practical Tips for the Interview
👉 Follow the System Design Master Template
👉 Top System Design Interview Questions
👉 System Design Resources and the Strategy
👉 Ready to Ace Your Next Tech Interview?
Читать (En)
🔥5👍3❤1
По граблям, по граблям. Пишем отзывчивый интерактивный виджет IOS 17
Гайд от Анны Жарковой, как с помощью Widget Kit iOS 17 и AppIntent сделать виджет не только интерактивным, но и рабочим и отзывчивым в моменте, и обойти подводные камни, оставленные разработчиками API.
Читать (Ru)
Гайд от Анны Жарковой, как с помощью Widget Kit iOS 17 и AppIntent сделать виджет не только интерактивным, но и рабочим и отзывчивым в моменте, и обойти подводные камни, оставленные разработчиками API.
Читать (Ru)
🔥7❤4👍4💩2🤮1
Implementing spoilers in SwiftUI
Гайд по реализацииспойлеров как в телеге на SwiftUI, с помощью CAEmitterLayer.
Код на GitHub → Spoiler View Example
Читать (En)
Гайд по реализации
Код на GitHub → Spoiler View Example
Читать (En)
❤9🔥6👍2
Discovering Swift Async Algorithms package
Статья с разбором некоторых кейсов использования пакета Swift Async Algorithms.
Swift Async Algorithms – пакет от Apple, который реализует часто используемые асинхронные алгоритмы, которые позволяют избавиться от Combine.
Читать (En)
Статья с разбором некоторых кейсов использования пакета Swift Async Algorithms.
Swift Async Algorithms – пакет от Apple, который реализует часто используемые асинхронные алгоритмы, которые позволяют избавиться от Combine.
Читать (En)
❤6👍4🔥2👌1
Swift Concurrency Recipes
Репозиторий-сборник с рецептами по работе с SwiftConcurrency.
🟢 Creating an Async Context
🟢 Using Protocols
🟢 Isolation
🟢 Structured Concurrency
🟢 SwiftUI
🟢 Using Libraries not Designed for Concurrency
GitHub → Concurrency Recipes
Репозиторий-сборник с рецептами по работе с SwiftConcurrency.
GitHub → Concurrency Recipes
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤2👍1
Оптимальный архитектурный шаблон iOS-приложения
В статье описывается оптимальный архитектурный шаблон большого iOS-приложения на Swift, выступающего преимущественно в качестве тонкого клиента. Основной упор делается на применение чистой архитектуры.
• Определения и принципы
• Постановка проблемы
• Что хотим получить
• Решение — чистая архитектура
• Принципы SOLID
• Выделение архитектурных уровней в нашем случае
• Компоненты чистой архитектуры iOS
• Краткий обзор распространённых архитектурных шаблонов iOS
• Model-View-Controller
• Model-View
• Шаблоны чистой архитектуры iOS
• VIPER
• VIP (CleanSwift)
• Оптимизация архитектурного шаблона
• Simplified VIP — SVIP (NEW)
• Анатомия SVIP
• Интерактор
• Презентер
• Вид
• Воркер
• Конфигуратор
• Масштабирование
• Пакетная структура проекта
• Заключение
• Полезные ссылки
Читать (Ru)
В статье описывается оптимальный архитектурный шаблон большого iOS-приложения на Swift, выступающего преимущественно в качестве тонкого клиента. Основной упор делается на применение чистой архитектуры.
• Определения и принципы
• Постановка проблемы
• Что хотим получить
• Решение — чистая архитектура
• Принципы SOLID
• Выделение архитектурных уровней в нашем случае
• Компоненты чистой архитектуры iOS
• Краткий обзор распространённых архитектурных шаблонов iOS
• Model-View-Controller
• Model-View
• Шаблоны чистой архитектуры iOS
• VIPER
• VIP (CleanSwift)
• Оптимизация архитектурного шаблона
• Simplified VIP — SVIP (NEW)
• Анатомия SVIP
• Интерактор
• Презентер
• Вид
• Воркер
• Конфигуратор
• Масштабирование
• Пакетная структура проекта
• Заключение
• Полезные ссылки
Читать (Ru)
🔥12❤4👍4👎2😁1
Forwarded from Mobile Native ️️
Как и где практиковаться начинающему мобильному разработчику
В статье рассказывается, как начинающим разработчикам можно прокачивать свои знания и применять их на практике.
👉 Пет-проекты
👉 Известные приложения
👉 Вклад в Open Source
👉 Хакатоны
👉 Тестовые задания
👉 Стажировки
👉 Решение алгоритмических задач
👉 Портфолио на Github
Читать (Ru)
В статье рассказывается, как начинающим разработчикам можно прокачивать свои знания и применять их на практике.
👉 Пет-проекты
👉 Известные приложения
👉 Вклад в Open Source
👉 Хакатоны
👉 Тестовые задания
👉 Стажировки
👉 Решение алгоритмических задач
👉 Портфолио на Github
Читать (Ru)
🔥4👍3👎2🤔1