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

iOS *

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

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

Тактики ускорения билда: матиз, кобальт, камри 3.5

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

Меня зовут Дима, я iOS инженер-менеджер в крупнейшем телеком-операторе Казахстана. У нас 19 разработчиков — и билд-тайм для нас важная составляющая разработки. В этой статье я пройдусь по следующему пути: 

рассмотрю стратегии, которые вы сможете сразу применить; 
покажу реальные цифры из наших проектов; 
сделаю выводы и поделюсь инсайтами. 

Читать далее

Мобильная разработка за неделю #578 (3 — 9 марта)

Время на прочтение4 мин
Количество просмотров1.6K
В этом выпуске окончательная и бесповоротная очистка Xcode от ненужных файлов, плагин для кастомных дизайн-систем и мобильная архитектура, новый (почти нативный) кроссплатформенный фреймворк, одинаковые приложения от студентов, жизнь и смерть триалов в Южной Корее и многое другое. Заходите!

Читать дальше →

Как стать iOS-разработчиком в 2025 году: подробный гайд для новичков

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

В данной статье не будет подробного разбора кода, я добавил краткие примеры, чтобы у тебя (если ты новичок), было представление о том, как выглядит в коде та или иная технология. Следуя этому плану, обращаясь к указанным ресурсам, можно уверенно дойди до уровня Junior и начать поиск свой первой работы.

Почему стоит выбрать iOS-разработку?

iOS-разработка остается одним из самых востребованных направлений в IT. Спрос на специалистов растет, зарплаты остаются высокими, а сам процесс разработки комфортный благодаря экосистеме Apple. Не стоит бояться разговоров о том, что рынок перегрет, главное знать зачем вы это делаете и просто дойди до конца.

💰 Сколько зарабатывают iOS-разработчики в России в 2025 году?

• Junior – 120 000–180 000 ₽

• Middle – 250 000–350 000 ₽

• Senior – от 400 000 ₽ и выше

Но чтобы получить первый оффер, нужно освоить Swift, UIKit, сетевое взаимодействие, архитектуры (у вас должно быть понимание, для чего та или иная архитектура, основные сущности, не обязательно глубоко разбираться) и основы хранения данных. Давай разберемся, с чего начать.

1. Изучение Swift и основ программирования

Swift – это современный язык программирования от Apple. На нем пишут приложения для iOS, macOS, watchOS и tvOS.

📌 Что нужно изучить в первую очередь?

✅ Основы (переменные, типы данных, операторы)

✅ Управляющие конструкции (if, switch, for, while)

✅ Коллекции (Array, Set, Dictionary)

✅ Опционалы (Optional, nil, guard let, if let)

✅ Основы ООП (классы, структуры, наследование, протоколы)

✅ Управление памятью (ARC, weak, strong, unowned)

Читать далее

Руководство по использованию unsafe в Swift

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

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

Читать далее

Мобильная разработка за неделю #577 (24 февраля — 2 марта)

Время на прочтение4 мин
Количество просмотров1.1K
В новом дайджесте укрощение анимаций и оживление смартфона, эффективный бэкграунд, уродливый код и глупые вещи, потери денег от плохого дизайна, индекс цифрового рынка за 4 квартал, Gemini Code Assist для всех и многое другое. Заходите!

Читать дальше →

Чем полезен Server Driven UI

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

Привет! Меня зовут Олег Иванов, я руководитель мобильной разработки в Московском кредитном банке. Сегодня поговорим о Server Driven UI вот по такому плану:

что это вообще за технология

из чего она состоит

рассмотрим наши подходы к ее реализации

Начнем с терминологии:

SDUI (Server Driven UI) — это пользовательский интерфейс, управляемый сервером.

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

Читать далее

Мобильная разработка за неделю #576 (17 — 23 февраля)

Время на прочтение4 мин
Количество просмотров1.4K
В этом выпуске учет времени с помощью библиотеки Charts и анализ Android-фич на доступность и внедрение accessibility, что такое перерисовка и как с ней бороться, реализация кастомной прокрутки и бесплатный сервис Build Distribution, «Uber с пушками» от Никиты Бира, LLM на реальных задачах фриланса и многое другое. Заходите!

Читать дальше →

Как мы из России опубликовали платное приложение в App Store

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

Из России запуск платного приложения в App Store после 2022 года требует нестандартного подхода, но это вполне реальная задача. Главное — учитывать актуальные требования Apple, а также продумать стратегию монетизации.

Однако для нас усилия себя оправдали успешным запуском нашего приложения с монетизацией в App Store, несмотря на все ограничения и без переезда («релокации»). В этой статье я разберу правила, которые Apple ввела для разработчиков из РФ, и поделюсь пошаговым опытом, как преодолеть эту полосу препятствий.

Читать далее

Как мы сокращали размер JSONʼа в SDUI

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

Привет, хабрачитатели! Server-Driven UI (SDUI) — это подход, при котором сервер управляет отображением интерфейса на клиенте. Важное преимущество SDUI — возможность внедрять изменения без выпуска новых версий приложений. Но это же преимущество есть его недостаток, ведь передача всех данных по сети зависит от качества соединения и увеличивает объём данных. 

Качество связи мы не можем контролировать, а вот уменьшить количество передаваемой информации посредством сокращения JSON, — вполне.

Читать далее

Под капотом у пользовательского интерфейса SwiftUI — Детальный разбор: Часть 1 — UIKit

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

Как именно работает пользовательский интерфейс iOS-приложений под капотом? При работе с UIKit и SwiftUI разработчики часто фокусируются на их API, не вдаваясь в детали того, что происходит за кулисами. Однако глубокое понимание этих процессов помогает оптимизировать производительность, избежать неожиданных багов и проблем с отрисовкой интерфейса, а также разобраться в механике рендеринга.

В этой статье мы подробно разберём, как UIKit взаимодействует с Core Animation, как устроен Runloop, почему обновления интерфейса происходят не сразу после внесения изменений и какую роль играет Render Server.

Читать далее

Мобильная разработка за неделю #575 (10 — 16 февраля)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.3K
В новом дайджесте дизайн-система в iOS за 5 минут и параллелизм в SQLite для Android, детские ошибки при сборке и дорожная карта перехода на KMP, ошибка во встроенных покупках ценой в Final Fantasy Crystal Chronicles, техосмотра автомобилей с помощью ИИ и многое другое. Подключайтесь!

Читать дальше →

О iOS дизайн системе за 5 мин

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

Всем привет, меня зовут Ибрагим, я iOS разработчик одной из команд мобильного банкинга и это моя первая статья для Хабра, поэтому прошу строго не судить.

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

Читать далее

Использование ChatGPT o3-mini и DeepSeek при создании iOS приложения Countries “Страны Мира”

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

Что делает «животворящая» конкуренция?

Появление DeepSeek, позволило бесплатным подписчикам ChatGPT получить доступ к «рассуждающей» ChatGPT o3-mini.

Я предложила этим двум ИИ создать довольно простое на первый взгляд тестовое iOS приложение Countries, которое показывает все страны Мира по регионам (Европа, Азия, Латинская Америка и т. д.) и для каждой страны её название и флаг, a также численность населения population, размер ВВП (валового внутреннего продукта) gdp и расположение страны на карте Мира.

Использовались данные Всемирного банка (World Bank), но мы не сообщали ИИ ни сайты, ни структуры данных, всё это ИИ должен найти сам и использовать их при создании iOS приложения.

Раньше я отдавала предпочтение Clause 3.5 Sonnet при создании iOS приложений, прибегая к ChatGPT 4.o1 для решения отдельных проблем. Но появление «рассуждающих» ChatGPT o3-mini и DeepSeek изменили всё.

iOS разработка поднялась на новый уровень, и пока лидером в этой гонке для меня является ChatGPT o3-mini (даже в бесплатном варианте). Он способен вас приятно удивить.

Читать далее

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

Мобильная разработка за неделю #574 (3 — 9 февраля)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.4K
В этой подборке рисуем карты с помощью Swift Charts и графики сна с помощью Compose, разбираемся с Swift Concurrency и плагинами Android Studio, бесплатными инструменты для создания иконок, трендами мобильных приложений и многим другим. Подключайтесь!

Читать дальше →

Сравниваю ChatGPT-4o и ChatGPT-o3-mini-high

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

В прошлой статье многие подметили некорректность сравнения Deepseek и ChatGPT-4o. Изначально идея была сравнить максимально доступные пользователю версии.

Но сперва всё же хочется посмотреть как с одной и той же задачей справляются разные версии ChatGPT. Я в прошлом году делала анимацию (да, мне прям нравится по выходным, когда отдыхаю, кодить что-то максимально ненапряжное), так вот я её сделала в ChatGPT-4o.

Не сказать, что я прям получила удовольствие, скорее наоборот, выбесилась знатно. А на этой неделе решила её повторить уже с ChatGPT-o3-mini-high. Разница, конечно, колоссальная. Но обо всём по порядку.

Читать далее

Что мы делали в 2024-м? Видео — бесплатно и без регистрации

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


Что может быть лучше, чем оглянуться и вспомнить, как команды разработчиков, бизнес-аналитиков и тестировщиков Surf провели прошедший год? Предлагаем погрузиться в то, как мы творили, экспериментировали, добивались результатов и делились ими со всеми желающими.  

Будет много видео 😁

Читать дальше

Современные подходы к управлению UI: low-сode & Backend-Driven UI

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

Привет, меня зовут Михаил Шевченко. В Авито я проектирую и разрабатываю backend low-code платформы Bricks. В этой статье рассказываю о том, почему в Авито было принято решение развивать собственные low-code-решения и Backend-Driven UI, объясняю их устройство и делюсь достигнутыми результатами.

Читать далее

Обновления в Swift Concurrency: что нас ждёт в Swift 6

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

Привет, Хабр! Меня зовут Никита, я занимаюсь iOS-разработкой в Яндекс Диске. Как вы знаете, прошлой осенью зарелизился Swift 6, а вместе c ним появились и строгие проверки для защиты от датарейсов, связанные со Swift Concurrency.

В этой статье я постараюсь разобраться с основными изменениями в каждом пропозале и поделюсь своими заметками, тем, что мне показалось самым важным или интересным. В конце статьи бонус — Playground с тестами для каждого пропозала, чтобы можно было поиграть с кодом, детальнее разобраться с изменениями и понять, как они влияют на код, написанный на Swift 5.

Читать далее

Sheet с автоматическим подсчётом высоты и поддержкой iOS 15

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

В этой статье я расскажу о том, как создать нативный Sheet, который автоматически подсчитывает свою высоту в зависимости от котента (SwiftUI View). Задача была в том, чтобы решение было c минимумом костылей и сохраняло поддержку iOS 15. Готового похожего решения мне не удалось найти, поэтому решил создать свой вариант.

Читать далее

Мобильная разработка за неделю #573 (27 января — 2 февраля)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.2K
В новом дайджесте рассказываем о том, как Android управляет памятью, и смотрим под капот потокам, объясняем нюансы разработки PWA для Банка и программируем открытиями, исследуем удаление приложений в 2024 году, смешиваем цвета, ищем путь к стабильности и многое другое. Подключайтесь!

Читать дальше →