Voltar

Principais tecnologias

React

O React é uma biblioteca de código aberto de JavaScript que é utilizada para criar interfaces de usuário. Esta é a principal ferramenta que utilizo em quase todos os meus projetos web, isso se deve ao fato de ser uma biblioteca muito popular (existe muito conteúdo disponível) e performática. Poderia destacar também outros pontos como a construção de toda a interface em componentes modulares, a utilização da sintaxe JSX e suporte a renderização do lado do servidor(SSR).

TypeScript

A utilização do typescript é uma escolha que leva algum tempo para se notar suas vantagens, é necessário que o projeto ja esteja em andamento, com isso é possível perceber os vários erros que foram evitados, e, como o código esta bem amarrado, sem objetos com campos inutilizados ou com substituição de informações. Podemos citar alguns pontos como o auto completar do Intellisense, suporte a classes e interfaces e a compilação de código.

NextJS

Atualmente o próprio time do React recomenda a utilização de um framework junto ao React, e um que esta em alta é o NextJS, e não é atoa. O que me chamou a atenção foi a facilidade de uso e o resultado final entregue. A simplicidade de implementar rotas e a velocidade para navegar entre elas e impressionante, além das obvias vantagens como a renderização do lado do servidor (SSR), geração de sites estáticos e API Routes.

Styled Components

O Styled Components é uma biblioteca que utiliza CSS-in-JS para estilizar os elementos na pagina. Pessoalmente, acredito que os pontos mais fortes dessa biblioteca são a criação de componentes reutilizáveis e CSS no escopo local. Sendo este ultimo ponto por si só impressionante. Não precisar se preocupar com colisão de CSS ou conflito de classes é algo que evita muita dor de cabeça. Poderia citar também o suporte a temas e renderização do lado do servidor, mas existe diversos outras vantagens.

Java

Java é uma linguagem de programação de alto nível, orientada a objetos e multiplataforma, desenvolvida na década de 1990. Escolhi esta como linguagem principal Back End para minhas aplicações principalmente pela sua versatilidade, nos permitindo construir projetos para diversas areas com uma mesma base de conhecimento, além de ser uma linguagem muito utilizada no mundo corporativo, sendo amplamente requisitada pelo mercado. Apesar de ser uma linguagem com uma maior verbosidade, o paradigma de programação orientada a objetos torna ela mais palatável, principalmente para usuários que começaram na programação pelo JavaScript. Outras vantagens que poderia citar seria a portabilidade, a segurança e a vasta quantidade de bibliotecas disponíveis.

MySql

O MySQL é um sistema de gerenciamento de banco de dados relacional de código aberto e que atualmente é de propriedade da Oracle. Utilizei esta banco de dados em um projeto de api com Java, e pude notar o quão rápido e eficiente ele é, o que o torna uma excelente escolha para aplicações web. Além desse fato, o MySql é suportado por diversas linguagens de programação, e, os principais serviços de cloud disponíveis Amazon RDS e Google Cloud possuem um serviço de banco de dados SQL com este gerenciador. O que facilita e muito a implementação e escalabilidade do projeto.

Spring Boot

O Spring Boot é um framework baseado no ecossistema Spring. Ele foi desenvolvido com o objetivo de simplificar aplicações java, e posso constatar que ele cumpre com esse objetivo. Ao utilizar esta ferramenta a impressão que tive é que a aplicação sabe o que voce quer e os processos fluem de maneira impressionante, até mesmo a implementação de testes unitários ocorre de forma mais simples. O Spring Boot possui diversas bibliotecas ja incorporadas, o que torna a lista de vantagens grande demais para este card, mas posso destacar a integração com o banco de dados e a segurança, ambos funcionalidades um pouco complexas que são simplificadas por essa ferramenta.

JavaScript

Para quem trabalha com desenvolvimento web, dificilmente não estudou a Trindade JavaScript, HTML e CSS. Falando especificamente da linguagem de programação, podemos perceber que é bastante dinâmica, suportando programação orientada a objeto, funcional e imperativa. Além de algumas vantagens como a manipulação de HTML e CSS através do DOM, trabalha com linguagem tipada (podendo ser expandida pelo superset TypeScript), possui suporte nativo de funções de primeira classe e funções de alta ordem (funções que retornam ou recebem funções), além de ser uma linguagem muito popular, sendo muito fácil encontrar muito conteúdo sobre ela.

HTML5

O HTML é uma linguagem de marcação utilizada para criar paginas web, é a estrutura básica de qualquer pagina. O HTML5 trouxe algumas melhorias relevantes, o que tornou ele padrão para muitas empresas. Sendo algumas delas, a melhora na semântica com novas tags (<header>, <footer>, <section>, etc), acessibilidade com legendas e descrição de áudio e vídeo, novos inputs para formulários (date, time, url, etc) e certas melhorias de desempenho.

CSS3

O CSS é uma linguagem de estilo utilizada para definir a aparência dos elementos de uma pagina web. O CSS3 veio com ótimas melhorias como gradiente, transições, Media Querys, seletores avançados, entre outros. Com essa ferramenta as possibilidades de estilização são incríveis. Porem acredito que tenha uma curva de aprendizado um pouco difícil no começo, parecendo que as propriedades utilizadas são mais um chute do que a escolha certa, mas com tempo e pratica esse processo é se torna mais simples.

Node.js

O NodeJS é uma plataforma construída sobre o interpretador V8 do Google, que permite a execução de código JavaScript fora do navegador web. Ele usa um modelo de I/O orientado a eventos e assíncrono, o que o torna muito eficiente e escalável. Possui suporte a módulos de terceiros, permitindo que os desenvolvedores utilizem uma ampla gama de bibliotecas e ferramentas disponíveis. É usado com frequência para criar APIs de servidor, aplicativos web em tempo real, entre outros.

MongoDB

O MongoDB é um banco de dados NoSQL orientado a documentos que armazena os dados em formato BSON (JSON binário), e um dos seus principais pontos são escalabilidade, permitindo adicionar novos servidores, e, flexibilidade, pois pode lidar com diferentes tipos de dados.

Firebase

O Firebase é uma plataforma de desenvolvimento de aplicativos para dispositivos móveis e web criada pela Google. Ela oferece diversos serviços e recursos para ajudar os desenvolvedores, como o banco de dados em tempo real, armazenamento em nuvem, hospedagem de aplicativos, etc.

Git

Git é um sistema de controle de versão distribuído, que permite o rastreamento de mudanças em arquivos e pastas em um projeto de software ao longo do tempo. Algumas das funcionalidades que poderia destacar seria: Controle de versão distribuído ou seja, cada copia do repositório contem uma copia completa do histórico. Ramificação, permitindo que os desenvolvedores criem e trabalhem em ramificações do código principal. Gerenciamento de conflitos, o Git possui ferramentas embutidas para ajudar a resolver conflitos de código de maneira eficiente.

Bootstrap

Bootstrap é um popular framework de design front-end que permite criar rapidamente interfaces web responsivas e consistentes. Podemos citar alguns vantagens, como a responsividade, grade de layout, componentes pré-construídos, personalização e uma documentação vasta.

jQuery

jQuery é uma biblioteca de JavaScript que simplifica a manipulação e interação com elementos HTML, tornando o desenvolvimento web mais fácil e rápido. Alguns exemplos de uso são, a seleção de elementos HTML, manipulação de elementos HTML, animação, etc.

Redux

Redux é uma biblioteca de gerenciamento de estado para aplicativos JavaScript. Algumas de suas características são, armazenamento de estado centralizado, imutabilidade do estado, fluxo de dados unidirecional, entre outros.