🚀
Quer aprender ReScript? Comece aqui
💡 Como utilizar este guia
Este guia é mantido pela comunidade ReScript Brasil e tem como objetivo reunir cursos, vídeos, artigos, livros e qualquer outro material que possa te ajudar a iniciar sua jornada de aprendizado em ReScript.
O guia é open-source, portanto, todos podem contribuir adicionando novos materiais, basta criar um fork deste repositório e abrir um pull request adicionando suas sugestões.
Ao navegar pelos materiais deste guia, você irá perceber que alguns dos materiais estão utilizando a sintaxe ReasonML (a sintaxe utilizada anteriormente pelo ReScript). No entanto, é possível utilizar esses conteúdos para estudar ReScript, tendo em vista que essa sintaxe ainda é compatível com a linguagem.
💡 Leia mais sobre a diferença entre ReasonML e ReScript, e o rebranding da linguagem aqui.
Se você estiver utilizando algum material escrito em ReasonML e deseja converter os snippets de código para a sintaxe do ReScript, você pode fazer a conversão de duas formas:
-
Converter o código utilizando o playground no site oficial do ReScript. Se precisar de ajuda, utilize o video que gravamos com o passo a passo. Funciona muito bem para testar snippets simples e códigos que você encontra em cursos ou talks.
-
Converter os arquivos do projeto que estão na sintaxe antiga (
.re
) em arquivos na sintaxe nova (.res
). Para isso você pode utilizar a própria cli do ReScript conforme a documentação oficial.
🔍 Menu
📄 Sites & Docs Oficiais- 📝 Cheat Sheets e Cookbooks
🎥 Videos- 📝 Artigos
📚 Livros- 🤓 Pessoas da comunidade
🚀 Cursos🚧 Projetos de exemplo- 💡 Dúvidas frequentes?
📄 Sites & Docs Oficiais
📝 Cheat Sheets e Cookbooks
- ReScript Bindings Cookbook: O guia mais completo sobre interoperabilidade e criação de bindings em ReScript.
🎥 Videos
- ReScript e React na prática: Talk com live coding sobre utilizar ReScript e React.
- ReScript: O EcmaScript 2077: Talk introdutória sobre ReScript.
- Um servidor com ES77 (ReScript): Talk sobre utilizar ReScript no servidor com NodeJs.
- Playlist: Construindo uma aplicação utilizando ReScript e React: Playlist de vídeos construindo uma aplicação real com ReScript e React.
- O que é ReasonML(ReScript)?: Talk introdutória sobre a linguagem. Aborda tópicos básicos e faz introdução ao ecossistema ReScript.
- ReScript Pomodoro Timer with React Hooks: Construção de um pomodoro timer utilizando ReScript e React. Utiliza
useReducer
e pattern matching em vários momentos. - Weather App in ReScript and React: Construção de um weather app utilizando ReScript. Muito bom para ter um entendi inicial sobre data fetching e fetch API com ReScript.
- ReScript, Next.js and Apollo Hooks blog: Tutorial bem completo de uma integração de ReScript com Next, Apollo Hooks e AWS Appsync.
- How to set up webpack for ReScript and React: Setup inicial para usar ReScript com ReScriptReact.
- ReScript (ReasonML) levado a sério: Talk introdutória sobre ReScript.
📝 Artigos
- O que é e por que utilizar ReScript? Parte 1: Introdução sobre o que é ReasonML, seu ecossistema e os ambientes
- O que é e por que utilizar ReScript? Parte 2: Artigo sobre porque você deveria adotar ReasonML ao invés de TypeScript ou Flow. Artigo completo sobre o básico de ReasonML, cobrindo tópicos como Pattern Matching, Variants, Funções e etc
- Rescript, Reason, Typescript, OCAML, Javascript, Help Me Choose!
- Let's Talk About Functors In Rescript
- Fun With Rescript Polymorphic Variants
- Parsing JSON in Rescript
- Lazy Loading Images With ReScript
- Cool Things You Can Do with First-Class Modules in ReScriptReact
- Safe Routing in ReScript
- Safe Identifiers in ReScript
- Eliminating Illegal State in ReScript
- ReScript Modules
📚 Livros
- Exploring ReasonML Livro muito completo sobre ReasonML, pode ser considerado um guia prático. Apesar de ser escrito utilizando a síntaxe "antiga" que é ReasonML, todo o conteúdo do livro é válido e reaproveitável.
- Type-Driven Development with ReasonML O livro ensina como desenvolver software guiado a tipos com ReasonML. Aborda diversos detalhes interessantes sobre como a linguagem se comporta e como o sistema de tipos te guia a modelar seu software. Apesar de ser escrito utilizando a síntaxe "antiga" que é ReasonML, todo o conteúdo do livro é válido.
📦 Cursos
- EcmaScript2077 🇧🇷: Curso completo de ReScript
- Learn ReasonML: O curso utiliza a síntaxe ReasonML, mas serve como um guia para os iniciantes
- Get Started with ReasonML: O curso utiliza a síntaxe ReasonML, mas serve como um guia para os iniciantes
🐦 Pessoas da comunidade para seguir no Twitter
- Hongbo Zhang: Criador do ReScript compiler.
- Patrick Ecker: Membro do core team do ReScript. Trabalha ativamente na documentação oficial.
- Cristiano Calcagno: Membro do core team do ReScript. Trabalhava ativamente no compilador.
- Maxim: Membro do core team do ReScript.
- zth: Mantenedor de projetos importantes do ecossistema como rescript-relay.
- Ricky Vetter: Membro do core team do ReScript.
- fakenickels: Mago do ReScript
🧙 . Criador de várias libs como ReForm e co-criador do curso EcmaScript2077. - Marcos Oliveira: Organizador da comunidade ReScript Brasil e co-criador do curso EcmaScript2077.
- Diogo Mafra: Moderador da comunidade ReScript Brasil.
- Jaap Frolich: Mantenedor do graphql-ppx
- Ciro
- Weslen
- André Lins
🚧 Projetos de exemplo
- Blog construido com Nextjs e ReScript (ReasonML)
- FlashLink
- Get Shit Done
- Pomodoro
- Timerlab
- Conduit: Apesar de estar incompleto, possui vários exemplos de formulários, bindings, data fetching, react-query, reform, ancestor, storybook, etc
💡 Dúvidas frequentes?
-
Qual a diferença entre ReasonML, BuckleScript e ReScript?
-
Alguns conteúdos (artigos, vídeos, livros) utilizam a síntaxe ReasonML ao invés da síntaxe ReScript, devo usar a síntaxe ReasonML ou a síntaxe ReScript?
Anteriormente o compilador do ReScript (BuckleScript) utilizava a sintaxe ReasonML. Com o rebranding, o ReScript passou a ter sua própria sintaxe, no entanto a sintaxe ReasonML ainda é e será suportada por um bom tempo, mas o ideal é que você utilize a sintaxe ReScript em seus novos projetos e/ou migre os seus projetos para a nova sintaxe quando possível.
-
Onde estão os materiais relacionados a ReasonML e OCaml anteriormente listados aqui neste guia?
Após o rebranding, esse guia foi atualizado e alterado para agrupar somente materiais relacionados a ReScript. Se você procura pela versão anterior com os conteúdos relacionados a OCaml/ReasonML você pode encontrá-los aqui.
❓ Perguntas?
Caso surja alguma dúvida sobre sintaxe, erros, bindings e etc basta abrir uma issue