<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">ellibs</journal-id><journal-title-group><journal-title xml:lang="ru">Электронные библиотеки</journal-title><trans-title-group xml:lang="en"><trans-title>Russian Digital Libraries Journal</trans-title></trans-title-group></journal-title-group><issn pub-type="epub">1562-5419</issn><publisher><publisher-name>Казанский (Приволжский) федеральный университет</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.26907/1562-5419-2020-23-5-1058-1075</article-id><article-id custom-type="elpub" pub-id-type="custom">ellibs-248</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>Статьи</subject></subj-group></article-categories><title-group><article-title>Современный подход к реализации архитектурного паттерна в Android-приложениях</article-title><trans-title-group xml:lang="en"><trans-title>Modern Implementation of the Design Pattern in Android Applications</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Сарматин</surname><given-names>А. М.</given-names></name><name name-style="western" xml:lang="en"><surname>Sarmatin</surname><given-names>A. M.</given-names></name></name-alternatives><email xlink:type="simple">antonsarmatin@googlemail.com</email><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Высшая школа информационных технологий и интеллектуальных систем Казанского (Приволжского) федерального университета</institution></aff><aff xml:lang="en"><institution>Higher School of Information Technology and Intelligent Systems</institution></aff></aff-alternatives><pub-date pub-type="collection"><year>2020</year></pub-date><pub-date pub-type="epub"><day>28</day><month>10</month><year>2020</year></pub-date><volume>23</volume><issue>5</issue><fpage>1058</fpage><lpage>1075</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Сарматин А.М., 2020</copyright-statement><copyright-year>2020</copyright-year><copyright-holder xml:lang="ru">Сарматин А.М.</copyright-holder><copyright-holder xml:lang="en">Sarmatin A.M.</copyright-holder><license xml:lang="ru" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>Данная работа распространяется под лицензией Creative Commons Attribution 4.0.</license-p></license><license xml:lang="en" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://ellibs.elpub.ru/jour/article/view/248">https://ellibs.elpub.ru/jour/article/view/248</self-uri><abstract><p>Рассмотрены архитектурные паттерны, использующиеся в разработке Android-приложений, описаны их слабые и сильные стороны, особенности при использовании с Android-фреймворком. Предложен обновленный подход, который позволяет устранить недостатки существующих шаблонов. Сформулирована концепция архитектурного фреймворка для разработки Android-приложений, реализующего предложенный подход.</p></abstract><trans-abstract xml:lang="en"><p>Presentations patterns used in android application development are analyzed. Pros and cons of implementation of presentation patterns with android framework requirements are described. The idea of an architectural framework for android development is proposed.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>архитектура</kwd><kwd>мобильные приложения</kwd><kwd>фреймворк</kwd><kwd>библиотека</kwd><kwd>разработка</kwd></kwd-group><kwd-group xml:lang="en"><kwd>android</kwd><kwd>architecture</kwd><kwd>mvvm</kwd><kwd>mvp</kwd><kwd>mvi</kwd><kwd>mvc</kwd><kwd>presentation</kwd></kwd-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Marcin Moskala. MVC vs MVP vs MVVM vs MVI. URL: https://academy.realm.io/posts/mvc-vs-mvp-vs-mvvm-vs-mvi-mobilization-moskala/.</mixed-citation><mixed-citation xml:lang="en">Marcin Moskala. MVC vs MVP vs MVVM vs MVI. URL: https://academy.realm.io/posts/mvc-vs-mvp-vs-mvvm-vs-mvi-mobilization-moskala/.</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">MVC vs MVP vs MVVM. URL: https://habr.com/ru/post/215605/.</mixed-citation><mixed-citation xml:lang="en">MVC vs MVP vs MVVM. URL: https://habr.com/ru/post/215605/.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Guide to App Architecture. URL: https://developer.android.com/jetpack/ docs/guide.</mixed-citation><mixed-citation xml:lang="en">Guide to App Architecture. URL: https://developer.android.com/jetpack/ docs/guide.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Zsolt Kocsi. MVI beyond state reducers. URL: https://badootech.badoo.com/a-modern-kotlin-based-mvi-architecture-9924e08efab1</mixed-citation><mixed-citation xml:lang="en">Zsolt Kocsi. MVI beyond state reducers. URL: https://badootech.badoo.com/a-modern-kotlin-based-mvi-architecture-9924e08efab1</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Frederick P. Brooks, Jr. No Silver Bullet-Essence and Accident in Software Engineering. URL: http://worrydream.com/refs/Brooks-NoSilverBullet.pdf.</mixed-citation><mixed-citation xml:lang="en">Frederick P. Brooks, Jr. No Silver Bullet-Essence and Accident in Software Engineering. URL: http://worrydream.com/refs/Brooks-NoSilverBullet.pdf.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Moxy. URL: https://habr.com/ru/post/276189/.</mixed-citation><mixed-citation xml:lang="en">Moxy. URL: https://habr.com/ru/post/276189/.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Cicerone. URL: https://habr.com/ru/company/mobileup/blog/314838/.</mixed-citation><mixed-citation xml:lang="en">Cicerone. URL: https://habr.com/ru/company/mobileup/blog/314838/.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Android Architecture Components. URL: https://developer.android.com/ topic/libraries/architecture.</mixed-citation><mixed-citation xml:lang="en">Android Architecture Components. URL: https://developer.android.com/ topic/libraries/architecture.</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Android ViewModel Overview. URL: https://developer.android.com/topic/ libraries/architecture/viewmode.</mixed-citation><mixed-citation xml:lang="en">Android ViewModel Overview. URL: https://developer.android.com/topic/ libraries/architecture/viewmode.</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Android Navigation Component. URL: https://developer.android.com/ guide/navigation.</mixed-citation><mixed-citation xml:lang="en">Android Navigation Component. URL: https://developer.android.com/ guide/navigation.</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Robert C. Martin. The Clean Code Blog. URL: https://blog.cleancoder.com/ uncle-bob/2012/08/13/the-clean-architecture.html.</mixed-citation><mixed-citation xml:lang="en">Robert C. Martin. The Clean Code Blog. URL: https://blog.cleancoder.com/ uncle-bob/2012/08/13/the-clean-architecture.html.</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</label><citation-alternatives><mixed-citation xml:lang="ru">Handling Lifecycles with Lifecycle-Aware Components. URL: https://developer.android.com/topic/libraries/architecture/lifecycle.</mixed-citation><mixed-citation xml:lang="en">Handling Lifecycles with Lifecycle-Aware Components. URL: https://developer.android.com/topic/libraries/architecture/lifecycle.</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
