|   |   | 
| 
 | Что делать с фронтом? | ☑ | ||
|---|---|---|---|---|
| 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 - это те же яйца, только в профиль. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |