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

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

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
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
Вы переоцениваете UI-архитектуры: Почему архитектуры UI временные и не так важны, как кажется

Разрабатывая приложения многие разрабы начинают с выбора архитектур UI слоя. Это ошибка.

Иногда перечитываю не полностью книги, а отдельные главы. Решил перечитать главу "UI Principle 2: UI architectures come and go" книги "Mobile System Design". Мне очень нравятся мысли и подходы книги и некоторые из них лучше переваривать порциями.

Например, я разделяю мнения, что к UI нужно подходить в конце. Сначала нужно уделить времени другим вещам. Даже автор книги подшучивает что про UI начали говорить только в середине книги.

Автор говорит:
Обычно под словом “архитектура” в мобильной разработке имеют в виду UI-архитектуру, а не архитектуру бизнес-логики (например, API, календарь и т.д.). Но если правильно спроектировать фичу, эти вопросы становятся менее важными. Мы научимся разделять UI и бизнес-логику так, чтобы можно было менять архитектуру без боли.


1️⃣ Первый принцип книги говорит: Откладывай реализацию UI

2️⃣ Второй принцип говорит: UI-архитектуры приходят и уходят

На этом этапе ты можешь задуматься:
“Какую архитектуру выбрать?”

- UIKit или SwiftUI?
- XML или Jetpack Compose?
- MVVM, MVC, MVI, Redux, TCA или вообще что-то своё?

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

Главная суть: Архитектуры как способ договориться внутри команды. Нет критической разницы если одна команда использует в своем модуле MVP, а другая VIPER. Ведь по сути все это одно и то же.

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

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

Не нужно переживать, что выбрал "неправильную" архитектуру. Тренды постоянно меняются. Главное правило любой хорошей архитектуры — не усложнять и держать бизнес-логику вне UI.

Не стоит также переживать, что архитектура отличается по приложению и есть старые версии. Это нормально.

Это нормально, когда приложение состоит из разных архитектур, каждая из которых появилась в разное время. Но у них есть общее: Бизнес-логика меняется реже, чем UI.
11522
Forwarded from Apple Pro Daily News
🧭 В iOS и iPadOS 26 можно будет устанавливать все сайты как PWA

Теперь при добавлении иконки сайта из Safari на экран Домой можно выбрать функцию превращения любого веб-сайта в PWA-приложение вне зависимо от того, содержит ли он такой функционал или нет. Но также можно переключить на режим обычной иконки-ярлыка, открываемой в Safari.

При этом в отличие от macOS, ссылки в пределах установленного PWA не фиксируются. Это означает, что при нажатии на ссылку в электронном письме или сообщении – на macOS по умолчанию будет открыто установленное PWA, а на iOS – по умолчанию открывается всегда Safari.
Please open Telegram to view this post
VIEW IN TELEGRAM
13