Codage avec les langages Salesforce
Objectifs de formation
Une fois cette unité terminée, vous pourrez :
- Répertorier les langages qui vous permettent de développer avec Salesforce
- Expliquer les avantages de chacun des langages abordés dans cette unité
- Décrire comment Apex permet le développement sur Salesforce
Découverte de vos options
Vous venez de découvrir le développement frontal sur Salesforce Platform à l’aide de personnalisations et d’automatisations sans code et à faible code. Maintenant, si vous êtes un codeur dans l’âme, réjouissez-vous : la présente unité est faite pour vous. Si vous n’êtes pas un codeur, vous découvrirez quand même des aspects clés du développement Salesforce qui vous aideront à communiquer avec vos collègues codeurs.
Lors du développement avec Salesforce Platform, vous pouvez utiliser un certain nombre de langages de programmation, dont les suivants :
- Infrastructure de composants Web Lightning : une infrastructure de développement d’interface utilisateur (UI) s’appuyant sur JavaScript, qui est semblable à AngularJS ou React.
- Apex : le langage de programmation propriétaire de Salesforce avec une syntaxe de type Java.
- Node.js : un environnement d’exécution JavaScript asynchrone orienté événement, conçu pour créer des applications réseau évolutives.
Examinons les composantes de l’exemple d’application Dreamhouse qui mettent le mieux en valeur ces technologies.
Composants Web Lightning
L’infrastructure Composants Web Lightning (LWC) est une infrastructure de développement d’interface utilisateur pour les ordinateurs de bureau et les appareils mobiles. Comme son nom l'indique, cette approche de développement d'interface utilisateur s'appuie sur des composants. À l’aide de composants Lightning prédéfinis et personnalisés, vous pouvez développer rapidement des interfaces utilisateur raffinées et cohérentes pour vos applications.
Si vous connaissez les infrastructures de type AngularJS, React ou Polymer, les composants Web Lightning vous seront familiers. Bien entendu, l’avantage des composants Web Lightning est qu’ils sont prêts à être employés avec l’ensemble de vos données métiers dans Salesforce.
Examinons une propriété comme celle que nous avons examinée dans le générateur d’application Lightning dans la dernière unité, sauf que cette fois, celle-ci figurera dans l’onglet Properties (Propriétés) de l’application Dreamhouse. Cette page contient de nombreux composants Web Lightning, mais ici, nous allons nous concentrer sur un seul composant personnalisé en particulier : la carte. Cette carte montre simplement l’emplacement de la propriété. L’utilisateur effectue un zoom pour voir plus de détails sur la propriété et ses environs.
Intéressons-nous à la manière dont ce composant a été élaboré.
Si vous avez suivi les étapes de votre côté dans votre Trailhead Playground jusqu’à présent, c’est formidable ! Dans ce qui suit, nous allons vous présenter des captures d’écran du code provenant de l’application Dreamhouse à l’aide de Visual Studio Code.
Visual Studio Code, ou VS Code, en association avec le pack d’extension Salesforce, est l’environnement de développement intégré (ou IDE) Salesforce privilégié, que vous pouvez utiliser pour développer, déboguer et tester le code de votre organisation. Dans les exemples ci-dessous, nous examinons le code du composant de propriété, et plus particulièrement le composant personnalisé Map (Carte) dans VS Code. Prenez un moment pour remarquer certains de ses éléments essentiels. Un fichier HTML utilise une balise <template> où des éléments de contenu HTML sont stockés.
Un fichier JavaScript contient des méthodes qui définissent des éléments faisant fonctionner le composant.
Les composants Web Lightning peuvent également disposer d’un fichier CSS leur appliquant un style. Cependant, ce composant n’a pas de fichier CSS. Dans la colonne de gauche de VS Code se trouvent également des actifs supplémentaires qui font partie du paquet de ce composant, notamment un fichier .xml et un dossier de tests.
L’un des autres avantages des composants Web Lightning est qu’il est facile de vérifier que vos composants sont adaptés aux appareils mobiles. Vérifiez et déboguez vos composants Web Lightning à l’aide de simulateurs mobiles afin d’être certain que votre audience mobile ne rencontrera aucun problème.
Pour plus d’informations sur les composants Web Lightning, reportez-vous à la section Ressources.
Apex
Apex est un langage de programmation orienté objet fortement typé qui permet aux développeurs Salesforce d’ajouter une logique métier aux événements système tels que les clics de boutons et les mises à jour des enregistrements associés.
Nous avons présenté plus haut Flow Builder comme un outil d’automatisation à faible code. Bien que ce soit le cas, vous pouvez néanmoins étendre les fonctionnalités de Flow Builder en écrivant un peu de code Apex. Vous pouvez également créer des applications plus complexes en employant uniquement Apex ! Examinons le code du flux d’écran que nous avons vu dans l’unité 2 et qui rassemble des informations pour créer un enregistrement de propriété dans l’application Dreamhouse.
Si vous avez déjà développé en Java, vous comprenez probablement tous les éléments de cette classe. Là non plus, nous n'allons pas examiner chaque détail dans cette implémentation. Outre la syntaxe de type Java, notez deux autres éléments.
- Notez que les classes internes
GeocodingAddress
etCoordinates
(Coordonnées) disposent de propriétés dans chaque classe, annotées avec@InvocableVariable.
Cela vous permet de les utiliser pour transmettre des données dans le flux.
- La méthode Apex
geocodeAddresses
est annotée avec@InvocableMethod
, ce qui lui permet d’être invoquée en tant qu’action de flux.
- La méthode
geocodeAddresses
génère les coordonnées de la propriété en fonction de son adresse en effectuant un HTTPCallout vers un service tiers.
Bien entendu, l’extension des fonctionnalités de Flow n’est que l’une des nombreuses méthodes d’utilisation du langage Apex pour améliorer les fonctionnalités de votre organisation. Pour en savoir plus, reportez-vous à la section Ressources ci-dessous.
Node.js
Node.js est un environnement d’exécution JavaScript asynchrone orienté événement, conçu pour créer des applications réseau évolutives. Chez Salesforce, nous utilisons Node.js avec les outils de développement, mais nous ne codons pas avec cet environnement sur la plate-forme.
Lorsque vous créez un projet à l’aide de la commande force:project:create
dans Salesforce CLI, ou avec la palette de commandes de VS Code, un ensemble de scripts et d’utilitaires Node.js sont inclus dans votre projet pour améliorer votre expérience de développeur. Node.js est un moteur de script indépendant du système d’exploitation qui peut être utilisé pour la réalisation de tâches telles que le formatage avec Prettier, le linting avec ESLint, le test du code de vos composants Web Lightning avec Jest, etc.
Vous venez de découvrir plusieurs des langages et infrastructures les plus courants que vous pouvez utiliser pour personnaliser Salesforce Platform. Dans l’unité suivante, vous découvrirez les outils et les produits que vous pouvez intégrer pour enrichir davantage l’offre de fonctionnalités disponibles dans l’ensemble de votre organisation.
Ressources
- Trailhead : Bases des composants Web Lightning
- Trailhead : Tests des composants Web Lightning
- Trailhead : Configuration de vos outils de développement mobile pour l’infrastructure Composants Web Lightning
- Trailhead : Bases d’Apex pour les administrateurs
- Trailhead : Configuration de votre espace de travail et installation d’outils de développement