Друзья, привет! Сегодня хочу представить вам свою библиотеку - SwiftUI-Adapter, которая избавит вас от головной боли при работе с новыми модификаторами SwiftUI.
Друзья, привет! Сегодня хочу представить вам свою библиотеку - SwiftUI-Adapter, которая избавит вас от головной боли при работе с новыми модификаторами SwiftUI.
Когда все процессы в приложении работают как часы, это не магия, а правильно настроенная асинхронность.
Если ваше приложение не отвечает мгновенно на действия пользователя, то в голове у него сразу зажигается красный флаг: "Это медленно. Это неудобно. Может, удалить?". В корпоративных приложениях, где важна каждая секунда, это недопустимо.
В этой статье мы поговорим о том, как организовать асинхронную работу в iOS-приложениях. Разберём подходы от старой доброй GCD до современной магии Swift Concurrency и покажем, как они помогают ускорить приложение без лишнего хаоса в коде.
Swift — это мощный язык программирования, который сочетает в себе безопасность типов и выразительность. Однако, несмотря на свою строгую типизацию, язык предоставляет разработчикам возможность использовать динамический доступ к свойствам объекта с помощью атрибута dynamicMemberLookup. Это может быть полезно, например, для работы с динамическими данными или при создании DSL (Domain-Specific Language). С помощью этого атрибута мы можем обращаться к свойствам экземпляра типа, даже если эти свойства явно в нем не определены.
При работе с этим атрибутом важно понимать, что он применим только к типам (struct, enum, class, actorЧитать полностью »
В мире, где ваш телефон умеет угадывать настроение по плейлисту, почему бы не научить его распознавать звуки вокруг? С помощью фреймворка SoundAnalysis это проще, чем кажется. Мы расскажем, как легко и с минимальными потерями для душевного здоровья интегрировать распознавание звуков в ваше iOS-приложение.
SNAudioFileAnalyzer: Ваш личный детектив по звукам, который досконально исследует аудиофайл.
SNClassifySoundRequest: Помощник по распознаванию звуков. Дайте ему модель машинного обучения, и он сделает остальное.
SNResultsObservingЧитать полностью »
Когда вы работаете с данными в Swift, особенно при взаимодействии с API, вам часто приходится разбирать JSON-ответы и преобразовывать их в структуры данных. Это может быть утомительной и повторяющейся задачей, особенно если у вас есть сложные или вложенные JSON-структуры. Для решения этой проблемы в Swift существует мощная и удобная библиотека — Codable.
Пример использования 'Читать полностью »
Не так давно прогремела новость, что Cocoapods переходит в режим поддержки. В связи с этим встал вопрос, что дальше. В начале мы склонялись к чисто Swift Package Manager, но потом пришло понимание, что неплохо было бы уйти от конфликтов в project файле и сделать задел на модульность. В этой статье мы пройдем от нашего старого приложения к новому и закончим там, где останется перенести исходный код и все заработает.
Подготовка
Для начала я рекомендую сделать файл, куда с одной стороны поместить зависимости из Podfile, а с другой URL для SPM с номером версии, так будет проще вносить их в Tuist.
Привет, Хабр! Каждую неделю, в своем телеграм-канале Mobile Native, я публикую дайджест с интересными и полезными материалами (новости, статьи, инструменты, библиотеки и т.д.) для мобильных разработчиков. Решил попробовать публиковать эту рубрику и на Хабре. Посмотрим, что из этого получится.
Android 🤖
• Dependency Inversion Principle: How Google Developers write code
• Как мы используем фича-флаги в мобильном приложении QIWI Кошелек
Читать полностью »
Всю неделю мы проверяли ответы, оценивали архитектуру, продуктовую часть, технику выполнения задания. Выбирать оказалось сложно, потому что все решения были интересными и хорошо проработанными. После жарких дискуссий составили шорт-лист из 14 вариантов. В конце нам даже пришлось поиграть в CS:GO и Dota 2, чтобы набить реальных данных и посмотреть, как будут работать приложения.
Все вокруг говорят про голосовых помощников, Алису, Google Assistant, что они умеют, чего не умеют… А мы взяли и написали фреймворк для создания мобильных голосовых ассистентов. Да еще и с открытым исходным кодом! Пока мы это сделали только для Android, и теперь ищем крутого iOS-разработчика, кто с легкостью портирует Kotlin код на Swift.
Под катом рассказываем, зачем мы вообще это делаем, что у нас получилось и кого именно мы ищем в команду Aimybox.
