Как стать автором
Поиск
Написать публикацию
Обновить
38.11

iOS *

Мобильная ОС компании Apple

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

Как Swift Runtime влияет на производительность iOS-приложений

Уровень сложностиСложный
Время на прочтение19 мин
Количество просмотров728

Привет, Хабр! Я Кристиан Бенуа, iOS-разработчиĸ в Т-Банĸе. В современном мире производительность приложения — ĸритичесĸи важный фаĸтор, определяющий его успех. Пользователи ожидают мгновенного отĸлиĸа и плавной работы, даже небольшие задержĸи могут негативно сĸазаться на восприятии приложения.  

Для больших iOS-приложений, написанных на Swift, понимание работы Swift Runtime и его влияния на производительность — важный навыĸ разработчиĸов. Swift Runtime при исполнении ĸода отвечает за фундаментальные вещи языĸа Swift: управление памятью и систему типов в рантайме.

В статье сосредоточимся на механизмах приведения типов и создания generic-типов внутри Swift Runtime и рассмотрим один ĸонĸретный метод, ĸоторый является узĸим местом в производительности приложения. Разберем примеры ĸода, демонстрирующие, ĸогда и почему этот метод вызывается, ĸаĸово его влияние на отзывчивость приложения и ĸаĸие стратегии использовать для смягчения негативного воздействия. 

Читать далее

Новости

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

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

В этом выпуске построение современного BLE-сервиса и повышение производительности за счет лучшего сокращения ресурсов, Swift на Android и эволюция презентационных паттернов, MAX без оболочки, эмоциональное решение проблем, трудные уроки инди-хакинга и многое другое. Заходите!

Читать далее

Generic'и и protocol'ы в Swift

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

Привет, Хабр! В прошлых статьях мы говорили про ARC и управление памятью в Swift, но обошли стороной ещё одну сильную сторону языка. Речь идёт о generic'ах и протоколах - именно они делают Swift таким чистым и мощным. В этой статье мы разберёмся, как они работают и почему без них невозможно представить современный Swift.

Читать далее

Swift Concurrency и CoreBluetooth: как построить современный BLE-сервис

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

На случай проблем с сетью в Ситидрайве есть оффлайн-сценарий — управление дверьми машины через Bluetooth. Недавно мы с командой обновили этот механизм и значительно улучшили интеграцию различных модулей телеметрии.

Я взял на себя часть по iOS и попробовал применить новый Swift Concurrency поверх старого CoreBluetooth. В этой статье расскажу, какие подводные камни вылезли при совмещении structured concurrency и callback-ориентированного API, как их обойти и на что стоит обратить внимание, если вы тоже решите «прикрутить» современные async/await к старому API.

Читать далее

Важные изменения ASO в 2025 году

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

Год еще не закончился, но больших апдейтов в ASO набралось на полноценный разбор. Apple и Google обновляют сторы: меняют поиск, добавляют новые поверхности и страны, внедряют AI-инструменты, делают модерацию строже и многое другое.

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

Читать далее

Мобильная разработка за неделю #601 (1 — 7 сентября)

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

В новом дайджесте «стеклянный мир» iOS 26 и Flow-контейнеры в Compose, Android Glance Widget и жизненный цикл UIViewController 2025, лучшие практики агентного программирования, как замедлить программу и почему это может быть полезно, приложения, вышедшие в июле, и заработавшие больше $50,000, и многое другое. Заходите!

Читать далее

ARC в Swift

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

Привет, Хабр! Это вторая статья из цикла моих заметок. В прошлый раз мы затронули тему ARC и а также такие понятия, как weak и unowned ссылки. Сегодня разберёмся, что такое ARC на самом деле, посмотрим, как он работает на уровне SIL, и заглянем немного в историю управления памятью в iOS.

Читать далее

Жизненный цикл UIViewController в 2025 году: что изменилось и что устарело

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

В 2022 году я написал статью «Жизненный цикл UIViewController», где подробно разобрал порядок вызова методов и основные сценарии работы с ними.

С тех пор прошло больше трёх лет, и в iOS появилось несколько изменений, которые делают старую статью уже не до конца актуальной.

Читать далее

Как мы добились оценки приложения в 5 звезд за 2 часа

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

Всем салют, на связи мобильный Flutter разработчик из Comrades Dev.

У нас в приложении была вечная проблема - люди пользуются, всё окей, но отзывов почти нет. В сторе висела небольшая цифра в 30 оценок и рейтинг 4.9. Вроде неплохо, но не то, чтобы "вау". Также отзывы которые мы собирали в соц сетях, а также при опросе знакомых кто им пользуется, были только положительные. Решили попробовать маленький эксперимент, чтобы повысить количество оценок и он неожиданно выстрелил.

Читать далее

Compose Multiplatform простое приложение c MVI

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

Статья об использовании мультиплатформенного Android и iOs решения на Compose с минимальным количеством сторонних beta библиотек. Настройках проекта для iOs и Android. Также тестировании с помощью локального сервера Netty

Из сторонних beta библиотек используется buildkonfig = "0.17.1"

Room - База данных

ktor - Network. Также задействован embeddedServer для эмуляции сервера

coin - Di

Coroutine Flow

Compose Navigation

Clean Architecture

Читать далее

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

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

В этом “юбилейном” выпуске память в Swift и ужесточение проверки разработчиков для сторонней установки приложений от Google, очередная смерть Flutter и инструмент для поиска и анализа ошибок, все != nil в коде, pixel-perfect тестирования дизайн-системы в Android, Польша как главный рынок приложений Европы и многое другое. Заходите!

Читать далее

Память в Swift

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

Привет, Хабр! Меня зовут Егор, и это моя первая статья на этой платформе. Я занимаюсь iOS-разработкой, и за время работы я прочитал множество статей и документаций. Для того чтобы не теряться в этом потоке информации, я стал делать для себя короткие шпаргалки — они помогали закрепить изученное и готовиться к собеседованиям. В этой статье я решил собрать часть таких заметок в один материал, посвящённый работе с памятью в Swift. Надеюсь, он поможет кому-то освежить знания или узнать что-то новое.

Читать далее

Выход iOS 26. Почему нативная разработка — это преимущество и необходимость

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

Flutter сталкивается с новыми ограничениями, а релиз iOS 26 вносит большие изменения в нативный UI. В статье расскажем, почему выбор именно нативных технологий помогут продуктам оставаться конкурентоспособными.

Читать далее

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

Flutter + нативные iOS виджеты: любовь с первого Method Channel

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

Как создать нативные iOS виджеты для Flutter приложения: Widget Extension, Method Channel для обмена данными, Timeline Provider для обновлений и SwiftUI верстка.

Пошаговый гайд с примерами кода на русском языке. Рассматриваем настройку App Groups, работу с UserDefaults и стратегии обновления виджетов.

Без лишних библиотек, только нативные возможности iOS и стандартные механизмы Flutter.

Читать далее

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

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

В этом выпуске несколько технических разборов Max, отказ от MVVM и использование Retrofit с корутинами, магия анимаций RecyclerView и генерация UI Kit с использованием ИИ, опыт работы с Protobuf на реальном проекте, COBOL в 2025, вяжущая фасолина в топе App Store и многое другое. Заходите!

Читать далее

Как мы готовимся к новым версиям iOS

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

Привет! Меня зовут Антон Долганов, я старший iOS-разработчик в Контуре. Большую часть времени я работаю над инфраструктурными модулями, чтобы наши приложения были быстрыми, стабильными и легко развивались.

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

Читать далее

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

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

В этом выпуске создаем тепловые карты и делаем элегантные и настраиваемые подсказки, делаем $100K на iOS-приложении и тратим все на исправление ошибок и выгорание, оцениваем мобильный рынок с Sensor Tower, объясняем, почему разработчики в России не освоили ИИ, ждем «момент BlackBerry» для Apple и многое другое. Заходите!

Читать далее

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

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

В новом дайджесте распутываем навигацию SwiftUI и переписываем слайдер оплаты на Compose, играем в SPM и делаем свой State Management для Flutter, реализуем «Чёрное зеркало» в реальности, решаем задачи коммивояжера, отикрываем Android для роботов и многое другое. Заходите!

Читать далее

Beta AppleOS 26: что-то жидкое стекло

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

Apple OS 26 — крупнейшее обновление экосистемы за последние годы. Система получила новый дизайн Liquid Glass с прозрачными и полупрозрачными элементами, что визуально сближает её с iOS и visionOS. Глубокая интеграция Apple Intelligence позволяет использовать перевод звонков в реальном времени, автоматизацию на основе AI и расширенные возможности Continuity, включая полноценное приложение Phone и Live Activities с iPhone. Spotlight переработан в мощный инструмент поиска с поддержкой естественного языка и быстрых действий, а новые приложения Journal и Games делают macOS более персонализированной и ориентированной на пользователей. Обновление совместимо с Mac на базе Apple Silicon и ограниченным набором Intel‑моделей, при этом оно станет последним релизом с поддержкой Intel. macOS 26 выходит осенью 2025 года и позиционируется как шаг к более интеллектуальному и интегрированному пользовательскому опыту.

Читать далее

Kick: Kotlin Inspection & Control Kit — единый модульный инструмент отладки прямо в приложении

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

При разработке и тестировании приложений порой требуется заглянуть под капот - проанализировать HTTP-трафик или проверить кэш данных в базе данных. Ранее для этих целей мы использовали Inspektify и Delight SQL Viewer. Но в какой-то момент нам понадобился еще и удобный доступ к логам приложения и тащить ещё одно отдельнее решение не хотелось. Был нужен один инструмент, который объединит всё самое необходимое в одном месте. Так появился Kick — расширяемый модульный набор инструментов, позволяющий разработчикам и тестировщикам легко инспектировать приложение.

Читать далее
1
23 ...