DEV Community

loading...

PHP or Node.JS in 2020?

deepslam profile image Dmitry Ivanov ・1 min read

Hi guys!

I want to start a new project and looking for a framework to use.
It's going to be a web site with API (this API should be used in the mobile app).
So, summing up, an ideal framework for my project should include (better just out of the box):

  • A possibility to fast create an admin panel
  • ORM
  • CRUD generators
  • Good package for API
  • Compatibility with modern frontend technologies
  • Oauth with popular networks

I want to use the framework to make: website, an admin panel and API.

I used to work with Laravel and found it great and 100% suitable for me.
But )))

But I wanted to use Node.JS, and I looked at what Node.JS can to offer. And it's turned out that Express.js is pretty simple out of the box, many frameworks don't support TypeScript. Any of them don't have packages for building admin panels.

So, I still haven't found an appropriate replacement for Laravel.

I found a great one (as it looks at the first glance) - the AnadinJS but it doesn't support TypeScript at this moment.
I also found Nust.js but it seemed as overcomplicated for me.

Can you help me guys, please? Is there something I missed about Node.JS?
I think Node.JS is a big trend now, but it turned out that for a pretty big project PHP is still more powerful?

Tell please about your experience and your choice. I think it would be very interesting.

Thank you!

--
Regards, Dmitry

Discussion

pic
Editor guide
Collapse
wolfuser99 profile image
Juan Antonio

I think your fastest option will be with laravel, and if you want to learn something new you should start by split the API and the webpage (leaving behind blade) possibly making it with nuxtjs as you mention.
As your API probably will be rest, should be pretty easy to communicate with your website by using axiosjs to request the data your page need to show.

On the other hand, if you really want to go full nodejs and have a lot of time, you should take a look at nestjs docs(it can use express and typescript) and add sequelize-typescript as orm and passport for the oauth.

Collapse
zexias profile image
Matheus Faustino

For building API I go a 100% with API Platform. It's almost perfect, very extensible, swagger out-of-the-box, hydra support, graphql, etc. I recommend testing it to see if you like it: api-platform.com/

Collapse
deepslam profile image
Dmitry Ivanov Author

Hello!

Thank you so much for this opinion.
I came to the same conclusion.

Have a nice day, bud!

Collapse
vonheikemen profile image
Heiker

The trend in the javascript world is kinda like "choose your own adventure", there are more micro-frameworks than full opinionated frameworks.

Two years ago I found myself in a similar situation and at that time I chose Feathers. Not exactly like laravel but it does provide a CLI than can generate models and controllers, it also provides several authentication strategies.

Collapse
zubairmohsin33 profile image
Zubair Mohsin

I think there are few typos 🤔

  • Adonis.js
  • Nuxt.js

Adonis.js v5 is coming with full typescript support.
Read more about it here : forum.adonisjs.com/t/what-a-differ...

Collapse
deepslam profile image
Dmitry Ivanov Author

Thank you! I read about Adonis v.5 but I need it now. That's why it's not fit my requirements right now :(

Collapse
jcarlosweb profile image
Carlos Campos

I have started using tsed.io/, but I also use Symfony. I might stay with Node.JS, I don't know yet.