![PHP vs Node meme](media/fa157040d5849cc48de1cbec2c67ef69.jpg)

It used to be the case that you wrote PHP for the backend and JavaScript on the
front end. However, that has all changed with the invention of Node.js. Some kid
invented a clever way to run JavaScript on the server. Now we can develop a
website that runs JavaScript on both the front and back end. This is good right?
We should all learn JavaScript. The one language to rule them all. Although
Node.js has taken the web by storm, I would argue that there are cases where PHP
is still relevant and even preferable.

Where PHP Wins
--------------

The major benefit with PHP is the low development time. You can write a website
in PHP much faster than you could with Node.js. PHP is simply easier to work
with than Node.js. Things like GET, POST, and SESSION information is simply a
variable that you reference. Doing the same things in node.js is trickier
because they require node dependencies – which vary in quality. Next, PHP was
built to work nicely with databases like Mongo, and MySQL. In PHP you can make
database query without falling into the callback hell that you experience in
Node.js. It is not impossible or impractical to work with databases in node.js,
I have done it plenty of times. However, synchronization of the database calls
can be tricky and requires more code than it does in PHP.

Another key point is that PHP has been out for a longer amount of time so there
is an abundance of code on the web for reference. Not only is there more code
but there is also an abundance of tutorials, and books written on PHP. The last
reason why I love PHP is that it is really easy to deploy. If you updated a file
all you have to do is upload it to your apache web server. That’s it. With
Node.js you would have to upload the file and restart the server for the change
to take effect.

Where Node.js Wins
------------------

If you only want to know one language, Node.js wins because you can now just
become a master at JavaScript. Many larger companies are starting to use Node.js
simply because it is faster than PHP. The asynchronous calls in Node.js is a
huge time saver for applications that heavily rely on database or API calls. The
brilliant use of callback functions can make your application run wickedly fast.
However, callback functions and synchronization promises can be a headache to
write. Once you get into the groove of it, it is not terrible, but it will add
development time to your project.

Compared to PHP, Node.js is a newer language. There is currently a lot of people
actively developing for it. Therefore, the libraries that you are using are
newer and are often faster than their PHP counterparts. NPM is a lifesaver. NPM
offers thousands of modules at your fingertips which can easily add
functionality to your project.

Conclusion
----------

I don’t want to sound like I hate Node.js, I enjoy using both PHP and Node.js.
PHP is better for smaller projects due to it’s fast development time. I would
recommend Node.js for any project that deals with heavy database usage. The
perfect use case for Node.js would be for a web API. If your project is heavily
dependent on HTML - like a blog- I would urge you to use PHP.

If you are still undecided, just learn Node.js. It pains me to say it but,
Node.js is slowly taking over PHP.

![PHP developer meme](media/422d949d18969b9b2b8cf754ddc1e779.jpg)
