Сравнение PHP и NodeJS

// Июль 30th, 2010 // Highload, NodeJS, PHP, Веб-разработка

Нашел интересную табличку по сравнению PHP и NodeJS для применения в веб-разработке.

Comparison (good, bad, solution)
Apache, PHP node.js
syntax Additional language to web standard ECMA script
try to use common structures
One language to rule them all = reuse parts of your framework on the client side
strings ‘line
line’
‘line\nline’ or «line\n\
line»
templates <code><?php // code ?></code> var s = ‘<code>’;
// code
s += ‘</code>’;
// send response
http://github.com/creationix/microtemplates
database interface PDO + prepared Statements (includes class instance support) Still no prepared statements, 1.5 — 3x slower
Driver update
performance faster
unicode PCRE no Unicode Character Properties / Scripts / Blocks in RegExp (only \w, \W consider Unicode whitespace)
add chars manually to regexp
order no namespaces up to 5.3
simple modules / namespaces
serving files Apache serves static files Overhead to serve static files
Use additional webserver (nginx) or included in web framework
access Only synchronous access
… but easier code
Asynchronous access via closures
… highly nested code
http://github.com/creationix/step
OOP implicit memoization via __get() and reuse of requested key getters (/setters) must access key with other name, bad for iteration or JSON notation
platform many reliable extensions many extensions still experimental
… but the community is dynamic
PostGIS/Postgres MongoDB CouchDB
GIS functionality rich just stuff based on points few
stable yes yes probably
GIS standards full OpenGIS support (except for GeomColl in relational functions, workaround functions) no OpenGIS at all, just points full excepting for GeomColl
GIS indexing no GeomColl
index single geoms
yes yes
GIS performance fast

Отсюда можно сделать вывод, что некоторые высоконагруженные части проекта можно переписать на NodeJS, а лучше всего на C++ и подключить как модуль nodeJS. Пример сишной библиотеки написанной для нод, это HashLib.

Оригинал тут

Share

Спасибо!


Если вам помогла статья, или вы хотите поддержать мои исследования и блог - вот лучший способ сделать это:


Комментировать