Os fãs do Facebook e entusiastas do desenvolvimento de aplicativos podem finalmente se alegrar: o projeto de framework da empresa, muito anunciado e anunciado recentemente, foi revelado ontem na F8 Developer Conference do Facebook. Reagir Nativo é um afastamento radical de como o desenvolvimento de aplicativos de interface do usuário móvel geralmente é feito.

Quando este projeto de código aberto foi anunciado pela primeira vez, recebeu reações entusiasmadas dos desenvolvedores. O React Native é uma nova abordagem porque permite que os desenvolvedores escrevam código e, em seguida, analisem os resultados em apenas alguns segundos. Naturalmente, isso é mais atraente para alguns do que ter que primeiro recompilar o aplicativo inteiro, como tem sido o caso tradicionalmente, para ver os resultados do desenvolvimento.

Apesar de ser uma mudança radical no desenvolvimento de aplicativos, a React Native compartilha algumas semelhanças com as melhores práticas convencionais. Por exemplo, ainda é baseado em JavaScript, assim como outras técnicas híbridas.

No entanto, onde esta estrutura de construção de aplicativo é marcadamente diferente é a remoção de um wrapper de plataforma cruzada. Geralmente, é onde os desenvolvedores acessam funções nativas em vários dispositivos. Em vez disso, o React Native incentiva os desenvolvedores a usar o JSX, que é uma variante JavaScript do Facebook, para “ligar” a widgets nativos. Em seguida, os desenvolvedores podem acessar os aplicativos de forma nativa e observar o mesmo comportamento, aparência, desempenho e se sentir como aplicativos nativos "verdadeiros".

No entanto, se você acha que o React Native é uma estrutura completa para esse tipo de desenvolvimento de aplicativos, pense novamente. O Facebook gosta de nos jogar uma bola curva: a empresa gosta de se referir a essa estrutura como uma ferramenta na qual os desenvolvedores podem confiar para realmente ver os aplicativos construídos com a arquitetura Model View Controller. Não surpreende, portanto, que o Facebook já esteja trabalhando duro para criar ferramentas complementares como Relé e GraphQL .

Uma nova filosofia de design

O ponto de React Native é que o Facebook quer que os designers pensem sobre a criação de aplicativos de uma maneira nova e completa. A React Native faz isso introduzindo uma estrutura realmente baseada na ideia de “aprender uma vez” e “escrever em qualquer lugar”. Em outras palavras, o React Native pode capacitar os desenvolvedores de aplicativos a se familiarizarem com ele e então usar esse conhecimento para desenvolver de forma fácil e eficiente aplicativos em diferentes plataformas.

Em teoria, os desenvolvedores de aplicativos podem criar um aplicativo para iOS e, em seguida, usar o que aprenderam nesse processo para desenvolver e criar com agilidade um aplicativo para Android. Em vez de criar um aplicativo e adaptá-lo a vários sistemas operacionais, o React Native permite que eles tomem conhecimento do framework e criem aplicativos em diferentes plataformas a partir do zero. O Facebook acredita que essa abordagem tornará todo o processo de desenvolvimento de aplicativos mais simples e eficaz. Afinal, quando os desenvolvedores podem aprender o Reagir Nativo uma vez, todos estarão na mesma página quando passarem de um sistema operacional para o outro.

Antes que os desenvolvedores do Android comecem a ficar animados demais, há uma advertência para essa notícia, infelizmente: no momento, o suporte do Android ainda não está disponível. O React Native só pode ser usado com o iOS, mas o Facebook está trabalhando no suporte do Android enquanto escrevo; Fique ligado…

As origens do Reagir Nativo

Se você está se perguntando sobre a história deste framework, ele volta para Tecnologia React do Facebook , que é uma biblioteca JavaScript destinada à criação de interface de usuário. O que é notável sobre o React é que ele existe há pouco menos de dois anos, embora já se torne bastante popular nesse curto período de tempo. O que diferencia esta tecnologia é como ela acomoda lógica e apresentação ao mesmo tempo, o que é outro movimento ousado da parte do Facebook.

A tecnologia React é fundada em unidades de código que se comportam como classes. Esses componentes absorvem dados e criam HTML com base nesses dados. Além disso, os componentes individuais oferecem até mesmo funcionalidades específicas aos desenvolvedores, o que permite que eles sejam usados ​​juntos em diferentes projetos. Isso tem o efeito geral de promover a reutilização, bem como simplificar o pensamento por trás da lógica de programação.

O que o Facebook está dizendo?

É útil e instrutivo ler o que o pessoal do Facebook está dizendo sobre o lançamento de seu projeto. Reagir líder do projeto nativo, Tom Occhino, escrevi que o quadro concede aos designers liberdade sem precedentes. Destacando o fato de que seus componentes são funções ininterruptas que refletem o que os desenvolvedores estão observando, Occhino enfatizou como os desenvolvedores podem pular a etapa usual de leitura da implementação básica de visualização renderizada antes de escrever para ela.

No site React Native, o Facebook também apontou que os designers têm o poder de utilizar componentes fundamentais da plataforma, como o UI Navigation Controller para iOS e a UI Tab Bar. Como resultado, isso cria aplicativos que apresentam uma aparência uniforme que é consistente com a plataforma inteira. Também eleva a fasquia em termos de qualidade. Os designers podem ficar contentes que os componentes sejam incluídos sem esforço em um aplicativo através de seus componentes equivalentes React Native, sendo estes o Navigator IOS e o Tab Bar IOS.

A reação inicial ao novo framework do Facebook tem sido geralmente positiva, e é ajudado que o reação positiva veio de pessoas como o desenvolvedor da Mozilla, James Long. É claro que agora que o React Native está amplamente disponível, somente o tempo dirá como ele é realmente recebido. Neste momento, a reação foi dividida em dois campos: aqueles que acolhem essa notícia de braços abertos e aqueles que são céticos e até criticam essa mudança ambiciosa no desenvolvimento de aplicativos do Facebook.

O grande diferencial disso é como o React Native do Facebook está buscando mudar significativamente a indústria de desenvolvimento do JavaScript, para melhor ou para pior. Quando você tira essa notícia com o Projeto NativeScript da Telerik, certamente parece que os desenvolvedores de JavaScript estão em alguns momentos agitados.

Para ouvir o Facebook dizer - e, sim, estamos conscientes do fato de que eles têm que se esforçar ao anunciar o lançamento do novo projeto - eles estão muito entusiasmados com o que isso significa para a indústria do design. Occhino dobrou o hype, dizendo ao mundo como estava "empolgado" o fato de a empresa ter disponibilizado o React Native para todos no GitHub e lançá-lo como uma ferramenta de código aberto para iOS.

Ele passou a tranqüilizar o mundo de que o suporte ao Android está chegando em breve - quão logo alguém pode imaginar - e que o Facebook planeja continuar com a iniciativa Reagir para a Web. O plano da empresa parece ter sido lançar o suporte ao iOS o mais cedo possível para coletar o máximo de feedback possível dos usuários iniciais desse framework, e então pegar essa informação e colocá-la em bom uso para o suporte do Android.

O que o futuro reserva

Como em todos os novos lançamentos de design, os primeiros adotantes sempre se lembram de que o que eles estão colocando em suas mãos está longe de ser perfeito. Então, quando você está experimentando com o React Native, não se surpreenda se algo ainda não foi implementado da maneira que você acha que deveria ser ou se algo está funcionando de forma inadequada. Em qualquer situação, o Facebook o cobre porque está convidando todos os primeiros usuários a dar o máximo de feedback possível desde o início.