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

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

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

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

Сайт iosmakesmehate.tech
Download Telegram
Результаты опроса BDUI: Самая большая техническая боль BDUI у вас

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

На удивление ответов было очень много. Многие интересные.

Попросил нейронку сгруппировать их. Особенно улыбнули "Эмоциональные оценки" 🖤
161
Короче рофл

На андроид юзеров телеграм развернул дизайн в стиле liquid ass

Они создали ишью с требованием отменить эту тему

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

https://bugs.telegram.org/c/59054
8
iOS Makes Me Hate
Короче рофл На андроид юзеров телеграм развернул дизайн в стиле liquid ass Они создали ишью с требованием отменить эту тему А вы еще спрашиваете почему дизайн рисуется только для иос? https://bugs.telegram.org/c/59054
Вообще есть большой вопрос платформенной дискриминации. Большинство дизайн систем строятся по единой философии. И как делить юзеров когда на одной платформе у тебя красивое стекло, а на другой андроид?

Придумывать две разные дизайн системы? Или натянуть всех на одну?
32
This media is not supported in your browser
VIEW IN TELEGRAM
Лучший терминал для программиста

Если вы не знали, то в Яндексе написан свой Git.

Такое делают многие большие компании из MAANG. Вроде круто, но приходится юзать только терминал. Никаких любимых Fork, Github Desktop и тп.

Здесь на помощь приходит самый СТИЛЬНЫЙ И КРАСИВЫЙ ai терминал — Warp. Когда аи органично вписывается и улучшает работу.

Ну посмотрите какая красота.
1381
Подборки докладов от компаний про BDUI

Можно сказать, что BDUI становится все популярнее. Но уже понятно, что реализация и опыт у всех компаний разные.

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

Второе, у всех свои велосипеды. Одни просто перекладывают JSON'ы в монолите и теряют инженерную культуру. Вторые делают полноценые микросервисные архитектуры и свою среду разработки. Я даже встречал инженеров кто устал красить кнопки в iOS и искренне полюбил BDUI.

Не все так однозначно. Разрабатывать BDUI еще сложнее чем на нем писать.

💚Beduin v2: Backend-Driven UI
Честно говоря, мне как инженеру не нравилось писать на бедуине в авито. И до сих пор считаю что в яндексе я за год делал задачи интереснее, чем в авито за три.

И я согласен с комментаторами из авито, в одном из постов, что инженерная культура сильно снижается у такого подхода. Ты становишься экспертом местного велосипеда. Потребитель такой реализации BDUI скорее становится не мобильным разработчиком. А уже бэкендером или манагером. Плохо ли это? Ответа у меня пока нет.

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

📦 Сравниваем нативную разработку и BDUI | Рустам Кенджаев, Яндекс Маркет
Насколько я слышал, у маркета почти не осталось нативных разработчиков. Это мне говорил интервьюер на собесе. На мой вопрос "А зачем вы тогда спрашиваете платформу по iOS?" он дал справедливый ответ: "Если разработчик знает хорошо свою основную платформу, то также разберется и в другой".

Остальное можно оценить по докладу.

🥰 Дмитрий Жердев — BDUI – удовольствие или боль?

Доклад циана один из самых справедливых. Здесь не только поднимаются темы для адопшена фичи и поднятия метрик заинтересованной команды разработки, но и разбор минусов и плюсов. Мне кажется, один из самых честных докладов.
Please open Telegram to view this post
VIEW IN TELEGRAM
8
Я обещал вам быть корпорат герл.

Как же не начать рубрику со столовок Яндекса. Всего 600 рублей обед по бейджу
26216
😎 Ускорение приложения с помощью Size, Stride, Alignment в Swift

В нашем чате недавно был спор.

Мы разделились на два лагеря: один лагерь говорил что знания про Size, Stride, Alignment, Side Table — непрактические и в реальной жизни есть более важные знания и практики. Другие говорили, что с помощью таких знаний можно сильно забустить апку.

Я решил проверить и с помощью нейросети накидал пару примеров:
- Декодинг 10к товаров
- фильтрация в 500к элементах
- создание 200к событий аналитики

Результаты выглядят так:
1️⃣ JSON Декодинг (10K товаров).
Было 17.9 ms, 468 KB. Стало 15.8 ms, 312 KB
Ускорение: 1.1x
Экономия памяти: 156 KB

2️⃣ Фильтрация массива (500K товаров)
Было: 56.5 ms, 23437 KB
Стало: 44.1 ms, 15625 KB
Ускорение: 1.3x
Экономия памяти: 7812 KB

3️⃣ Запись аналитики (200K событий)
Было: 71.3 ms, 9375 KB
Стало: 70.5 ms, 7812 KB
Ускорение: 1.01x
Экономия памяти: 1563 KB

Сильно критичного буста я не вижу. А вы как считаете?

Ставь 🖤 если считаешь глубокие знания про память обязательными и 💀если это скорее приятное дополнение
Please open Telegram to view this post
VIEW IN TELEGRAM
3712
💎 Новый раздел "Perfomance"

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

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

Раздел будет обновляться.

🟣Доклады
🟣Статьи
🟣Реальные свои и чужие практики
🟣Чеклисты
🟣Методы дебага

Получить доступ можно 💰тут или ⭐️ тут
Please open Telegram to view this post
VIEW IN TELEGRAM
7
🗺 Как устроена разработка в Яндекс Картах feat iOS Makes Me Hate

Подгон вам на пятницу 13

Помните я проводил опрос в канале за лучшее приложение Яндекса? Тогда победили Яндекс.Карты.

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

Поговорили почти обо всем, о чем вы хотели спросить:
- Как iOS разрабы влюбились в Kotlin Multi Platform
- Самые сложные задачи в продукте
- Модуляризация и архитектура
- SUI vs UIKit
- Онбординг, культуру, фичи
- BDUI
- Offline

И много чего другого. Ставьте лайки и пишите комментарии.
Please open Telegram to view this post
VIEW IN TELEGRAM
42362
iOS Makes Me Hate
🗺 Как устроена разработка в Яндекс Картах feat iOS Makes Me Hate Подгон вам на пятницу 13 Помните я проводил опрос в канале за лучшее приложение Яндекса? Тогда победили Яндекс.Карты. Мы с ребятами решили, раз вам они интересны, то можем сделать большой…
Еще раз пингую послушать хотяб на х2 выпуск.

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

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

Возможно, именно принципы и процессы сохранения этой культуры помогли картам стать номер 1 в голосовании
21
Короче с праздником

Желаю больше любви. Ко всему со временем ее сложно сохранять.

В браке с ипотеками, кризисами, рождениями.

Также и на работе и профессии. Пусть будут искренние эмоции и счастье
2853
💎 Способы решения работы с большими данными: Проблема наивной предзагрузки

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

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

👎 Наинвая стратегия
Допустим, у вас есть плеер или любой другой тяжелый контент. Самое очевидное решение загружать текущий файл + всегда предзагружать N следующих. Звучит логично. Так делают многие.

Но в реальных условиях это приводит к проблемам:
🟣текущий поток начинает конкурировать с предзагрузкой
🟣буфер проседает
🟣сеть перегружается
🟣растет latency
🟣юзер получает фризы

В зрелых системах появляются Task Manager'ы. Они следят за подгрузкой текущего элемента и управляют приоритетом следующей задачи. Его задача следить за состоянием текущего буфера, мониторить сеть, динамически управлять приоритетами.

Простой пример: У вас есть видео размером 1000 MB.

Если буфер падает ниже критического уровня:
🔘текущий файл получает максимальный приоритет
🔘предзагрузка понижается или останавливается

Если буфер в норме:
🔘можно аккуратно подгружать следующий контент

🧍‍♀️ Тут важно запомнить: тем меньше нужно скачивать — тем быстрее задачи будут выполняться.

1/3
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1211
Рубрика корпорат герл

Когда приходишь в офис на масленицу ради апельсиновых и шоколадных блинов
23141