TGViewer
Java Developer Java Developer @java_developer · 6.35K subscribers
Post #511 3.6K
— как ты изучал андроид?
Когда я начал заниматься андроидом, у меня уже была база для понимания, что есть хороший код и хорошая архитектура, что – не очень. Помогли книги «Совершенный код» Макконелла и «Архитектура корпоративных программных приложений» Фаулера. А дальше – документация на developer.android.com как основной источник истины, статейки в интернете про отдельные тонкости и нюансы. Некоторые вещи было проще и интереснее изучать, глядя прямо в исходники.

И самое главное – практика. Например, узнав, что в андроиде образца 2015-2016 года для DI принято использовать Dagger, а в качестве архитектурного паттерна presentation layer’а – MVP, я сделал пару тестовых приложений, чтобы лучше разобраться, как правильно все это вместе готовить.

— с какими трудностями столкнулся, когда переходил на мобилку?
Хороший вопрос. Наверное, главная трудность – это Android SDK и его документация. В нем много нюансов (читай – «костылей»), которые постигаются только опытным путем. Первое время часто было так, что я делаю что-то по документации, а оно или совсем не работает, или работает не так. Потому что документация была печальная и на полноту претендовать не могла. Сейчас стало получше, но не идеально.

Ну и от фрагментации платформы никуда не денешься. Ужасно бесило тратить по 4-5 часов на баги, которые происходили только на конкретной модели телефона. Помню баг, что на одном самсунге цифра "7" отрисовывалась с противоестественным смещением по вертикали. В порядке бреда поменял файл шрифтов c otf на ttf. Всё починилось. Что? Как? Почему именно на этом телефоне? Ответа у меня до сих пор нет. Было трудно смириться с тем, что для Android это нормально 🙂

— это смешно. чем же мобайл круче бэка?
Несколькими аспектами.
Во-первых, результат труда среднестатистического мобильщика намного ближе к пользователю. Это та самая пресловутая история о том, что можно показать своей маме, что именно ты сделал в продукте. Несравнимо сложнее объяснить, что я написал сервисы бизнес-логики, а над ними сделал фасад, который вывел на контроллер API, откуда я отдаю клиентам json’ы.

Во-вторых, мобилка очень быстро развивается. В той же экосистеме java за последние пару лет поменялось меньше всего по сравнению с экосистемой android. Если хочется постоянно пробовать новые архитектурные паттерны, подходы и парадигмы – мобилка весьма подталкивает к этому.

В-третьих, мобилка сильно больше позволяет экспериментировать. Размер кодовой базы среднестатистического мобильного приложения не настолько огромен, чтобы не иметь возможности что-то радикально менять. Для многих приложений это нормальная часть жизненного цикла – раз в 2-3 года что-то кардинально переписывать или делать редизайн. Кто-то может себе позволить всё переписать с нуля, когда стало совсем сложно. Субъективно кажется, что в мобилках такое случается несколько чаще, чем в бэкенде.

Ну и наконец, и это сейчас 100% субъективный момент, мобильные коммьюнити в России сейчас одни из самых дружных и сплоченных.
More from @java_developer
  1. Apr 20, 2025Что посмотреть на выходных — 20 Наткнулся в Ютубе на классное шоу. Такой мини-формат Своей…
  2. Apr 6, 2025Впечатления от JPoint 2025 моего коллеги Впечатления позитивные: большинство докладов понр…
  3. Apr 5, 2025JPoint 2025 Вчера сходил на JPoint — Java-конференцию для опытных разработчиков. Билет мне…
  4. Feb 4, 2025video post
  5. Feb 4, 2025яндексоиды, без негатива )
  6. Dec 24, 2024Kafka Какие есть гарантии доставки сообщений Ответ: 1. At most once (не более одного раза)…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →