This was my first year at Directions North America and the experience was enlightening and very worthwhile. I would encourage anyone who works in the partner channel to attend if you have the chance. The sessions were very well put together and presented by a mix of Microsoft employees, consultants, and MVP’s from other Dynamics Partners in North America.
As a developer learning the modern development environment there were 3 of these sessions that I really got a lot out of. The methodology changes that come with the new “Modern Development Environment” are a significant paradigm shift, and the traditional development model associated with the Dynamics NAV product is no more. The way development is approached, handled, and delivered have all changed and for most experienced NAV Developers, there’s a significant learning curve associated with the new tooling, and along with that new tooling comes a plethora of exciting new possibilities for extending, augmenting, and improving the user experience.
If we look at what we’ve lost versus what we have gained in the transition, the gains far outweigh the losses, and the losses are very well mitigated. None of this is new this year, but it’s gaining momentum, and it’s the future of our channel. Let’s look at some of the key changes.
Code repositories – VS Code with AL encourages the use of code repos to manage and distribute code for any extensions you’re creating or modifying. It used to be that if you wanted to use a code repo, it was pretty labor intensive in terms of keeping it up to date and determining if the latest set of objects was present. With the manual process of exporting to text and updating the repo for record keeping, it’s a fair bet to say that most people experienced either code loss, or delays in work because of outdated objects in the repo. That issue is solved with the new tools. You develop in the repo, and publish from it, making the repo the primary source of changes, eliminating the need for a traditional dev database.
Containers – using Docker, a developer can produce a development platform fairly quickly using the NAV-ContainerHelper PowerShell command. Once that’s in place, you just publish your repo into the new container, and then get started with development. No more stepping on other developer’s toes, per se. you’ll still need to coordinate with your team for object ranges, etc. but no dealing with locked objects.
Modern development tools – For a developer that is familiar with visual studio and visual studio code, this AL language and platform for dev is familiar and logical. It opens the opportunity for developers of other languages to take a run at developing extensions for Business Central and understanding what exists there for analysis. The rift between NAV developers and other developers is closing, and that more standardized platform encourages growth in the product. There was a slide in the keynote on Sunday that says it all. Business Central was in the center between Azure and O365 as the central offering in the business suite of products. Since Microsoft is marketing this way, the need for developers that can extend and connect to the product is going to skyrocket.
Azure Event Grid – Com add-ins and directly referencing custom DLL files inside of your C/AL code is going away, but the new methodology behind bringing in custom external functionality is, in my opinion, an improvement. The event grid will mature over time and become even better, whereas the limitations associated with custom DLL installation on a per client basis was never going to get any better. Microsoft encourages the use of tools like PowerApps and the Business Central API’s available to think differently about how to interact with data. Why change core functionality when you can extend and interact in more flexible ways? In my opinion this is a welcome change that has been a long time in coming.
Overall, the direction Microsoft is heading is Software as a Service (Saas) in the cloud. They’ve stated that on-premise installations are not going away yet, but it doesn’t take a genius to see the writing on the wall. Business Central is a cloud product, and yes, partners who have re-branded NAV can still re-brand this SaaS product, but how they will develop their solutions is definitely changing.