Как стать автором
Обновить
80.93

Разработка под iOS *

Популярная мобильная ОС

Сначала показывать
Порог рейтинга
Уровень сложности

Мобильная разработка за неделю #554 (2 — 8 сентября)

Время на прочтение4 мин
Количество просмотров1.6K
В нашем новом дайджесте доступ к данным банковских приложений и интересные приёмы в исходниках Android, атомный лоадер на Jetpack Compose и переход на инхаус-разработку, своя органика в сторах, рекорды дальности связи, стереотипы об автотестах ит многое другое. Подключайтесь!

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

Читать дальше →
Всего голосов 2: ↑2 и ↓0+3
Комментарии2

Прокачайте свой Swift с @dynamicMemberLookup

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1K

Swift — это мощный язык программирования, который сочетает в себе безопасность типов и выразительность. Однако, несмотря на свою строгую типизацию, язык предоставляет разработчикам возможность использовать динамический доступ к свойствам объекта с помощью атрибута dynamicMemberLookup. Это может быть полезно, например, для работы с динамическими данными или при создании DSL (Domain-Specific Language). С помощью этого атрибута мы можем обращаться к свойствам экземпляра типа, даже если эти свойства явно в нем не определены.

Читать далее
Всего голосов 1: ↑1 и ↓0+3
Комментарии1

Дружим iPhone и ESP32. Часть 1. ESP Arduino Core

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров3.3K

В данной части статьи я простым языком поведаю вам о том, как написать собственный BLE сервис на микроконтроллере ESP32 для дальнейшего управления непосредственно с iPhone, а так же раскрою пару фишек, благодаря которым вы сохраните себе своё время и нервы.

Читать далее
Всего голосов 8: ↑8 и ↓0+12
Комментарии0

Как я решал задачу получения доступа к данным банковских приложений на iOS

Время на прочтение5 мин
Количество просмотров4.4K

Вы пользуетесь кешбэком, может даже выбираете категории повышенного кешбэка каждый месяц? Когда у вас несколько карт разных банков с кешбэком, становится непросто запомнить, какую из них лучше использовать для конкретной покупки в этом месяце.

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

Заполнять данные о категориях вручную мне показалось неудобно, поэтому я начал думать, как упростить пользователю получение и ввод этих данных из банковских приложений. О том, как я решил эту задачу, расскажу в этой публикации.

Читать далее
Всего голосов 15: ↑14 и ↓1+14
Комментарии4

Истории

Как встроить распознавание звуков в ваше iOS приложение на Swift с использованием SoundAnalysis

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров505

В мире, где ваш телефон умеет угадывать настроение по плейлисту, почему бы не научить его распознавать звуки вокруг? С помощью фреймворка SoundAnalysis это проще, чем кажется. Мы расскажем, как легко и с минимальными потерями для душевного здоровья интегрировать распознавание звуков в ваше iOS-приложение.

Читать далее
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Мобильная разработка за неделю #553 (26 августа — 1 сентября)

Время на прочтение4 мин
Количество просмотров1.8K
В этом выпуске борьба с утечками памяти и 10 самых распространенных ошибок с Jetpack Compose, подходы к многомодульной функциональной архитектуре и реализация pixel-perfect тестирования дизайн-системы, 2.5 тысяч экрано-состояний и тесты на сотнях устройств, причины не использовать Server Driven UI, «осознанные» истории Calm и многое другое. Подключайтесь!

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

Читать дальше →
Всего голосов 5: ↑4 и ↓1+8
Комментарии0

Автоматизация работы с JSON в Swift с помощью Codable

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров591

Автоматизация работы с JSON в Swift с помощью Codable

Когда вы работаете с данными в Swift, особенно при взаимодействии с API, вам часто приходится разбирать JSON-ответы и преобразовывать их в структуры данных. Это может быть утомительной и повторяющейся задачей, особенно если у вас есть сложные или вложенные JSON-структуры. Для решения этой проблемы в Swift существует мощная и удобная библиотекаCodable.

Читать далее
Всего голосов 5: ↑2 и ↓3+3
Комментарии1

Снифферы трафика в мобильном тестировании: Обзор инструментов и их особенности

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров4.9K

Эта обзорная статья расскажет, какие есть перехватчики трафика среди десктопных и мобильных приложений, о доступности и преимуществах решений, а также что мы можем сделать хорошего для проекта с помощью снифферов.

Давайте узнаем, как хватать и чем траффик.

Читать далее
Всего голосов 12: ↑12 и ↓0+15
Комментарии6

SwiftUI AlignmentGuide

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.2K

Всем привет, сегодня я расскажу про верстку в SwiftUI с помощью AlignmentGuide.

AlignmentGuide позволяет сделать специальное выравнивание внутри View. А точнее сказать, инструмент позволяет строить направляющие для выравнивания в контейнерных типах View (HStack, VStack, ZStack) между родителем и его потомками.

Читать далее
Всего голосов 3: ↑3 и ↓0+7
Комментарии0

Шина данных и Swift: применение в слабосвязанных архитектурах

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.1K

Привет, Хабра! Сегодня я приглашаю вас окунуться в мир современных архитектур мобильных приложений и поговорить об одном из самых эффективных и необычных подходов к их построению. Статья ориентирована на разработчиков, уже знакомых с основами SwiftUI. Я сосредоточусь на более продвинутых аспектах, поэтому некоторые базовые моменты могут быть упомянуты без подробных объяснений.

Шина появилась в нашем проекте по причине того, что хотелось добавить очень небольшую логику без риска поломки уже существовавшей. Рассмотрим, что такое шина данных и как с ее помощью работать с legacy. Будет интересно!

Быстрее показывай, что там дальше!
Всего голосов 3: ↑3 и ↓0+5
Комментарии4

Обновление CocoaPods: пошаговое руководство

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров730

CocoaPods — это менеджер зависимостей для разработки под iOS и macOS, который упрощает процесс включения внешних библиотек в проект. С помощью CocoaPods можно быстро добавлять и управлять сторонними библиотеками и фреймворками, не беспокоясь о сложностях, которые неизбежно возникают при их интеграции вручную. В этой статье предлагаем ознакомиться с пошаговым руководством по началу работы с CocoaPods на Mac, включая установку и обновление, создание Podfile, а также добавление и управление зависимостями с помощью CocoaPods. Руководство довольно детальное и будет полезно для новичков.

Читать далее
Всего голосов 9: ↑9 и ↓0+14
Комментарии1

Мобильная разработка за неделю #552 (19 — 25 августа)

Время на прочтение4 мин
Количество просмотров1.7K
В этом выпуске отслеживаем утечки памяти в iOS и выносим ViewModel из Compose функций, тестируем производительность Flutter и React Native, определяем кто тратит больше всего денег в приложениях и многое другое. Подключайтесь!

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

Читать дальше →
Всего голосов 2: ↑2 и ↓0+5
Комментарии0

Антимат в чате на iOS: как я мешаю пользователям сквернословить

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.4K

Привет, Хабр! На связи снова Александр Пиманов (по-прежнему iOS-разработчик МТС Диджитал). Сегодня поделюсь своим опытом в одной интересной нишевой теме: фильтрации нецензурной лексики в приложении для iOS.

Да, мало кому может понадобиться фильтровать мат на клиенте, но  если у вас есть функция нейминга элементов в UI (добавление кастомного имени страницы, кнопки и так далее), запрос от бизнеса на такой фильтр и вы хотите сделать «проверку на дурака», то эта статья для вас. Прелюдия окончена, все подробности под катом.

Читать далее
Всего голосов 8: ↑6 и ↓2+9
Комментарии22

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

«Перевод доставлен»: технотренды ТОП-5 банков России в разработке мобильных приложений. Разбираем на примере iOS

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров480

Привет! Я — Дмитрий Коркин, CEO Joy Dev и бывший iOS-разработчик. Давно, конечно, не кодил… Но стараюсь поддерживать технические скиллы. В этой статье я собрал тренды и бессмертную классику в финтех разработке, а также рассказал про своё видение идеального мобильного приложения для банков. 

Постараюсь не душнить, но пойду от самой базы в глубину и покажу ТОП-10 технологий, которые мы с коллегами внедряли последние несколько лет. Посмотрим, что из этого вышло! 

Читать далее
Всего голосов 3: ↑1 и ↓2+1
Комментарии4

От Cocoapods к Tuist+SPM быстрыми шагами

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров1.9K

Не так давно прогремела новость, что Cocoapods переходит в режим поддержки, больше не будет развития, а только поддержка. В связи с этим встал вопрос, что дальше. В начале мы склонялись к чисто Swift Package Manager, но потом пришло понимание, что неплохо было бы уйти от конфликтов в project файле и сделать задел на модульность. В этой статье постараюсь описать полный путь от Cocoapods к Tuist+SPM, затрону то, что было мне было не понятно в других статьях и передать опыт, чтобы облегчить другим переход.

Читать далее
Всего голосов 2: ↑2 и ↓0+4
Комментарии4

Performance Testing для iOS

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.5K

Все мы любим, когда приложение, которым пользуемся работает отзывчиво, быстро, а так же те операции, которые мы хотим совершить происходили максимально быстро: буть то банковское приложение, буть то приложением в коммерции и тд.

Но как мы можем отслеживать и мерить метрики скорости нашего приложения? Этим вопросом задаются многие разработчики и компании, которые получили негативную реакцию или думают наперед, когда кодовая база и сложность приложения будет расти. Существует два пути: либо мы изучаем на реальных пользователях нашего приложения, либо мы ищем какой-то другой способ, который позволяет нам статистически проверить гипотезу.

Читать далее
Всего голосов 5: ↑5 и ↓0+7
Комментарии2

5 рандомных вопросов на собеседовании iOS разработчика

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.9K

Всем привет!

Рассмотрим 5 вопросов, которые вам могут задать на собеседовании на позицию iOS разработчика. Скорее всего, это вопросы уровня Junior, но т.к. сейчас непонятно кто, что и у кого спрашивает, поэтому не будем разводить холивар :)

Вопрос №1: Можно ли создать необязательные методы в протоколах?

Ответ: Существует два способа создания необязательных методов для протоколов.

Читать далее
Всего голосов 5: ↑4 и ↓1+7
Комментарии10

Отслеживание утечек памяти в iOS-приложении со SwiftUI в Runtime

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.2K

Всем привет! Меня зовут Фарид, я занимаюсь iOS-разработкой в компании Банки.ру.

Рано или поздно каждый проект сталкивается с проблемой утечек памяти: растёт её использование, в отдельных сценариях приложение ведёт себя странно или вовсе аварийно завершается. Начинается долгий и мучительный поиск причин утечки и отладка кода. 

В нашем проекте ставка сделана на использование SwiftUI, что затрудняет решение задачи: из-за декларативности подхода и отсутствия явно выраженного жизненного цикла в UI, обнаружить причину утечки памяти сложнее. 

В этой статье мы: 

1) пройдёмся по основным подходам к поиску утечек; 
2) попробуем найти способ сделать его обнаружение утечек менее болезненным;
3) выясним, можно ли каким-то образом застраховаться от утечек в будущем развитии проекта.

Читать далее
Всего голосов 14: ↑14 и ↓0+22
Комментарии18

Мобильная разработка за неделю #506 (12 — 18 августа)

Время на прочтение4 мин
Количество просмотров2K
В новом дайджесте закрытие CocoaPods и излишества чистой архитектуры, деструктуризация в Kotlin с примерами и знакомство с Flutter GPU, архитектура мобильного приложения в разрезе высоких нагрузок и построения экосистем, кто может стать программистом, сокращение количества вакансий для разработчиков и многое другое. Подключайтесь!

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

Читать дальше →
Всего голосов 2: ↑2 и ↓0+5
Комментарии0

Создание XCFramework из SPM пакета

Время на прочтение4 мин
Количество просмотров906

Привет, Хабр! Я Николай Чурянин, начальник отдела разработки приложений для юридических лиц.

Как-то нам в голову пришла мысль подключать зависимости в виде собранных библиотек и тем самым не тратить время на пересборку редко изменяемых зависимостей. В данной статье рассмотрим, как создавать XCFramework из SPM пакета.

Читать далее
Всего голосов 7: ↑7 и ↓0+9
Комментарии4