@vlad_shabanov

JavaScript framework для control'ов с заморочеенной бизнес-логикой?

Задача:

Есть много HTML-форм, каждая из которых состоит из блоков. Блок — это одно или несколько полей для ввода данных с логикой проверки на стороне клиента, иногда с AJAX-запросом для проверки или подгрузки доп. информации на стороне сервера. Примеры блоков:
  • ввод даты приёмки товара
  • ввод поставщика и договора с ним с проверкой на согласованность даты подписания договора с датой приёмки товара
  • ввод суммы покупки вместе с НДС (может быть разбивка на НДС-10% и НДС-18%) с проверкой на правильность вычисл. НДС
  • ввод номера накладной с проверкой на уникальность в базе

ну, и так далее.

Как видно в примере, блоки между собой получаются сильно связанными, имя поставщика зависит от даты приёмки, логика проверки НДС зависит от типа поставщика (если он упрощенец, то нету никаких НДС) и так далее. Форм много, то нам не нужно задавать поставщика, он у нас насильно снаружи задан, то у нас у покупки нету чека ККМ и поэтому мы не можем по нормальному провести её в бухгалтерии (от этого часть блоков становится ненужной), то ещё что-нибудь.

Хочется сделать для каждого блока шаблон HTML + JavaScript, который спрячет всю нетривиальную магию внутрь.
Дополнительные пожелания:
  1. Первый раз (начальное состояние) хочется рендерить всё на сервере и сразу формировать HTML. Потом пускай в процессе редактирования данных его JavaScript 10 раз поменяет, но первую отрисовку хочется делать быстро. На сервере python+Django
  2. Минимальное насилие над уже написанным кодом и независимость страниц друг от друга. Мы не хотим и не можем переписать всю кучу кода под эти новые блоки сразу. Старое пускай так и работает на jQuery с ручными обработчиками всех event’ов

А теперь вопрос: на чём это посоветуете сделать? AngularJS? Backbone? Ещё что-то?
Если можно, то с примерами таких вот блоков.

Angular не нравится тем, что всё делает на клиенте, меня, честно говоря, подташнивает от интерфейса Google AdWords, Analytics и т. д., которые долго-долго грузятся, потом тяжело ворочаются, на каждый чих что-то норовят ещё загрузить и перерисовать. Хотя, может быть я чего-то не понимаю.
  • Вопрос задан
  • 2255 просмотров
Пригласить эксперта
Ответы на вопрос 1
GM2mars
@GM2mars
react-like микрофреймворк riot (https://muut.com/riotjs/) очень легкий и очень быстрый. Не содержит в себе кучу ненужного хлама, который вы никогда не используете.
Я у себя его использовал в проекте для построения интерфейсных блоков.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы