2016-03-01 3 views
0

Я знаю, что это не очень хороший вопрос, потому что люди могут давать ответы на смещение, но задавались вопросом, может ли кто-нибудь указать плюсы и минусы использования PHP vs NodeJS в качестве базового языка в разрабатывая среднюю текстовую онлайн-RPG.PHP vs NodeJS - текстовая RPG

RPG сохранит свои данные в базе данных MySQL и будет иметь как правило 10-20 игроков онлайн одновременно.

Для долгосрочного, на каком языке, на ваш взгляд, более подходит?

У меня есть многолетний опыт работы на PHP и практически никакой опыт работы в NodeJS. Кажется, у PHP действительно хорошая синергия с MySQL, но я действительно хорошо разбираюсь в NodeJS. Кроме того, какой проектный подход я должен использовать (т. Е. MVC).

Было бы здорово услышать от кого-то, у кого много опыта на обоих языках.

+0

Узел - это не язык. Поскольку вы знакомы с PHP и ничего не знаете об узле, не является ли выбор очевидным, в вашем случае? Поскольку нет упоминаний о проблемах RPG, тогда единственная проблема, которую я вижу, - это то, насколько хорошо вы можете хранить и извлекать данные из своей базы данных. PHP не может работать с MySQL лучше, чем Node, и использует эффективный способ поддержки соединений MySQL, поэтому практически нет разницы, когда речь заходит о «разговоре» с MySQL. –

ответ

1

Node.js не является языком. Язык - это Javascript.

Оба являются отличным выбором, основное отличие - асинхронный подход всего связанного nodejs. Это увеличивает производительность и масштабируемость, но сложнее отлаживать и уродливее писать и читать (узнайте о чертах callback). Вам нужно получить асинхронную концепцию очень хорошо, если вы хотите получить преимущества, которые люди обычно получают с помощью nodejs.

Как говорится, вы можете запрограммировать асинхронно с PHP, но это гораздо менее распространено.

Итак, если вы уверены в PHP, вам нужны результаты быстро или вы не хотите экспериментировать с ним. Если вы хотите учиться или экспериментировать, пойдите с узлом.

Если предел составляет 10-20 одновременных игроков, производительность не должна быть такой проблемой.

Что касается проектного подхода, я бы оставил детали для последнего. MVC очень распространен, и вы, вероятно, будете использовать что-то подобное для организации своего кода, но выбор зависит от множества факторов, и вы, вероятно, должны подумать об этом после того, как ваши примеры использования/описания вашего приложения определены и ограничены.

+0

Обещания также являются альтернативой достижению обратного вызова ада;) – httpNick

+0

Они используются и должны использоваться, но они все еще сложнее писать, читать и взаимодействовать, чем простые старые синхронные функции. Настоящей крутой вещью будут асинхронные функции. Я думаю, что они приходят в ES6. – xabitrigo

Смежные вопросы