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

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK

лектор ВШЭ и тп

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

Сайт iosmakesmehate.tech
Download Telegram
What’s new in UIKit

Хаха, вот это кек. Пока одни устраивают ежегодные похороны UIKit, Apple решила сделать нормальный такой апдейт. Рано еще хоронить старичка.

Из интересных апдейтов:
- теперь UIKit поддерживает @Observable
- Добавлен новый метод для UIView и UIViewController updateProperties, который вызывается перед layoutSubviews()
- лайфцикл через UIScene теперь будет обязательный с iOS 26

UIKit Воскресе.
611
What’s new in SwiftUI

На текущем проекте у меня много зумерских технологий, поэтому мне больше интересен SwiftUI. Но об этом позже.

Сейчас же вкратце обсудим че там придумали разрабы:
- новые дизайн элементы (плюс боль в жопе дизайнерам и нам)
- куча улучшений перфоманса. Наконец-то. Но на практике посмотрим. Как раз хочу сделать сравнение работы сложного лайаута UIKit vs SwiftUI на примере чата.
- макро @Animatable для удобства анимаций
- Улучшение WebView для SwiftUI (смерть BDUI?)
- 3D charts

Кстати, блин, какие красивы разрабы работают в Apple. Наверное на входе там какой фейс-контроль 😂. ИТшка перестала быть только местом гиков, теперь мы — нормисы.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
16
Обновился на старом телефоне

Откатываюсь
2121
💎 Вопросы для изучения SwiftUI: Основы построения UI и приложения | Junior

Последние 2 недели я активно пишу на зумерских технологиях SwiftUI & Swift Concurrency. Благо проект с хорошей минимальной версией. Но я все равно прошел все стадии от отрицания до принятия.

Могу сказать, что теперь мне даже это все нравится. Читаю и изучаю много материала, поэтому готовлю всякие интересные контенты.

❤️ Мы на работе с командой делаем уникальный и крутой проект, которого не делал кажется никто. Пока я не могу рассказать о нем, но обязательно это сделаю при релизе. Вы сразу скажите, что мы с ним идеально сматчились.

Это не просто пара новых экранов, а новые разделы с разной связанной друг с другом логикой. Некоторые экраны мы решили делать на SwiftUI. Новым амбициям —новые технологии 😎 Здесь есть пространство попробовать многое.

Я никогда не писал на них до этого в продакшене крупных компаний. Максимум пару виджетов. А вот полноценные флоу и экраны, включая архитектуру почти на всех слоях - впервые.

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

Впервую очередь делал это для себя. Поэтому сорян если что-то будет может непонятно. Открыт к критике.

Получить доступ по скидкам 💰тут или ⭐️ тут
Please open Telegram to view this post
VIEW IN TELEGRAM
6
iOS мок-интервью

Ого, наконец на западе начали выпускать хорошие мок-интервью. С лайфкодингом и практикой. А не просто "топ вопросов", здесь прям часовые секции.

Еще интересны целые платформы для самообучения. Не просто курсы и подборки задач, а структурированные сборники практических задач а-ля литкод. Надо будет хорошо их поизучать и поделиться с вами контентом.
7
This media is not supported in your browser
VIEW IN TELEGRAM
P.S. только с опытом понял, что написание своих велосипедов чуть ли не главный драйвер развития инженеров в компании. Не рофл
172
Подборка воркшопов, интервью и мок-собесов

В
прошлом году мы начали серию видосов, где собирали экспертизу у лучших экспертов индустрии. У кого есть что сказать и чем поделиться. Так набралось > 10 выпусков.

Хочется увеличить качество и кол-во. Если у тебя есть крутые темы об управлении, карьере, техничке, то пиши. Лучшие из них мы стараемся делать публичными (при твоем согласии).

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

Если у тебя есть что сказать и в целом ты хочешь качать свое ВИЗИБИЛИТИ пиши @lvbond
8
Блин забавно как в сети сейчас идет радость «ого в Xcode есть чатгпт и он автоматом генерирует доку, тесты и код». Как-то наивно радуются возможностям того, что было в курсоре пару лет назад. Эйфория чуть запоздала.

Но при этом эти же авторы критиковали LLM и аи. Такое чувство, что критика была тупо потому, что этим не пользовались или не понимали. А сейчас появился повод и стена скепсиса чуть обвалилась.
15
Docker от Apple

Вот уж точно то, о чем надо было писать громче всего. Ни о стекле, ни о чатгпт плагине к Xcode. А о своем докере от Эпл.

Давайте вспомним что это такое:
Контейнеризация — это метод изоляции приложений на одном сервере, который позволяет запускать их в отдельной «упаковке» вместе со всем необходимым — кодом, библиотеками и настройками. Эта упаковка называется контейнером.


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

Что это значит?
- Фреймворк создаёт отдельную лёгковесную виртуалку для каждого контейнера, обеспечивая высокий уровень изоляции, минимизируя attack surface и обещая время запуска "менее секунды"
- CLI-инструмент Container, написанный на Swift и с открытым исходным кодом, позволяет создавать образы из Dockerfile, запускать контейнеры с настройкой памяти, CPU, сетевых папок и поддержкой arm64 и amd64

Почему всё это важно?
- Например раньше мы могли запускать приложение в симуляторах. А теперь можно делать как это делают разрабы из ФААНГОВ. Собирать апку, ресурсы или модули на удаленном сервере и тянуть АПК в симулятор или в мак.
- Окружение будет стабильным на всех платформах
- В теории должно быть легче поддерживать CI/CD. Экономя сотни часов разработки

Посмотрим как это будет на практике, но выглядит многообещающе
344
iOS Makes Me Hate
Docker от Apple Вот уж точно то, о чем надо было писать громче всего. Ни о стекле, ни о чатгпт плагине к Xcode. А о своем докере от Эпл. Давайте вспомним что это такое: Контейнеризация — это метод изоляции приложений на одном сервере, который позволяет…
Забавно, как некоторые авторы пишут что это не полезно iOS разрабам. По таким постам сразу виден реальный опыт и масштаб выполненных задач

Когда это вам полезно:
- поднимать мок-серверы для тестов, ресурсов
- тестировать сложные флоу с авторизацией, подписками, оплатой и безопасностью приложения
- вы занимаетесь utility модулями почти без ui
- у вас есть модули со сложными расчетами или проверками на сервере
- тестирование апи и контрактов
- можно запускать тесты и легко делать фейковые данные
- легко переключаешь между dev/test окружением
- меньше флаки тестов (очень много жрет на этом время)
- быстрее и удобнее запуск раннеров для проверок линтеров и тп
- ускоряется и упрощается кодогенерация
- у вас много зависимостей от чужих сервисов и вам это как-то нужно проксировать
- напишет мок-сервера (да да, таким занимаются сами иос инженеры)
- запуск статических анализаторов кода
- запуск кроссплатформенных модулей
- у вас есть всякие метрики качества кода выполняемые на сервере
- список обновляется

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

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

Software engineer это не тот, кто красиво сверстает кнопку и добавит стеклянную анимацию, а тот кто самостоятельно и без поддержки сделает любую задачу.
17
Немного про виртуалки macOS и CI/CD

Еще одно заблуждение, которое обитает вокруг темы с виртуализацией. Это то, macOS НЕЛЬЗЯ накатать виртуально. Только реальный мак-мини или Claude.

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

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

Знаю немало разрабов кто сидит на хакинтоше и почти не страдает.

2. Образы для докера.

Образ №2

Так если все таки это можно, пусть и с условностями, так почему же об этом мало пишут?

Ну во-первых писать от имени компании как заменили на пиратские версии не очень хорошо.

Во-вторых компаниям проще все же купить миник за пол оклада одного разраба и не терять в перфомансе. (При наличии нужного объема поставок)

Нет официальных поддержек. Но это не так страшно в снг мире, где мягко скажем не до официальных поддержек.

Я НЕ РЕКОМЕНДУЮ УСТАНАВЛИВАТЬ ПИРАТСКИЕ ВЕРСИИ И НЕ ПРОПАГАНДИРУЮ ЭТО…

Но можно ли накатить макос на виртуалку и сократить кучу бабок на покупке реальных устройств в условиях дефицита бюджета и поставок с наценками? Официально нет. Но неофициально да….

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

UPD: кстати нашел форум на редитте и в 2025 году хакинтошом стало пользоваться еще проще
7
Tart + macOS VM

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

Уже есть легальные (?) инструменты по запуску macOS на виртуалках без потери перфоманса. В комментах поста уже написали, что используют Tart.

Он построен на официальной технологии от Apple — Virtualization.Framework. Это значит:
- Он не “хакает” систему, а использует легальный и стабильный способ виртуализации, как VirtualBox или Parallels.
- Работает только на macOS с чипами Apple Silicon.

Короче, ты запускаешь macOS внутри macOS. Пример: у тебя есть MacBook с macOS Sonoma, и ты запускаешь в нём виртуалку с macOS Ventura — как будто второй Mac внутри твоего первого. Какие метрики это поможет улучшить и создаст бизнес импакт — ограничивает только ваша фантазия.

Топ? Топ

Теперь можно оценить всю мощь новости со своим докером от Apple.
9