Какой выбрать язык для бэкенда мессенджера (Python/Java/Node.js)?
Разрабатываем мессенджер под Андроид и iOS. Почти готово MVP, серверный стек php 7, symfony 3, mysql 5.7, doctrine-orm, websockets, REST, SOAP, nginx. И тут от нас отваливается бэкендщик. Все сходятся во мнении что PHP для нашего проекта отстой и нужно переписать серверную часть сразу с намеком под масштабируемость. Нужно менять стек.
Ерланг и Руби не рассматриваем - мало разработчиков. Что посоветуете?
Мнения:
- если мессенджеру нужно обрабатывать большое количество одновременно общающихся между собой людей, то здесь лучше подойдёт WebSocket, а это значит бекэнд должен быть демоном, а PHP для этого плохо подходит;
- Node.js хорош в плане производительности, но ужасный callback hell и ООП;
- Python – хороший выбор, но больше используют как склейку;
- Java – хороший выбор, жрет много памяти, строгая типизация=большое время разработки;
Писать на том что знаете.
А вообще коль бэкенда уже нет так зачем вообще идти по костылям и граблям которые уже давно прошли? Чем не устраивает xmpp\matrix.org\irc. Сервера\клиенты есть на любой вкус и язык и пиши только плагины\расширения. хочется вот прям совсем много чего по другому сделать так есть готовые либы для клиент\сервер от них же. Решены проблемы с кластеризацией под *овердохера* клиентов, решены проблемы секъюрности. why not как говорится или же цель пройтись по всем граблям и вместо наращивания фич заниматься пилилкой ядра и базовых вещей?
Если вы возьмёте следующего бэкендщика такого же [цензура] "знатока" стека, как предыдущий, он вам накидает такое же [давно], и не спасёт ни Python, ни Java, ни Node.js.
Дело не в языке, а как его применять и в связке с чем.
Масштабируемый прототип бэка для обмена сообщениями поднимается на любом языке за несколько недель, даже на PHP (хотя, конечно, PHP совсем для других задач, и тут да, лучше без него. Но можно и на нём, лишь бы человек был хороший).
TL;DR: найдите сначала толкового бекендщика, он сам вам скажет, на чём будет писать.
"PHP для этого плохо подходит"
Какой онлайн предполагается быть? У нас 100 тысяч пользователей отлично жило на fastgci c PHP и mysql.
Потом сделали кластер для mysql, а для API так и не понадобилось.