Introdução ao Salesforce Mobile SDK
Objetivos de aprendizagem
Após concluir esta unidade, você estará apto a:
- Explicar a diferença entre desenvolvimento do Salesforce Mobile SDK e do aplicativo Salesforce.
- Descrever os recursos oferecidos pelo Salesforce Mobile SDK.
Introdução ao desenvolvimento do Salesforce Mobile SDK
Em pouco tempo, os dispositivos móveis se tornaram indispensáveis em nossas vidas pessoais e profissionais. Pessoas em todo o mundo criam e consomem dados em uma variedade cada vez maior de dispositivos conectados. Os funcionários usam dispositivos inteligentes para manter o contato uns com os outros, para fazer negócios com clientes e para envolver o público nas redes sociais.
Para enfrentar o desafio de gerir negócios em dispositivos móveis, o Salesforce oferece a Lightning Platform. Essa plataforma garante confiabilidade, disponibilidade e segurança de nível empresarial em uma ampla gama de tecnologia móvel.
A Lightning Platform oferece diversas opções para criar e implantar aplicativos móveis. As duas opções mais básicas e abrangentes são o aplicativo Salesforce e o Salesforce Mobile SDK. Neste emblema, você começa com o desenvolvimento de aplicativos do Mobile SDK.
O Salesforce Mobile SDK dá aos desenvolvedores ferramentas para criar aplicativos móveis com experiências de usuário personalizadas. O Mobile SDK permite a você produzir aplicativos autônomos que podem ser distribuídos pela Apple App Store ou Google Play Store. Esses aplicativos podem ser direcionados a funcionários, clientes ou parceiros. Você pode escolher tecnologias nativas ou da web para criar esses aplicativos, ao mesmo tempo que aproveita o mesmo nível de confiabilidade e segurança disponíveis no aplicativo Salesforce.
Recursos e serviços
O Salesforce Mobile SDK aproveita a tecnologia da plataforma para proporcionar uma experiência de desenvolvimento móvel completa. Sua arquitetura modular fornece vários recursos e serviços.
- Enterprise identity and security (Identidade e segurança empresarial): o Mobile SDK inclui uma implantação completa da Política de aplicativos de cliente externos da Salesforce para que todos os usuários possam acessar seus dados de forma fácil e segura. Ele dá suporte a SAML e a fluxos de autenticação avançados para que os administradores sempre tenham controle total sobre o acessos a dados.
- SmartStore encrypted database (Banco de dados criptografado SmartStore): os bancos de dados móveis são úteis para se criar aplicativos de resposta rápida que também funcionam em qualquer condição de rede. O SmartStore permite o armazenamento e a recuperação fáceis de dados localmente, ao mesmo tempo que dá suporte a um modelo de dados flexível. Ele também usa criptografia AES-256 para garantir sempre a proteção dos dados.
- Mobile Sync (Sincronização móvel): a Sincronização móvel oferece uma API simples para sincronizar dados entre seu banco de dados offline e a nuvem do Salesforce. Com a Sincronização móvel, os desenvolvedores podem se concentrar na IU e na lógica de negócios do aplicativo e deixar a lógica de sincronização complexa para o Mobile SDK.
- Mobile services (Serviços móveis): o Mobile SDK é compatível com muitos serviços móveis da plataforma, inclusive notificações por push, geolocalização, análise, ferramentas de colaboração e lógica de negócios na nuvem. Esses serviços podem encarecer seu aplicativo móvel e reduzir o tempo de desenvolvimento.
- Salesforce Experience Cloud sites (Sites do Salesforce Experience Cloud): com Sites do Salesforce Experience Cloud e o Mobile SDK, os desenvolvedores podem criar aplicativos móveis direcionados a seus clientes e parceiros. Esses aplicativos se beneficiam dos mesmos recursos empresariais e da confiabilidade dos aplicativos dos funcionários.
- iOS and Android (iOS e Android): o Mobile SDK dá suporte a desenvolvimento nos dois sistemas operacionais móveis mais utilizados.
Sobre desenvolvimento de aplicativos nativos
O Salesforce Mobile SDK permite desenvolver aplicativos nativos em iOS e em Android. Crie aplicativos nativos do Mobile SDK usando as ferramentas e linguagens de desenvolvimento da plataforma móvel. Por exemplo, você pode desenvolver aplicativos iOS em Xcode usando Swift ou Objective-C. Os aplicativos nativos oferecem o máximo de desempenho e têm suporte total dos sistemas operacionais e dos recursos do dispositivo.
Acesso a recursos do dispositivo
Os aplicativos nativos têm acesso direto a recursos como:
- Fast graphics API (API gráfica rápida): este recurso é mais relevante se você usa muitos dados e precisa de uma atualização rápida.
- Fluid animation (Animação fluida): os gráficos rápidos produzem animações fluidas. A animação de alta qualidade é essencial em jogos, relatórios altamente interativos e aplicativos que transformam fotos e sons.
- Built-in components (Componentes internos): a câmera, o catálogo de endereços, a localização geográfica e outros recursos nativos do dispositivo podem ser integrados perfeitamente aos aplicativos móveis. Outro componente interno importante do sistema operacional nativo é o armazenamento criptografado, mas falaremos sobre isso mais tarde.
- Ease of use (Facilidade de uso): os clientes valorizam o desempenho e a aparência dos aplicativos nativos. Ao adicionar os recursos nativos que eles esperam, seu aplicativo ficará muito mais fácil de usar.
Ferramentas de desenvolvimento avançadas
O desenvolvimento de aplicativos nativos exige ambiente de desenvolvimento integrado (Integrated development environment, IDE). Os IDEs fornecem ferramentas para criar, depurar, gerenciar projetos, controlar versões e outros requisitos de desenvolvimento profissionais. O Mobile SDK dá suporte a Xcode em desenvolvimento de iOS e ao Android Studio para desenvolvimento de Android. Nesses ambientes, os desenvolvedores podem aproveitar as vantagens de:
- Estruturas e APIs comprovadas
- Efeitos visuais sem dificuldade por meio de estruturas e componentes consagrados
- Tecnologia de depuração profissional
Recursos
- Trailhead: Configurar suas ferramentas de desenvolvedor do Mobile SDK
- Documentação do desenvolvedor: Mobile SDK
- Trailhead: Salesforce Mobile App Rollout