As the title, I’m hesitating…
I’m investigating multiple frameworks and solutions to create my next project. It will be a mid size project, for several hundreds of logistic companies, world wide. I’m not started coding today… (in fact, my first project was run on a C=64… so you can guess )
I’m still not decided which framework to use. Originally, I was planning to do it in .Net Core, using Razor/Blazor webassembly… but I was wondering, there have to be an easier way! (well, even some game engine easier… LOL)
I’m more of a game dev, run my game studio, but time to time we have projects outside of our “normal gaming zone”. I want to work on this project with the less resources possible, with the most flexible way it could be… so I found Anvil (next to some other soltuions).
So why not .Net Core
I (and my team) working in C#, C++, python, tons of scripted languages, even C or in ASM if needed… so language was not a problem. However, MS is a beast… in the wrong meaning of it. They change everything and turn things upside down… looking back the last 20-30 years I’m working with MS tools and code (even worked on Windows source code), I know how complex it could be.
On one hand, you have many great tools and endless of documentations, free codes, (i.e. nugets plugins) to do whatever you want “quickly”. On the other hand, you always hit walls and once everything works, you get an update or note from MS what is changing next year.
Back to .Net Core, it was first ASP.Net where many people used VisualBasic, then .Net Framework, .Net core, throwing out completely VB… from simple forms to MVC, Razor, blazor endless…
It is not about being VB or any other tools, framework good or bad, but I’m planning systems which should work for decades, not only for a week or a year. Managing such a system, when the core changes is a nightmare…
Another problem is the complexity, even using docker to create an image, you need to be sure all the required tools, libs, everything is up to date and matching with each-other (not to mention which C# and .NET core are you using on which server, sql etc…)
So, while most of the enterprise devs would say go for .NET core, I’m not so sure, when I’m running many project with a small team. We always managed our project with 1/10 - 1/100 size of the average companies, simply picking the right tool for the job and not forcing our skills to be the selection.
So here comes Anvil… great at first look, but hey, honestly most of the tools does it!
But what about the second look at…
And that is what / where I would need some help from people already into Anvil.
I had spent about a week in Anvil, made a small test app, checking my normal routes and still looking good. However, I’m still hesitating, which is a sign of, well something missing or I just missed it between the lines.
The biggest problem I see is production management. Or this is what I am still missing.
How can I develop - with the easy of Anvil - using multiple development branches? Can I? I’m sure there are some way to go, but is there any easy and clean way?
I know about staging environment, but it talks about 2 stages, a dev and a production. That is not enough for us. We need multiple branches for our codes, including ui, server, client, db.
In practice, when it is about a project with tons of clients, we need to develop new features requested by them. The most common way is to branch our code so we can have a stable public brach for running production code and as many branches as we need for features developments, special releases, etc.
This way the majority of our code share the very same code, but some parts can be updated, changed apart from each-other and there is no limit how many ways we are doing it.
What I can see, I could go for the open source Anvil, so we can have everything in git/hg/p4, but then we would missing the easy peasy part of Anvil editor features.
Using the enterprise model would be just too early, we are still just in planning phase. But maintenance is even higher priority when selecting a framework than anything else. However, it could be a great solution after some point.
So who do you develop, what is your 2nd view on Anvil after you already had some project finished.
Is it easy to maintain in long run or you run into many issues with an update from Anvil, missing library, new add-ons, new python version or with missing some serious source control. (the one I can see built into the editor is missing many important features for a mid size project).
Anyway, thanks for reading it through… and reaching this line