iOS Makes Me Hate
3.94K subscribers
1.16K photos
167 videos
15 files
1.33K links
Авторский канал про iOS разработку. Путь продуктовых самураев в MAANG.

Самое больше iOS сообщество практиков: https://boosty.to/lionbond/

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
🌴 Модуляризация: лучшие практики

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

За последние пол года уже 3-4 разработчика спрашивали лучшие практики или полезные материалы. Кто-то готовился к собесам, кто-то получал задачи на текущем проекте. Информации в сети не так много и поэтому многие не знали как к этому вопросу подойти.

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

В первой статье собрал большой материал:
🔘зачем нужна модуляризация
🔘какие плюсы и минусы дает
🔘лучшие практики модуляризации (CocoaPods, XCFrameworks, SPM и другие)
🔘когда и что использовать
🔘полезные ресурсы

В следующих статьях будем погружаться глубже в практику. Разбирать такие инструменты как CocoaPods, SPM, Tuist, Xcodegen и другое. Какие архитектуры выбирают при разбиении, а также как избавляться от монолита.

🌴 Получить доступ по летним скидкам к контенту можно 💰тут или ⭐️ тут
Please open Telegram to view this post
VIEW IN TELEGRAM
9
SwiftUI in 2025: Забудьте MVVM

Мы уже заметили, что тема архитектур пробуждает в разрабах что-то первобытное и животное. Уходят рациональность и объективность, приходит что-то религиозное и стилистическое.

Я перестал воспринимать все архитектурные решения субъективно и оценивать «по уюту» как только осознал, что мы — коммерческие разрабы. Мы не строим удобный загородный дом. Мы строим коммерческие помещения, заводы, пароходы. Высокого качества.

Поэтому мне до сих пор странно видеть, как западные авторы рассказывают об угрозах в свой адрес, когда они высказывают непопулярное мнение. Или как мы переходим на оскорбления споря про синглтоны или ТСА/Вайперы.

Решил вас добить и скинуть еще одну провокационную статью 🥲

Автор утверждает:
🟣SwiftUI и MVVM несовместимы по философии.

Многие разрабы принесли в SUI свои привычки из UIKit. Автор утверждает, что многие привычки и так были встроены в фреймворк и мы лишь дублируем или усложняем то, что задумано by design.

🟣на его практике все чаще встречаются приложения без ViewModel. Они отлично живут, все замечательно.

🟣потребность в ViewModel появляется потому, что многие разрабы не понимают хорошо стандартные механизмы биндинга: @observable, @state, @binding

🟣вся философия SwiftUI заложена на написания простого и понятного кода. Не усложняйте.

А вы как считаете? Заслуживает автор оскорблений и линчевания?
Please open Telegram to view this post
VIEW IN TELEGRAM
95
Мок-интревью: Modern iOS System Design | Senior SwiftUI engineer

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

Мы много раз переносили и почти передумали, но все же записали. Сейчас пересматривая понимаю, что не прогадал. И спешу поделиться с вами впечатлениями от полтора часа лютой базы.

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

На собесах за год формат интервью систем дизайна сильно изменился. Рынок перестал просить рисовать вас диаграмы. Теперь он просит открывать вас реальный проект и проектировать в максимально реальных условиях.

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

Такой формат интервью помогает оценить кандидата по трем важным пунктам:
- знание и владение рабочими инструментами
- ширина и глубина теории теории
- крепкость закрепления практикой

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

В пятницу опубликую в бусти. На очереди еще много контента.

Круто, что мы по кирпичикам складываем инженерную культуру вместе.

Успевай взять по скидкам 💰тут или ⭐️ тут 🥲
Please open Telegram to view this post
VIEW IN TELEGRAM
17
🎒 Swift Concurrency в iOS SDK Яндекс Доставки

Как я уже говорил — любой фреймворк, библиотека, патч решая одни проблемы, приносит новые.

Будь это SUI, архитектура, BDUI, кроссплатформа. Есть большая разница между разрабами инструментов и теми, кто ими пользуется. Это как создатель автомата и стрелок. Последний оценивает полноценно как инструмент показывает себя в бою и выставляет оценку.

И чаще новые проблемы не такие очевидные, для их поиска нужно много времени и ресурсов. Если бы код и система были бы идеальными, то мы бы сидели на Swift 1.0, Xcode 0.0.1 и бесконечно не обновлялись.

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

Автор поделился своим опытом проблем, которые SC приносил в проект при адаптации:
🔘проблемы компилятора при вызове изолированного контекста из неизолированного в deinit'е акторов. Автор погружается в работу памяти и свойств nonisolated
🔘сложности миграции на Swift Concurrency
🔘Сложности инвалидации timer'а в MainActor'ах
Please open Telegram to view this post
VIEW IN TELEGRAM
8
iOS Makes Me Hate
😰 Sticker
ну че, желаю всем, чтоб в "убийцах телеграма" также платили, как в телеграме
10
Смерть мобильной разработки или временная трудность?

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

В США уже итшники побили рекорд по безработице. Еще немного напрягает в целом ситуация что удаление из сторов продолжается, а новые учетки разработчиков все сложнее купить

Поделитесь своим опытом поиска работы в СНГ и в мире? Дело только в иос или вообще проблема со всем ит?
Media is too big
VIEW IN TELEGRAM
Мне всегда казалось, что любой продукт нейросетей это что-то вторичное и переработанное.

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

Работа впечатляет. Еще раз убеждаюсь, что решает не инструмент, а руки, которые его используют.
1672
🌿 SwiftUI System Design Interview

Вышел в закрытый доступ для "самураев" новый выпуск мок-интервью с инженером из Авито. Двигаемся глубже в современные технологии.

Я уже писал развернуто свой фидбэк тут, но теперь вы можете сами оценить.

Уметь собирать требования и подбирать под них нужные инструменты — важнейший навык коммерческого инженера.

В новом формате систем дизайна мы решили представить ситуацию, когда Владу нужно спроектировать жиру (а надо было AppStore 🤤)

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

Отличный вариант занять себя на выходные

Успевай взять по скидкам 💰тут или ⭐️ тут
Please open Telegram to view this post
VIEW IN TELEGRAM
11
Please open Telegram to view this post
VIEW IN TELEGRAM
Мнение про вайбкодинг-собесы: Норм или стрем?

Мы в индустрии обожаем жаловаться на собесы. У каждого были кейсы, где ты чувствовал себя участником шоу "интуиция". Но решений и альтернатив всё ещё мало

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

Да более того, есть некоторые отдельные команды, которые ОБЯЗАЛИ своих разрабов использовать cursor/claude, а кто этого не делает должен объясниться и получить ярлык "неэффективного".

Я вполне нормально отношусь к таким собесам с гуглином и аишкам. Ведь кто ими не пользуется? Помню даже проходил внутренний собес в авито в спиды (платформенная команда CI/CD) и мы три часа решали разные задачи, где мне легко разрешали гуглить. Оценивая как я собираю информацию и к чему подхожу.

Вроде бы наконец-то. Мы избавились от этих алгосов и зубрежки теории. Заживем. Ушли от этого вайтбординга к вайбкодингу, умеем оценивать главное в разработке сегодня — не помнить всё наизусть, а уметь эффективно находить и применять информацию.

Но и тут мы нашли критику:
- одни жалуются, что теперь еще сложнее находить работу. Ведь только "взломали найм" с его хрупкой системой, то теперь придется не зубрить билеты и идти по шаблону, а уметь думать и творчески подходить к работе.
- другие считают, что мы убиваем инженерность. И теперь остается только копипастить код (который раньше многие копипастили со стэковерфлоу).

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

Один из частых споров после архитектур, алгоритмов и собесов — это модуляризация.

Что на работе, что на конференциях, что в чатах. Здесь много свободы, а шаблонные решения не всегда подходят под реальные требования. Куда класть презентейшен-логику, а куда UI? Создавать ли Services для бизнес логики, или UseCases?

Модуляризация — это как ремонт в семье. Есть риск что все разосрутся и разведутся.

Автор предлагает очень простую структуру для модуляризации приложения: App, Features, Core, Shared. Без магии, без оверинжиниринга.

- Меньше связей между частями кода
- Легче тестировать
- Быстрее понимать, что где находится

В ноушене готовлю кстати подборку таких структур и шаблонов, которые встречал в реальной жизни и интернетах. Где можно оценить как инженеры нарезают на слои свои приложения
15
Закат apple? Удивит ли она нас инновациями или продолжит в аккурат публиковать оправдательные посты перед wwdc за уход главного дизайнера и потерю упущенного лидерства в гонки , что ии не нужен?

Или конкуренты ее подожмут?
12
This media is not supported in your browser
VIEW IN TELEGRAM
Ну что, опять ничего интересного и разочарования или что-то все же оживает?
13