Voor mij als Salesforce Administrator was het altijd een onbekend gebied: Apex. Uiteraard wist ik wel dat Apex dé programmeertaal achter het Salesforce platform was, maar ik kon me altijd prima met Flows redden. Hoewel Salesforce Flow steeds beter en uitgebreider wordt, denk ik dat het goed is dat ik minimaal de basics van Apex onder de knie krijg, zodat ik er ‘feeling’ mee krijg en weet wat de mogelijkheden zijn. In dit artikel ga ik vertellen wat de eerste stappen zijn, voordat je op een juiste manier in Apex kunt programmeren. Als je deze stappen doorlopen hebt, kun je in je favoriete editor aan de slag!
Table of Contents
Wat is Apex eigenlijk?
Salesforce omschrijft Apex zelf als “Apex is een strikt getypeerde, objectgerichte programmeertaal waarmee ontwikkelaars instructies voor het controleren van stromen en transacties kunnen uitvoeren op de Lightning-platformserver in combinatie met aanroepen naar de Lightning Platform-API.“. Met “strikt getypeerde” programmeertaal is een programmeertaal waarin strikte regels gelden met betrekking tot het gebruik van variabelen en datatypes. In een strongly typed taal moet je expliciet aangeven welk type data een variabele kan bevatten, en conversies tussen verschillende datatypes moeten vaak expliciet worden uitgevoerd. Talen als Java, C# en Python zijn ook strongly typed. Objectgeoriënteerd programmeren (OOP) is een manier van programmeren waarbij je code organiseert rond “objecten” die specifieke taken uitvoeren. Deze objecten zijn gebaseerd op “klassen”, die fungeren als blauwdrukken voor de objecten.
Begin met een Developer Editie
Zeker als beginnende APEX programmeur is het belangrijk om niet direct in je productieomgeving te starten, maar hiervoor een gratis Developer Edition aan te vragen mocht je deze nog niet hebben. Na het aanvragen kun je al je testen op deze omgeving doen zonder risico dat de productieomgeving in gevaar komt. Het verschil tussen een normale org die je aanmaakt om bijvoorbeeld trails op Trailhead Go te doen, heeft een developer editie meer mogelijkheden die handig zijn in het programmeren in Apex.
Welke IDE is het beste voor Apex?
Voor degene die geen programmeerachtergrond hebben is het allereerst goed om te weten wat een IDE is. Een Integrated Development Environment (IDE) is software die ontwikkelaars helpt bij het schrijven, bewerken, compileren en debuggen van code. Het biedt tools zoals een code-editor, compiler/interpreter, debugger, projectmanagement en versiebeheerintegratie om het ontwikkelingsproces te stroomlijnen. Voor het programmeren in Salesforce worden er twee IDE’s geadviseerd, namelijk:
– IntelliJ
– Visual Studio Code
IntelliJ IDEA met de Illuminated Cloud 2
IntelliJ IDEA biedt een efficiënte en intelligente ontwikkelingsworkflow en zit boordevol functies en aanpasbare plugins. Om Apex te programmeren heb je bij IntelliJ ook de Illuminated Cloud 2 plugin nodig. Illuminated Cloud brengt geavanceerde functionaliteiten van JetBrains naar Salesforce-ontwikkeling, met intelligente code-aanvulling en probleemdetectie. Naadloze ondersteuning voor verschillende ontwikkelingsmodellen en uitgebreide mogelijkheden maken het een krachtige tool voor het beheren en evolueren van Salesforce-code.
Visual Studio Code
Even voor de duidelijkheid, Visual Studio Code is wat anders dan Visual Studio en er wordt geadviseerd om Visual Studio Code te kiezen, omdat daar alle plugins voor beschikbaar zijn. Visual Studio Code, een lichte maar krachtige broncode-editor voor Windows, macOS en Linux, biedt ingebouwde ondersteuning voor diverse talen en heeft een uitgebreid ecosysteem van extensies. Persoonlijk kies ik voor deze editor, omdat ik deze al ken vanuit het verleden (coderen van websites) en ook omdat deze gratis is, maar ik heb geen uitgebreid onderzoek gedaan welke editor beter is. Mochten er Salesforce developers zijn die hier een sterke mening bij hebben… laat het weten in de reacties!
Stap 1: Salesforce CLI
Om te beginnen met het programmeren van Apex, is het handig om Salesforce CLI te installeren op je lokale pc.
Salesforce CLI is een command-line interface die de ontwikkeling en build-automatisering vereenvoudigt bij het werken met je Salesforce-org. Gebruik het om orgs te maken en te beheren, bronnen te synchroniseren van en naar orgs, pakketten te maken en te installeren, en meer. Salesforce CLI is gebaseerd op oclif, een open-source framework voor het bouwen van command-line interfaces in Node.js. Je voert het uit op je lokale machine of continuous integration (CI) systeem en het ondersteunt de installatie van aangepaste plugins. Salesforce CLI is noodzakelijk om gebruik te maken van alle handige commando’s die je in de CLI in kunt voeren en ook nodig voor je gekozen IDE. Download Salesforce CLI.
Stap 2: Installeer JDK
De JDK is een ontwikkelingsomgeving voor het bouwen van Java-toepassingen, inclusief handige tools voor ontwikkeling, testen en monitoring op het Java-platform. Belangrijk om te vermelden is dat je of versie 11 of versie 17 nodig hebt. Zelf had ik versie 18 en deze werkt dus niet goed met VS Code en de extensies.
Stap 3: Download het Salesforce Extension Pack voor VS code
Het Salesforce Extension Pack in de VS Code-editor biedt uitbreidbare tools voor ontwikkelen op het Salesforce-platform, met functies voor ontwikkelorgs, Apex, Aura-componenten en Visualforce.
De Salesforce CLI-integratie biedt essentiële functionaliteiten, terwijl de Apex-extensie de Apex Language Server gebruikt voor syntax-highlighting en code-completie. Duik dieper met de Apex Interactive Debugger voor real-time debugging en de Apex Replay Debugger om Apex-uitvoeringen opnieuw af te spelen. Ondersteuning voor Lightning Web Components, Aura Components en Visualforce, elk met hun eigen taalserver, maakt ontwikkeling naadloos. De SOQL-extensie maakt interactieve querybuilding mogelijk, en de Salesforce Lightning Design System (SLDS) Validator vergemakkelijkt het werken met SLDS. Al deze tools zitten gebundeld in het Extension Pack en deze kun je hier downloaden.
Klaar om te starten met Apex
Nadat je je geregistreerd hebt voor een developer editie, je een IDE uitgekozen hebt, Salesforce CLI hebt geïnstalleerd en het bijbehorende Extension Pack (en let op JDK versie 11 of 17 hebt) kun je aan de slag met je eerste Salesforce Apex project!