Reagir

Reagir

Em formação
Desenvolvido por Facebook , Instagram e comunidade
Primeira versão 2013
Última versão 17.0.2 (22 de março de 2021)
Depósito https://github.com/facebook/react
Garantia da Qualidade Integração contínua
Escrito em Javascript
Sistema operacional Multi plataforma
Modelo Biblioteca JavaScript
Licença Licença MIT
Local na rede Internet reactjs.com

React (também chamado de React.js ou ReactJS ) é uma biblioteca JavaScript gratuita desenvolvida pelo Facebook desde 2013 . O objetivo principal desta biblioteca é facilitar a criação de uma aplicação web de página única, através da criação de componentes dependentes de estado e gerando uma página HTML (ou parte)a cada mudança de estado.

React é uma biblioteca que gerencia apenas a interface da aplicação, vista como a view no modelo MVC . Portanto, ele pode ser usado com outra biblioteca ou uma estrutura MVC como AngularJS . A biblioteca se destaca de seus concorrentes pela flexibilidade e performance, trabalhando com um DOM virtual e só atualizando a renderização no navegador quando necessário.

A biblioteca é usada pela Netflix (lado do servidor apenas do25 de outubro de 2017para ganhar 50% de desempenho), Yahoo , Airbnb , Sony , Atlassian e também pelas equipes do Facebook , aplicando dogfooding na rede social de mesmo nome, Instagram ou WhatsApp . No final de 2015, o WordPress.com anunciou o Gutenberg, uma interface para editores de sites WordPress, desenvolvida em JavaScript com Node.js e React.

Histórico

O React foi criado por Jordan Walke, engenheiro da empresa Facebook no final de 2011 . Pete Hunt, engenheiro que trabalha no Instagram, está interessado na biblioteca e auxilia Walke a remover as partes dependentes do Facebook. Isso permite que o React seja lançado sob a licença Apache 2.0 em29 de maio de 2013. O React desenha o XHP  (in) , também desenvolvido pelo Facebook como uma biblioteca, permitindo a inclusão de HTML no PHP .

Dentro outubro de 2014, a versão 0.12.0 é lançada sob a licença BSD modificada , com uma nota de PATENTES associada, permitindo o uso das patentes do Facebook associadas ao React. No entanto, a licença BSD é atualizada paraabril de 2015, com a versão 0.13.1, para evitar confusão.

O 26 de setembro de 2017, React 16.0.0 foi lançado sob a licença do MIT . Essa alteração também se aplica à versão 15.x com React 15.6.2.

Características

O React foi projetado como uma biblioteca, não uma estrutura MVC , como seus concorrentes podem ser. Assim, o React incentiva a criação de componentes reutilizáveis, com dados de entrada, que podem mudar com o tempo.

Além disso, o React não usa um sistema de modelos e só funciona com JavaScript , permitindo o encapsulamento completo do componente em uma única classe. Para facilitar a escrita da view, a equipe inicial do Facebook desenvolveu uma linguagem, JSX, que permite gerar objetos JavaScript com uma notação semelhante ao HTML.

DOM Virtual

Um DOM Virtual é uma representação do DOM em JavaScript . Em vez de gerar o próprio DOM como uma linguagem de modelos, ou seja, em vez de dialogar com as APIs do navegador para construir o DOM, geramos apenas uma estrutura em árvore de objetos JavaScript na memória.

React Native

Em 2015, o React Native fez sua aparição. Este framework é baseado no React e ainda permite que você crie aplicativos Android e iOS de "plataforma cruzada" em Javascript .

Notas e referências

  1. Versão 17.0.2  " (acessado em 10 de abril de 2021 )
  2. (en) Eric Baer, "  Usar React é uma decisão de negócios, não uma escolha de tecnologia  " , no meio ,4 de dezembro de 2015(acessado em 21 de dezembro de 2015 ) .
  3. "  React.js Conf 2015  " , no Youtube ,4 de fevereiro de 2015
  4. “  Netflix UI Engineers on Twitter,  ” no Twitter (acessado em 27 de julho de 2020 ) .
  5. "  Yahoo Mail movendo para React  " , no Slideshare
  6. (em) "  Dev Chats Spike Brehm do Airbnb - Desenvolvimento de JavaScript sem um aplicativo" greenfield  " no Medium ,2 de setembro de 2014
  7. "  Mikael Brassman no Twitter:" A interface web Lifelog recém-lançada da Sony está usando #refluxjs e #reactjs no lado do cliente "  " , no Twitter ,7 de janeiro de 2015
  8. "  Wesley Walser no Twitter:" React.js agora está conduzindo as páginas de cobrança do @atlassian OnDemand. Pequeno projeto para iniciar a adoção, experiências positivas até agora. "  » , No Twitter ,19 de junho de 2014
  9. "  The New Gutenberg Editing Experience  " , na The New Gutenberg Editing Experience (acessado em 15 de abril de 2020 )
  10. (en-US) “  WordPress 5.0“ Bebo ”  ” , em WordPress News ,6 de dezembro de 2018(acessado em 15 de abril de 2020 )
  11. (en) Bill Fisher, "  Como foi concebida a ideia de Develop React e quantas pessoas trabalharam, desenvolvendo e implementando no Facebook?  " ,11 de fevereiro de 2015(acessado em 21 de dezembro de 2015 ) .
  12. (em) Paul Krill, "  React: Tornando UIs mais rápidas e suaves para aplicativos da Web baseados em dados  " ,15 de maio de 2014(acessado em 6 de abril de 2015 )
  13. "  Releases - facebook / react  " , em github.com (acessado em 6 de abril de 2015 )
  14. "  README.md  " ,28 de outubro de 2014.
  15. (em) "  Atualizando nossa concessão de patente de código aberto  " ,10 de abril de 2015(acessado em 21 de dezembro de 2015 ) .
  16. "  React v16.0  ", React Blog ,26 de setembro de 2017( leia online , consultado em 28 de setembro de 2017 )
  17. "  React v15.6.2  ", React Blog ,25 de setembro de 2017( leia online , consultado em 28 de setembro de 2017 )
  18. (em) Pete Hunt, "  Por que criamos o React?  » , No facebook.github.io ,5 de junho de 2013(acessado em 6 de abril de 2015 )
  19. (in) "  JSX in Depth  " em facebook.github.io (acessado em 6 de abril de 2015 )
  20. .