Как стать автором
Обновить

Эволюция Server-Driven UI: динамические поля, хэндлеры и многошаг

Время на прочтение7 мин
Количество просмотров25K
Всего голосов 34: ↑33 и ↓1+32
Комментарии19

Комментарии 19

Backend-driven UI для мобильного разработчика - абсолютное зло, которое превращает нативщика, учитывающего тонкие детали и отличия платформы в создателя очередного парсера.

Некоторые BDUI даже с сервера получают layout и реализуют свой декларативный велосипед для его отображения, собирая те же грабли, что html, RelativeLayout, autoresizing masks и другие достижения UI-рендеринга прошедших десятилетий.

Зло, конечно же, необходимое, но для меня скучнее работы, чем описанная в статье, придумать сложно. Завлечь разработчика такой, по-моему, будет трудно.

Не знаю насколько это зло, но для бизнеса это довольно крутая штука позволяющая быстро что-то внедрять / обновлять. Насчет разработчиков согласен, лично я бы не стал долго таким заниматься, очень скучно )

Как здорово, что в мире разработки найдутся задачи на любой вкус и интерес ?

на вкус и цвет все фломастеры разные, мне лично нравится учавствовать в разработке такого фреймворка, там и нативных штук много и сложных инженерных решений

Так одно дело разрабатывать фреймворк, а другое им пользоваться. Часто первое интереснее, чем второе.

зло - это каждый день красить кнопки и строки исправлять) задача нетривиальная и сложная - внедрение BDUI в проект, и чем больше проект тем сложнее это реализовать

Я про нетривиальность и сложность ничего не писал. Я писал про скучность.

Разрабатывать браузер тоже нетривиально и сложно (для мобильного разработчика), но ужасно скучно (по крайней мере для меня). А BDUI - это по сути и есть браузер.

А ещё красить кнопки и менять строки тоже может быть нетривиальной и сложной задачей, особенно "чем больше проект". Например, сделать нормальную дизайн-систему, способную пережить редизайн, или изобрести палитру, работающую со всеми кнопками, которые ей нужно покрасить, во всем многообразии экранов и настроек accessibility.

Только разрабатывая дизайн-систему, ты все-таки больше iOS-разработчик, а разрабатывая BDUI, ты больше разработчик движка рендеринга своего нигде больше не используемого языка. Для меня выбор очевиден.

Отличная статья, было интересно !)

Спасибо! Очень рада, что нашли что-то полезное для себя ?

О, мы такое в Сберсервисе делали в 20 году, даже и не знал что это какой-то устоявшийся паттерн)

Вы сделали SDUI еще до того, как это стало мейнстримом ??

Узнал много нового! Круть!! )))

Класс! Рада, что оказалось полезно!

Очень интересно!

Спасибо за статью, было интересно почитать о таком подходе

Вот вроде постик неплохой, но блин, Альфа, серьезно, зачем забивать комменты дешёвыми ботами и 24*7 восторгающимися сотрудниками по поводу и без? Я не так чтобы давно читаю хабр, постоянно последние месяцев 7, но такого себе даже упоротые хостеры не позволяли, кажется. Хотя их корпблоги это отдельное. У вас опять директора с пиаром обновились, что ли, и раз не моргентшерны, то накрутки?

Вот этим мусором вы превращаете пост во что-то среднее между отзывами на алиэкспрессе и каким-то виси.

Jug.ru, вы-то как это одобрили, у вас обычно максимально техничные и вылизанные (в хорошем смысле) посты :(

Поставил свой первый минус к посту с момента регистрации на Хабре.

Здравствуйте! Приносим извинения за такой казус. Мы не просили специально забивать комментарии, пара человек хотели поддержать Анну и ее статью. Наша вина, что мы забыли предупредить, что так делать не стоит и можно поддержать другими способами. Мы бы и предупредили, если бы специально нагоняли комментарии. Мы же понимаем, что такой способ добавлять комментарии не самый эффективный, кринжовый можно сказать, и он не работает, и делали бы иначе, если бы специально действовали по такой стратегии. В данном случае, как уже говорили, специально не нагоняли комментарии, поэтому и получилась такая ситуация.

Jug.ru, вы-то как это одобрили, у вас обычно максимально техничные и вылизанные посты :(

Привет, я редактор JUG Ru Group. Ну, мы сам пост до публикации ревьюили, но комментаторы-то не присылают нам свои комментарии заранее на ревью :) Ещё до вашей реплики обсудили появившиеся комментарии с@AlfaTeam, и все согласились, что в будущем стоит доносить до сотрудников «Хабр место для содержательных конструктивных комментариев, а не бессодержательной похвалы».

Хехе, в результате вы в JSON-е описываете "условия" (EQUALS / NOT / AND / OR / LESS) и "операции" (HIDE_FIELDS / SET_VALUE / ...) и у вас там получается по сути описано синтаксическое дерево, которое вам надо на фронте парсить, обходить и все эти условия проверять, а операции выполнять. Можно под это дело сразу маленький диалект LISP-а запилить, или вообще присылать с бэка не JSON, а сразу Javascript :) Ещё можно сразу на WebView делать, но там UI, к сожалению, не даёт той отзывчивости, как нативные компоненты.

А так этот паттерн постоянно все переизобретают (что я и сам делал тоже). Видимо, все существующие "велосипеды", включая из них самый грандиозный (я имею в виду HTML + JS + CSS) где-то чем-то не устраивают.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий