Fork me on GitHub
#clojure-norway
<
2023-11-04
>
leifericf11:11:32

Component eller Integrant? :thinking_face:

slipset11:11:51

ingen

😅 2
leifericf11:11:53

For øvrig overraskende lite kode i Component!

slipset11:11:00

http://slipset.github.io/posts/dependency-injection-perhaps pluss resten i serien er vel en lang oppsummering av min mening.

👀 3
emil0r11:11:46

Har använt büda. Integrant är mer flexibelt

👍 1
magnars11:11:51

Jeg har brukt Component siden 2013 og ville aldri brukt det valgfritt igjen. Det føltes mest som et nødvendig onde. Integrant er langt mer ülreit ü jobbe med.

👍 1
Zeniten11:11:56

Hva med andre alternativer til component og integrant, hva med mount, f.eks.?

Zeniten12:11:15

Jeg har selv bare erfaring med Mount, men det ble satt opp av Luminus, og jeg har vel ikke gjort noen endringer der. Det var en interessant artikkel, @U04V5VAUN. Jeg skal lese resten av delene ved anledning.

cjohansen13:11:41

Mount er basert pĂĽ at du lar ting vĂŚre globale defs, blir fort surr og rot.

magnars13:11:52

Jeg har brukt mount mye. Det fungerer overraskende greit, men er grunnleggende grisete. Singletons for alle penga.

plus_one 1
cjohansen14:11:05

Jeg har bare brukt det som om det var integrant, fikk meg ikke til ü gü all in pü singleton-kjøret. Ganske kjølig til konseptet med at du kan fü tak i bestanddelene til systemet i en død tilstand. Det jeg liker med integrant er at du bare bruker det til orkestrering - integrant deltar ikke i koden din mellom start og stopp.

emil0r14:11:12

Ogillar mount

emil0r14:11:39

Allt blir knytet till lokalt namespace

magnars14:11:15

Her er min høyst subjektive opplevelse av disse tre: • Component: Først ute til å løse et reelt problem, men føles grunnleggende objektorientert og klossete i bruk. Bærer preg av å være laget på tiden da man fortsatt følte seg litt frem for hvordan Clojure kode skulle skrives (i likhet med Midje). • Mount: Et artig eksperiment hvor man må gløtte på koden mellom fingrene man holder beskjemmet foran fjeset. Du slipper sende alt rundt, men knytter til gjengjeld koden din ubønnhørlig til rammeverket. • Integrant: Datadrevet og lettvekts. Føles som det stryker Clojure mer med hårene enn Component. Min klare anbefaling av disse tre.

👌 2
💡 2
👍 2
Zeniten15:11:28

Takk for innspillene, folkens. 🙂

oddsor09:11:03

Liker også Integrant og kan anbefale det. Men om man er i det eksperimenterende hjørnet så slår jeg et slag for https://github.com/juxt/clip, som er enda mer datadrevet enn Integrant. Den store forskjellen mellom de to slik jeg ser det er at man ikke må opprette defmethods som Integrant hooker seg på, men kan kalle funksjoner direkte i configen. Som jeg kanskje føler gjør at man mister litt oversikt over “inngangene” til applikasjonen 🤷 Men enn så lenge liker jeg det nok til å syssle med det i backend-templaten min når jeg lager apper

👀 1
oddsor09:11:36

Det mest negative jeg kan si om Clip er vel at det blir fort gjort å skrive mye mer kode i config-filer enn man faktisk burde; der har iallefall jeg syndet 🙈

cjohansen13:11:15

Litt lett sprinkling av integrant gir deg easy easy REPL-vennlighet uten noen nevneverdig nedside. Men det kan vĂŚre at min bruk har konvergert til et stadie jeg lett kunne gjenskapt selv med noen funksjoner og et atom :thinking_face:

👍 1
magnars14:11:15

Her er min høyst subjektive opplevelse av disse tre: • Component: Først ute til å løse et reelt problem, men føles grunnleggende objektorientert og klossete i bruk. Bærer preg av å være laget på tiden da man fortsatt følte seg litt frem for hvordan Clojure kode skulle skrives (i likhet med Midje). • Mount: Et artig eksperiment hvor man må gløtte på koden mellom fingrene man holder beskjemmet foran fjeset. Du slipper sende alt rundt, men knytter til gjengjeld koden din ubønnhørlig til rammeverket. • Integrant: Datadrevet og lettvekts. Føles som det stryker Clojure mer med hårene enn Component. Min klare anbefaling av disse tre.

👌 2
💡 2
👍 2