React é uma biblioteca dedicada à construção de interfaces para ambientes variados como mobile, web e até mesmo realidade virtual. Em termos simplificados, "Tudo aquilo que o usuário pode utilizar é possível fazer no react". Originalmente, antes da popularização desta tecnologia, cada rota do back-end nos retornava um arquivo HTML diferente. Com o React, predominantemente no contexto de Single-Page Applications (SPA), o back-end simplesmente retorna JSON e o front-end gerencia as rotas e o consumo desses dados. Uma peculiaridade vital dessa abordagem é que a página nunca recarrega.
Embora o React seja frequentemente referido como uma biblioteca, devido ao vasto ecossistema de ferramentas que emergiram em torno dele, podemos também denominá-lo como um framework. Este ecossistema fornece um conjunto de ferramentas que simplifica o desenvolvimento de interfaces em diversos dispositivos e plataformas.
Dentro do ecossistema do React, quase tudo - desde CSS até imagens - é gerenciado dentro do JavaScript.
- React: biblioteca para construção de interfaces.
- ReactJS: é o comportamento do React dentro dos navegadores.
- React Native: combinação do React com outra biblioteca que interage com elementos nativos de plataformas móveis.
- Componentização: permite uma organização melhor do código, dividindo-o em blocos de funcionalidades específicas que não interferem no restante da aplicação.
- Divisão de Responsabilidades: o front-end cuida apenas da interface, enquanto a lógica de negócio permanece isolada. Isso significa que uma única API pode servir vários front-ends.
- Programação Declarativa x Imperativa: React adota uma abordagem mais declarativa para a construção de UI.
JSX é uma fusão de JavaScript com XML. Ele permite escrever HTML diretamente dentro de scripts JavaScript, proporcionando a capacidade de criar nossos próprios elementos e componentes.
-
BABEL: dado que os navegadores não entendem diretamente o código JSX do React, o Babel entra em cena para transformar esse código em algo que os navegadores possam interpretar.
-
WebPack: tem múltiplas funções:
- Geração de um 'bundle', que é basicamente um arquivo de código da aplicação. Ele pega todo código compilado pelo Babel e consolida em um único arquivo.
- Instrui o JavaScript sobre como importar recursos como CSS, imagens, entre outros.
- Oferece um recurso de "live reload" com o WebPack Dev Server para uma experiência de desenvolvimento mais fluida.
Espero que esse resumo sobre o React te ajude em sua jornada de aprendizado! 🌟📚