Learn Modern Business Central Cloud Development with Visual Studio Code, Git and DevOps

Vincent

Learning how to customize Business Central Cloud solutions from scratch or transforming your classic Dynamics NAV development knowledge, skill set and heuristics towards modern Business Central development tools including Visual Studio Code, AL and DevOps can be challenging. 

But it is a challenge that any developer should take now. As you can read in this blog. Microsoft made clear that there is no future for old-school on prem development techniques and architectures anymore. Modern Business Central cloud development is the only way forward.

Are you not working with Business Central yet? Read more on our blog here: Why you need Microsoft 365 Business Central.

Jumpstarting new and experienced developers in the new customization practice

Learning how to develop in C/Side and C/AL was never a one-day thing. It took a least ten days of instructor led classroom training before a new developer acquired the necessary foundational knowledge and skills to trustfully start customizing the application. The thing now is that there is even more to learn, know and master.

The difference in developing on prem Dynamics NAV versus Business Central Cloud solutions is more than just the difference between C/AL and AL. Developing modern Business Central cloud solutions also involves a new development process, a new solution architecture, new modern development tools, new statements, new properties, and various other items and considerations. Learning AL when you already know C/AL is not exactly a big step but moving from an old classic and on prem way of working towards the new modern cloud process and thinking is the bigger challenge.

The Business Central Booster Core Development learning program was developed anticipating this challenge. It was designed to help both developers new to BC and the experienced NAV developers to successfully develop and maintain apps (or extensions) for Business Central cloud. It provides a safe environment where you can learn and simulate real life Business Central cloud customization assignments at the same time.

The Core Development Specialist program is the ideal start for any new hire in your company. They will learn all essential concepts and techniques to create extensions or apps using Visual Studio Code and AL. They will also be made familiar with the DevOps process and Git as this is essential in the development operations of modern Dynamics partners. So, they do have a lot of new stuff to learn and a structured, pragmatic and supported program is vital to jump-start their new career as a Business Central developer.

This learning program also helps developers who are experienced in C/Side and C/AL. They can transform and modernize their extensive NAV solution knowledge helped with this self-paced learning program. They can efficiently progress with the new development language and environment while picking up the new development process and organization.

A new development process and approach for Business Central Cloud Development

In C/Side, the develop process was straightforward and simple. You created a development environment, usually by restoring a recent backup of your customers’ database. The object designer in C/Side allowed to quickly create some new objects or customize some existing, base, objects. When ready, you exported it all into a nice .fob file and deployed that on a test (and later production) environment.

Business Central Cloud Development

This old C/Side development environment and process has become obsolete in modern business central cloud development and the C/AL application language can no longer bring the necessary functionalities for cloud developers. The new architectures and solution design require a different process and possibilities. C/Side did for example not support coding with multiple developers, at the same time, for the same customer or project. C/Side simply did not have any source control management (SCM) or application lifecycle management (ALM) capabilities. 

Usually that meant exporting/importing objects, via command prompt or PowerShell with external SCM/ALM systems or buying an add on that made it possible. The central development database included really everything, and even things like encryption, functions to send emails and so on. That all-in-one approach is not a modern way of organizing development work and it includes risks like in case of a crash or with backup issues.

File based development

New development environments are now file based instead of object based to facilitate teamwork and distributed development operations. Every developer has his or her own database and the last update wins has become something of the past (ready for the development museum). Developers now collaborate on files. This new modern approach also improves the maintainability of the solution and the management of bugs and issues.

Business Central and VSCode are now focused on this file-based development and include the supporting tools out of the box. So, from a product perspective, developers now just need to learn how to configure and use them. But they also need to understand the new development process, its reasons and context.

Building solutions for Business Central SaaS and maintaining these solutions for every new version of the application, which basically occurs every 6 months, involves a different organization of the process and everybody’s involvement in it.

Business Central Cloud Development process

Or as MVP Steven Renders puts it, it starts by understanding what you should be doing compared with how you are doing it now. That was also an eye-opener for me, and that has consequences in how developers need to be trained now. Of course, technical knowledge is still very important. Knowing the AL programming language, the VSCode development environment, the different objects, working with ALM and SCM tools, and so on remains very important, but is not enough. It is necessary but not sufficient. 

Everyone who will be developing Business Central solutions will now need to master a new way of working involving Agile approaches, file-based development, DevOps, and Docker. The deployment of this as an organization is now critical for Business Central development in the SaaS perspective and even the On Prem practice.

Learn by doing. Supported. Connected.

So how is the Business Central Booster Development training program going to achieve this? From a content and learning perspective, we have three bigger objectives or parts:

  1. Learn participants how to set-up and configure production, sandbox, development environments and introduce them to DevOps and Docker
  2. Provide them a strong foundation in the basics of all the building blocks of a Business Central extension or app.
  3. Have them make real life assignments in an agile process. Make them learn by doing.

We start with a good introduction into how to set-up a Business Central SaaS environment and sandbox and how to do basic tasks. Then we will dive into the installation and configuration of the development environment. In the beginning we will keep it simple. The basics required for you to be able to already get started and develop. In a later part of the training, we will dive a bit deeper into the DevOps and Docker practice.

Once that the Business Central environments (production and sandbox) and development environment (VSCode) are ready, you will start to learn the basic objects, by building a first solution, step by step. This is a very good way to get familiar and practice with the basic building blocks and objects of a Business Central extension or app. You will learn how to create new objects like tables, pages and codeunits but also how to extend existing objects using table extension, page extension objects and events. We will do this keeping in mind common Business Central design patterns.
 
By the end of this part, you will have created a fully working extension, including a new role center, profile, permission set and business logic. Participants will have a good understanding of the basic objects, design patterns, and AL language in Business Central.
 
It is then time to switch over to a more real-life way of working in the Core Developer course. Here you will work in an Agile way and implement real life like scenarios, like a real customer would ask you to realize certain customizations. We will elaborate a bit more on the Agile way of working, including Scrum, and the tools that are recommended to accomplish this: DevOps, Git and Docker.
 
Next, participants will implement real life customizations the Agile way, using sprint planning and user stories. We will start out with some small lesser complex tasks or sprints, like adding or extending tables, pages and evolve to a higher level of difficulty involving more independent troubleshooting of the participant. They will also get a good view on the posting routine design patterns and how to use events to write business logic.
 
Let it be clear that this Business Central development learning program is set-up to learn by doing. That allows participants to practice hands-on, learn from their mistakes, and built a good understanding on what is required to create extensions or customize Business Central. They will now have an experienced how to make this workable and manageable by working together with multiple developers and consultants, in an Agile way.
 
You can be sure that after this course participants will have new ideas about how to change the way you are working, especially if you come from an old way of working without using ALM and SCM tools.

Find more information about this blended development learning program here: