iOS Makes Me Hate
4.14K subscribers
1.28K photos
186 videos
24 files
1.42K links
Авторский канал про iOS разработку. Путь продуктовых самураев в MAANG.

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

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
Подборка блогов по Mobile System Design

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

1) Gergely Orosz. Мобильный инженер с большим опытом, автор многих книг и статей. Фокусируется на архитектурах и систем дизайне

2) Tjeerd in ’t Veen. Эксперт по mobile system design. Нравится комплексность подхода и акценты на важных производственных деталях.

3) Авторы Essential Developer. В одном из прошлых постов их ругали за слабый опыт работы в крупных компаниях и воду, но мне нравится их комьюнити, которое они организовали вокруг себя

4) AzamSharp. Частый гость этого канала когда вопрос стоит архитектуры приложений на SwiftUI. По-зумерски.

Эти авторы преимущественно пишут про System Design и архитектуры. Полезно в этом повариться.
15
Почему System Design — главный навык сеньорности

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

Как бы круто ты не знал кишки: Side Tables, многопоточку, SwiftUI и Render Server, математику, базу — рынок оценивает твою сеньорность по систем дизайну. В СНГ или на западе. Везде.

Во многих компаниях системный дизайн — важный этап собеседования на senior-позиции. Потому что они хотят видеть, что кандидат умеет не просто писать код, но проектировать систему.

Да и мы полтора года назад мы уже делали опрос "Какие главные навыки сеньора". Где 77% ответили — проектирование сложных и больших систем.

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

Я собрал основные аргументы в карточки.
135
Вам не нужны анимации

Меня не сильно прикалывает верстка. Часто это для меня скучная рутина, если это не какая-то новая технология, видео, нагруженный UI. Или я не пишу сложный генератор лайатуов like BDUI движок.

Также я не сильно кайфую от слишком замудренных анимаций. Я сторонник минимализма и лаконичности. И если я захожу в приложение заказать пиццу, то не хочу танцующего парада кнопок — этот шум меня утомляет. Я зашел покушать, а не смотреть шоу.

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


А вы как думаете?
73
This media is not supported in your browser
VIEW IN TELEGRAM
Ну или вот. Ресерчил бест практики как работают видео ленты.

Мне нравится ютуб. Он не включает все видео сразу. Он заботится о шуме:
- при скролле все видосы на паузе
- при паузе воспроизводится не все во вьюпорте, а одно.

А представьте что разом вдруг воспроизведутся все? А еще и будет обрывистый зумерский монтаж?

Конечно, можно усложнить и сделать круто. Добавить «живости». Ведь есть миф, что крутость анимации определяет скилл разраба. Но нужно ли это юзеру?
63
Периодическая таблица систем дизайна

Тут один чел зашарил и сделал супер жесткую таблицу.

Собрал и классифицировал принципы, которые часто встречаются в разных областях. Здесь не набор конкретных решений, а абстрактные принципы.

Напомню, что для систем дизайна — принципы важнее шаблонов.

Принципы разделены на группы:

🔘Structure — как разбивать систему на модули, управлять зависимостями и расширениями.

🔘Efficiency — как делать меньше работы, избегать излишних затрат

И другие.

А в каждом принципе уже снабжен символом, целью и примером.

Топ контент
Please open Telegram to view this post
VIEW IN TELEGRAM
1521
Лучшие материалы для подготовки к System Design Interview

Собесы систем дизайна — очень сложны. Их не только сложно проходить, а еще сложнее проводить.

Если попадется неопытный интервьюер, он может оценить "по-своему" твое решение. Например, поставить важность анимаций выше отказоустойчивости. Но ты можешь аргументировать свое мнение. Ведь аргументация — здесь важнее всего.

Решил собрать самый популярный контент. Некоторый вы уже видели в канале. Какой-то попадался в ютубе. Другой дают даже компании перед собесом. Это все открыто и там правда есть чему поучиться.

💎 A Simple Framework For Mobile System Design Interviews (iOS & Android) Наверное, самый популярный репо. Изучить его рекомендуют рекрутеры рф бигтехов перед собесом и даже разрабы из гугла в нашем чате. А я даже делал свой форк и обновил некоторую инфу для iOS разрабов (скоро сделаю обновление)

💎 System Design Interview For Mobile Engineers. Полезная обзорная статья основ что и для чего ожидается от мобильного разраба

💎 Список публичных мок-собесов. А еще можете найти мой публичный собес 😉

💎 Канал про архитектуры и систем дизайн. Очень много разного контента, в котором есть полезное для всех.

Это лишь капля в море. Книги мы будем разбирать отдельно.

А получить доступ к закрытой базе и мок-собесам по систем дизайну можно 💰 тут или ⭐️ тут
Please open Telegram to view this post
VIEW IN TELEGRAM
8
This media is not supported in your browser
VIEW IN TELEGRAM
Ушел со спотика из-за того что это контора поменяла политику подписок. Сижу на Apple Music

Ну и слушайте, этот стеклянный Боттом бар прям пушка

Пример когда анимации и правда решают и не мешают. Вопрос конечно не начнет ли раздражать через время
16
Созвон комьюнити в 18.10 в 10 по мск

Очередной созвон где мы голосом обсудим самые острые и важные темы.

🟣Почему это важнейший навык в эпоху ИИ?
🟣Самые сложные задачи
🟣АРХИТЕКТУРЫ vs MOBILE SYSTEM DESIGN
🟣Всё про собесы
🟣Гайды и роадмапы
🟣И многое другое

🧬Попасть можно 💰тут или ⭐️ тут
Please open Telegram to view this post
VIEW IN TELEGRAM
9
Пагинация: от идеи до реализации

Очень частая задача в систем дизайне — это пагинация.

Особенно важно это в больших объемах инфы: бесконечных лентах, чатах, мессенджерах.

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

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

Реализаций этой идеи есть разные.

В этом докладе автор расскажет:
- почему стандартная пагинация через offset/limit - неоптимальный выбор
- чем пагинация через курсор поможет вам
- что такое вообще пагинация и какая у этой идеи история
15
Там телега выкатила обновления с жидким стеклом. Примечательно что и для старых версий.

Позже разберем исходники
1151
Please open Telegram to view this post
VIEW IN TELEGRAM
💎 Mobile System Design: Почему это важно в эпоху ИИ?

Открываю цикл статей вводной.

Бизнесу не нужны чистая архитектура и идеальный код — ему нужны сроки и деньги. А технический долг — это уже наша боль, инженеров.

Нам говорят: "сначала MVP, потом рефакторинг". Но потом почти никогда не наступает. Так и рождаются системы, где уровень хаоса высок, а понимание причин — низкое.

Вот почему ценится глубина — не просто знание SDK или фреймворков, а умение залезть внутрь системы, понять её устройство и связи.

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

Как сохранять ясность в растущей энтропии? Как проектировать простое, и четко доносить идеи до команды? Как не свистеть кукухой?

Написал первую статью-исследование, которое открывает цикл статей Modern Mobile System Design:
🟣Почему это ключевой навык в эпоху ИИ
🟣На основе опросов и статей собрал информацию какие программисты будут востребованы
🟣Какие ключевые навыки нужно качать
🟣Кто такие Context инженеры, Контекстное мышление, Архитекторы AI-агентов

🧬Получить доступ к циклу статей можно 💰тут или ⭐️ тут
Please open Telegram to view this post
VIEW IN TELEGRAM
6
This media is not supported in your browser
VIEW IN TELEGRAM
Можно ли отказаться от Xcode?

Есть два мифа:
1. Настоящий иосер пишет только в Xcode
2. Нельзя запускать симулятор нигде кроме Xcode

Сейчас, в эпоху нейронок, многие почти не пользуются Xcode'ом или другими привычными IDE. На их место встал Cursor/Windsurf, CLI, MCP, а для кого-то даже терминал.

Но еще до взрыва нейронок, уже пару лет есть ребята, кто спокойно пересел на VSCode и чувствуют себя отлично.

Например, SweetPad помогает забилдить апку в VSCode. Если вас уже задолбал Xcode и вы не хотите встречаться с его багами — отличная альтернатива.

Чем лучше VSCode?
- VS Code легче по ресурсам: запускается быстрее, меньше тормозов при простых задачах.
- Мульти-языковая среда: если ты пишешь не только на Swift (например, backend, скрипты, веб и т.д.), то VS Code удобно объединять все в одном инструменте.
- Ты можешь ставить только нужные плагины, конфигурировать, как тебе удобно. Легче устанавливать доп плагины
- debug view hierarchy можно заменить через Reveal. Говорят он работает лучше.

Конечно, есть и зависимости:
- Interface Builder — это если вы юзаете Preview или Storyboard'ы. Но я верстаю без этого.
- Для подписи и выкладки в стор все еще нужно скачивать Xcode. Тут, если покряхтеть, можно выгружать через какой-то сервис.

Кстати, у Apple даже есть официальная дока как настраивать Swift на VSCode
141