Saturday, January 25, 2020

Learning Dynamics 365 Business Central Development From Scratch: Introduction

By Steve Endow

If you've never done any NAV or Business Central development, but would like to, join me on this journey to learn how to develop in Dynamics 365 Business Central.

I've never used Dynamics NAV and don't even know what C/AL looks like.  I don't know what a "code unit" is.  Until a few months ago, I had never used Docker.  And although I've used Visual Studio for years, I don't really know how to use VS Code.  I know that Business Central uses a language called "AL", but I can't write a single line of AL.

Based on my experience so far trying to learn the Business Central application and Business Central AL development, I expect this will be a long journey for me.  Because I am still working mostly with Dynamics GP customers and projects in my day job, I have to learn Business Central in my "free time", so it isn't something I'll be able to pick up in just a few months.  A year ago, I gave myself 2 years to be "minimally competent" with the Business Central application and development.  Well, work gets busy and life gets busy, so I think I'm currently well behind on that 2 year timeline, and need to catch up.

Even though I have over 15 years of experience working with Dynamics GP and .NET and SQL Server, Business Central is a completely different world to me.  My fundamental knowledge of ERP software and software development is somewhat helpful as background, but it seems all of the specifics are completely different.  I want to learn Business Central and AL development and have the same comfort level that I have with Dynamics GP and .NET.  That will take time, and will require some pretty intensive learning.

So I'm starting from scratch.  Learning from scratch.  This is the start of that journey.

So, where do we start?

For the last year, I've been collecting Dynamics 365 Business Central resources and links, trying to catalog and organize them as part of my learning.  This blog post is the result of that process:

That post has over 130 links to some great Business Central resources.  Just over a dozen of those are "development" resources, plus several others related to Docker.

The one I'm going to focus on in this learning adventure is the fantastic contribution by Krzysztof Bialowas.  You can call him "Kris".  Here is his blog post introducing his AL for Beginners Workbook:

And here is the GitHub page for the AL for Beginners Workbook:

This workbook is the best and most complete resource I've found to date for someone looking to learn AL development from scratch.  And best of all, he has shared it for free.

Here's what you'll need to get started:

1.  Download the AL for Beginners workbook PDF file

2.  Find a relatively new computer with at least 8GB of RAM (preferably 16 or more) and Windows 10 v1809 or higher, or Windows Server 2019 v1809 or higher.  An SSD is strongly recommended.  Based on my experiences with Docker, I don't recommend trying to use a 4+ year old computer--the newer the hardware, the better.  Some people work with their existing work computers, but I prefer to have a separate computer or VM so that I can easily wipe / backup / restore and generally mess up without worry.

3. Patience, persistence, and curiosity.

I'll be writing a post for each step along the way, and perhaps some in between to discuss additional things I have learned.

Thanks for joining me on this journey!

Steve Endow is a Microsoft MVP in Los Angeles.  He works with Dynamics 365 Business Central, Power Automate, Power Apps, Azure, Dynamics GP, SQL Server, and .NET

You can also find him on Twitter and YouTube


  1. WOW , Nice. I will definitely learn NAV/BC along with you (Y).

  2. It is extremely nice to see the greatest details presented in an easy and understanding manner.


All comments must be reviewed and approved before being published. Your comment will not appear immediately.

How many digits can a Business Central Amount field actually support?

 by Steve Endow (If anyone has a technical explanation for the discrepancy between the Docs and the BC behavior, let me know!) On Sunday nig...