Выбор технологий для клиент-серверного приложения?
Добрый вечер, нужна помощь в выборе стака технологий. Нужно написать простое приложение (фронт + бэк с сервером).
Проблема в том, что опыта в веб разработке у меня абсолютно нет, а заниматься этим придется (до этого был опыт только C#).
На сегодня принято решение использовать JS. После недели штудирования информации, четкого понимая, как это должно работать не сложилось. Зоопарк фреймворков образовал большую кашу в голове.
Сейчас я учу JS и разбираюсь как работает такая связка: Node.js + Express + Typescrip + мелочь
Я не понимаю, нужно ли мне подключать что-то еще, типа ангуляра или реакта, что бы реализовать, как мне кажется не самое сложное приложение, или лучше попробовать всё писать на нативном JS (читай TS), с локальным применением небольших библиотек для отображения таблиц или чего то там еще?
Само приложение для внутреннего пользования небольшой компании, заключается в просмотре и выгрузке табличных данных на стороне клиента.
Должно состоять из:
1. Авторизации (внутренней для компании, никаких google-аккаунтов и прочих ништяков не нужно)
2. Страница со списком названий "таблиц" к которым будем обращаться. Их много - должны быть сгруппированы под спойлеры.
3. Страница с самой таблицей и фильтрами для неё. (для фильтров мгновенный отклик не нужен:... настроили 5-10 фильтров, нажали кнопку применить, данные обновились)
3.1 Таблицы могут быть любых размеров, как строк так и столбцов и с любыми типами данных. >миллиона строк "до фильтров". Естественно при работе данные должны кешироваться не на клиенте.
3.2 Фильтры должны добавляться клиентом динамически, в зависимости от имеющихся столбцов. Столбцы можно отключать.
4. Выгрузка данных в csv, excel..
4.1 Выгрузка: а) всего б) отфильтрованного в) помеченного
Буду рад услышать любые советы или хотя бы пути направления - "куда копать" для реализации решения данной задачи.
Спасибо.
Если реалтайм не нужен, возьмите обычный PHP + фреймворк к нему (например laravel или Lumen он попроще).
Для фронта все же рекомендую взять какой-нибудь небольшой и простой фреймворк, разобраться и сделать структурированный, пусть и может быть лажовый, но код. Это может быть backbone, vue.
Такой стек даст максимум готовых решений при минимальных человеко часах на разобраться.