Introdução

Neste tutorial, abordaremos como desenvolver aplicações empresariais com o Salesforce utilizando Apex e o Framework Lightning. Vamos integrar ferramentas essenciais como Salesforce DX para promover a agilidade e a colaboração em equipes de desenvolvimento e Git para versionamento de código. Com um passo a passo detalhado, os desenvolvedores aprenderão desde a configuração do ambiente até a implementação e testes de uma aplicação real. Este guia é ideal para quem deseja se aprofundar no desenvolvimento em Salesforce e otimizar fluxos de trabalho com as melhores práticas do setor.

Etapas

  1. Configuração do Ambiente de Desenvolvimento

    Comece instalando o Salesforce CLI, uma ferramenta de linha de comando essencial para acessar recursos do Salesforce. Depois, instale o Visual Studio Code e adicione as extensões do Salesforce para melhorar sua experiência de desenvolvimento.

    commands
    # Instalar Salesforce CLI
    npm install -g sfdx-cli
    # Verifique se a instalação foi bem-sucedida
    sfdx --version

  2. Criação de um Novo Projeto com Salesforce DX

    Utilize o Salesforce CLI para criar um novo projeto. Navegue até o diretório onde deseja criar o projeto e execute o comando abaixo. O nome do projeto será `MyBusinessApp`.

    commands
    sfdx force:project:create --projectname MyBusinessApp --template standard
    cd MyBusinessApp

  3. Autenticação na Sua Organização Salesforce

    Para implementar e testar sua aplicação, será necessário autenticar-se na sua organização Salesforce. Utilize o comando a seguir para abrir uma página de autenticação no seu navegador.

    commands
    sfdx force:auth:web:login --setdefaultusername --setalias MyDevOrg

  4. Criação de um Objeto Personalizado com Apex

    Com a organização configurada, vamos criar um objeto personalizado chamado `Invoice__c` utilizando o Apex. Crie um novo arquivo dentro da pasta `force-app/main/default/objects` com o nome `Invoice__c.object-meta.xml`. O arquivo deve conter a configuração do objeto.

    Invoice__c.object-meta.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
        <label>Invoice</label>
        <pluralLabel>Invoices</pluralLabel>
        <nameField>
            <label>Invoice Number</label>
            <type>AutoNumber</type>
            <displayFormat>INV-{0000}</displayFormat>
        </nameField>
        <fields>
            <fullName>Amount__c</fullName>
            <label>Amount</label>
            <type>Currency</type>
            <required>false</required>
        </fields>
    </CustomObject>

  5. Implantação do Objeto Personalizado

    Uma vez que o arquivo do objeto estiver criado, você pode implantar as alterações na sua organização Salesforce com o seguinte comando:

    commands
    sfdx force:source:push

  6. Criação de uma LWC para Exibir Faturas

    Agora que temos o objeto personalizado, vamos criar uma Lightning Web Component (LWC) chamada `invoiceDisplay`. Execute o comando para criar o componente em `force-app/main/default/lwc`. Em seguida, adicione o código necessário.

    commands
    sfdx force:lightning:component:create --type lwc --componentname invoiceDisplay --outputdir force-app/main/default/lwc

    invoiceDisplay.js
    import { LightningElement, wire } from 'lwc';
    import getInvoices from '@salesforce/apex/InvoiceController.getInvoices';
    
    export default class InvoiceDisplay extends LightningElement {
        invoices;
        error;
    
        @wire(getInvoices)
        wiredInvoices({ error, data }) {
            if (data) {
                this.invoices = data;
            } else if (error) {
                this.error = error;
            }
        }
    }

    invoiceDisplay.html
    <template>
        <template if:true={invoices}>
            <ul>
                <template for:each={invoices} for:item="invoice">
                    <li key={invoice.Id}>{invoice.Name} - {invoice.Amount__c}</li>
                </template>
            </ul>
        </template>
        <template if:true={error}>
            <p>Error: {error}</p>
        </template>
    </template>

  7. Criação do Controlador Apex para Faturas

    Crie um controlador Apex para buscar as faturas criadas. O arquivo `InvoiceController.apex` deve ser criado no diretório `force-app/main/default/classes`.

    InvoiceController.apex
    public with sharing class InvoiceController {
        @AuraEnabled(cacheable=true)
        public static List<Invoice__c> getInvoices() {
            return [SELECT Id, Name, Amount__c FROM Invoice__c];
        }
    }

  8. Testes Unitários para o Controlador Apex

    Implemente testes unitários para garantir a funcionalidade do controlador Apex. Crie o arquivo `InvoiceControllerTest.apex` no diretório `force-app/main/default/classes`.

    InvoiceControllerTest.apex
    @isTest
    private class InvoiceControllerTest {
        @isTest
        static void testGetInvoices() {
            Invoice__c invoice = new Invoice__c(Name='Test Invoice', Amount__c=100);
            insert invoice;
    
            Test.startTest();
            List<Invoice__c> invoices = InvoiceController.getInvoices();
            Test.stopTest();
    
            System.assertEquals(1, invoices.size());
        }
    }

  9. Executando os Testes Unitários

    Para garantir que tudo esteja funcionando corretamente, execute os testes unitários criados. Utilize o comando abaixo:

    commands
    sfdx force:apex:test:run --resultformat human --wait 10

  10. Controle de Versão com Git

    Para gerenciar o código e garantir a colaboração, inicialize um repositório Git no diretório do seu projeto e faça commit das suas alterações.

    commands
    git init
    git add .
    git commit -m "Initial commit of MyBusinessApp"

Conclusão

Neste tutorial, você aprendeu a desenvolver uma aplicação empresarial utilizando Apex e o Framework Lightning, incorporando práticas modernas como Salesforce DX e controle de versão com Git. Agora você pode criar aplicações mais eficientes e colaborações de equipe mais fluídas. Aprofundar-se nessas tecnologias não apenas aprimorará suas habilidades técnicas, mas também mostrará como criar soluções robustas para desafios empresariais.

Hashtags

#Salesforce #Apex #Lightning #SalesforceDX #Git #DesenvolvimentoEmpresarial