|
Что делать с фронтом? | ☑ | ||
---|---|---|---|---|
0
Caber
27.10.21
✎
07:34
|
Как некоторые здесь уже знают, я изучаю ASP.NET MVC. До этого был простым спецом по платформе 1С.
Сравнивая платформы 1С и фреймворк ASP+MVC, я все время поражаюсь, сколько же приходится писать на JS и html, чтобы создать обычные простые элементы управления и ввода. К примеру - аналог поля ввода 1С с ссылочным типом данных. Справа есть кнопка выбора, нажатие на которую открывает форму выбора из списка целевых элементов. Это замечательно. В ASP+MVC же мне приходится нарисовать поле ввода, прилепить скрытый input, который хранит в себе идентификатор выбранного объекта, на джаваскрипте обрабатывать начало выбора, выбор, открытие формы списка и окончание выбора, запрашивать данные целевых объектов с сервера ajax'ом. Я не жалуюсь, что работы и кода очень много. Это не является проблемой. Меня не покидает ощущение того, что результат всего этого мартышкиного труда крайне ненадежен, трудно поддерживаем, не является универсальным для всех решений в будущем. Разумеется, так как сейчас я учусь, я "зарылся". В следующем проекте, на основе полученных знаний, я начну эти элементы, части кода и верстки стандартизировать для себя, отделять зерна от плевел. Но опять же, ощущение, что все не так, что-то не то. Что есть либо готовые решения, либо более надежный способ создания фронт-енда для реляционных информационных баз. Если вкратце - что лучше подходит из фронтенд-фреймворков для реляционных ИБ? |
|||
1
ДенисЧ
27.10.21
✎
07:38
|
А как связаны фронт-фреймы и базы данных? Фронт о базе вообще не должен знать. Он должен уметь позвать бек и показать полученные данные.
На чём там бек написано - на мускуле, оракле или монге, его вообще не должно волновать. |
|||
2
Caber
27.10.21
✎
07:48
|
(1) Ну, собственно, я и описал проблему с "позвать бек и показать полученные данные". Разумеется, фронт и бэк разделены друг от друга и выполняют свои задачи. Но если в бэкэнде все четко, по военному надежно, то на фронте творится какое-то лгбт.
|
|||
3
Garykom
гуру
27.10.21
✎
08:14
|
(0) фреймворки
|
|||
4
MadHead
27.10.21
✎
08:34
|
(2) В данном случае роль играют много факторов.
1. Под простые задачи типа CRUD существуют генераторы кода, которые нагенеривают заготовку фронта и бекенда. Я далек от С# но под джаву есть https://www.jhipster.tech/ 2. Как правило на 1с и на C# делают решение разных ценовых сегментов, и судя по всему один однотипный дизайн на всех как в 1с ни сильно интересен более серьезным заказчикам 3. Если набить руку, то окажется, что не так уж и долго делать вами описанные операции. |
|||
5
Смотрящий
27.10.21
✎
08:54
|
(0) Клиента с сервера вызвать можешь ?
|
|||
6
rsv
27.10.21
✎
09:02
|
(0) вы теперь фронтендер. Стили , разметка и тд.
Это отдельное направление. А хранимки в базе данных ( которые надо дергать) напишут другие проги. Проги БД. Но есть и плюсы. Если с 1с элемент на форме кривоватый в браузере- ждем новый релиз платформы. А вы быстренько поправите . |
|||
7
Конструктор1С
27.10.21
✎
09:09
|
(6) за хранимки в БД сейчас уже ругают. По архитектурным феншуям, бизнес-логика должна быть в доменном слое архитектуры, а не в слое БД. Иначе образуется жесткая привязка к определенной СУБД
|
|||
8
rsv
27.10.21
✎
09:12
|
(7) ну если ругают …. Тогда фронтендеру скажут какие таблички дергать и
, куда апдейтить и какие тексты запросов должны быть . А скажут все теже проги БД |
|||
9
ДенисЧ
27.10.21
✎
09:13
|
(7) Фронту должно быть абсолютно пофигу, хранимки у тебя там или запросы в цикле. Он свой жисон (условный) получил и рисует.
|
|||
10
Конструктор1С
27.10.21
✎
09:16
|
(9) не совсем так. Это бизнес-логике должно быть пофигу, с какой БД или облачной хрени в неё данные прилетают, и какой интерфейс у неё данные забирает. Фронт далеко не главный, главный слой доменной (бизнес) логики
|
|||
11
rsv
27.10.21
✎
09:20
|
(0) ….. уже три в команде … фронтендер, тот кто фронтендеру собирает xml или json и прог БД .
Так что все не так плохо доя фронта. |
|||
12
ДенисЧ
27.10.21
✎
09:22
|
(10) О том и речь. фронт получил жисон. А от кого он его получил... МОжет, сегодня он с локалхоста берёт, а завтра на амазон полезет.
Речь о том, что фронт, хранимки и прочие дб - как-то фиолетово. Должно быть. |
|||
13
Конструктор1С
27.10.21
✎
09:24
|
(12) ладно, так тоже можно сказать. Фронт ничего не должен знать, как и откуда данные были получены
|
|||
14
pechkin
27.10.21
✎
09:29
|
Для фронта тоже полно разных компонент. Все самому с 0 писать не обязательно
|
|||
15
pechkin
27.10.21
✎
09:30
|
Фронт конечно лучше делать на слвременном фреймворке : реакт, вью, ангулар. Реакт из них самый популярный в коммерческой разработке
|
|||
16
Конструктор1С
27.10.21
✎
09:30
|
Вспыл в памяти пример, как жесткая привязка архитектуры к БД вышла боком. Одно предприятие написало под себя нетленку (не на 1с, на этих ихних тру-языках). Нетленка очень понравилась руководству, и её было решили продавать другим предприятиям. Но вот беда, в нетленке много бизнес-логики сидело в хранимках oracle. На том и встали продажи. Не много нашлось желающих покупать нетленку и попутно дорогущие лицензии oracle. А сделали бы по-человечачи, сосредоточили разработчики бизнес-логику в доменном слое, клиенты сами могли бы выбрать, какую СУБД им использовать. Хошь постгрю, хош мускуль, хошь монгу. Потребовалась бы лишь небольшая переработка слоя взаимодействия с БД
Собственно, поэтому в 1с и никогда не завезут NoSQL. В 1сных конфах много бизнес-логики жестко врезалось в запросы к БД |
|||
17
pechkin
27.10.21
✎
09:33
|
(16) если нужна производительность то всяко придется затачивать под бд
|
|||
18
ДенисЧ
27.10.21
✎
09:35
|
(15) "на слвременном фреймворке ... ангулар"
дядя, а вы Ленина видели? |
|||
19
Kassern
27.10.21
✎
09:35
|
вроде ТС о другом спрашивал, если какие то инструменты упрощающие работу с фронтом, как то так я его понял
|
|||
20
pechkin
27.10.21
✎
09:38
|
(19) конечно есть. Готовых компонент полно.
Писать на реакте под бутстрап да с компонентами совмем не сложно. Практически ни о чем думать не надо |
|||
21
Конструктор1С
27.10.21
✎
09:39
|
(17) заточка во имя производительности это индексы таблиц, оптимальная структура таблиц, гранулярность блокировок и вот это всё. К бизнес-логике оно не имеет отношения
|
|||
22
pechkin
27.10.21
✎
09:40
|
(21) ага кто поддерживает коррелированные запрсы, а кто-то нет. А ты их юзаешь ибо удобно
|
|||
23
pechkin
27.10.21
✎
09:41
|
(21) или языковые индексы как в постре у ыузинв
|
|||
24
Конструктор1С
27.10.21
✎
09:51
|
(22) ты сейчас смотришь на работу с БД глазами 1сника. 1сники в этом плане весьма своебразные. Дали нам пакетные запросы, а мы и рады писать километровые портянки. В тру-бэкенде так не принято, там стараются обходиться простыми CRUD-операциями. И живут же нормально, пишут сложные системы
|
|||
25
MadHead
27.10.21
✎
09:52
|
(21) Приложение состоит не только из безнес логики. Естественно затачивать бизнес логику под БД не стоит, но слой слой инфраструктуры/адаптеров будет сложнее. Думаю об это речь.
|
|||
26
Kassern
27.10.21
✎
09:56
|
еще многое зависит и от самой задачи, вот вы делаете решение гибким, поддерживающим множество СУбд, с мультиплатформенностью и т.д. А заказчику нужна просто приложуха с простеньким назначением. Зачем тратить кучу времени на создание такой гибкости, которой никто не воспользуется? Может это и не тру, но для узконаправленных проектов вполне нормальная практика такой привязки. Это экономит время разработки, а заказчику сумму работ.
|
|||
27
MadHead
27.10.21
✎
10:04
|
(26) Применение так называемой чистой архитектуры оправдано для монолитных интерпрайз приложений. Иначе довольно рано наступит момент, что поддержка станет адом, если порезать приложение на сервисы/микросервисы, то такая архитектура позволяет применять простенькие архитектурные подходы и не париться. Но бизнес логика в БД - это слабый подход и в плане поддержки и в плане производительности
|
|||
28
Caber
27.10.21
✎
10:15
|
Значит, реакт? У меня на очереди был ангулар, потому что на слуху часто всплывает. Здесь двое отметили, что реакт для бизнеса. Значит, реляционная база данных + реакт + бустрэп = само то?
|
|||
29
Конструктор1С
27.10.21
✎
10:17
|
(25) от переноса логики с одного места в другое приложение меньше не становится. Если нужно тебе написать зубодробительный алгоритм расчета себестоимости, то он в любом случае будет зубодробительным. Мало того, когда идёт умышленное разбиение на слои, количество кода несколько увеличивается. Но эта жертва во имя облегчения жизни в будущем
|
|||
30
Конструктор1С
27.10.21
✎
10:20
|
(26) принятие преждевременных решений тоже зло. Например, можно нашинковать сотню микросервисом, уграбливая кучу усилий на взаимодействие между ними. Всё во имя гипотетической возможности сложной децентрализации приложения. Но если децентрализации приложения так и не настанет, то все усилия окажутся мартышкиным трудом
|
|||
31
Kassern
27.10.21
✎
10:21
|
(30) вот и я про это же. Надо здраво оценивать задачи и ее перспективы.
|
|||
32
Вася Теркин
27.10.21
✎
10:22
|
(0) Ты бы ещё голосовой ввод к окошку прикрутил... А у 1С скоро так и будет. Говоришь "они опять продали эту кривую фигню и ту зеленую вчерашним дебилам за наличку." А тебе сразу накладные и эсф и кассовый чек сами оформляются.
|
|||
33
Caber
27.10.21
✎
10:32
|
(32) Ну вообще то, когда к нам на работу приходила важная шишка из чиновников, ее попросили сказать мнение о 1С. Она как раз и отметила, что очень удобная программа - мышкой наводишь, хочешь что то выбрать, а 1С сама уже подставляет то, о чем она подумала. Ей это очень понравилось и отложилось в памяти. 1С знает путь к сердцу женщин
|
|||
34
ДенисЧ
27.10.21
✎
10:35
|
(33) А ещё там котик есть!
|
|||
35
Вася Теркин
27.10.21
✎
10:41
|
(33) А с Украины не приходили? Белый цвет на синий поменять в такси?
|
|||
36
MyNick
27.10.21
✎
12:21
|
(0) Я когда игрался, на vue делал. Там все просто. Связываешь элемент с данными, пишешь метод, забирающий эти данные с сервера, vue тебе сам все отрисует как надо.
Ну с простотой в 1С конечно не сравнить, но MVC - это те же яйца, только в профиль. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |