Na drie jaar van alfa- en bètatesten heeft de Arduino-gemeenschap, die een reeks open ontwikkelplatforms op basis van microcontrollers ontwikkelt, een stabiele versie van de Arduino IDE 2.0 geïntegreerde ontwikkelomgeving gepresenteerd. Deze omgeving biedt een interface voor het schrijven van code, compileren, uploaden van firmware naar apparaten en interactie met boards tijdens het debuggen. Firmware wordt ontwikkeld in een speciaal ontworpen programmeertaal die lijkt op C en die het mogelijk maakt om snel programma's voor microcontrollers te maken. De gebruikersinterface van de ontwikkelomgeving is geschreven in TypeScript (getypeerde JavaScript), terwijl de backend is geïmplementeerd in Go. De broncode wordt verspreid onder de AGPLv3-licentie. Er zijn kant-en-klare pakketten voorbereid voor Linux, Windows en macOS.
De tak Arduino IDE 2.x is een volledig nieuw project met geen overlap in code met Arduino IDE 1.x. Als basis voor Arduino IDE 2.0 is de Eclipse Theia code-editor gebruikt, en de desktopapplicatie is ontwikkeld met behulp van het Electron-platform (Arduino IDE 1.x is geschreven in Java). De logica met betrekking tot compilatie, debugging en het uploaden van firmware is verplaatst naar een afzonderlijk achtergrondproces, arduino-cli. Waar mogelijk is de interface behouden in een vertrouwde stijl voor gebruikers, terwijl deze tegelijkertijd is gemoderniseerd. Gebruikers van Arduino 1.x krijgen de mogelijkheid om te upgraden naar de nieuwe tak met conversie van bestaande boards en functiebibliotheken.
Onder de meest opvallende wijzigingen voor gebruikers:
- Een snellere, responsieve en modern uitziende interface met verschillende weergavemodi.
- Ondersteuning voor automatische aanvulling van functienamen en variabelen met inachtneming van de bestaande code en aangesloten bibliotheken. Fouten tijdens het typen worden aangegeven. Operaties met betrekking tot semantische analyse zijn verplaatst naar een component die het LSP (Language Server Protocol) ondersteunt.

- Navigatiemiddelen voor code. In het contextmenu dat verschijnt wanneer met de rechtermuisknop op een functie of variabele wordt geklikt, worden links weergegeven om naar de regel te gaan waar de geselecteerde functie of variabele gedefinieerd is.

- Een ingebouwde debugger die live-debugging ondersteunt en de mogelijkheid biedt om breakpoint te gebruiken.
- Ondersteuning voor een donkere modus.

- Voor mensen die aan projecten op verschillende computers werken, is er ondersteuning voor het opslaan van werk in de cloud van Arduino Cloud. In systemen waar Arduino IDE 2 niet geïnstalleerd is, is er de mogelijkheid om code te bewerken via de webinterface van de Arduino Web Editor, die ook offline-werkmogelijkheden ondersteunt.
- Nieuwe borden- en bibliotheekbeheerders.
- Integratie met Git.
- Systeem voor het monitoren van de seriële poort (Serial Monitor).
- Grafiekopbouwtool (Plotter), waarmee de variabelen en andere gegevens die door de kaart worden teruggestuurd in de vorm van een grafiek visueel kunnen worden weergegeven. Tegelijkertijd is het mogelijk om de uitvoer zowel in tekstvorm als in grafiekvorm te bekijken.

- Ingebouwd mechanisme voor het testen en afleveren van updates.
Bron: opennet.ru




