Apanhei muito tentando mudar para o emacs que seria o melhor dos mundos para desenvolvimento com clojure, mas nem utilizando o famoso Evil eu consegui me adaptar.

Depois de varias pesquisas encontrei algo que me dava uma sensação de agilidade no desenvolvimento utilizando o repl com VIM.

Configurando o TMUX

Para não ter conflitos com o VIM eu troco o Ctrl-b por Ctrl-a

set -g prefix C-a unbind C-b

Configurando o VIM

Existem tonelaaaaadas de plugins para clojure e boa parte mantidos pelo Tim Pope, mas como menos é mais eu só uso dois.

Colocando para funcionar

Com o TMUX aberto execute vim test.clj e abra um pane do…


Você como usuário do TMUX já deve ter perdido alguns minutos abrindo as janelas e panes, com o tmuxinator esse trabalho é resolvido rapidamente.

Instalação

$ gem install tmuxinator

Rode o doctor para verificar as configurações de variáveis globais.

$ mux doctor

se o resultado for

Checking if tmux is installed ==> Yes

Checking if $EDITOR is set ==> Yes

Checking if $SHELL is set ==> Yes

então está tudo certo

Utilização

Não tem nenhum segredo, basicamente você cria com o nome do projeto.

$ mux new project_name

esse comando vai criar um arquivo com uma configuração default, para abrir no seu…


Ontem escrevi um post sobre como criar um projeto com play-clj e rodar o mesmo, mas não fiz o mais importante… Explicar que diabos é play-clj

play-clj é um wrapper do libGDX, uma biblioteca java de desenvolvimento de games 2D e 3D multiplataforma, utilizando o play-clj é possível compilar para Desktop (OSX/Windows/Linux) e Mobile (iOS/Android) utilizando o mesmo código.

Obs: O suporte mobile ainda é experimental!

  • Modificar o jogo em runtime via REPL
  • Manutenção do código (Entity Component System)
  • Obs: é possível utilizar ECS em qualquer linguagem, mas o clojure facilita a utilização desse pattern e o play-clj foi construído de uma maneira que facilita o desenvolvimento com ECS.
  • Imutabilidade

blog.core.andre-anastacio => (disadvantages play-clj)

  • Prototipação lenta (Comparado a bibliotecas JS como Phaser.IO)
  • Falta de exemplos.
  • Ainda não saiu a versão 1.0 e a API é alterada constantemente.

Nesse primeiro post vamos ver como criar e executar um projeto com play-clj.

Existem 3 formas de se trabalhar com play-clj

  • Leiningen — gerenciador de pacotes do Clojure
  • Nightcode — IDE desenvolvida pelo criador do play-clj
  • Nighmode — IDE interativa focada diretamente no desenvolvimento com play-clj tambem desenvolvida pelo criador do play-clj

Nesse post iremos utilizar o Leiningen

Para criar o nosso projeto precisamos do Leiningen, após a instalação executamos o comando lein new play-clj hello-world que vai gerar a estrutura do projeto.

Após criarmos a estrutura do nosso jogo vamos rodar o nosso jogo, nesse primeiro momento vamos focar…

André Luís

Senior Software Engineer @ Magnetis Investimentos

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store