Handledning för utvecklare av Salesforce: Kom igång med Salesforce-programmering



Denna handledningsblogg förklarar de olika programmeringskoncepten som visualforce och apex som du måste veta för att starta din karriär som Salesforce-utvecklare.

Försöker du bli utvecklare av programvara? Vill du bygga din egen applikation på Force.com-plattformen? Om ditt svar på dessa frågor är ja, bör du definitivt överväga att bli en Salesforce-utvecklare.

I mina tidigare bloggar har jag diskuterat om , Salesforce-certifieringar och visade dig också bygg en anpassad applikation med de deklarativa alternativen som är tillgängliga i Salesforce. I den här bloggen kommer jag att diskutera de programmatiska alternativen som finns i Salesforce för att utveckla din applikation.





MVC-arkitektur

Innan jag dyker in i att bygga en applikation med Visualforce och Apex kommer jag först att diskutera om Salesforce Model-View-Controller-arkitekturen. Nedan följer ett diagram som beskriver Salesforce Model-View-Controller-arkitekturen tillsammans med de olika Salesforce-komponenterna.

mvc - salesforce-utvecklare - edureka



Modell: Modellen är dina Salesforce-dataobjekt, fält och relationer. Den består av standard (konto, möjlighet, etc) och anpassade objekt (objekt du skapar).

Se: Vyn representerar presentation av data, dvs användargränssnittet. I Salesforce utgör vyn visualforce-sidor, komponenter, sidlayouter och flikar.

Kontroller: Styrenheten är byggstenen för den faktiska applikationslogiken. Du kan utföra åtgärder när användaren interagerar med visualforce.



Salesforce i aktion

För att vara en Salesforce-utvecklare måste du först veta hur Salesforce-applikationer fungerar. Nedan är en bild vilket ger dig en fullständig bild av Salesforce i aktion. Klienten eller användaren begär eller tillhandahåller information till Salesforce-applikationen. Detta görs vanligtvis med Visualforce. Denna information skickas sedan till applikationslogikskiktet, skrivet i Apex. Beroende på informationen infogas data antingen eller tas bort från databasen. Salesforce ger dig också möjlighet att använda webbtjänster för direkt åtkomst till applikationslogiken.

En Salesforce-utvecklare kan närma sig utveckling antingen med deklarativa eller programmatiska alternativ. Nedan är en bild som ger dig information om både deklarativa och programmatiska tillvägagångssätt som finns tillgängliga i var och en av användargränssnittet, affärslogiken och datamodellagret. För att bygga ditt användargränssnitt kan du antingen använda den deklarativa metoden som använder sidlayouter och posttyper eller använda programmatisk metod som visualforce-sidor och komponenter. Generellt sett bör du bara använda programmatisk metod när du inte kan uppnå det nödvändiga användargränssnittet med hjälp av den deklarativa metoden. För att utveckla ditt applikations affärslogiklager kan du antingen använda Salesforce-deklarationsalternativen för arbetsflöde, valideringsregler och godkännandeprocesser eller använda programmatisk metod som triggers, controllers och klasser. För att komma åt datamodellen kan du använda den deklarativa metoden med hjälp av objekt, fält och relationer. Du kan också komma åt datamodellen programmatiskt med metadata API, REST API och bulk API.

Vi har sett hur Salesforce-applikationer fungerar, MVC-arkitekturen som används för utveckling i Salesforce och de två olika tillvägagångssätt som finns tillgängliga för en Salesforce-utvecklare. Låt mig nu diskutera om Visualforce och Apex.

Visualforce

För att bygga applikationer på Salesforce-plattformen måste du veta hur du utvecklar användargränssnitt och skriver applikationslogik. Som Salesforce-utvecklare kan du utveckla användargränssnittet med Visualforce. Visualforce är användargränssnittsramverket för Force.com-plattformen. Precis som hur du kan använda javascript Angular-JS-ramverk för att bygga användargränssnitt för dina webbplatser, kan du använda Visualforce för att designa och bygga användargränssnitt för dina Salesforce-applikationer.

Du kan använda visualforce när du behöver skapa anpassade sidor. Få exempel på situationer där du kan använda Visualforce är:

  • Att bygga e-postmallar
  • Att utveckla mobilanvändargränssnitt
  • Att skapa PDF-filer med data som lagras i Salesforce
  • Att bädda in dem i dina vanliga sidlayouter
  • För att åsidosätta en vanlig Salesforce-sida
  • Att utveckla anpassade flikar för din applikation

En visualforce-sida består av två primära element:

  • Visualforce Markup - Visualforce-markeringen innehåller visualforce-taggar, HTML, JavaScript eller någon annan webbaktiverad kod.
  • En Visualforce-kontroller - Visualforce-kontrollenheten innehåller instruktionerna som anger vad som händer när en användare interagerar med en komponent. Visualforce-styrenheten är skriven med Apex-programmeringsspråk.

Du kan titta på en enkel Visualforce-sidkod tillsammans med de olika komponenterna nedan:

Nedan har jag visat dig stegen för att skriva en enkel visualforce-sida för att visa länder och deras valutavärden:

Steg 1: Från inställningen anger du Visualforce-sidor i rutan Snabbsökning och väljer sedan Visualforce-sidor och klickar på Ny.

Steg 2: Lägg till följande kod i redigeraren för att visa land och dess valutavärde:

mysql workbench tutorial för nybörjare

Apex

När du är klar med att utveckla användargränssnittet måste du som Salesforce-utvecklare veta hur du lägger till anpassad logik i din applikation. Du kan skriva kontrollerkod och lägga till anpassad logik till din applikation med Apex-programmeringsspråket. Apex är ett objektorienterat programmeringsspråk som låter dig köra flödes- och transaktionskontrolluttalanden på Force.com-plattformen. Om du har använt Java-programmeringsspråket tidigare kan du enkelt lära dig Apex. Apex-syntax liknar java 70%.

Du kan använda Apex när du vill lägga till anpassad logik i din applikation. Få exempel på situationer där du kan använda Apex är:

  • När du vill lägga till webb- och e-posttjänster i din applikation
  • När du vill utföra komplexa affärsprocesser
  • När du vill lägga till komplexa valideringsregler i din applikation
  • När du vill lägga till en anpassad logik för operationer som att spara en post

Nedan följer en skärmdump av Apex-kod tillsammans med dess olika komponenter som looping statement, control-flow statement och SOQL-fråga:

Nu när vi har förstått vad Apex är och när vi ska använda det, låt mig dyka djupt in i Apex-programmering.

Programmering i Apex

Om du har förstått de begrepp som beskrivs ovan är du halvvägs genom din resa för att bli en Salesforce-utvecklare. I det här avsnittet kommer jag att dyka djupare in i Apex genom att ge dig information om de olika datatyperna och variablerna, olika sätt att hämta data från databasen och visa dig hur du skriver en klass och metod.

Datatyper och variabler

Salesforce erbjuder dig fyra olika datatyper och variabler. Tabellen nedan ger dig information om var och en av de fyra datatyperna:

Datatyper och variabler Beskrivning Exempel
PrimitivPrimitiva datatyper i Salesforce inkluderar booleska, datum, heltal, objekt, sträng och tid.Boolean isSunny = sant

Heltal I = 1

String myString = “Hello World”

ObjektsObject avser alla objekt som kan lagras i databasen.Konto a = nytt konto ()

MyCustomObj__c obj = ny MyCustomObj__c ()

SamlingarApex har följande typer av samlingar:

  • Listor
  • Kartor
  • Uppsättningar
Lista var_lst = ny lista ()

Set setOne = new Set ()

Karta var_map = ny karta ()

EnumsEnum är abstrakta datatyper med värden som tar en begränsad uppsättning identifierare.Public enum Seasons {Winter, Spring, Summer, Fall}


SOQL och SOSL

Att utveckla program kräver att du vet hur du infogar och hämtar data från databaser. I Salesforce kan du hämta data från databaserna med SOQL och SOSL. Om du vill bli Salesforce-utvecklare måste du känna till båda dessa frågespråk. Jag har gett dig en detaljerad förklaring av följande språk nedan:

  • SOQL står för Salesforce Object Query Language. Med hjälp av SOQL-uttalanden kan du hämta data från databasen som en lista över sObjects, ett enda sObject eller ett heltal för räkningsmetod. Du kan tänka på SOQL som en motsvarighet till en SELECT SOQL-fråga. Jag har gett ett exempel på en SOQL-fråga nedan:

Lista accList = [SELECT Id, Name FROM Account WHERE Name = ”YourName”]

  • SOSL står för Salesforce Object Search Language. Du kan använda SOSL-satser för att hämta en lista med sObjects, där varje lista innehåller sökresultaten för en viss sObject-typ. Du kan tänka på SOSL som en motsvarighet till en databasfråga. Jag har gett ett exempel på en SOSL-fråga nedan:

ListasearchList = [HITTA ”karta *” PÅ ALLA FÄLTEN ÅTERGÅNG Konto (Id, Namn), Kontakt, Möjlighet, Lead]

Du kan använda SOQL när du vet vilket objekt data ligger i och använda SOSL när du inte vet namnet på objektet där data finns.

Klasser och metoder

Som i alla andra objektorienterade programmeringsspråk kan du utveckla klasser och metoder med Apex. Du kan tänka på en klass som en ritning där enskilda objekt skapas och används. Du kan tänka på en metod som ett underprogram som agerar på data och returnerar ett värde. Jag har gett dig syntaxen för att skriva en klass och metod nedan:

Jag ska nu visa dig hur du lägger till en klass och metod i Apex:

Steg 1: Från inställningen anger du Apex Classes i QuickFind Box, väljer sedan Apex Classes och klickar på New.

Steg 2: Lägg till följande klassdefinition i redigeraren:

Offentlig klass HelloWorld {

}

Steg 3: Lägg till en metoddefinition mellan klassens öppnings- och stängningsfästen:

Offentligt statiskt ogiltigt helloWorldMethod (Country__c [] länder) {

För (Country__c land: länder) {

country.currency_value__c * = 1.5

}

}

Steg 4: Klicka på Spara så ska du ha hela klassen som:

Offentlig klass HelloWorld {

Offentligt statiskt ogiltigt helloWorldMethod (Country__c [] länder) {

För (Country__c land: länder) {

country.currency_value__c * = 1.5

}

}

Du kan använda syntaxen och exemplet som visas ovan för att utveckla dina egna klasser och metoder för din Salesforce-applikation. För att bli en Salesforce-utvecklare behöver du veta mer än bara att skriva klasser och metoder. I de närmaste parterna kommer jag att diskutera ämnen som gör det enkelt och enkelt att utveckla applikationer på Salesforce-plattformen.

Utlösare

Varje Salesforce-utvecklare måste känna till begreppet Salesforce-triggers. Du kanske tidigare har stött på utlösare när du arbetar med andra databaser. Utlösare är bara lagrade program som anropas när du utför åtgärder före eller efter ändringar av Salesforce-poster. Exempelvis kan utlösare köras innan en insatsoperation utförs eller när en uppdateringsoperation utförs. Det finns två typer av utlösare:

  • Före avtryckaren - Du kan använda före utlösare för att uppdatera eller validera postvärden innan de sparas i databasen.
  • Efter avtryckaren - Du kan använda efter utlösare för att komma åt fältvärden som ställs in av systemet och för att påverka förändringar i andra poster.

Utlösare körs före eller efter nedanstående operationer:

  • Föra in
  • Uppdatering
  • Radera
  • Hoppsan
  • Återställ

Jag kommer att visa dig hur du lägger till en trigger i apex genom att lägga till en trigger för Country-objektet som du har sett i klassen ovan:

Steg 1: Från objekthanteringsinställningarna för land, gå till Triggers och klicka på Ny.

Steg 2: Lägg till följande utlösningsdefinition i triggereditorn:

Trigger HelloWorldTrigger på Country__c (före infogning) {

Country__c länder = Trigger.new

HelloWorld.helloWorldMethod (länder)

}

Ovanstående kod uppdaterar ditt lands valuta före varje infogning i databasen.

Guvernörsgränser

Du kanske vet att Salesforce arbetar med arkitektur med flera hyresgäster, vilket innebär att resurser delas mellan olika klienter. För att säkerställa att ingen klient monopoliserar de delade resurserna, tillämpar Apex körtidsmotor strikt regulatorgränser. Om din Apex-kod någonsin överskrider en gräns utfärdar den förväntade guvernören ett undantag för körning som inte kan hanteras. Så som Salesforce-utvecklare måste du vara mycket försiktig när du utvecklar din applikation.

Bulkoperationer

Som Salesforce-utvecklare måste du alltid se till att din kod bibehåller regulatorgränserna. För att säkerställa att Apex följer regulatorgränserna måste du använda designmönstret för bulkanrop. En bulkoperation avser att begå mer än en post när du gör en DML-operation. Innan du gör en DML-operation måste du alltid se till att du lägger till raderna i en samling. Nedan är en bild som ger dig en fullständig beskrivning av designmönstret för bulkoperationer.

DML och datahantering

Du har tidigare sett hur man hämtar data från databasen med SOQL- och SOSL-frågor. Låt oss nu titta på de olika påståenden som du kan använda för att infoga data i Salesforce-databasen. För en Salesforce-utvecklare är det ett måste att veta vad dessa uttalanden kan göra och hur man använder dem.

DML-uttalande

Beskrivning
Föra inLägger till ett eller flera sObjekt i organisationens data
UppdateringÄndrar en eller flera befintliga sObject-poster
HoppsanSkapar nya poster och uppdaterar sObject-poster
RaderaTar bort en eller flera befintliga sObject-poster
ÅterställÅterställer en eller flera befintliga sObject-poster
Slår samman upp till tre poster av samma sObject-typ till en post

Visualforce och Apex

Du har kommit långt i din strävan att bli en Salesforce-utvecklare. Därefter diskuterar jag hur du kan integrera din visualforce-sida och din apex-kod. Du kan ansluta din visualforce-sida och din apex-kod med hjälp av styrenheter och tillägg.

  • Anpassade styrenheter -När du vill att din visualforce-sida ska köras helt i systemläge, dvs. utan behörighet och säkerhet på fältnivå, använder du en anpassad kontroller.

  • Controller Extension -När du vill lägga till nya åtgärder eller funktioner som utökar funktionaliteten hos en standard- eller anpassad styrenhet, använd en styrenhetstillägg.

I koden nedan har jag visat dig hur du tar med anpassad kontroller på din visualforce-sida:

I koden nedan har jag visat dig hur du inkluderar controller-tillägg på din visualforce-sida:

Undantagshantering

Om du har utvecklat applikationer tidigare, skulle du definitivt ha stött på undantag. Ett undantag är ett speciellt villkor som ändrar det normala flödet av programkörningen. Dela till exempel ett tal med noll eller få tillgång till ett listvärde som är utanför gränserna. Om du inte hanterar dessa undantag stoppas körningen av processen och DML: er rullas tillbaka.

Som Salesforce-utvecklare måste du veta hur du kan fånga dessa undantag och vad du ska göra när du har tagit dem. För att fånga undantag kan du använda försök, fånga och slutligen konstruera. När du väl har fått undantaget kan du hantera det på följande sätt:

Undantag Hur man hanterar det
DMLAnvänd metoden addError () i en post eller ett fält
VisualforceAnvänd ApexPages.message-klassen
Skicka ett e-postmeddelande med undantagDu kan meddela utvecklaren via e-post
Logga in ett anpassat objektDu kan använda en framtida metod för att fånga ett anpassat objekt

Hittills i denna Salesforce-utvecklarblogg har du sett hur du utvecklar ditt användargränssnitt med Visualforce, du har sett hur man skriver anpassad logik med Apex och olika koncept som triggers, bulkoperationer och undantagshantering. Sist men inte minst tar vi en titt på Salesforce-testramverket.

Testning

Som Salesforce-utvecklare måste du veta hur du testar koden du skriver. Testdriven utveckling är ett bra sätt att säkerställa långsiktig framgång för din programvara. Du måste testa din ansökan så att du kan verifiera att din ansökan fungerar som förväntat. Speciellt om du utvecklar en applikation för en kund är det mycket viktigt att testa den innan du levererar den slutliga produkten. Apex ger dig ett testramverk som låter dig skriva enhetstester, köra testerna, kontrollera testresultat och ha kodtäckningsresultat.

Du kan testa din ansökan på två sätt:

  1. Genom Salesforce-användargränssnittet är detta sätt att testa viktigt men kommer inte att fånga upp alla användningsfall för dina applikationer
  2. Du kan testa bulkfunktionalitet, upp till 200 poster kan skickas genom din kod med SOAP API eller visualforce standard set controller

Testklasser överför inga data till databasen och antecknas med @isTest. Jag har visat dig hur du lägger till en testklass genom att lägga till en testklass i HelloWorld-klassen nedan:

@isTest

privat klass HelloWorldTestClass {

static testMethod ogiltig validateHelloWorld () {

Country__c country = new Country__c (Name = ”India”, currency_value__c = 50.0)

Infoga land

country = [SELECT currency_value__c FROM Country WHERE Id = country.Id]

System.assertEquals (75, country.currency_value__c)

}

}

Jag hoppas att du har förstått alla begrepp som du behöver veta för att vara en Salesforce-utvecklare. För att dyka in i mer information, kolla in vår som kommer med instruktörsledad live-utbildning och verklig projektupplevelse. Om du har några kommentarer, vänligen lämna dem i kommentarfältet nedan.