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

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

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
началось... вайб-кодинг заменяет привычную разработку
39
💬 Задачи Mobile System Design: Мессенджер

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

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

Чаты дают все: Т-Банк, Альфа, Авито, Яндекс — и не просто так. Даже мы обсуждали с тимлидом авито, что мессенджер это идеальная таска. Она простая на словах, но раскрывает весь уровень инженера.

Когда тебе говорят "сделай архитектуру", то никто не ожидает что ты будешь говорить про VIPER/TCA/MVVM.

Ожидаются ответы на вопросы:
🟣какие требования ты соберешь?
🟣будет ли оффлайн/онлайн режим
🟣нагрузка и пагинация?
🟣пуши и уведомления
🟣скорость работы, модуляризация и перфоманс
🟣Сокеты, rpc, REST
🟣базы данных SQLite, Realm, CoreData, PostgreSQL?

Эта задача не про два экрана. Здесь можно копнуть глубоко: от сетевых протоколов до архитектуры хранилища.
И по тому, как ты её решаешь, отлично видно — умеешь ли оценивать риски, сроки и приоритеты.

Сделал подборку самых интересных решений. А также мы уже делали систем дизайн с разрабом из VK мессенджера.

🧬 А еще больше мы будем изучать на наших тренировках всю следующую неделю 💰тут или ⭐️ тут
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
7
This media is not supported in your browser
VIEW IN TELEGRAM
Два месяца с whoop и выводы похожие:
- все имеет отложенный эффект. Ты знаешь, что если выпьешь больше чем нужно алкоголя, то следующие пару дней у тебя будет плохой режим
- у тебя есть долги: высыпание, чтение, спорт. От этого не убежишь и ударит с отложенным коллбэком
- сон важнее всего. Его стараюсь не откладывать
- стресс трекаешь постоянно. Он для тебя главный враг
9
Интересные мысли стали попадаться в линкедин, что потребность кроссплатформы у бизнеса падает. Особенно с приходом АИ

Я и по себе заметил, что с курсором или другими тулкитами стало проще разбираться в разы на проектах других платформ. Хочешь узнать как андроид или веб сделал фичу? Просто отдал аи-агенту + сам дописал

Ну или узнал бизнес логику фичи на бэке + сгенерировал тесты и моки.

Знаю даже уже qa некоторых компаний легко в любой платформе ищут баги. Ну что, ждем тех сингулярность?
135
🧍‍♀️ Самые полезные советы для работы с Proxyman

Одни из самых полезных инструментов для работы — это proxyman.

Раньше я сидел на Charles. НО НАСКОЛЬКО ЖЕ ПОНЯТНЫЙ, УДОБНЫЙ И БЫСТРЫЙ визуал проксимена очаровывает!

Проксимен спасение:
- когда нужно поменять множество данных с бэка
- легко тестировать скорость интернета
- ошибки и статусы ответа

Короче моя бы разработка сильно замедлилась без хороших сниферов.

В этой подборке советов решил собрать самые полезные статьи:

🔘Using Proxyman to Inspect Network Traffic. Углублённая статья-туториал: как смотреть трафик, фильтры, Map Local и др

🔘How to easily inspect and modify network traffic. Автор статей часто дает лайтовые гайды. Можно скидывать как инструкцию новичкам.

🔘How we use Proxyman. Опыт реальной команды. Кейсы, советы, как и зачем они используют Proxyman ежедневно
Please open Telegram to view this post
VIEW IN TELEGRAM
22
Как AI меняет экономику мобильных приложений

Увидел еще одну статью у моих коллег про закат кроссплатформы.

Вкратце о чем статья:
- кроссплатформа теряет преимущества. Теперь АИ тулкиты нивелирует ее сильные стороны.
- кроссплатформа может быть не нужна,
если AI уже делает разработку быстрее и дешевле даже в нативных

Как думаете, останутся ли отдельные роли или с приходом им мы станем универсалами?
10
Зачем нужен BDUI?

Дисклеймер. Стилистически не люблю BDUI за его dev exp, но вкратце обсудим его корни в посте.

Вижу многие заблуждения среди разрабов, блогеров и тп. К счастью или к сожалению, это текущая наша реальность. Никто на прямые вопросы "Как развиваться мобильщику не смотря на текущие тренды с BDUI и АИ?" кроме критики ничего не дают.

Давайте посмотрим как пришел BDUI на рынок и почему такая истерия:
1) Эту тему поднимали еще лет 10 назад, тогда были доклады и всякие статьи как люди пишут свой генератор экранчиков. Тогда такое использовали только в некоторых экранах.
2) год 2022. Те самые события. Удаления из сторов апок многих бигтехов. Как придумать план антикризиса? Вот он и был придуман. Который помогает обходить обновления экранов с бэкенда.
3) Просто поставьте себя на место манагера. Раскатка и обновления нативного кода до пользователя может доходить вместе 2 МЕСЯЦА. Когда же с BDUI — секунды, поменяв конфиг на бэке.

Еще раз. Запуск нативной фичи до юзера — 2 месяца. С BDUI — сегодня.

4) С разработанной инфрой один разраб может закатывать фичи сразу на 3-4 платформы. Я так делал и запускал соло фичи.

Минусы BDUI:
- очень дорого.
- не сделаешь сложные приложения с видео и частыми обновлениями экрана
- сложный порог входа. много незадокументированно. Не описано.
- часто много багов.

Но для манагеров это все чаще ок.

Какие приложения юзают BDUI:
- Авито. Когда я там был нативного кода я писал дай бог 5-10 реквестов в год. В 90% задачах это были огромные конфиги JSON'а
- ОЗОН. Слышал на их конфе, что у них сейчас только BDUI разрабы
- Яндекс Маркет. Там 100% инженеров пишут свой код только на BDUI
- X5. Пока инфы мало, говорят активно пилят свой фреймворк

Лично я ругаю многие BDUI технологии не потому, что мне удобен натив (iOS я правда всем сердцем люблю). А потому, что сам BDUI плохо готовят и мало кто из авторов и разрабов платформы задумывается о тех, кто юзает их технологию. Чаще это promotion driven development, где разрабы думают только о своих целях и метриках, но никто об удобстве. Но я рационально понимаю почему бизнес это хочет. И почему это надо.

Сейчас у нас тренировки по систем дизайну и мы как раз решили познакомиться ближе с этим монстром. Настолько, что сами его запроектируем и изучим изнутри.
83
Как устроена Мобильная разработка сегодня?

Посмотрел нашумевший ролик от Лехи Гладкова и не понял хейта. Да, многое звучит неприятно и местами грубо, но в этом есть правда.

Я сам начинал с кроссплатформы перед нативом. А до этого писал на php, js, go, react native. Где iOS стала моей пятой или шестой платформой. Натив в моем Тюмени был очень дорогой историей, которую еще в 2018 мало кто мог себе позволить. Более того, были директора кто ненавидел американский айфон всей душой и считал их любителей — позерами.

Может быть, именно это сопротивление в начале пути заставляет держать фокус в канале на нативе. От Hate до Love — one step.

Потому что бизнесу всегда это было интересно. Бизнес не ищет "самый правильный" путь — он ищет самый выгодный.

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

У кроссплатформы есть серьезные минусы из-за которых многие компании свернули отделы:
- сложность поиска сцепов. В нативе чаще проще найти чела, кто гораздо лучше проходит стандартные собесы и не требует миллиарды.
- нет компромиссов и много костылей
- BDUI с нативными компонентами — самый дешевый и лучший аналог любой кроссплатформы

Когда же нужен натив? В красивых апках, со сложной анимацией, большим кол-вом триггеров из сети. Тот же телеграм или чат не сделаешь нормально на кроссплатформе со стабильными 60 фпс.

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

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

Натив — это круто и здорово, но тут нужно убрать фанатизм, чтобы не было больно.

Нужно много раз задуматься чтобы идти вкатываться в иос разработку, где уже целый год вакансий не стало х2. Уже не станешь только разрабом одной платформы. Это лакшери история, которую нужно ценить и развивать.
9
Яндекс меняет процесс найма

В авито я был в инициативной группе тех, кто помогал улучшить собесы. Лично я старался обновить и дополнить алгоритмическую секцию и платформенную iOS. Да и в целом активно собесил и в общем провел около 100 секций. Может быть кто-то даже попал на мои собесы.

Здесь есть много вопросов, которые нужно держать в голове: метрики time-to-hire и time-to-offer, чтобы сложные собесы не затянулись на месяцы. Ротацию задач. Их адекватность и реальную пользу. Мы проводили опросы среди других интервьюеров, ходили к нанимающим менеджерам, меняли задачи, улучшали процесс. Старались чтобы каждый был справедливо оценен нами и нанимающими манагерами.

В крупных компаниях, где в день по 100 собесов, это очень важно. Из 100 человек доходит до финала обычно только 20. А доходят они бывает только спустя 30-40 дней с момента контакта с hr. Вот и яндекс решил актуализировать свой процесс

Нет, алгосекции не убрали. Но добавили новый этап — оценка опыта

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


Подробнее о ней писал CTO Лавки

Тип секций Bar raising помогает повысить объективность оценивания и скомпенсировать неопытность некоторых интервьюверов. Где-то можно снизить вес очевидно случайно проваленной секции (дали слишком лютую задачку, или она просто не зашла, хотя по прочим секциям скилл виден), а где-то, наоборот, не допустить откровенно компромиссный найм (при наличии ред-флагов, которые бар-рейзер видит с высоты своего опыта, или если все секции пройдены прям "на тоненького").


UPD: для мобил нет блока с опытом
105
BDUI vs WebView

В комментах прошлого поста спросили: "Зачем нужен BDUI, если есть WebView?".

И это один из хороших вопросов.

Я встречал приложения, которые были написаны на WebView бэкендерами, а потом переписывались на натив. Основные причины:

1️⃣ Нативный опыт

WebView — это минибраузер со своим движком. Он обрезан и еще выглядит плохо. Можно конечно вложиться, чтобы UI выглядил достойно, но чаще это эквилибристика между скиллом и дизайном.

Но тот же скролл в WebView выглядит неестественно. А JS задержки создают доп проблемы. Импут лаг натива намного красивее.

На слабых устройствах перфоманс сложного лайаута WebView упадет на дно.

По сути BDUI это тот же браузер, но который управляет нативной версткой.

2️⃣ Безопасность.

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

А с нормальными логами можно попрощаться.

3️⃣ Глубокая интеграция с приложением

Прямой доступ ко всем функциям в BDUI (ведь это тот же натив).

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

И многое другое. Это основные причины, почему уже +- зрелое приложение уходит от WebView или PWA.

На скриншоте схема MVP BDUI, которую мы рисовали на тренировках по систем дизайну. Рисовал ее я. Меня внезапно собесили.
112
Forwarded from The Экономист
Российских студентов начали обучать программированию на кириллице. В Пензенском госуниверситете преподаватели адаптировали JavaScript, полностью переведя синтаксис и задания на русский язык. По словам разработчиков, проект призван уменьшить зависимость от англоязычных стандартов.

🤑 The Экономист
Please open Telegram to view this post
VIEW IN TELEGRAM
32
Mobile System Design

Сегодня у меня день рождения и мы набрали 100 лайков.

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

Искренность. Мне важна чистота и правдивость метрик для деббага.

Я начинал писать статьи на хабре и так все закрутилось, что вырос этот канал. Теперь стараюсь и читателей благодаратить контентом.

Написал статью про систем дизайн. Можете почитать на выходных.
13164