Telegram Group Search
SwiftUI Architecture — Best Practices and Principles

Тема архитектур все острее и острее. Красить кнопки нам осталось немного.

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

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

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

Выбрасывайте TCA из проекта. Пишите свои удобные архитектурные решения.
iOS Mock Interview: Платформа и рефакторинг

Новое видео на ютубе.

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

В нем мы провели мок-интервью по лайфкодингу и рефакторингу. Спросил популярные и редкие задачи у Искандера, молодого крутого инженера.

Премьера завтра.
Ставьте лайки и подписывайтесь на канал
Поддержите начинающего блоггера.😬
Please open Telegram to view this post
VIEW IN TELEGRAM
Swift Ownership: путь к предсказуемой производительности Swift

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

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

Крайне рекомендую доклад.
👨‍💻В России заработала платформа для подтверждения навыков айтишников

Программисты, которые успешно справятся, получат сертификат Минцифры и отметку на Госуслугах.
Сократите расходы, а не углы. Модуляризация с помощью SPM

Когда речь идёт об архитектуре, важно понимать: MVC, MVP, VIPER, TCA — это не архитектуры, а лишь паттерны уровня UI. Настоящая архитектура — это о структуре всего приложения, а не одного экрана.

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

Эти вопросы особенно важны, когда проект растёт и превращается в монолит: сборка становится медленной (привет банки с часом сборки проекта), а багов всё больше. В такой ситуации уже не до споров про TCA или VIPER — хочется просто, чтобы всё работало.

Автор этого видео рассказывает, как модуляризация с помощью SPM помогла избежать им множество реальных проблем:
- разделить код проекта на логические блоки
- ускорить билд проекта
- чётко разграничить зоны ответственности,
- упростить переиспользование кода
- улучшить чтение и понимание проекта
- повысить общее качество проект

Архитектура — это не стиль, а система с понятными метриками и последствиями. И если решать архитектурные проблемы — то с опорой на реальную структуру проекта, а не только на паттерны UI.

Ее не натянешь на готовый шаблон, ее нужно сформулировать с учетом бизнес требований проекта и его особенностей.
🌴 Модуляризация: лучшие практики

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

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

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

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

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

🌴 Получить доступ по летним скидкам к контенту можно 💰тут или ⭐️ тут
Please open Telegram to view this post
VIEW IN TELEGRAM
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
Мок-интревью: Modern iOS System Design | Senior SwiftUI engineer

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

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

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

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

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

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

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

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

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

Успевай взять по скидкам 💰тут или ⭐️ тут 🥲
Please open Telegram to view this post
VIEW IN TELEGRAM
🎒 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
Please open Telegram to view this post
VIEW IN TELEGRAM
iOS Makes Me Hate
ну че, желаю всем, чтоб в "убийцах телеграма" также платили, как в телеграме
Смерть мобильной разработки или временная трудность?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как по мне, наоборот круто, что такие собесы появляются. Ведь оценивают не твою подготовку к собесам или академические знания, а твою работу и практику. Че думаете?
2025/06/14 03:43:58
Back to Top
HTML Embed Code: