Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se
1
resposta

React native web vs ReactJs e DDD

Boa tarde!

Gostaria de entender melhor sobre os usos e trade-offs envolvidos em fazer uma aplicação web usando ReactJs vs React native web (pelo que entendi, não há media queries, então como funcionaria?)

Também gostaria de entender melhor qual a aplicabilidade de se trabalhar com react native para iOS e Android e ReactJS pro site responsivo. Nesse caso, como seria por exemplo o compartilhamento de código? Pensando em uma arquitetura do tipo Domain Driven Design, em qual(is) camada(s) ficariam esses dois módulos, e como seriam divididos? A ferramente usada nesse caso seria o webpack?

Muito obrigado!

1 resposta

Olá André, tudo bem?

Antes das respostas gostaria de dizer que essas são minhas opiniões, e que outras pessoas podem pensar diferente dependendo de suas experiências.

ReactJS vs React Native web

Começando com ReactJs vs React Native web acredito que será sempre preferível utilizar ReactJs para web, visto que é o foco da tecnologia. Mas talvez você queira reaproveitar um app utilizando React Native web, por falta de tempo, equipe ou qualquer outro fator.

Não posso lhe dizer ao certo como seria esse fluxo pois nunca utilizei React Native web, mas no caso das media queries e responsividade, o React Native trabalha com Flex, portanto você poderia utilizá-lo para fazer um mesmo componente responsivo.

Já se você quer fazer uma aplicação diferente para telas maiores, é possível utilizar o Dimensions para capturar o tamanho da tela e mostrar componentes diferentes dependendo disso.

Compartilhamento entre ReactJS e React Native

Acredito que as principais partes de código compartilháveis de fato seriam módulos de lógica, então você poderia criar bibliotecas próprias e incluí-las nos dois projetos.

Um exemplo que conheço das duas tecnologias sendo usadas juntas seria o Design System Yoga, que é aplicável tanto para ReactJS quanto para React Native. Neste caso é criado um componente para cada tecnologia.

Porém, como você comentou, pesquisando um pouco é possível achar exemplos de aplicações que compartilham realemente muitas partes dos códigos e componentes. Mas uma coisa que sempre há em comum nessas aplicações totalmente integradas são mais bibliotecas em cima de React Native e ReactJS. E, novamente na minha opinião, pode não ser uma boa coisa, pois você pode ficar dependente dessas bibliotecas para atualizarem e a chance de alguma delas não ter mais manutenção nas novas versões de React Native é real.

Conclusão

Eu espero ter te ajudado a entender melhor esses tópicos e a tomar, caso necessário, uma decisão.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software