|
| 1 | +Всем привет! <br> |
| 2 | + |
| 3 | +В Андроид-мире архитектурой в общем и Чистой архитектурой в частности уже никого не удивишь. На практически любой конференции/митапе всегда будет доклад-другой об этом. И на самом деле это очень здорово, что разработчики все больше внимания уделяют данному вопросу. Ведь в итоге мы получаем работоспособное, стабильное и простое в сопровождении приложение. Я не беру в расчет героев-одиночек, которые пилят крутые приложения без каких-либо архитектур, и живут прекрасно. Дай Бог здоровья этим людям, ведь без них я даже не представляю, что будет с приложением потом.<br> |
| 4 | + |
| 5 | +Андроид-разработчикам больше приживается подход под названием "Clean Architecture". На самом деле, подход изначально презентовался Бобом Мартином, и на хабре можно найти несколько статей о том, как её видят разработчики Go и разработчики Python, например.<br> |
| 6 | +Основная идея подхода состоит в том, чтобы сделать приложение, которое:<br> |
| 7 | +1. Не зависит от UI<br> |
| 8 | +2. Не зависит от БД<br> |
| 9 | +3. Не зависит от внешних фреймворков<br> |
| 10 | +4. Является тестируемым<br> |
| 11 | + |
| 12 | +Таким образом, в хорошо спроектированном приложении можно "откладывать" решения до того момента, когда они действительно необходимы. Если разработка затянется, и вместо одной технологии хранения появится другая, или если ваше приложение друг станет хайповым, и хранилище "на файликах" перестанет справляться с нагрузкой - возможность лёгкой смены решения сыграет вам на руку. В итоге вы получаете слоистую и гибкую архитектуру. Вы получаете единый подход в осмыслении вашего приложения.<br> |
| 13 | + |
| 14 | +На текущий момент в интернете можно найти большое количество информации по этой теме. Как это часто бывает, местами она противоречит друг другу, местами она просто раскидана на множество частей. Но самое грустное заключается в том, что когда разработчик начинает использовать данный подход, он зачастую не знает с чего начать, и он спотыкается о множество деталей и нюансов.<br> |
| 15 | +В январе 2017 года был создан [архитектурный чатик](https://t.me/Android_Architecture), призванный как раз помогать и приходить к чему-то единому в архитектуре. И в этом чатике мы в очередной раз убедились, что очень часто задаются одни и те же вопросы, и люди проходят по одним и тем же граблям. Не хватает просто хорошего практического рассмотрения определенных нюансов и примеров решения конкретных кейсов.<br> |
| 16 | +Именно поэтому мы решили попробовать создать некий "Clean Architecture CookBook" - ресурс, на котором можно будет посмотреть все элементы подхода "от А до Я", с теоретическим обоснованием и, что немаловажно, практическими примерами.<br> |
| 17 | +У нас за плечами большой опыт написания самых различных приложений с Чистой архитектурой, и мы уверенно можем сказать, что данный подход работает и делает нашу жизнь намного проще.<br> |
| 18 | + |
| 19 | +Итак, перед вами **версия 0.1**. Первый набросок, который состоит их трех частей:<br> |
| 20 | +1. [Теория](https://github.com/AndroidArchitecture/AndroidArchitectureBook/blob/master/theory/Theory_article.md). В этом разделе представлено краткое теоретическое введение в тему Чистой архитектуры. <br> |
| 21 | +2. [Практиктические вопросы](https://github.com/AndroidArchitecture/AndroidArchitectureBook/blob/master/practice/Practice_article.md). Обзор наиболее задаваемых вопросов в виде "Проблема - Решение".<br> |
| 22 | +3. [Практические кейсы](https://github.com/AndroidArchitecture/AndroidArchitectureBook/blob/master/cases/Cases_article.md). Самая сладкая часть. Реальные жизненные и нетривиальные кейсы, реализованные в парадигме Чистой архитектуры. <br> |
| 23 | +Уже подробно рассмотрены [Аутенфикация](https://github.com/AndroidArchitecture/AndroidArchitectureBook/blob/master/cases/auth/Auth_article.md) и [Визарды](https://github.com/AndroidArchitecture/AndroidArchitectureBook/blob/master/cases/wizards/Wizards_article.md) в Чистой архитектуре.<br> |
| 24 | + |
| 25 | +Сразу оговорюсь, представленное в CookBook мнение не является абсолютной истиной. Абсолютная истина не достижима, тем более в архитектуре. Но мы сделали попытку, и будем безмерно рады, если вы оставите свою обратную связь в виде звездочек и предложений/замечаний в виде issues и pull requests, которые можно обсудить либо в задачах, либо в чате.<br> |
| 26 | +Присоединяйтесь к проекту! Сделаем нашу программистскую жизнь проще и лучше! За Чистую архитектуру!<br> |
| 27 | + |
| 28 | +**Авторы**:<br> |
| 29 | +Евгений Мацюк(@eugene_matsyuk)<br> |
| 30 | +Артур Бадретдинов(@gaketo)<br> |
| 31 | +Александр Блинов(@xanderblinov)<br> |
| 32 | +Александр Жеребцов(@mansonheart)<br> |
| 33 | +и все-все-все в [архитектурном чатике](https://t.me/Android_Architecture)<br> |
0 commit comments