It's more like a global minimum.
With many of these micro-frameworks, you're observing what is near the minimum API required for mapping a web request to a single function.
It's more like a global minimum.
With many of these micro-frameworks, you're observing what is near the minimum API required for mapping a web request to a single function.
> you're observing what is near the minimum API required for mapping a web request to a single function.
I mean, sure, it is functionality needs to be there across the board...but, it could be named differently or used differently. An "app" object is seemingly universal everywhere, a run method is super common; router configuration is very similar across several frameworks, though in this and Flask it is a decorator while it's a method in Express or Mojolicious, but still look a lot alike.
Anyway, I just think it's nice. It means that when I poke around in projects I've never seen before in frameworks I'm not familiar with, it isn't terribly difficult to get up to speed on at least the basics of what it's doing and how to change minor things about it. Building a big project from scratch still requires some time to get up to speed, but I think it's likely to provide developers more mobility across projects and companies, which is a good thing. Standards are nice, even when they're de facto and just came about because "everybody's doing it".
I haven't had a chance to tinker with the async elements of this, but I'm betting it's similarly transferable knowledge across all of the frameworks that are async.
Anyway, none of this is really an amazing revelation, I guess for people who've been working on modern web apps for a while. But, I'm catching up from doing it in a variety of old ways (for examples of doing it very different ways, just take a look at some Drupal or WordPress or Mediawiki or old school Perl web application code...these projects are still very heavily used and have thousands of developers working on them, and they look literally nothing like the model we're talking about, and often don't really even look that much like each other). My point is that there's been convergence, and it really hasn't always been obvious how it should be done. Knowledge of Drupal, WordPress, or Mediawiki, does not readily translate to anything else. I have to get back up to speed every time I dive into any of them (and I still do have to do so now and then). There are tons of projects that are like that.
Also, interop is getting a lot better. I don't feel like it would be crazy to stick a Mojolicious app alongside an Express app, working with the same data sources and even talking to the same web/mobile frontends, for example. Making those old projects interact nicely with others is often an exercise in frustration.