Skip to main content

Scrivere codice con i linguaggi Salesforce

Obiettivi di apprendimento

Al completamento di questa unità, sarai in grado di:

  • Elencare i linguaggi con cui è possibile programmare in Salesforce.
  • Illustrare i vantaggi di ciascun linguaggio trattato in questa unità.
  • Descrivere in che modo Apex supporta lo sviluppo in Salesforce.

Scoprire le opzioni disponibili

Hai appena acquisito familiarità con lo sviluppo front-end in Salesforce Platform con personalizzazioni e automazioni no-code e low-code. Se hai competenze di programmazione, questa unità è quello che fa per te. Anche se non hai queste competenze, imparerai comunque importanti elementi di sviluppo in Salesforce che ti aiuteranno a comunicare con gli sviluppatori. 

È possibile utilizzare diversi linguaggi di programmazione per lo sviluppo in Salesforce Platform, tra cui: 

  • Framework Componenti Web Lightning: framework di sviluppo per interfacce utente basato su JavaScript simile ad AngularJS o React.
  • Apex: linguaggio di programmazione di proprietà di Salesforce con una sintassi simile a quella di Java.
  • Node.js: runtime JavaScript asincrono orientato agli eventi progettato per sviluppare applicazioni di rete scalabili.

Diamo un'occhiata ai componenti dell'app di esempio Dreamhouse che consentono di guardare più da vicino queste tecnologie.

Componenti Web Lightning

I Componenti Web Lightning (LWC, Lightning Web Component) sono un framework di sviluppo per interfacce utente per desktop e dispositivi mobili. Come suggerisce il nome, si tratta di un approccio allo sviluppo di interfacce utente basato su componenti. L'utilizzo di componenti Web Lightning predefiniti e personalizzati permette di sviluppare rapidamente interfacce utente eleganti e coerenti per le app.

Se hai già dimestichezza con framework come AngularJS, React o Polymer, hai già un'idea di cosa puoi aspettarti dai componenti Web Lightning. Il vantaggio, ovviamente, è che i componenti Web Lightning sono pronti per essere utilizzati con tutti i dati aziendali presenti in Salesforce.

Nota

Nota: 

Man mano che approfondisci i Componenti Web Lightning, potresti notare una differenza nell'uso di maiuscole e minuscole. Usiamo l'iniziale maiuscola per tutte le parole quando facciamo riferimento al modello di programmazione del framework Componenti Web Lightning. Usiamo l'iniziale maiuscola solo per due delle tre parole quando facciamo riferimento ai componenti stessi come componenti Web Lightning.

Diamo uno sguardo a un immobile come quello che abbiamo aperto nel Generatore di app Lightning nell'unità precedente, ma questa volta lo apriremo nella scheda Properties (Immobili) all'interno dell'app Dreamhouse. La pagina è composta da molti componenti Web Lightning, ma in questo caso ci concentreremo solo su un componente personalizzato in particolare: la mappa. La mappa mostra semplicemente l'ubicazione dell'immobile. L'utente può ingrandirla per visualizzare più dettagli sull'immobile e sui suoi dintorni.

Scheda Properties (Immobili) dell'app Dreamhouse che mostra il record di un immobile in cui è utilizzato il componente Web Lightning Map (Mappa).

Vediamo come è stato creato questo componente. 

Se hai seguito i passaggi descritti finora nel tuo Trailhead Playground, va benissimo. Da questo punto in poi ti mostreremo immagini di schermate di Visual Studio Code che mostrano il codice dell'app Dreamhouse.

Visual Studio Code, o VS Code, insieme al Salesforce Extension Pack (Pacchetto estensioni Salesforce), è l'ambiente di sviluppo integrato (IDE, Integrated Development Environment) per Salesforce che consigliamo di utilizzare per lo sviluppo e l'esecuzione di debug e test di codice nell'organizzazione. Negli esempi riportati di seguito, osserveremo il codice del componente Property (Immobile) e, nello specifico, del componente personalizzato Map (Mappa) in VS Code. Fermiamoci un attimo a osservare alcune sue parti essenziali. In un file HTML viene utilizzato un tag <template> che contiene codice HTML.

Visual Studio Code che mostra il file propertyMap.html.

Un file JavaScript contiene i metodi che definiscono gli elementi funzionali del componente. 

Visual Studio Code che mostra il file propertyMap.js.

I componenti Web Lightning possono anche includere un file .css in cui è definito lo stile del componente. Tuttavia, questo componente non include questo file. Nella colonna sulla sinistra di VS Code sono visibili alcuni elementi aggiuntivi che fanno parte del bundle di questo componente, tra cui un file .xml e una cartella denominata "tests". 

Un altro aspetto interessante dei componenti Web Lightning è che è facile verificare se sono pronti per l'uso su dispositivi mobili. Puoi verificare ed eseguire il debug di componenti Web Lightning su simulatori di dispositivi mobili in modo da assicurarti che gli utenti di dispositivi mobili non riscontrino problemi.

Per ulteriori informazioni sui componenti Web Lightning, vedi la sezione Risorse più avanti.

Apex

Apex è il linguaggio di programmazione a oggetti fortemente tipizzato che consente agli sviluppatori Salesforce di aggiungere logica di business a eventi di sistema come clic sui pulsanti e aggiornamenti di record correlati.

In precedenza abbiamo parlato di Flow Builder come strumento low-code per lo sviluppo di automazione. Tuttavia, nonostante questa sua caratteristica, le sue funzionalità possono essere estese scrivendo codice Apex. Se però lo ritieni opportuno, puoi sviluppare app più complesse utilizzando soltanto Apex. Guardiamo il codice del flusso schermata che abbiamo visto nell'unità 2, che raccoglie informazioni per creare il record di un nuovo immobile nell'app Dreamhouse.

Se hai già dimestichezza con lo sviluppo in Java, probabilmente capirai quasi tutto ciò che succede in questa classe. Come nel caso precedente, non analizzeremo ogni dettaglio di questa implementazione. A parte la sintassi simile a Java, c'è qualche altro elemento degno di nota.

Codice Apex che mostra il punto in cui Apex richiama azioni del flusso.

  • Osserva come le proprietà di entrambe le classi interne GeocodingAddress e Coordinates sono annotate con @InvocableVariable. Questa annotazione consente di utilizzarle per passare dati al flusso.
  • Il metodo Apex geocodeAddresses è annotato con @InvocableMethod e può pertanto essere richiamato come azione del flusso.
  • Il metodo geocodeAddresses genera le coordinate dell'immobile in base al suo indirizzo attraverso una chiamata HTTP esterna a un servizio di terze parti.

Naturalmente, l'estensione dei flussi è solo uno dei tanti modi in cui è possibile usare Apex per migliorare le funzionalità della tua organizzazione. Per maggiori informazioni, consulta la sezione Risorse più avanti.

Node.js 

Node.js è un runtime JavaScript asincrono orientato agli eventi progettato per sviluppare applicazioni di rete scalabili. In Salesforce usiamo Node.js per lo sviluppo di strumenti per gli sviluppatori, ma non per lo sviluppo della piattaforma.

Quando si crea un nuovo progetto con il comando force:project:create in Salesforce CLI o con il riquadro dei comandi in VS Code, nel progetto vengono inclusi un insieme di script e utilità di Node.js che servono a migliorare l'esperienza di sviluppo. Node.js è un motore di scripting indipendente dal sistema operativo che può essere utilizzato per operazioni come la formattazione con Prettier, il linting con ESLint, l'esecuzione di test sui componenti Web Lightning con Jest e molto altro. 

Librerie di Node.js incluse nell'app Dreamhouse.

Hai appena appreso quali sono alcuni tra i linguaggi e i framework più comunemente utilizzati per lo sviluppo di personalizzazioni in Salesforce Platform. Nella prossima unità scoprirai gli strumenti e i prodotti che è possibile integrare per estendere ancora di più le funzionalità in tutta l'organizzazione.

Risorse

Condividi il tuo feedback su Trailhead dalla Guida di Salesforce.

Conoscere la tua esperienza su Trailhead è importante per noi. Ora puoi accedere al modulo per l'invio di feedback in qualsiasi momento dal sito della Guida di Salesforce.

Scopri di più Continua a condividere il tuo feedback