The move by Microsoft from C/Side to Visual Studio Code is a bit like Brexit. At first everybody thinks it is a great idea, until they realise the consequences. And then there is no way back.
Why? Please let me explain…
With C/Side we have issues, everybody knows that and these issues have to be solved. Issues like integration with source code management and other issues like… well… hmmmm.
Visual Studio Code is the new kid on the block and it’s cool, it’s the most popular source code editor of this moment. However when you combine it with AL code it’s not always an improvement.
Microsoft claims partners have been demanding a more modern coding experience but let’s compare it to PowerBI. Does PowerBI have source code management? PowerBI has a native designer just like C/Side and PowerBI is very popular.
The reason C/Side is going away has nothing to do with partners demanding anything. It has become very hard to maintain C/Side and it’s preventing Microsoft from moving to the cloud.
It’s impossible to compete with the Microsoft Marketing machine. No matter how much feedback the product team is getting they make their own decisions.
I spend my time 50% in C/Side and 50% in Visual Studio Code. I know all the VSCode shortcuts, snippets etc. but going back to C/Side just makes me happy every time I switch.
Programming anything in Business Central involves mostly defining Meta Data. As programmers we write surprisingly little code. Visual Studio Code is horrible at defining Meta Data. Most other programming languages use templates for this.
Have you actually tried to create a report in Visual Studio Code? OMG… please don’t.
It seems like the Business Central teams are not yet at a point where we can easily juggle with Meta Data. We cannot yet create a listpage & cardpage for a table which would be an easy example of this.
In our community Visual Studio Code is synonym for Extensions. This is just wrong.
With relatively little effort Microsoft could have made Extensions work in C/Side. It would have meant adding Table Extensions and Page Extensions as object type. Not much more than that.
Many partners, actually the vast majority, have issues moving to Extensions. Not because the concept is wrong, but because the base code is not designed to be extended. The Business Central code base is from the late 1980’s and is not object oriented in any way. Not even close.
The solution that Microsoft is now proposing is that we can make raw source code modifications in Visual Studio Code.
This is horrible!
Visual Studio Code is not optimised for this. Not even closely. C/Side is.
It looks like we are getting into a worst of all options kind of scenario where nobody wins.
At NAVTechDays Microsoft announced that they would rewrite the Business Central code and break it up into extensions. I have not seen any progress on this, not any session at Directions ASIA, no blogs, nothing. Complete silence.
Get comfortable on the Spring release
It looks like the Spring release of Business Central will be the golden release to get comfortable on. Just like NAV 2009R2 was.
As a community we need to make Microsoft understand that this release must be maintained for at least five years, or possibly ten until Business Central is completely rewritten and object oriented.
Until then, for most partners it’s simply not worth the effort. They will burn money and resources getting only disappointing results.