O react native é um projeto comandado pelos engenheiros de uma das maiores redes sociais da atualidade, o Facebook. Ele traz diversas ferramentas para a criação de aplicativos móveis do tipo nativo, voltados para plataformas Android e iOS.
Esse projeto ainda utiliza opções modernas para desenvolvimento front-end, mas a arte ainda em Java Script, uma linguagem de programação bastante conhecida e utilizada por ambos os sistemas operacionais.
No entanto, o stack o react é bastante poderoso uma vez que permite a utilização de diversas linguagens como o CSS Flexbox e JSX, além de diversos pacotes.
O react é definido pelo Facebook, seu criado, como uma biblioteca da linguagem de programação Java Script, utilizada para a construção de interfaces. No caso, ela faz exatamente isso, proporcionando as ferramentas e padrões para que os desenvolvedores criar aplicativos com qualidade e de forma muito mais rápida.
No geral, o react funciona apenas como uma biblioteca de renderização para views, mas em si o projeto foi criado para ser um ecossistema dentro dessa tecnologia, oferecendo ferramentas para desenvolver um aplicativo completo.
Quem o utiliza sabe que há diversos componentes de linguagem, como o JSX, que é para linguagem de marcação. Esse tipo e bem semelhante a um XML, mas com o poder apresentado pela linguagem de Java Script.
Por ser apenas uma biblioteca, isso tornou fácil para que os engenheiros que o criaram o levasse para além da web, assim a plataforma é usada para uma infinidade de opções.
A ideia inicial surgiu em 2013 em um hackathon do próprio Facebook. Ao público, ela só veio dois anos depois, em 2015, onde também foi disponibilizado o seu código fonte.
Essa tecnologia apresenta três conceitos base, sendo eles:
Declarativo: ele serve para proporcionar mais facilidade na criação das interfaces de usuário, chamada da UI, com maior interatividade. No caso, o desenvolver consegue criar pequenas views em cada estado do aplicativo, onde o core do react se encarrega de fazer o resto, assim efetuando as atualizações e renderizando o que for necessário.
É esse conceito que faz com que as aplicações do react sejam bem mais previsíveis em relação ao comportamento.
Componentes: com a tecnologia o desenvolvedor consegue criar pequenos conceitos, para que sejam mantidos em seu próprio estado e também empregado na construção dos UIs, o que faz com que elas sejam mais complexas e detalhadas.
Esses componentes são escritos em Java, possibilitando ao desenvolvedor que trabalhe sem problemas com dados complexos, além de não ser necessário se preocupar com a atualização deles na DOM.
Escrever em qualquer lugar: o react é apenas um tipo de biblioteca, mas não trabalha como um framework completo. Neste caso, ele pode ser facilmente acoplado a projetos que já existem, para que seja feito o desenvolvimento de novas features nesse projeto.
Com isso, não existe a necessidade de reescrever um código que já existe, já que o react meio que aprende aquele código. Além disso, o sistema pode ser empregado ao uso de renderizações do servidor, fazendo com que as aplicações sejam desenvolvidas para multiplataforma.