ForceJS 2: Uma biblioteca moderna para REST API do Salesforce

O ForceJS 2 é um biblioteca open source que torna realmente fácil manipular a REST API do Salesforce em aplicações JavaScript. Ela pode ser usada para desenvolver browser-based apps ou hybrid mobile apps usando Salesforce Mobile SDK ou Apache Cordova, além de autenticar com o Salesforce utilizando a interface Lightning.

Pensando no desenvolvimento de aplicações modernas o ForceJS 2 foi desenvolvido em cima do ECMAScript 6 sendo possível integrar com os frameworks JavaScript mais atuais, tais como React, Angular 2, etc. Além disso você pode tirar proveito dos modules e promises do ES6. Ele também é compatível com a versão ECMAScript 5.

Este é um simples exemplo mostrando como o ForceJS 2 pode ser utilizado em uma aplicação ECMAScript 6 para se autenticar com o Salesforce usando OAuth e retornar uma lista de contatos da plataforma.

import {OAuth, DataService} from ‘forcejs’;
let oauth = OAuth.createInstance();
oauth.login().then(oauthResult => {
DataService.createInstance(oauthResult);
loadContacts();
});
let loadContacts = () => {
let service = DataService.getInstance();
service.query(‘select id, Name from contact LIMIT 50’)
.then(response => {
let contacts = response.records;
// do something with contacts
});
}

Arquitetura Modular

O ForceJS 2 foi construído sob o design de uma arquitetura modular, incluindo dois módulos principais OAuth e Data-Service.

OAuth

OAuth permite setar uma conexão com o Salesforce usando o User Agent Workflow. Se você quiser apenas o access token do Salesforce, esse módulo é tudo o que você precisa. Ele é realmente fácil de configurar e ainda conta com vantagem de renovar o access_token automaticamente quando o mesmo expira.

Data-Service

O módulo de data-service é onde a mágica realmente acontece. Ele permite que você consulte e manipule os dados que vem das APIs do Salesforce. Depois de obter seu access token, você pode utilizá-lo para criar uma instância de DataService e ter acesso aos dados da plataforma.

É possível ter uma instância singleton de DataService ou múltiplas instâncias com respectivos nomes, conforme o design de sua aplicação.

createInstance(oAuthConnection);

Por default o método createInstance() cria uma instância singleton. Se você tem a intenção de criar múltiplas instâncias, você precisa especificar um nome para identificá-la.

createInstance(oAuthConnection, options, "sales");

Primeiros Passos e Documentação da API

ForceJS 2 é realmente fácil de manipular. Para conhecer mais detalhadamente a biblioteca e começar a utilizá-la, acesse: https://github.com/ccoenraets/forcejs.