Skip to main content

Codificar com linguagens do Salesforce

Objetivos de aprendizagem

Após concluir esta unidade, você estará apto a:

  • Listar linguagens que ajudam você a desenvolver com o Salesforce.
  • Explicar os benefícios de cada uma das linguagens discutidas nessa unidade.
  • Descrever como o Apex dá suporte ao desenvolvimento no Salesforce.

Conheça suas opções

Você acabou de conhecer o desenvolvimento de front-end na Salesforce Platform usando personalizações e automação sem código e com pouco código. Agora, se você é um programador de verdade, essa unidade é para você. Mesmo que você não seja programador, ainda assim conhecerá as principais funções do desenvolvimento do Salesforce que vão ajudar você a se comunicar com seus programadores. 

No desenvolvimento com a Salesforce Platform, há várias linguagens de programação que podem ser usadas, incluindo: 

  • Estrutura de Componentes Web do Lightning: uma estrutura de desenvolvimento de interface do usuário baseada em JavaScript semelhante a AngularJS ou React.
  • Apex: linguagem de programação exclusiva do Salesforce com sintaxe semelhante a Java.
  • Node.js: Um tempo de execução assíncrono e orientado a eventos do JavaScript projetado para criar aplicativos de rede escaláveis.

Vamos dar uma olhada nas funções do aplicativo de exemplo da Dreamhouse que melhor demonstram essas tecnologias.

Componentes Web do Lightning

A estrutura de Componentes Web do Lightning (LWC) é uma estrutura de desenvolvimento de interface de usuário para desktop e dispositivos móveis. Como o nome indica, é uma abordagem de desenvolvimento de interface de usuário baseada em componentes. Usando componentes Web do Lightning personalizados ou já criados, você pode desenvolver rapidamente interfaces de usuário elegantes e consistentes para seus aplicativos.

Se você conhece estruturas como AngularJS, React ou Polymer, tem uma boa ideia do que esperar dos componentes Web do Lightning. A vantagem, claro, é que os componentes Web do Lightning estão prontos para funcionar com todos os seus dados comerciais no Salesforce.

Nota

Nota: 

À medida que aprender mais sobre os Componentes Web do Lightning, você vai notar uma diferença na forma como eles usam maiúsculas. Usamos maiúsculas em todas as palavras quando nos referimos ao modelo de programação dos Componentes Web do Lightning. Usamos minúscula na primeira palavra quando nos referimos aos próprios componentes, como componentes Web do Lightning.

Vamos observar um imóvel como o que vimos no Criador de aplicativo Lightning na última unidade, mas, agora, vamos vê-lo na guia Properties (Imóveis) dentro do aplicativo da Dreamhouse. Essa página tem muitos componentes Web do Lightning, mas, aqui, nos concentraremos em apenas um componente personalizado em particular: o componente map (mapa). Ele simplesmente mostra a localização do imóvel. O usuário aumenta o zoom para ver mais detalhes sobre o imóvel e arredores.

Guia Properties (Imóveis) do aplicativo da Dreamhouse mostrando o registro de um imóvel usando o componente Web do Lightning map (mapa).

Vamos ver como esse componente foi criado. 

Se você estiver acompanhado no Trailhead Playground até esse ponto, ótimo! A partir daqui, mostraremos capturas de tela do código dentro do aplicativo da Dreamhouse usando o Visual Studio Code.

O Visual Studio Code, ou VS Code, juntamente com o Pacote de extensões do Salesforce, é o ambiente de desenvolvimento integrado preferido do Salesforce que você pode usar para desenvolver, depurar e testar código em sua organização. Nos exemplos abaixo, observamos o código do componente property (imóvel) e, especificamente, o componente personalizado map (mapa) no VS Code. Pare um momento para observar algumas partes essenciais. Um arquivo HTML usa a marca <template> (modelo) onde partes do HTML são armazenadas.

O Visual Studio Code mostrando o arquivo propertyMap.html.

Um arquivo JavaScript contém métodos que definem o que faz o componente funcionar. 

O Visual Studio Code mostrando o arquivo propertyMap.js.

Os componentes Web do Lightning também podem ter um arquivo .css para estilizar o componente; no entanto, esse componente não tem um arquivo .css. Na coluna esquerda do VS Code, você também vê alguns ativos adicionais que fazem parte do pacote do componente, incluindo um arquivo .xml e uma pasta tests (testes). 

Outra coisa fantástica sobre os componentes Web do Lightning é a facilidade de verificar se seus componentes são compatíveis com dispositivos móveis. Verifique e depure seus componentes Web do Lightning usando simuladores móveis para ter certeza de que seu público móvel não terá problemas.

Para saber mais sobre componentes Web do Lightning, confira a seção Recursos abaixo.

Apex

O Apex é uma linguagem de programação fortemente tipada e orientada a objetos que permite aos desenvolvedores do Salesforce adicionar lógica de negócios a eventos do sistema, como cliques de botões e atualizações de registros relacionados.

Anteriormente, falamos sobre o Flow Builder como ferramenta que exige pouco código. Embora seja de pouco código, você também pode expandir as funções do Flow Builder com um pouco de codificação para o Apex. Outra alternativa é criar aplicativos mais complexos apenas com o Apex! Vamos dar uma olhada no código do fluxo de tela que vimos na Unidade 2 que reúne informações para criar um novo registro de imóvel no aplicativo da Dreamhouse.

Se você já desenvolveu em Java, provavelmente consegue ver o que está acontecendo nessa classe. Lembramos mais uma vez que não vamos ver todos os detalhes dessa implementação. Além da sintaxe semelhante a Java, podemos fazer outras observações.

Código do Apex mostrando onde o Apex invoca as ações dos fluxos.

  • Observe que as classes internas GeocodingAddress e Coordinates têm propriedades em cada classe com a anotação @InvocableVariable. Isso permite que você as use para transmitir dados para o fluxo.
  • O método geocodeAddresses do Apex está anotado com @InvocableMethod, portanto, ele já pode ser invocado como uma ação do fluxo.
  • O método geocodeAddresses gera as coordenadas da propriedade a partir do endereço, realizando uma chamada HTTPCallout para um serviço de terceiros.

É claro que a expansão do Flow é apenas uma das formas de usar o Apex para melhorar a funcionalidade da sua organização. Confira a seção Recursos para saber mais.

Node.js 

O Node.js é um tempo de execução assíncrono e orientado a eventos do JavaScript projetado para criar aplicativos de rede escaláveis. Na Salesforce, usamos o Node.js como ferramentas de desenvolvedor, mas não desenvolvemos código com ele na plataforma.

Quando você cria um novo projeto usando o comando force:project:create na Salesforce CLI ou com a paleta de comandos do VS Code, um conjunto de scripts e utilitários do Node.js é incluído no projeto para melhorar a experiência do desenvolvedor. O Node.js é um mecanismo de script independente de sistema operacional que pode ser usado para tarefas como formatar com o Prettier, aplicar o recurso de lint com o ESLint, testar o código dos componentes Web do Lightning com o Jest e muito mais. 

Bibliotecas Node.js no aplicativo da Dreamhouse.

Você acabou de conhecer várias linguagens e as estruturas mais comuns que podem ser usadas para personalizar a Salesforce Platform. Na próxima unidade, você aprenderá sobre ferramentas e produtos que podem ser integrados para ampliar ainda mais a funcionalidade na sua organização.

Recursos

Compartilhe seu feedback do Trailhead usando a Ajuda do Salesforce.

Queremos saber sobre sua experiência com o Trailhead. Agora você pode acessar o novo formulário de feedback, a qualquer momento, no site Ajuda do Salesforce.

Saiba mais Continue compartilhando feedback