It’s almost a year after the launch of AL. And I guess you know, that the only supported operating system was Windows … before that moment.
During DirectionsNA team announced that now AL is supported on MacOs!
That was a small tweet from Stan, but that’s a huge step forward.
We, MacOS users, waited for that moment more than a year!
Anyway, there are some differences in developing apps comparing to Windows experience.
First, and the most important. On-Premise Sandboxes – are not supported. So, the only available option is Cloud Sandbox. And here we have the second difference – in the way how we connect to it.
Let’s create a simple extension for Business Central on MacOs.
Next scenario I will cover from my brand new MacOS Mojave desktop!
The magic here – you have the same marketplace for Win and MacOs! So, any VSCode extensions available on Win will should work on MacOs =)
To create a new AL project on MacOS, we use Shift+Cmd+P
We see the difference between Windows and MacOS experience on this step. Docker Sandboxes could be created only on Windows. So, I will use cloud sandbox.
Press Shift+Cmd+P and choose AL: download symbols
AL will give you some id. You should:
That’s it. Symbols are downloaded, and VSCode is connected to cloud sandbox from this moment. Every time you will run AL: Publish command, your app will be published on THAT sandbox.
If you would like to connect to another cloud sandbox, simply run AL: Clear credential cache and repeat current step.
My app will show the list of different aeroplanes models. Very simple example. What I really want to check, if other AL extensions (that I use a lot) also work on Mac.
I have external web service, where I have a list of all aeroplane models. The idea – to have this list inside of Business Center and upload data from this external web service. Usually, I use ALRunner for that task. Let’s see if it works on Mac.
Unfortunately, it does not work. Not a problem, I’ll do it manually.
[Updated]. It works! Thanks, Tobias Fenster for fixing. Check that you have REST extension installed and enabled.
I did not find any differences in the way we code, except some shortcuts:
I created a new table the same way, as I did before in Windows.
If I will find something unusual in the future, I’ll update my post.
With this extension, you can create pages/reports for your tables and investigate the structure of .app and .al files.
Next, I will manually add codeunit to call external web service.
Now let’s follow AL naming guidelines. With CRS AL Extension I’m going to rename files and place them in the right hierarchy.
Now I’m ready to publish my app to the cloud sandbox.
When you run AL: Publish without debugging on MacOs, the process will send your app, publish and install directly to the cloud sandbox.
The result – your app in the cloud, directly from MacOs!
Without VM, without Docker. Just MacOS, VSCode and AL!