Node JS vs PHP Part 2: The Battle Continues

Let’s look a little deeper into the technicalities

In our previous article: Node.js vs. PHP: Which Environment To Choose For Your Next Project? we highlighted the importance of knowing the feature set of your product beforehand in order to select the most appropriate framework and language for the development of your application.

However, we didn’t cover anywhere near the full range of parameters we need to consider when choosing between Node.JS and PHP.

We promised we would run through some of the other parameters, which may come into play when deciding between Node JS vs PHP. This time, however, we are talking to Serhii Denysenko, CEO of Lenal EU and Software Architect, who has a deeper technical understanding of the difference between the two frameworks. He also can provide insight into current market trends and the comparative availability of human resources.

Not sure what software developer you need to hire?
Get a free consultation with a Senior Team Advisor.

A High-Level Comparison of Node.JS vs PHP by Serhii Denysenko – CEO of Lenal EU & Software Architect

During my five years as a software developer and subsequent five years as a Software Architect, I have had the chance to try out almost all modern languages and frameworks in both web and mobile development, mostly on big enterprise projects.

The current trend is for many back-developers (working with the server-side) is to consider shifting from PHP to Node.js. Admittedly, I have also been tempted to make this switch. Below I’ve tried to summarize both advantages and disadvantages of two languages for both web and mobile projects but the final decision which one to choose is up to you.

Benefits from the business perspective:

PHP Advantages Node.JS Advantages
Has been much longer on the market There is a considerable number of developers who want to learn the language – currently, it’s been trending
There is a large number of successful projects of different complexity and in different domains It addresses both front-end and back-end tasks. Only one person is needed for both roles on smaller projects.

However, for larger projects, you will need an architect, back-end and front-end experts

A considerably larger number of qualified CMSs and frameworks for a quick business start
Still remains to be one of the most cost-efficient and fastest languages for web development of business-related workflows

Benefits from the technical perspective:  

Warning: will only make sense to experienced software developers 🙂

PHP Advantages Node.JS Advantages
More interesting IDEs (augmented and debugged) Looks prettier – has a code formatter based on rules.

When any file is saved it deletes self-created styling (by the developer) and formats the code according to the guidelines

Strong and flexible system of types in PHP Microcontroller apps are easily developed using this language
Standardised quality PSR 1 and 2 Number of processes can be performed within a single request – multi-threading
Ease in logic performance monitoring (Unit tests) Software packages that include NodeJS =  MEAN

  • MongoDB;
  • Express.js;
  • Angular.js; and
  • Node.js.
There are lots of tools to monitor the projects bottlenecks, like New Relic or similar Built-in expansion capabilities (cluster packaging in cloud)
Requests crash leads to inactivation of the feature / page / screen New non-relational databases, like MongoDB
There are tools to automatically standardise the code when committing (PHPStorm or similar)

Disadvantages from the technical perspective

Warning: will only make sense to experienced software developers 🙂

PHP Disadvantages Node.JS Disadvantages
When the language standards are not maintained, the code can significantly differ from one developer’s code to another.

It doesn’t work well from the future maintenance and development perspective.

Request crash leads to overall app crash
When working with frameworks there’s always a chance that developers would deviate from the main patterns (MVC).

This leads to the increased support cost, difficulties in the automated tests coverage and generally elevated business risks

Multithreading is a tricky approach – you should always monitor the processes performed or you’ll run out of resources (on the server). A good tool for this is PM2
1 request = 1 process structure of the language. This can be partially alleviated by creating a queue server in the architecture. There are fewer providers offering Node.js-ready environments

About Serhii

Serhii is CEO and Founder @ LENAL. Serhii has lead the company since 2011. He often participates in digital projects as the Creative Director or Product Architect. Serhii has vast experience across a wide variety of projects, management methodologies and tech stack selection for software projects especially in accordance with their unique business needs.

 

Search for talent

Tristan Senycia

Tristan Senycia

Tristan Senycia is a Product Manager at YouTeam - a curated b2b marketplace that matches businesses with dedicated engineers from pre-vetted software development agencies.

He is also the founder of LeverPoint Advisory, which consults in the areas of commercialisation management, go-to-market strategy, High-Tech marketing strategy and customer development. 

Add comment

Subscribe