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

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

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

Отвлечемся от SOLID к менее популярным, но иногда даже более важным принципам.

KISS (keep it simple, stupid)
Как-то в разговоре с коллегой он сказал, что я выдумал этот принцип. Ведь такое название и его расшифровку мог придумать только какой-то гопарь и ни один адекватный человек не будет воспринимать нэйминг всерьез.

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

По названию нетрудно понять, что он требует. У него много трактовок, но попробуем пройтись по основным:

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

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

🟢 lvl: jun
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍1
🎚 Антипаттерны в продуктовой разработке

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

Одна из турбулентностей для пришедших галлерных разработчиков в продуктовку — это простои. Я сам страдал после аутсорса. Человеку с ресурсным мышлением очень сложно работать в больших и крупных компаниях. Всегда будут большие процессы доставки нашего кода и придется развиваться в других плоскостях. Уметь коммуницировать, понимать процессы, менторить, вести задачи. Иными словами тут приходит уже не модный t—shaping.

Для тех, кто 8 часов привык не останавливаясь кодить — это очень больно. Но крупному бизнесу чаще нужно больше.

Какие же антипаттерны в продуктовой разработке?

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

🔴Нежелание понять пользователя очень похожая причина. Процессы нам мешают быть гибче, решить проблему здесь и сейчас. Но когда-нибудь через пол года решим проблему. Чаще для продуктовой разработки это смертельная ошибка

🔴Любой каприз — это недостаточная проработка задач для ценности юзера. Когда все хотелки сбрасываются в бэклог, то это не создает фокуса. Нельзя мыслить заказной разработкой, что любая хотелка за деньги бизнеса

🔴 Непринятие творческих подходов — это снова из заказной. Где эксперименты не приветствуются, ведь все завязано на сроках и контрактах. Здесь умирает способность к инновациям.

Это одни из многих антипаттернов. Еще добавлю, что сильно влияют финансовые модели команд внутри одной компании. И здесь важно уметь переключаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10💯3🔥1😁1
че думаете господа
Forwarded from Код Дурова
🍏 Ну вот и всё //

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

@d_code
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12😐2
🟡 UDF Архитектуры

Свою серьезную коммерческую карьеру я начал с веба и фреймворка React. От прошлого не отмоешься. Тогда, в 2016, был сайт "этажей" и мы юзали библиотеку FLUX, потом меня заставили переписывать на REDUX от того же автора. Так началась наша любовь не с первого взгляда. Сначала мы не понравились друг другу, а потом не можем забыть.

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

Придя в iOS в 2018 я так и не делал анализ существующих трендов. UDF много ругали за несовместимость с UIKit и не хотелось рисковать с экспериментами. Почему ругали? Я не тратил время на разбор. Пришлось сидеть с вашими вайперами, спорами про MVC. В следующих постах будем делать сравнения UDF архитектур и почему же флаксообразные архитектуры пришли с большим запозданием в мир иоса.

Поищем ответы на главные вопросы? Как далеко ушел от TCA? Почему в андроиде MVI популярнее, чем в яблоке? Зачем это все вообще нужно?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍1
Flux: границы использования

Friends don’t let friends pick a design pattern blindly. (с) Dan Abramov

Я не знаю родоначальник ли Flux UDF архитектур, но у многих она с ним ассоциируется.

Пусть в офицальной странице с докой висит рекомендация, что лучше юзать другие архитектуры (REDUX, MobX, etc), но я все же бегло пройдусь по основным концептам.
Рекомендую почитать статью Дэна Абрамова о безумстве людей. Многие могут оставить худшее, отбросив лучшее.

Для чего же полезен FLUX:

1️⃣ Приложение имеет высокую частоту изменения данных и нужно быстро все отрисовать на экране

2️⃣ Кэшированные данные могут измениться пока закэшированы.

3️⃣ Реляционные связи в моделях. Кнопки и счетчики имеют связь многие ко многие

4️⃣ Много переиспользуемых компонентов

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

Store — это единственное место во всем приложении, которое имеет право изменять данные. Он не имеет сеттеров и реагирует только на действия, инициированные компонентами.

- Либа для иосreactorkit
👍6
🗂 Подборка докладов с разными непопулярными мнениями про архитектуры.
Непопулярный не значит неправильный.

Давайте думать над архитектурами. Доклад старый, но не менее актуальный. В иос разрабов мало, многие не смотрят за границы платформы. Другие многие смотрят, но приносят свои пересказы. Помешательство на шаблонных и бездумных решениях — боль. Особенно болезнь прогрессирует в вакууме и изоляции. При проектировании надо думать, а множество антипаттернов у нас (тот же MVC), при правильном понимании и готовки не такой уж и антипаттерн.

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

VIPER – шаблон дизайна или архитектура? кому-то поломает представление о вайпере. Прикольный видос как его организация может полностью нарушать принципы чистой архитектуры
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
Как устроены архитектурные ревью в Skyscanner

У Подлодки есть замечательный выпуск с Филиппом Дельгядо про то, почему code review часто добавляет больше проблем, чем пользы, и про другие виды peer review, которыми его можно заменить. Если вы уже посмотрели выпуск или доклад Фила на ту же тему, и хотите узнать, а как оно работает на практике, то вот вам кейс от Skyscanner.

- Автор планируемого изменения готовит документ, в котором описывает решаемую проблему и детали своего решения.
- Этот пропозал читают и комментируют все связанные с изменением команды. Весь ревью организован асинхронно, встреча собирается только в том случае, если есть какие-то крупные вопросы и комментарии, которые автору удобнее разобрать голосом.
- Документ продолжает жить и дальше, постепенно превращаясь в документацию разработанного сервиса или принятого решения.
👍3🤔2
Включайте VPN. Крутой твиттер тред от девушки программистки. За год нарешала 400 задач. Да и между подходами литкода еще и на шесте крутиться науспела. Руки на стол.

Вкратце:
- Не решать ради подготовки к собесам
- Литкод научил не только алгоритмам
- На задачу уходило не больше 40 минут
🔥17👍1😐1
🍏 Сбор заявок для закрытой беты

В общем, желающих стало больше, чем ожидалось. Писать каждому в лс и ждать ответа будет долго и дорого. Поэтому вот форма

От вас нужно только:
1. email с привязанным к нему icloud
2. имя + фамилия
3. ник в телеграме для связи и уточнений

НЕ ПИШЕМ ЭТО В КОММЕНТАРИИ. СЮДА
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳12
iOS Makes Me Hate pinned «🍏 Сбор заявок для закрытой беты В общем, желающих стало больше, чем ожидалось. Писать каждому в лс и ждать ответа будет долго и дорого. Поэтому вот форма От вас нужно только: 1. email с привязанным к нему icloud 2. имя + фамилия 3. ник в телеграме для связи…»
This media is not supported in your browser
VIEW IN TELEGRAM
💎 Старт беты официально начат

Сорри, что так долго. Учился делать гифку в афтер эффекте.

Итак, голодные игры начались, епта. Всем отправившим инфу скоро придет на почту приглашение в тестфлайт. Скачайте его заранее.

В первой версии будет 2 функции:
- Тесты. Они будут на время и с испытанием
- Материалы. Там можно изучить разные статьи

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

Сразу заложим вектор чего ожидать и нет. Это приложение не будет иметь цель слепой зубрежки. Идея — выжить (и выжать) из мобильного устройства все возможности для комфортного и приятного обучения и тренировок. Возможно, и игру напишем в будущем со сценарием...

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

Заявки можно докидать сюда
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🐳1
This media is not supported in your browser
VIEW IN TELEGRAM
Ну а пока скину небольшое демо
🔥13❤‍🔥3
💸 Средняя зп иос-ника — 280к

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

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

https://getmatch.ru/salaries/ios
Please open Telegram to view this post
VIEW IN TELEGRAM
😢6🔥3🤔1
Добавил первых 25 человек в бету. Вам должен придти инвайт.

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

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

Активность в тестфлайт будет мониториться и в случае долгого простоя вас удалят из тестеров.