Задать вопрос
@mgoenko
Архитектор систем, мобильный разработчик...

Разработка современного мессенджера, выбор технологий: React-Native и Node.js?

Всем привет!

Задача перед нашей командой стоит следующая:
Разработать мессенджер, клиенты под Android и iOS, сервер ??? можно и готовые развернуть и по шаблонам, с нуля в последнюю очередь,
Функции чат, аудиочат, видеочат... шифрование...
с возможностью масштабирования в дальнейшем по загрузке и числу пользователей

Стоит вопрос выбора технологий:
клиент - React-Native - аудио и видео может подскажите где есть примеры или компоненты...
нативные языки - примеры где-то есть, может тоже подкините ссылок посмотреть на современные, но тогда под обе платформы писать отдельно, долго, неудобно.
Отсутствующие- компоненты писать нативно, остальное простое на react-native. Интересно но опять же нужны навыки писать под обе платформы - усложнение...

Сервер - php или node.js или еще что дельное подскажите, тоже ссылки на примеры или библиотеки с компонентами....

Вообщем начать хочется с простого - есть ли готовые сервера и клиенты без проблем с лицензиями большими и которые можно дописывать своим функционалом?
Если таковых нет, в чем сомневаюсь, тогда шаблоны и технологии на которых лучше разрабатывать.
Буду благодарен и должен за все что подскажите дельного))
  • Вопрос задан
  • 2165 просмотров
Подписаться 3 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 2
@Levhav
Возьмусь за разработку проектов любой сложности.
Могу рассказать о своём опыте.
Я делал на cordova версии для ios и android + web версия.
Доставку сообщений сделал по вебсокетам на связке php (для бизнес логики) и CppComet для работы с вебсокетами.

Видео чаты сделал на webrtc на основе интеграции CppComet с FreeSwitch (минимальная демка видео чата и github)

Что касается нагрузки то вот результаты нагрузочного тестирования CppComet, а то как быстро будет работать ваша бизнес логика зависит уже от вас.
По поводу масштабирования на более чем один сервер тоже проблем с комет сервером возникнуть не должно.

Что касается качества работы приложения то как по мне оно зависит в первую очередь от прямоты рук а не того что у вас React-Native, real-native или webview от cordova. Если грамотно спроектировать интерфейс и не перегужать его множеством элементов то разницу в производительности заметить будет очень трудно. Тем более на cordova не сложно писать нативные плагины так что у вас в любой момент будет возможность часть реально сложных операций выполнить в нативе.

CppComet мой собственный опенсорс проект так что если будут вопросы можем обсудить.
Ответ написан
@ralaton121
Делать с теми технологиями, которые знаете лучше вы лично.
На "допотопных" PHP основаны такие высоконагруженные сервисы как Фейсбук или ВКонтакте.
Дело не в технологиях, а в ваших умениях ими пользоваться.

P.S.:
React-Native - изначально технология-субститут.
Годится для быстрого создания. Если это - ваша цель, то годится.
Но для лучшего решения я бы выбрал не React-Native, а real-native. Это дороже, дольше. Но работает в итоге лучше.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы