[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: nodeJS и PHP
ApuktaChehov
Здравствуйте товарищи!

Буду очередным зачинщиком холиваров. Очень нужно понять, как лучше поступить.

Объяснять чем nodeJS отличается от PHP мне не нужно. Разве что можно упомянуть какие плюсы и минусы, в каких моментах присутствуют, но это не столь важно. Мне важно целесообразность применения. Ясен перец, что nodeJS будет применяться в месте с socket.io.

Так вот, имеет ли смысл весь backend написать на nodeJS? Ведь есть неоспоримые плюсы(один язык сервера и клиента, работа с клиентами с сервера). Но вот по поводу ООП. Учитывая, что у JS не все так легко с ООП, как в том же PHP, тоже сомнения.
Пытаюсь понять стоит ли игра свеч. Ведь самое лакомое, так это обновление клиентов по требованию сервера. Но, это не всегда необходимо.

Вот и не ясно, что же лучше:
1) Весь backend на nodeJS.
2) Части backend-а на nodeJS - по нужде. Остальное на PHP.

Еще немного пугает структура nodeJS, в отношении callback функций. Опасаюсь больших вложенностей - как следствие запутывание кода.

Спасибо.

_____________
inpost
ApuktaChehov
Учесть, что на программиста ты учился 4 года, а на JS - мельками, скорее всего, как и все мы, то качество JS кода будет ужасным, в связи с этим долго будешь голову ломать об структуру, создания своих моделей и т.д. Кроме этого хранить постоянное соединение? Для сайта визитки, где сервер поддерживает максимум 100 соединений и упадёт? Думать надо по ситуации в зависимости от сайта. Ещё раз повторюсь, плохой сервер и постоянные открытые соединения, или тот же пуллинг (для браузеров, которые соккеты не поддерживают) будет безумством, равносильным ддосу.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
ApuktaChehov
inpost - Это не сайт визитка. Это CRM система. И соответственно сервер мой, браузеры мои. Вопрос лишь в целесообразности.

Например, формирование заказов, можно и на php сделать. Там ничего сверхъестественного не нужно. Так же с документами, планированием, бухгалтерией.

А вот мониторинг производства, должен быть самообновляемым. Конечно, можно замутить на аяксе, но хз.

Еще статусы заказов, должны сами меняться. Учитывая все это, можно предположить что с каждого клиента будут идти кучу аякс-запросов, либо один мегааякс-запрос. Ни то, ни другое мне не нравится.

Вот и думаю.

Еще мысль по поводу толстого клиента на ExtJs. Типа сервер только гонит JSON, клиент отображает как надо.

_____________
killer8080
Цитата (ApuktaChehov @ 10.01.2013 - 08:41)
Ведь есть неоспоримые плюсы(один язык сервера и клиента, работа с клиентами с сервера).

А плюс то в чем? Если знаешь js но не знаешь php, то да плюс. smile.gif
Цитата (ApuktaChehov @ 10.01.2013 - 08:41)
Ведь самое лакомое, так это обновление клиентов по требованию сервера. Но, это не всегда необходимо.

websockets != nodeJS, нода это всего лишь один из способов реализации этой технологии. Она может быть реализована и на PHP
http://habrahabr.ru/post/82140/

PS практического опыта ни с нодой, ни с phpDaemon не имею, поэтому спорить о производительности и прочем не буду, привел просто для общей информации.
inpost
ApuktaChehov
Представь себе 1 секунда = 1 запрос.
В минуту 1 клиент создаёт 60 запросов, сервер выполняет следующее: "открытие соединения с серверов", "закрытие соединения с серверов", "открытие соединения с mysql", "закрытие соединения с mysql".
Вот тут ты избавишься от лишней нагрузки, ведь у тебя будет открыто ПОСТОЯННОЕ соединение с базой и с клиентом. Сейчас у меня количество открытых соединений с mysql выставлено 300, на сайте около 10-000 онлайн может быть, если же ты будешь работать по такой схеме, то 300 соединений = 300 человек. Эти 300 будут счастливы, а остальным дорога закрыта. Отсюда я и говорил ранее про сервер и его мощности и количество посетителей.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
ApuktaChehov
killer8080 - спасибо за информацию.

inpost - я предполагал, что постоянная связь с сервером, не предполагает постоянного подключения к БД. Думал именно о такой архитектуре. Т.е. во время простоя, поддерживается только подключение к серверу приложений. В то время как подключение к БД происходит по необходимости. Но опять же, как это будет в деле - без понятия. sad.gif

_____________
Hello
Цитата (ApuktaChehov @ 10.01.2013 - 09:41)
Еще немного пугает структура nodeJS, в отношении callback функций.

Тогда не стоит. callback это суть js
Нет событий - нет асинхронности. Ведь любая тема по nodejs скатывается в срач про лесенки и callback hell

_____________
VPS от 5$, первые 2 месяца - бесплатно.
inpost
ApuktaChehov
Не предполагает, но есть же лимит и у апача на количество соединений, под каждое соединение выделяется определённый участок памяти. Я бы назвал так: меньше людей, быстрее скорость = node.js . Хотя на сколько разница будет велика сказать не могу, я не пилил node.js для проекта, который загружается полностью.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
ApuktaChehov
inpost - спасибо за пищу для ума. wink.gif

_____________
Invis1ble
ApuktaChehov
Актуальная тема и для меня в последнее время, т.к. нужно внедрить в рабочий проект на php+mysql real-time обновление данных.
Пожалуйста, держи нас в курсе о твоем прогрессе в решении задачи smile.gif

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.