Clique e receba as novidades quentinhas no Telegram

A Microsoft mais uma vez contribuiu para a comunidade open source, mas não com uma nova oferta do Azure ou um recurso relacionado com o SQL Server. Em vez disso, a gigante de Redmond liberou o código do ReactXP, uma biblioteca que vem para ajudar as equipes de engenharia a desenvolver Apps multiplataforma.

ReactXP foi construída pelo time do Skype e baseia-se na React JS e React Native, que permitem desenvolver aplicativos que podem ser executados em múltiplas plataformas e na Web, usando uma base de código único, tanto para iOS, Android e Windows (UWP). A ferramenta Construtor de App tem uma grande ênfase em blocos de interface do usuário. Basicamente, ele funciona apenas como uma camada de abstração de plataforma cruzada leve, construída em React e React Native.

A versão pública do ReactXP foi aberta para a comunidade no começo de abril, clique aqui.

Veja o que a Microsoft disse sobre a história da ReactXP

Skype é executado em muitas plataformas — desktops, laptops, telefones móveis, tablets, navegadores e até mesmo em TVs e carros. Historicamente, a interface do usuário para cada cliente do Skype foi escrita do zero na língua “nativa” de cada plataforma (Objective-C no iOS, Java no Android, HTML e JavaScript na Web, etc.). Há cerca de um ano, embarcamos em um esforço para reinventar o Skype. Decidimos que precisávamos de uma nova abordagem ao desenvolvimento do cliente – uma que poderia maximizar nossa engenharia, eficiência e agilidade. Nós queríamos afastar a implementação de cada novo recurso várias vezes em bases de código diferentes. Queremos minimizar a duplicação de esforços. Exploramos um número de opções disponíveis. Wrappers de Web como Cordova (PhoneGap) não fornecem o desempenho ou a “sensação nativa” que procurávamos. Xamarin, que é uma grande solução para o desenvolvimento de plataformas móveis, não nos ajudou na web. Finalmente, decidimos construir nossa novo cliente em cima de React JS e React Native. ReactXP foi a primeira tentativa de unificar os comportamentos e as interfaces através de React JS e as várias implementações React Native. (Nós inicialmente referimos isso como ReactX, daí as referências a este termo dentro das fontes).

A equipe do Skype também fez muitas contribuições para o código base React Native para corrigir bugs, melhorar o desempenho e eliminar diferenças comportamentais entre React JS e React Native. A maior contribuição foi um grande retrabalho do mecanismo de layout React Native. A implementação
original vagamente segue o W3C flexbox padrão, mas difere do padrão em alguns aspectos importantes. O mecanismo de layout atualizado agora, confiantemente, produz todos os navegadores da web compatível com o mesmo layout.

ReactXP atualmente suporta as seguintes plataformas: Web (JS React), iOS (React Native), Android (React Native) e Windows UWP (React Native). UWP ainda é um trabalho em andamento, e alguns componentes e APIs ainda não estão completas.

Nomeadamente, ReactXP expõe APIs, componentes, estilos, animação e parâmetros de adereços para implementar de forma consistente em todos os React JS e React Native para iOS e Android.

Microsoft quer que o ReactXP seja uma maneira simples e fácil de construir Apps. Enquanto a equipe Skype continuará a manter e construir em cima de ReactXP, outras equipes da Microsoft estão desenvolvendo também suas contribuições para tornar o desenvolvimento mais recente, um sucesso para desenvolvedores de terceiros.

Você pode usar o ReactXP hoje para desenvolver aplicativos para plataformas incluindo a Web, iOS, Android e Windows UWP. Ainda mais, ele pode ser estendido com a funcionalidade de plataformas especializadas usando extensões.

O que é React?

React é uma biblioteca JavaScript para construção de interfaces de usuário. Originalmente ela foi criada pela equipe do Instagram e depois do Facebook comprá-la, React foi absorvida e agora, faz parte do portfólio da empresa de Mark Zuckerberg, que impulsionou ainda mais sua adoção no mundo open source.

React não é um Framework ou seja, é uma biblioteca JavaScript, logo, você terá que usar mais bibliotecas para formar uma solução completa, porém, é fácil de aprender e utilizar.

O que React faz de melhor é: construção de interfaces de usuário.

Utilizando JavaScript, que é perfeitamente entendido pelos navegadores, nós temos soluções famosas que estão utilizando React, como o Twitter Lite, FlipKart, Alibaba, The Washington Post, Microsoft To-Do etc… clique aqui e veja
também quem já está utilizando. Muitas empresas deverão construir suas soluções em Web Apps ou PWA (Progressive Web Apps).

Você deve estar se perguntando: Por que a Microsoft não usou Xamarin, adquirida no ano passado? Ele não faz a mesma coisa?

Xamarin tecnicamente é mais eficiente para construir aplicativos nativos, já o ReactXP é voltado para a criação de aplicativos Mobile e Web usando também uma mesma base de código.

Pegue como exemplo o Twitter Lite, que é a versão web do Twitter para celulares (mobile.twitter.com) e fica bem simples entender uma das grandes qualidades do React, que além de ser leve, tem a possibilidade de, em determinada ação, carregar apenas o evento ocorrido e não o App inteiro, gerando por exemplo, mais velocidade e economia de dados/servidor.

Progressive Web Apps ou PWA

A definição de Progressive Web Apps para um aplicativo, não deixa nenhuma dúvida de suas qualidades:

  • Progressivo – Funciona para qualquer usuário, independentemente do navegador escolhido, pois é criado com aprimoramento progressivo como princípio fundamental.
  • Responsivo – Se adequa a qualquer formato: desktop, celular, tablet ou o que for inventado a seguir.
  • Independente de conectividade – Pode trabalhar off-line ou em redes de baixa qualidade.
  • Semelhante a aplicativos – Parece com aplicativos para os usuários, com interações e navegação de estilo de aplicativos, pois é compilado no modelo de shell de aplicativo.
  • Atual – Sempre atualizado, não precisa baixar atualizações para o aplicativo, o navegador faz isso nos bastidores, se necessário.
  • Seguro – Fornecido via HTTPS para evitar invasões e garantir que o conteúdo não seja adulterado. • Descobrível – Pode ser identificado como “aplicativo” graças aos manifestos W3C, que permitem que os mecanismos de pesquisa os encontrem.
  • Engajável – Facilita o engajamento com recursos como notificações push.
  • Instalável – Permite que os usuários “guardem” os aplicativos mais úteis em suas telas iniciais sem precisar acessar uma loja de aplicativos.
  • Linkável – Compartilhe facilmente por URL, não requer instalação complexa.

Todas essas funções acima de PWA no novo app do Skype feito com ReactXP e mais detalhes, estão disponíveis no blog da Microsoft.

Eu separei para vocês um trecho interessante sobre o “comportamento responsivo do Skype”. Veja abaixo:

O app Skype funciona em uma ampla variedade de dispositivos de telefones para desktop PCs com telas grandes. É capaz de se adaptar às mudanças de tamanho (e orientação) de tela em tempo de execução. Isto é sobretudo da responsabilidade dos componentes para as camadas superiores da hierarquia de exibição, que mudam seu comportamento com base na largura da tela disponível. Eles se inscrevem para uma “store” que nós chamamos de “ResponsiveWidthStore”. Apesar do nome, esta store também controla a altura da tela (ou janela) e a orientação do dispositivo (paisagem ou retrato).

Como é comum com sites mais responsivos, definimos várias larguras de “break point”. No nosso caso, escolhemos três pontos de interrupção, significando que nosso aplicativo funciona em um dos quatro diferentes responsivos “modos”.

No modo mais estreito, o aplicativo usa um modo de “navegação em pilha”, onde os painéis da interface do usuário são empilhados uma em cima da outra. Este é um padrão típico de navegação para celulares. Para modos mais amplas, o aplicativo usa um modo de “navegação composto”, onde os painéis são posicionados ao lado do outro, permitindo um melhor uso dos itens em tela expandida.

Então, temos aqui o Skype, um Progressive Web App que funciona para qualquer usuário independente do navegador, responsivo, disponível em qualquer form factor: desktop, celular tablet ou o que for inventado, funciona off-line, parece um App nativo, não precisou ir na loja baixar e nem seguir as etapas de cadastro e etc…, seguro, sempre atualizado, com notificações, leve e envolvente.

Nós sabemos que fazer um App UWP nativo é o melhor dos mundos, mas, os Progressive Web Apps podem ajudar a resolver um problema crônico nos telefones Windows, a falta de Apps.

Para encerrar, já me posicionei sobre o Windows 10 S e acredito que ele é o futuro de toda a plataforma Windows da Microsoft e deixo aqui uma informação importante:

Windows 10 S não pode trocar o buscador, é obrigatório o uso do Bing e não pode trocar o navegador padrão, sendo obrigatório o uso do Edge (mas pode baixar outro navegador para utilizar, desde que esteja na Windows Store que será renomeada para Microsoft Store).

Com a Microsoft apostando na segurança, já que o Windows 10 S irá rodar apenas Apps UWP verificados que estão na Windows Store, além do Edge e Bing como padrão, fica totalmente desenhada a estratégia da empresa em “forçar” os desenvolvedores a fazerem Apps UWP ou Progressive Web Apps.

Toda essa unificação da Microsoft com o Windows 10 S, também refletirá em desenvolvimento de aplicativos UWP feitos sob medida para qualquer dispositivo, com tela e sem (screenless) e que envolvem o CShell e o Projeto Neon, que não se trata apenas de um regresso ao design do Windows Vista, mas sim, uma unificação nesta linguagem de desenvolvimento, para todos os modelos, assim como os PWA e de olho no futuro próximo, que é a Realidade Mista, a qual ninguém irá escapar e onde nem sempre o PWA será a solução para tudo.

Agora imagine o Google, por exemplo: Irá fazer o Google Chrome UWP e disponibilizar na Windows Store ou um Progressive Web App? Ou irá ignorar a plataforma Windows completamente?

E os novos “telefones” de Satya Nadella, com toda certeza, irá rodar o Windows 10 S.

A Build 2017 está chegando com muitas novidades, começa no dia 10 de maio e você verá a Microsoft falar muito sobre ReactXP, PWA e AI, além de outras soluções para o desenvolvimento Web e Mobile.

Falamos sobre a importância e a guinada no mercado com os Web Apps aqui, reveja!

Fique ligado!

Fonte: Microsoft