Primeiro Projeto em Clojure
Sumário
Criando nosso primeiro projeto Clojure
Vamos continuar nosso tutorial. Hoje vou explicar como criar um projeto Clojure. Decidi dividir este artigo em duas partes: vamos ver como criar um projeto comum e um projeto web, em que vamos criar uma API para algum serviço.
Vamos começar criando um projeto comum. Não vai ser uma API, uma biblioteca nem nada do tipo. Só quero mostrar como criar um projeto, explicar sua estrutura e todo o resto.
Criar um projeto é muito simples se você instalou o Leiningen [comentei sobre ele no nosso primeiro artigo]. Se ainda não instalou, faça um favor a si mesmo e instale. O link do projeto está aqui: Leiningen — :)
Bom, se você fez esse favor a si mesmo e está com tudo bem instalado, é hora de criar o projeto Clojure. Vamos lá:
➜ hello-clojure git:(master) ✗ lein new hello-clojure
Ao rodar o comando acima, você ganha um diretório chamado hello-clojure, porque esse é o nome do projeto que passamos como parâmetro para o comando new do lein.
➜ creating-clojure-project git:(master) ✗ ls
hello-clojure
A estrutura de um projeto Clojure
Entrando no diretório, você vai encontrar uma estrutura com muitos arquivos e subdiretórios. Não se assuste nem abandone o artigo; vou explicar cada um deles em detalhes. Esta é a estrutura do projeto:
Vamos explicar cada arquivo e diretório, de cima para baixo:
doc: na pasta doc, você pode colocar a documentação do seu projeto. O arquivo intro.md vem por padrão quando criamos o projeto com o lein.
Só para esclarecer, a extensão .md é de markdown, muito usado pelo GitHub, por exemplo.
resources: o diretório resources é usado para guardar qualquer arquivo de configuração de que você precise.
src: dentro de src é onde vamos guardar o código Clojure do projeto.
test: o nome já diz tudo, contém todos os arquivos de teste do projeto.
CHANGELOG: normalmente é onde registramos o que muda em cada versão do projeto, seja em Python, Java, Clojure ou Ruby.
LICENSE: contém as informações legais em que normalmente clicamos "ACEITO" sem ler.
project.clj: enquanto resources é usado para arquivos de configuração, o project.clj é onde de fato configuramos nosso projeto Clojure.
Para você não ficar com um projeto que não roda nem mostra o famoso “HELLO WORLD”, vou explicar como colocá-lo para funcionar. — :)
Abra o arquivo project.clj e adicione o código abaixo depois de :dependencies. Não esqueça que ele precisa ficar dentro dos parênteses.
:main hello-clojure.core/foo
Depois disso, podemos rodar o projeto pela linha de comando, dentro do diretório do projeto, e ver o resultado:
➜ hello-clojure git:(master) ✗ lein run Clojure
Clojure Hello, World!
E aqui está nosso resultado, sem erros :)
Para este artigo não ficar longo demais, vou dividi-lo em partes. Esta parte é sobre criar o projeto, e outra vai tratar do uso de namespaces, de como importá-los em outros namespaces e assim por diante.
O código vai estar disponível no GitHub, e vamos atualizá-lo a cada artigo.
Por hoje é isso. Obrigado a todos que leram até aqui e pelo ótimo feedback!!!
Abaixo estão os outros artigos e os que vêm por aí:
Hello World;
Criando nossas próprias funções;
Usando funções existentes do Clojure;
Criando um projeto Clojure;
Vendo como criamos funções e as reutilizamos nos nossos projetos;
Criando um projeto web;
Usando classes Java em funções Clojure;
E muito mais…
Até mais!