Комментарии 8
На Android хоть нету большого количества запросов, но какой-нибудь ui тоже может заставить поломать голову - всякие рисовалки, до rv свои варианты кто-то пилил, drawable всякие по типу gif из glide, shimmer, progress view. Да и некоторые свои loader пишут (не все ktor/retrofit используют), а на сервере вроде это всегда часть фреймворка. В общем и логики хватает - кеширование всякое, некоторые автономные приложения до сих пор пилят.
off Посмотрев назад на все годы что являл на свет Андроид, создается впечатление сырого продукта, но который устроил и покупателей и производителей железа. Возможно в этом причина короткого срока поддержки железа - новая версия Андроида требует трудоемких вложений в поддержку старых моделей.
А можно подробней про бизнес логику в мобилке? Мне как бэкендеру старой закалки - все эти андроиды, айосы, браузеры - это условные 25-33% всего продукта. Потому что это по сути только слой презентации. И никакой бизнес логики там быть не должно.
Кэш - да, логика отрисовки полей и кнопок например с учетом прав доступа - да. Но сам скоуп прав должен прийти уже подготовленным с сервера + сервер на каждом обратном запросе должен проверять права сам еще раз и не доверять. Иначе это дыра в безопасности.
То есть фраза "бизнес-логика на клиенте" для меня звучит как "сервер - это прокси к базе данных и все кишки наружу".
У нас например был оффлайн режим, где приложение работало без сервера до просрочки токена, а оно считало поездки и метрики по таблице с 40 тысячной математикой. Для Бека это не много, но для мобилки прилично
Хмм, уже лет 5-10 как бизнес логика есть во всех современных клиентах :)
Веб фронтенд тут не исключение.
Более того, сейчас может быть, что собственный бэкенд это только тонкая прослойка или его вообще нет.
В мобилках под бизнес-логикой понимают немного другое
Помимо бэкенда есть ещё источники данных (дата-слой): кэши и базы данных. Что-то хранится внутри приложения, чтоб облегчить нагрузку на бэк, что-то просто существует для конкретного устройства и нигде больше.
Слой отображения: это отображение пользователю и первичная обработка нажатий, иногда базовая валидация данных (те случаи, когда пользователь сразу должен увидеть, что ввел что-то неправильно)
А вот бизнес-слой существует не в каждом приложении и нередко опционален. В нем различные объединения нескольких запросов их разных сервисов и методов, в нем проверки сложнее "ваш пароль должен содержать...", различные расчеты, если это какие-то агрегаторы.
Мой лучший пример - ипотечный калькулятор в банке: отправлять запрос на каждых чих пользователя - большая нагрузка, поэтому мобилка дублирует у себя все логику расчетов, ставок и прочего, а от Бэка ждёт только список доступных программ для пользователя
P.s. есть ещё server-driven ui, в котором мобилка максимально тупая, но это отдельная история
В блокчейн приложениях обычно перекос по бизнеслогике именно в сторону фронтенда.
Первый раз в жизни я увидел фронт, который посылал запросы непосредственно в БД (блокчейн).
И да, для блокчейн приложений жить с "кишками наружу" - обычное дело.
Также имею опыт в :
Web (angular), android , бекенд (golang).
И задумываюсь о дальнейшем развитии карьеры - куда двигаться?!
Андройд жутко бесит тем, что там все меняется и ты просто просираешь свои знания... Compose это будущее разработки? А вы пробовали на нем сделать большой проект? Там геммороя не мало и ещё не факт, что гугл его не убьет в пользу flatter. С мобилкой реально какой то дурдом...
С Веб-фронт только недавно начал работать на Angular. Пока не понятно, нравится или нет)).
А бекенд да - всякая работа с данными по сути.. Меняется все не так часто и технологии и принципы такие более матёрые.
Дайте совет, плиз, куда двигаться !? Или опишите свою историю что да как.
Направо пойдешь — в бэкенд придешь, налево — в мобилки…