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.
Hands on – New extension created on MacOs
Let’s create a simple extension for Business Central on MacOs.
Step 1. Open VS Code with AL extension installed
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 =)
Step 2. Open/clone/create AL project
To create a new AL project on MacOS, we use Shift+Cmd+P
Step 3. Connect to cloud Sandbox and download symbols
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:
- open browser
- go to https://microsoft.com/devicelogin
- paste this id there
- sign in your Business Central Cloud Sandbox
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.
Step 4. Create an App
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:
- Editing support through IntelliSense (Fn + Ctrl + Space)
- Command palette (Cmd+Shift+P)
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.
CRS AL Extension
Now I’m ready to publish my app to the cloud sandbox.
Step 5. Publish
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!