DEV Community

Alejandro
Alejandro

Posted on

Moving from Laravel to another framework (django or express)?

TL;DR: What would you choose between Django or Express if you are very good in Laravel?

Hi, I want to move from Laravel to another technology maybe Django or Express but I'm not sure what to do.

I mainly develop web applications so I'm doing really good with Laravel but since I have been working with it with quite some time I want to learn something new and then use it as a main weapon.

From what I can see is that the most straight-forward approach would be doing Django but I want to know why people would prefer Express over Django, maybe I'm not seeing something.

I feel comfortable with the POO languages and I consider I have a high level javascript, so doing Django will be kind of hard and I want to know if it will be worth it or maybe just stick with Laravel as a main weapon

If you consider that there's another framework that is worth it mention it, just consider that I'm trying to go for frameworks that are mature and can be used in a production environment, very rarely I do web apps for more than 10k users per month.

Thanks for your comments!

Latest comments (5)

Collapse
 
iam_timsmith profile image
Tim Smith

Express is pretty cool because you can structure it however you’d like. I agree with Ohffs that Adonis may be a good fit. You could also look into Sailsjs which is an MVC framework for Nodejs. Meteor may also be something to look into.

Collapse
 
rhymes profile image
rhymes

I don't know Express so I'm going to talk a bit about Django.

Django is 13 years old (six months older than Ruby on Rails actually :D), it has a big community around it, it is in all honesty what some would call a boring technology. It is built upon a solid language and as framework goes, it's not that different from any of the major ones. Express is newer, it embraces the Node ecosystem, it's built on async concurrency model (Django isn't by default) and it sits upon one of the most popular languages out there and you're already knowledgeable in that.

I wouldn't choose neither Django nor Express to be honest but neither is a bad option.

My favorite web framework so far is Flask, its surface is smaller than Django, it forces less "conventions", you can use a ORM or not, you can use whatever data library you prefer and basically you can compose your app as you see fit. Express is probably more akin to Flask than it is to Django (small footprint, the rest is found in plugins)

But Django is good nonetheless, it comes with "batteries included", like Rails does. It's very easy to setup an application.

I know I haven't cleared much (if any) of your confusion but, borrowing from your words, very rarely you can go wrong by choosing a web framework with a huge community, especially if you don't have scalability issues like you probably won't.

Try them, play with them, decide :)

Collapse
 
alejandro profile image
Alejandro

Yeah, I don't mind learning boring technology what I fear is learning technology that will be obsolete in a few years that currently is just buzzing. I consider that Node has pass that effect and it's now becoming part of those boring technologies hehehe.

Thanks for your thoughts I heard about Flask but didn't dive deep into it, will check it out.

Collapse
 
ohffs profile image
ohffs

Both plain node/express and django are worth learning - you'll probably be able to get something working with node/express is a pretty short time as you've already done Javascript. But you'll probably learn more new things trying out Django.

If you want something more 'full-fat' than plain node/express there is the Adonis javascript framework which might feel familiar from working with Laravel.

If you want to learn something very different you could look at Phoenix which uses the Elixr language.

Collapse
 
alejandro profile image
Alejandro

I had been reading about Phoenix - Elixr but I don't think it's already worth it for a production environment, maybe as a side project would be very cool to learn, definitely worth checking out.