Сегодня я расскажу как перестать обсуждать iOS архитектуру.

#день5из7
iOS Архитектура — это религия для разработчиков.

#день5из7
Религия — это миф о том как устроен мир

iOS Архитектура — это миф о том как должно быть устроено приложение

#день5из7
Какая религия "правильная"? Буддизм? MVP? Ислам? MVVM? Христианство? MVC?

Я считаю все религии полезны. Каждая учит как сделать мир (приложение) лучше.

#день5из7
Стоит ли изучать и практиковать разные архитектуры? Безусловно, это единственный способ достичь просветления в теме проектирования приложений.

#день5из7
Религия — это хорошее начало развития морального компаса

iOS Архитектура — это хорошее начало развития навыка проектирования приложения

#день5из7
Сила религии изменять мир вокруг зависит от количества последователей, если вашей архитектуре никто не следует, какая разница что вы считаете ее лучшей?

#день5из7
Не всем разработчика приходиться выбирать архитектуру, часто в команде уже есть критическая масса последователей. Возможность улучшать/менять архитектуру зависит исключительно от их толерантности к новым идеям.

#день5из7
Также под которую мы пишем платформа уже следует какой-то архитектуре "из коробки". С этой архитектурой идеей часто очень сложно бороться, и не всегда имеет смысл.

#день5из7
Вариант MVC от Apple это каменная табличка с 10 заповедями, которым нужно следовать, только их забыли написать, поэтому просто табличка.

#день5из7
В итоге iOS разработчики, предоставлены сами себе, начали смотреть по сторонам и перетягивать другие архитектуры из 3 букв из соседних цехов.

#день5из7
Добавляя новые буквы (и наделяя их сакральным смыслом) началась гонка вооружения MVP/MVVM/VIPER/SILVER/DISCOVER/PIDOR.

#день5из7
Где началось наше занимательное архитектурное путешествие?

На Apple's MVC.

А почему мы не говорим о том что было до этого? Разве раньше не было архитектурных проблем?

#день5из7
Откладываем архитектурные заметки с Medium в сторону и погружаемся в историю.

1979, Trygve Reenskaug опубликовал оригинальный доклад об MVC.

Если хотите понять где Apple сделала шаг не туда, читайте оригинал и делайте выводы сами. folk.uio.no/trygver/2007/M…

#день5из7
Очень сильная заметка-разбор оригинального MVC (не пропустите ссылку на вторую часть в конце текста)

habr.com/ru/post/321050…

#день5из7
Моя заметка показывающая как всякие ВИПЕРы не далеко-то убежали от MVC

badootech.badoo.com/do-mvc-like-it…

#день5из7
12 Мая 1979, день рождения MVC

#ios #holiday
Но если бы Trygve не переименовал THING-MODEL-VIEW-EDITOR в MODEL-VIEW-CONTROLLER у нас бы сейчас был TMVE

#день5из7
Еще накину на Clean Swift Architecture(VIP)

Сверху Clean Architecture
Снизу Clean Swift Architecture

Не говоря уже о "Worker"

#день5из7
Оригинальный МVC подразумевал что Модель и Вид живут отдельно и их можно легко подменять. Но мало кто пишет UI независимый от Модели/Домена.

Если положить UI в отдельный фреймворк который не импортирует Модель/Домен. То его можно строить и тестировать отдельно. #день5из7

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Мобильный разработчик

Мобильный разработчик Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @mobileunderhood

Feb 11, 2022
Сегодня будет про тулинг:
- Первое что ставлю на свежий ноут
- Консольное
- IDE
- Проект
Пишу этот тред уже второй раз, потому что твиттер решил, что нужно меня разлогинить посередине процесса. Попробую чаще "сохраняться" Image
На macOS я перелез потому что на работе выдали ноут с ней. До этого сидел на ArchLinux с тайлингом (i3wm, а после SwayWM).
Поэтому пытался приблизить интерфейс к привычному.
Read 51 tweets
Jan 28, 2022
Пятница! Сегодня пробежимся по основам цветовой палитры Material Design. Image
Перед тем, как прыгать сразу в детали, подумаем: зачем нам нужно знать эту палитру? Image
Во-первых, понимание цветовой палитры Material очень упрощает жизнь в некоторых случаях. Откуда взялся этот цвет? Откуда берутся цвета у вьюхи без явно указанных стилей? Это всё из палитры вытекает
Read 30 tweets
Nov 6, 2021
Первое впечатление от Германии - тут всё законно, официально, по контрактам, дорого, долго, качественно
Второе впечатление - как же все долго и сложно
Запись к врачу только через 2-3 месяца. Платная медицина слишком дорогая для обычного разработчика
Read 29 tweets
Nov 4, 2021
Итак, начинаем тред под кодовым названием "Как переехать в Европу и не порвать ж"
С 18 лет, после того как съездила к сестре погостить в Нью-Йорк на лето, я мечтала переехать "за границу"
Люди, которые находят работу за границей, это гении, а кто я такая? Я обычная, мой потолок - галера в провинциальном городке
Read 28 tweets
Nov 4, 2021
С добрым утром! Сегодня Аня-старший-разработчик в отпуске, в эфире Аня-авантюрный-путешественник 🚲
Набрала с собой фототехники, как будто еду не в Никола-Ленивца, а в горы Дагестана
За жизнь в Германии Европа так приелась, что хочется диких джунглей, заброшенных городов древних цивилизаций, острого карри с рук индуса
Read 10 tweets
Oct 17, 2021
Так в чём, собственно, разница между программистом, разработчиком и инженером?
Если коротко, то программист пишет код. Ему дают чёткие задачи и он их выполняет.

Разработчик разрабатывает продукт. Он участвует в разработке спецификаций, дизайнов и прочего. И кодит

Инженер делает сложные штуки, копается в самой сути и использует свои знания на полную.
Смотреть на эту градацию можно по-разному.

С одной стороны можно смотреть на неё, как на карьерный рост. Сначала тебе говорят, что делать, потом ты участвуешь в том, чтоб говорить себе, что делать, а потом ты уже настолько умный и опытный, что можешь делать супер сложные штуки
Read 33 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(