React

De Open Source Software
React.png

React é uma popular biblioteca JavaScript de código aberto que executa a visualização de dados com a ajuda do HTML, teve o seu lançamento em 29 de maio de 2013. Também é conhecido como ReactJS e React.js, portanto, não se confunda se você ler notações diferentes em lugares diferentes, o site oficial do projeto é o reactjs.org. Como é desenvolvido pelo Facebook, também é conhecido popularmente como “Facebook React.js”. Atualmente, é mantido por aplicações como Instagram e o próprio Facebook e desenvolvedores da comunidade que estão interessados ​​na biblioteca.

Afirmar que o React é uma blibioteca, significa dizer que ele não é um framework, é simplesmente uma coleção de funcionalidades que podem ser acionadas pelos desenvolvedores para a resolução de problemas. No caso do React, sua única e principal função é a criação de interfaces de usuário, ou seja, o que será mostrado para o usuário final na tela, sem se preocupar em saber sobre o resto. De acordo com o serviço de análise de JavaScript Libscore, o React está sendo usado nos sites da Netflix, Imgur, Feedly, Airbnb, SeatGeek, HelloSign, Walmart e outros.[1]

A presente Wiki, esta estruturada com base na ISO 12207, que narra por sua vez, a possibilidade de flexibilização de processos, atividades e tarefas a serem realizados de acordo com cada projeto de software. A flexibilização fundamenta-se no mapeamento dos processos, atividades e tarefas relevantes e/ou adequadas ao projeto em questão, da mesma forma, à abolição de processos, atividades e tarefas não cabíveis. Se apropriando da flexibilização da norma, abaixo os itens que cabem ao projeto React.


PROCESSOS PRIMÁRIOS/FUNDAMENTAIS

Aquisição: para obter o React, basta acessar o repositório https://github.com/facebook/react. 

O React, sozinho, é destinado principalmente ao desenvolver interfaces de páginas web. Em 2015, o Facebook anunciou o módulo React Native, que em conjunto com o React, possibilita o desenvolvimento de aplicativos para Android e iOS utilizando componentes de interface de usuário nativos de ambas plataformas, sem precisar recorrer ao HTML.[2]

Desenvolvimento: a disponibilização do React e feita por meio de em um repositório público do GitHub.

Esta abordagem visa fazer com que a comunidade contribua para o desenvolvimento do seu núcleo, fazendo com que a biblioteca seja cada vez mais rápida e fácil de usar.

Operação: o ReactJS funciona sendo uma 'view' usando um sistema baseado em componente. 

Os componentes são especificados como tags HTML personalizadas, proporcionando fácil usabilidade. O React é muito útil quando se trata de proteger componentes internos ou fluxos de dados. Os subcomponentes não podem ser diretamente afetados com consultas externas, sendo uma boa opção para desenvolvedores front-end. Também é muito eficiente na atualização do documento HTML com novos dados, tornando-o uma escolha perfeita para aplicações Web orientados a dados, como o Facebook ou o Instagram.

Manutenção: a comunidade modifica a biblioteca e depois de revisada, é liberada o para uso.

Na pesquisa de 2018 sobre hábitos de desenvolvedores do site Stack Overflow, o React foi a terceira biblioteca ou framework mais citado pelos usuários e desenvolvedores profissionais, ficando atrás somente do Node.js e Angular, respectivamente[3]. A biblioteca também garante que seja feita uma separação limpa entre os diferentes componentes, garantindo fácil manutenção e atualização no futuro[5]. React é uma nova tecnologia quando comparada com outras tecnologias do mercado. Ela surgiu em 2011, quando Jordan Walke, Engenheiro de Software do Facebook criou a biblioteca. React é influenciado pelo XHP, que é uma estrutura de componente HTML simples para PHP. O primeiro caso de uso do React foi no feed de notícias do Facebook em 2011. Mais tarde, ele foi escolhido pelo Instagram para usá-lo em seu sistema. Com o tempo, o React cresceu e o Facebook decidiu torná-lo de código aberto em maio de 2013 no JSConf US.


PROCESSOS ORGANIZACIONAIS

Gestão - por ser um dos primeiros projetos de código aberto do Facebook, a própria empresa, afirma estar aprendendo a operar desta forma
e trabalhando para tornar a contribuição mais fácil e transparente.

Como métrica para auxílio na gestão, ela cita a adoção do código de conduta e espera dos integrantes da comunidade, o seu completo cumprimento. Existem também códigos de condutas para eventos como a Conferência de React no Brasil, este código de conduta, visa aproximar organizações e desenvolvedores em um espaço para discussão e aprendizado, e assim, oferecer aos usuários de suas aplicações, uma experiência cada vez mais interessante, com melhor performace, melhor usabilidade e mais acessíveis.

Melhoria - todo processo de melhorias, oranização das branches, features, bugs, fórum de discussão, pull request e o fluxo de trabalho 
de desenvolvimento, pode ser encontrado neste link.

Vale lembrar que esta documentação está disponível para mais de 16 idiomas, encontra-se em processo de tradução para mais 7 e aguardando contribuição para mais 23 idiomas.

Formação - neste link, é disponibilizado um tutorial, que tem por objetivo, capacitar o usuário para o uso da biblioteca. 

É possível à busca de informações técnicas para uma melhor formação do desenvolvedor, em fontes como:

- Comunidade React Brasil

- Comunidade React Brasil no Slack (+7K membros).

Também é utilizado pela comunidade, a divulgação das empresas brasileiras que fazem o uso da biblioteca, desta forma, é possível ter rastreabilidade de vagas de trabalho.


PROCESSO DE SUPORTE

Documentação - a documentação do React está disponível a seguir: documentação.
Gestão de Configurações, revisão e a auditoria - podem ser acessadas por meio desta página, nela é possível ter acesso à todas as
revisões da versão 16.XX.X, seus log's de alterações e em alguns casos até documentação.
Garantia da Qualidade - a biblioteca recomenda o uso de duas ferramentas para a garantia de qualidade, sendo a primeira o Jest que é
um runner JavaScript que permite acesso ao DOM através do jsdom e o React Testing Library que é um conjunto de utilitários que permitem
testes em componentes React.


LICENCIAMENTO MIT

Licença - também chamada de licença X ou de licença X11, trata-se de uma licença criada pelo Instituto de Tecnologia de Massachusetts. 

É uma licença permissiva utilizada tanto em software livre quanto em software proprietário. Muitos grupos utilizam a licença MIT no seu software, como os programas PuTTY, Lua, e o sistema X Window, sendo este último o exemplo mais conhecido. É também, uma licença muito popular no repositório GitHub[4]. A licença é permissiva e considerada equivalente a BSD Simplificada sem a cláusula de endosso. Porém, seu texto é bem mais explícito ao tratar dos direitos que estão sendo transferidos, afirmando que qualquer pessoa que obtém uma copia do software e seus arquivos de documentação associados pode lidar com eles sem restrição, incluindo sem limitação os direitos a usar, copiar, modificar, mesclar, publicar, distribuir, vender copias do software. As condições impostas para tanto são apenas manter o aviso de copyright e uma copia da licença em todas as cópias do software.

Referências

1 - JS History and how it led to ReactJS: https://thenewstack.io/javascripts-history-and-how-it-led-to-reactjs/

2 - React Native: Bringing modern web techniques to mobile - Facebook Code: https://engineering.fb.com/android/react-native-bringing-modern-web-techniques-to-mobile/

3 - Developer Survey Results 2018: https://insights.stackoverflow.com/survey/2018

4 - Open source license usage on GitHub.com: https://github.blog/2015-03-09-open-source-license-usage-on-github-com/

5 - Learn basics of React.js: https://www.education-ecosystem.com/guides/programming/react-js/history

6 - React: o que é e como funciona essa ferramenta?: https://medium.com/reactbrasil/react-o-que-%C3%A9-e-como-funciona-essa-ferramenta-319922a8371c