На чем писать интернет-магазин PHP или NodeJS или...?
Мы - молодая команда разработчиков с разнородным опытом (кто-то на ASP.NET писал пару лет, есть ребята создают небольшие решения на NodeJS, когда-то проводили различные нагрузочные тестирования mongodb, MSSQL, GigaSpaces XAP).
Так получилось, что нас попросили помочь с интернет-магазином. Сейчас у них используется готовое решение для отрасли компании (разработка на Ruby on Rails, PostgreSQL, puma...). Столкнулись с тем, что разработчики системы перестали поддерживать ее и ушли в инвиз. Код на Ruby зашифрован, сначала все работало катастрофически медленно. В erb файлах по возможности заменили все на статику - ускорили, но затем начались проблемы с актуализацией информации из 1С, периодически все падало и постоянно сталкивались с утечками памяти.
Пришла мысль написать все с нуля, так как задачи весьма специфичные. Альтернатив не нашли. Заказчик согласился на создание новой системы.
Планируется работа с большим количеством внешних сервисов, связь с 1С в реальном времени, более 50 000 товаров в БД и поиск по ним, поиск одновременно по нескольким таблицам БД (разные сущности, единый поиск). Единый API для моб. приложения и сайтов дочерних фирм.
Хотелось бы гибкости в наращивании функционала в будущем.
Какой стэк технологий Вы бы посоветовали? Был бы рад услышать любые советы и критику.
JS - язык завязанный на асинхронщине. Поэтому если ваша команда раньше не писала больших приложений в асинхронной архитектуре, то прийдется перестраиваться. Стоит все же отталкиваться уже от текущего стека разработчиков.
yurygolikov: спасибо за совет. в nodejs немного пугает однопоточность, так как до этого использовали ASP .NET, с PHP опыта немного, так что асинхронность для нас это хорошо. в PHP привлекает обилие MVC фреймворков
Зависит от задачи. Если вы хотите затрахаться и получить незабываемый опыт - используйте Nodejs или что-то ещё, где нет ничего уже готового. Если вы хотите просто сделать хороший магазин - быстро и недорого, порадовать заказчика ценой и сроками и получить денежку - используйте WP+WooCommerce, например. Он быстро ставится, недолго допиливается и хорошо работает.
Однозначно php фреймворки (Yii,symfony,laraver) потому что всё просто и из коробки, а если не хватает php (какой либо математики, конкурентные потоки и т.д. , что обычно ну вообще ненужно в магазинах в бол-ве случаев) , всегда можно прицепится и к java и к nodejs
На чем писать - это во многом вопрос бизнеса.
Определяется временем на разработку, затратами на разработчиков, возможностью и ценой дальнейшей поддержки не авторами.
С этих позиций в абстрактном вакууме php бьет nodejs.
Но конкретно в случае вашей команды у вас может быть сильно выше экспертиза в nodejs, и тогда лучше выбрать ее.
Нужно чётко сформулировать задачу и посмотреть что есть на рынке из готовых решений.
Тут выше хаяли Битрикс и отчасти небезосновательно (сейчас всё не так уже плохо как было года 3 назад), но в ряде случаев голого Битрикса + готового шаблона за ~25000 + встроенного модуля интеграции с 1С достаточно для покрытия всех потребностей конкретного Бизнеса, и ещё с запасом плюшек останется. Программистов на рынке полно, и учитывая рейтинги партнёров, и системы сертификации специалистов, найти толкового программиста не проблема, главное за дешевизной не гнаться.
Возможно под Ваш запрос лучше подойдёт что-то другое, типа того же WooCommerce. Если поймёте что всё-таки вариантов нет, и надо писать с нуля, то я бы смотрел в сторону PHP фреймворков.
Самым перспективным сейчас считается Laravel.