Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Какой язык где применить при организации проекта (https://javascript.ru/forum/server/68908-kakojj-yazyk-gde-primenit-pri-organizacii-proekta.html)

razorg1991 16.05.2017 20:48

Какой язык где применить при организации проекта
 
Изучаю Java(+ Spring + Hibernate) и JavaScript (+ NodeJs + Angular).

Хочу создать проект (практики еще нет, все только в теории, учусь на практических примерах). Проект представляет из себя:
1. Сайт-сервис
2. Отдельно REST доступ
3. Фоновые задачи (парсинг, обработка полученной информации, расчеты)
4. Работа с БД

У меня есть несколько вариантов создания проекта:

1. Сайт-сервис и REST доступ на NodeJs + Angular. CRUD операции с бд для этой же цели тоже на NodeJs; фоновые задачи + работа с бд на JAVA.
2. Фоновые задачи + работа с бд + REST доступ на JAVA; NodeJs + Angular только для REST запросов на свой же сервер, т.е. сайт-сервис получается типа как web клиент.
3. Все только на NodeJs + Angular
4. Все только на JAVA (Spring MVC, Tomcat и т.п.) + минимальные внедрения JavaScript на клиенте (как на типичных среднестатистических сайтах), там какой-нибудь AJAX запросик сделать.

Собственно почему возник этот вопрос. Повторюсь практики еще нет, все только в теории, учусь на практических примерах. Принципиальной задачи выбрать для изучения что-то одно нет, изучать два языка и различные технологии не напрягает. Прочитал много информации о том что, в Java начинаются проблемы с производительностью при развертывании на серверах, т.е. при http запросах, точнее проблемы у самих серверов приложений (они попросту падают). Но с фоновыми тяжеловесными задачами, которые крутятся исключительно на сервере (т.е. на мощностях железа), то тут JAVA раскрывает весь свой потенциал. NodeJs же вроде как имеет лучшую производительность при запросах на сервер, но не знаю что у него там со скоростью фоновых задач и с инструментами для парсинга.

Очень нужны Ваши советы, желательно тех кто пишет подобные проекты. Что Вы используете и где конкретно используете?

SV0L0CH 18.05.2017 14:02

Java стоит оставить только если проблематично без неё обойтись. Тесть, придерживаться принципа "работает - не трогай". Хотя обилие инструментов для парсинга - аргумент в пользу Java. Инструменты наподобие http://jscc.brobston.com/ по производительности уступают. С другой стороны, производительней будет запилить модуль для NodeJS на C++ c yacc или подобными инструментами.
Если парсинг перенести на сторону клиента, то сервер можно разгрузить и Java вообще не понадобится. А если отказаться от всех форматов кроме JSON и XML, можно снять задачу парсинга вообще как таковую.
Есть текстовые форматы типа YAML, DXF, STL для которых уже разработаны парсеры на JS, так что в большинстве случаев самописный парсер не понадобится.


Часовой пояс GMT +3, время: 11:47.