Why is adonisjs not more popular?

hey my friends

yes yes… please, I don’t want to insult anyone, I see no value in that.

I spent hours!!! looking for a good js framework.

My history:
I came from java (spring, JEE, JSF, didnt like it) to php (pure php - horrible, symfony - bad, tedious, to laravel - great) to python (django - great, maybe even slightly better than laravel) and now want to do full stack development with javascript. I spent hours looking around, I knew adonis because it got mentioned in travesy media (some youtuber) once. But:

when I check adonisjs popularity on google trends it is very low

I check for jobs on upwork for
adonisjs: 1 job
nestjs: 11 jobs
expressjs: 19 jobs

and there is a lot more jobs for express, its just I cannot really search for express as it would falsify the results.

So I spent quite some time looking at nestjs, result:
I didnt like it.
Angular is very unpopular compared to react and vue, yet this guy made angular his favorite pig he is driving through the town (I hope he aint reading here). Well, some people do like angular, and some people did like symfony, and I think for those, the choice is good. Not for me though, and if looking at studies, not for most developers.

so I looked as well at adonis and what I saw I liked.
How comes it is not more popular then?

because for all I care, nestjs sucks in comparison, yet it is super hyped.

2 Likes

I’ll try to simplify this. I work as a React dev but I like Vue. Vue is simple and powerful and I would say complete framework when comparing to React.

Yes, I like Vue and I built n number of my hobby projects. After digging into why React is so popular than Vue, I figured out that React came early into the party.

Which applies to Adonis as well. I do n number of apps in Adonis for my personal satisfaction and I’m damn productive with Adonis more than Express.

It’s is not that Express or nestjs is good than Adonis, It’s the fact that people don’t want to switch when something came out when they already built half of their app.

Due to the popularity of Express, It is on the top but I bet on Adonis because it will be a game-changer if you’re coming from Laravel, Ruby on rails kind of frameworks.

Good things take time. Adonis will evolve when people/startups start looking for simple and powerful tools. It takes time for people to start figuring out which is good for them and over the course of time they’ll change and start using great frameworks like Adonis.

By the way, I’m working on a Freelance project which is completely in Adonis.

Keep supporting it if you like it. Contribute in any means.
Do handful of projects in Adonis. If someone is starting a new startup or building a product for them, Convince them to use Adonis by showing them how productive you’re with Adonis. Facts > useless talks. Speak with facts when you’re convincing someone to use adonis. For that, you need to contribute, Build projects with adonis.

Stick to something in which you feel like you’re comfortable.
Do freelance projects in Adonis if client is okay with it. Build hobby projects which might end up in big-time business if it’s is really a good one and you can put We’re hiring adonis devs.
It will help devs like me as well.

2 Likes

nestjs came a LOT later to the party than adonis

laravel came a LOT later to the party than symfony

So something clearly went south somewhere, or several things

one of the things I was reading over and over is

missing intellisense because of some require function that is important to many people (seems to be fixed in version 5?). So I’m very glad to read that.

and reinvention of the wheel. Now I just spent some time looking for a good ORM library and honestly, I understand why it was decided to create your own thing. Sequelize has ~700 open issues and releases new versions all the time. Knex is just a query builder. Like both ain’t optimal…

not sure if there are any long hanging fruits apart the intellisense thing…

I don’t think nestjs is so popular. It uses typescript which became favorite for many in that case and some courses already available on it to get started so that It might be used by a few people.
If you like adonis, Use it. Don’t care about jobs or anything. You can still learn Express and or nestjs to get a job and use adonis for your favorite hobby projects and in freelance projects

By the way, Laravel uses the best things from symfony and symfony is used by many companies as well.

Hey all! :wave:

There’s multiple factors that doesn’t made Adonis the most popular framework out there. Good news, they will be fixed soon. :stuck_out_tongue:

1. We have no help from any influencers
Nest has been hardly pushed by the Angular Community, it has been presented in many conferences, therefore, people know about it. A lot of people doesn’t know Adonis exists, we have done no marketing around it (like paid ads) and we do not promote it hard… for the moment.

2. People doesn’t like new things
People prefer to use their old stack (like express) because they know it. They don’t like the “new-cool-thing” around (even if Adonis exists since many years). Being aware of a “new” framework (even if it’s not new) remind them of the JS Fatigue and its “new framework each week” thing.

3. People doesn’t like monolith approach
Adonis bring the monolith approach to the Node world. Node developer generally doesn’t like that. Therefore, they stay with their express stack (which is the worst since it’s kinda like an homemade framework…).

2 Likes

I’ll be presenting a talk (Intro to Adonis) in JavaScript meetup happening in Bangalore, India next month.

I agree with your 3rd point. 1st and 2nd were mentioned already by me.

pretty much all of those are like external problems that you have no influence over.

But what about the things you have control over?

for example in the guides you have a huge article about the problem of uploading big files, isn’t that solved already or is it still an issue? if it’s solved already, then you should remove that article, because it made me frown I can tell you that. But if it isn’t then just leave it there, by all means.

what about type hinting? I see apart from the “require” function rewrite, you are planning as well a change to support type script in the core?
what about the rest? e.g. https://adonisjs.com/docs/4.1/lucid#_query_builder : const User = use('App/Models/User')
will that stop using “use” and actually require it or how else will there be type hinting?

btw in laravel me and many others used https://github.com/barryvdh/laravel-ide-helper
is there something equivalent, or will there be no need for this in adonis 5?

keep it up my friends!

All the issue you mentioned are already fixed in the next release, we have complete TypeScript & Intellisense, we don’t use the use & make functions anymore and we are making a better documentation with video courses.

Here’s a quick view of some of those: https://twitter.com/romainlanz/status/1187239724236324864

Is that mandatory to use typescript instead of Js?

so when will it be released?

No.
Core will be in TS (and compiled / built to JS) but you can use whatever you like.

I know quite some companies who use AdonisJS and 4 startups out of 5 who I showed it started to use it. The one that did not pick it up liked it, but they already were quite deep in FeathersJS.

AdonisJS is modular so no need to use it as big monolith. But it does help to reduce microservices hell.
I took over Node project that had over 20 microservices. It had single developer and everything ran in single server and started with single command. Quite bad when people do things out of hype…

There is or will be VSCode extension especially for AdonisJS. Not sure if Virk already hired developer for that or he is still looking for one.

Currently with use and make you can use http://blog.adonisjs.com/adonis-intellisence/

I personally dont find anything too bad in Adonis. There are some annoying things but as far as I know most of them will be fixed with V5.

And you can also already use V5. It’s not out yet officially but code is in Github. You can start it up from there. (Docs are half missing tho).

1 Like

Thanks. Since we have only JavaScript devs who don’t want to move to typescript for now, making adonis as a complete typescript based framework will make things hard for me to convince them.
Good news is, Adonis still work with .js files.

btw:

“ewwww typescript I cannot do it”

there is afaik as well a setting in typescript that you can set, that doesnt enforce typescript for everything. I’m not 100% sure but that is what I would expect

that means you can use it if you want to, but dont have to. E.g. you can only use the features that make sense to you, say, function argument declarations

e.g.

function(x: number)

but you can do as well

function(x)

it depends what you set in the typescript config.

e.g. what strictness of mode you set
https://www.typescriptlang.org/docs/handbook/compiler-options.html
notice: all the strict modes are set to false on default. And you seem to have to manually have to set the allowJs mode to true.