One of the pain points of using frameworks is that the more the framework does for you, the more it starts to feel like you're drifting away from Javascript.
In the front-end, for example, I I started with Ember because its "conventions over configuration" philosophy resonated with me, but the more I used it, the more I felt like that I was learning Ember and not Javascript. So I tried out Vue.js and never looked back. Vue is made such that I can progressively add the functionality I need and its entire API still feels like Javascript. (These are reasons why I believe React also resonates with a lot of people).
Regarding the backend, the node.js ecosystem is pretty fragmented and the most popular frameworks (Express and Koa) are too thin and unproductive. I recently discovered Adonis and I love what it offers. The same convention over configuration philosophy, with the added benefit, that the 4.0 release refactored everything into modules to make the framework more adaptable and progressive. 💯
My only pain point right now is that there are parts of Adonis that don't feel like Javascript.
I'll use Lucid Models' getters/computed properties as an example. Personally, it feels weird that Adonis getters are prefixed with get but are then used without the prefix in computed properties.
class ExampleModel extends Model {
static get computed () {
return ['slug']
}
getSlug ({ id, name }) {
return `${paramCase(name)}-${id}`
}
}
Coming from Vue, I personally like the way it handles what it does via regular javascript properties, injecting the end result into the respective instance. This gives more structure to the code and makes it easier to see/understand what the framework is doing for you.
Here is an example of that would look like for Adonis:
One of the pain points of using frameworks is that the more the framework does for you, the more it starts to feel like you're drifting away from Javascript.
In the front-end, for example, I I started with Ember because its "conventions over configuration" philosophy resonated with me, but the more I used it, the more I felt like that I was learning Ember and not Javascript. So I tried out Vue.js and never looked back. Vue is made such that I can progressively add the functionality I need and its entire API still feels like Javascript. (These are reasons why I believe React also resonates with a lot of people).
Regarding the backend, the node.js ecosystem is pretty fragmented and the most popular frameworks (Express and Koa) are too thin and unproductive. I recently discovered Adonis and I love what it offers. The same convention over configuration philosophy, with the added benefit, that the 4.0 release refactored everything into modules to make the framework more adaptable and progressive. 💯
My only pain point right now is that there are parts of Adonis that don't feel like Javascript.
I'll use Lucid Models' getters/computed properties as an example. Personally, it feels weird that Adonis getters are prefixed with
get
but are then used without the prefix in computed properties.Coming from Vue, I personally like the way it handles what it does via regular javascript properties, injecting the end result into the respective instance. This gives more structure to the code and makes it easier to see/understand what the framework is doing for you.
Here is an example of that would look like for Adonis:
I know I'm posting this issue early since I just started using Adonis, but I'd love to hear other opinions about this.