Een nieuw project starten

Clojure:
Een nieuw project starten

Hoe te:

Om een Clojure-project op te starten, gebruiken we Leiningen, een populair bouwhulpmiddel voor Clojure:

;; 1. Installeer Leiningen als je dat nog niet hebt gedaan (https://leiningen.org/)
;; 2. Genereer een nieuw projectskelet:
lein new app mijn-coole-app

;; 3. Navigeer naar je nieuwe project:
cd mijn-coole-app

;; 4. Start een REPL (Read-Eval-Print Loop):
lein repl

;; Voorbeelduitvoer:
;; nREPL-server gestart op poort 12345 op host 127.0.0.1 - nrepl://127.0.0.1:12345
;; REPL-y 0.4.4, nREPL 0.6.0
;; Clojure 1.10.1
;; Java 1.8.0_232
;;     Documentatie: (doc functienaam-hier)
;;           (find-doc "deel-van-naam-hier")
;;   Bron: (source functienaam-hier)
;;  Javadoc: (javadoc java-object-of-klasse-hier)
;;     Afsluiten: Control+D of (exit) of (quit)
;;  Resultaten: Opgeslagen in vars *1, *2, *3, een uitzondering in *e

;; 5. Maak een bestand voor je code (src/mijn_coole_app/core.clj) en open het in je favoriete teksteditor.

;; 6. Schrijf wat simpele Clojure-code:
(ns mijn-coole-app.core)

(defn say-hello []
  (println "Hallo, Clojure wereld!"))

;; 7. Voer je functie uit in de REPL:
(mijn-coole-app.core/say-hello)

;; Voorbeelduitvoer:
;; Hallo, Clojure wereld!

Diepgaand

Clojure-projecten beginnen vaak met Leiningen of Boot voor het beheren van afhankelijkheden, bouwen en automatiseren van taken. Leiningen bestaat sinds 2010 en is de standaardkeuze geworden voor de meeste Clojuristen.

Er bestaan alternatieve hulpmiddelen, zoals deps.edn en Clojure CLI-tools, die door Clojure/core zijn geïntroduceerd om een eenvoudigere beheer van afhankelijkheden en projectconfiguratie te bieden.

Clojure zelf waardeert onveranderlijkheid en functioneel programmeren. Een project correct beginnen benadrukt schoon staatbeheer en scheiding van zorgen over functies en naamruimten.

Projecten houden zich doorgaans aan een standaard directorystructuur:

  • src/ voor je hoofdcode.
  • test/ voor testcode.
  • resources/ voor niet-codebronnen.
  • project.clj of deps.edn om afhankelijkheden en configuraties te beheren.

Een goede praktijk is om dingen minimaal te houden bij de start. Voeg afhankelijkheden toe naarmate je verdergaat, waardoor je project licht en beheersbaar blijft.

Zie Ook