I started a new project which I had planned to use as a test bed for a new low code tool. And so far, I find myself in a bit of a perplexing situation.
To explain; I chose Angular for my front-end. And my tooling has largely become irrelevant because the ng tooling can do the sort of stuff I had planned on doing. Not completely of course, there is still value I could add. But, it paints a bit of an awkward picture. The best way to generate many of the things in Angular that I would want to generate is via the ng CLI tool. And so I would, for the front-end at least, just be wrappering the CLI.
But to me this begs the question: "Why don't we have an equivalent for back-ends? And why don't we have solid equivalents for other front-ends?"
I say that my proposed solution could still add value. And that is precisely because:
- People tend to use different back-end and front-end frameworks
- And if there doesn't exist good tooling or any tooling at all on the back-end having a suite able to manage both in a consistent fashion should add value over JUST having ng or just using it directly.
And this just makes the gap all the more maddening. Angular isn't some one of project. It is one of the largest web frameworks and it is backed by Google and indirectly due to Typescript, Microsoft. And Microsoft make a lot of tooling on its own, like Visual Studio and VS Code and the dotnet CLI tool.
I think part of the problem is that back-end languages aren't as opinionated as front-end frameworks. But, it isn't like there aren't a ton of back-end frameworks. And it isn't like there is a solid reason why they can't implement tooling like this.
After having spent years using things like React, Vue and Knockout... I'm blown away that these other frameworks have survived.
I'm just getting started and I plan to take this sample project further before I draw any concrete conclusions. But, so far I'm coming away strongly in favor of Angular and their way of doing things. And, if I decide to proceed with my tooling, it will likely spin up an Angular Docker image, mount the code in, and then defer to Angular to run the commands.
If this works out, I think that it provides the ultimate form for my vision. After all, it isn't that I disagree with the objectives of low code entirely. I think a lot of the code writing process can be automated. But, I disagree with not delivering the actual code and/or not delivering it in a manner where a competent dev with knowledge of the underlying languages and frameworks couldn't just hit the ground running with it. With Angular, having my tooling use the ng cli to generate the starting point for my code ensures that the project remains compliant with ng cli afterward as well. Which would mean that an Angular dev wouldn't not only have an easy time picking up where my code left off, but they would also have the advantage of still being able to use all of the tooling Google intended.
And then I may either go looking for a similar set of tooling on the back-end in .Net, or write my own and then have my main project work off of that.
Comments
Post a Comment