5 sites para se manter 'afiado' em JS
Tags: javascript
Published: 2024-02-06 01:20:58

JavaScript é a linguagem de programação mais requisitada pelas empresas mundo afora e considerada a 'queridinha' por cerca de 60 mil entrevistados nos últimos cinco anos (fonte: [StackOverflow Survey](https://insights.stackoverflow.com/survey).

Boa parte desse sucesso está atrelado à evolução tecnológica dos computadores e aos smartphones como conhecemos hoje.

Se voltarmos um pouquinho no tempo, mais especificamente para meados da década de 1990, as páginas web eram predominantemente estáticas, com pouca ou nenhuma interação com o usuário.

![Página de internet do Yahoo!](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5b2ik2dp17h4a2bsi30v.jpg)

O JavaScript não nasceu com o propósito de resolver esse problema especificamente, mas é inegável que a linguagem trouxe vida às paginas web, com boa parte do processamento sendo realizado no lado do cliente.

E acompanhar a evolução de qualquer tecnologia é uma tarefa árdua. 

Especialmente quando falamos de uma linguagem de programação tão versátil que é a 'espinha dorsal' de incontáveis bibliotecas e frameworks.

Por essas razões resolvi compilar uma lista com 5 melhores sites (na minha opinião) para aprendizado e, principalmente, para testar nosso conhecimento através de desafios que abrangem diversos cenários e níveis de experiência na linguagem.

---
# 1. JSChallenger

![JSChallenger](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x8pr81c785duw4s179yw.jpg)

E o primeiro deles é o [JSChallenger](https://www.jschallenger.com/) cuja proposta é ensinar JavaScript através de trilhas separadas por seções, ou a partir do zero. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2d73bbxbelaq2649fd8b.jpg)

As seções são mais indicadas para quem já tem algum conhecimento na linguagem porque focam em situações bem específicas.

Existe uma seção de desafios que pode ser acessada através do menu "JavaScript practice".

### A quem se destina?

Pessoas que já possuem algum conhecimento em programação, não necessariamente em JavaScript.

### Qual o investimento?

Atualmente o site é gratuito mas possui uma área 'Premium' acessível através do pagamento de uma taxa (não especificada) em euros, e onde serviços adicionais são fornecidos.

---

# 2. Freecodecamp

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/739rf5lu9ci3h3p6vggw.jpg)

Este site é focado no aprendizado de diversas tecnologias e linguagens de programação, fornecendo certificado de conclusão ao final de cada curso.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/opg85387dschtusrbtnm.jpg)

O diferencial deste site é a existência de um curso de inglês voltado a melhorar o vocabulário dos desenvolvedores.

E para concluir há uma seção específica para ajudar nas entrevistas de trabalho, com desafios de matemática, algoritmos e estrutura de dados.

### A quem se destina?

Embora outras linguagens estejam disponíveis, possuir algum conhecimento em JavaScript ajudará bastante.

### Qual o investimento?

Totalmente gratuito. A única exigência é que o usuário se registre no site afim da armazenar a evolução do aprendizado e emitir os certificados. 

O site oferece benefícios adicionais para doadores, como por exemplo não mostrar mais uma janela solicitando doações.

---
## 3. JSCodeBox

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jxb8ak3w60p04qxufvsp.jpg)

O site [JSCodeBox](https://jscodebox.com/) também oferece trilhas para aprendizado e desafios em JavaScript.

Mas o que me fez adicioná-lo à lista é que ele testa a solução que foi escrita pelo usuário.

Essa abordagem é bem próxima às entrevistas reais, onde somos direcionados para uma plataforma que vai avaliar o código do candidato.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wzvqpp15f9jglnc31teq.jpg)

O seu progresso pode ser salvo no navegador ou no site através de uma conta gratuita. 

### A quem se destina?

Pessoas com algum conhecimento em programação (em qualquer linguagem) e que já tiveram contato com JavaScript.

### Qual o investimento?

Nenhum. Como citado anteriormente, vale à pena criar uma conta gratuita para guardar seu progresso, continuando de onde parou a partir de qualquer computador.

---
# 4. Edabit

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bbwyzf5l8ob5szs5frag.jpg)

O [Edabit](https://edabit.com/) possui desafios de várias linguagens de programação e também tutoriais, mas estes somente para JavaScript e Python.

Os desafios estão divididos em seis níveis, indo do 'muito fácil' até o 'expert' e para todos existe uma variedade de 'ajudas' disponíveis'.

Após uma introdução do problema proposto, há uma caixa para você implementar o código da solução que será validado. Estando 'ok', o código é submetido ao site para validar a resolução.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1m3kd4hpjskzc2mrxbq6.jpg)

Caso você esteja com dificuldade para solucionar o desafio, o site oferece alguns recursos adicionais, como links para páginas externas como [StackOverflow](https://stackoverflow.com/) e [W3Schools](https://www.w3schools.com/) por exemplo.

Se mesmo assim você ainda estiver com dificuldades, é possível descrever sua dúvida e aguardar uma resposta ou ler as repostas de outros usuários.

### A quem se destina?

Pessoas com conhecimento básico em programação, independentemente da linguagem.

### Qual o investimento?

Gratuita mas os recursos mais relevantes são pagos.

---

# 5. Codewars


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jj1deqdmlr5oy6p6an6f.jpg)

Provavelmente o mais conhecido da comunidade de desenvolvimento, [CodeWars](https://www.codewars.com/) traz desafios para quase todas as linguagens de programação.

Chamados de Kata, que significa "...um conjunto de movimentos de ataque e defesa em uma luta imaginária" (fonte: [Wikipedia] (_https://pt.wikipedia.org/wiki/Kata_)), os desafios estão organizados em categorias sendo possível filtrá-los de forma a atender melhor as necessidades do usuário.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/et0d5z11g6n4pumh45f9.jpg)

Entre os diferenciais do CodeWars é que qualquer usuário registrado pode propor seus próprios desafios.

Para finalizar o perfil de usuário pode ser configurado por nível de experiência e linguagens preferidas.

### A quem se destina?

Pessoas com conhecimento intermediário em programação. 

### Qual o investimento?

Gratuita mas outros recursos podem ser desbloqueados com uma assinatura mensal de 5 dólares, no plano chamado de CodeWars Red.

O site é bem completo e à primeira vista pode :grimacing: assustar. 

Mas com dedicação e afinco tudo é possível. :smile:

---

Mais do que trazer uma lista modesta de plataformas de aprendizado, o objetivo deste artigo é incentivar você leitor a continuar :books: estudando e se atualizando.

Até a próxima. :sunglasses: