Polyglot Microservices – Comparison between Javascript, Scala & Clojure – Build tools



Polyglot Microservices – Comparison between Javascript, Scala & Clojure – Build tools

0 0


polyglot-microservices


On Github mhjort / polyglot-microservices

Polyglot Microservices

Comparison between Javascript, Scala & Clojure

By Markus Hjort / @mhjort

14 APIs in production

Rest & background jobs

2 years

Small dedicated team

Maintenance & new development

Javascript, Scala & Clojure

6 learnings

Build tools

Javascript

Yesterday: Grunt

Today: Gulp

Tomorrow: Something new :)

Scala

Sat...Simple Build Tool

Clojure

Leiningen

JSON (with and without schema)

Javascript

JAVASCRIPT Object Notation

Scala

Json4s

Play JSON

Zeison

Clojure

parse-string Clojure code generate-string Profit!

Background jobs

Parallel computing often needed

Javascript

No native support

parallel.js library

Scala

List(1, 2, 3).map(_ + 42)
List(1, 2, 3).par.map(_ + 42)

Clojure

(map #(+ 42 %) [1 2 3])
(pmap #(+ 42 %) [1 2 3])

Microcaches

Javascript => Does not scale

Clojure, Scala => Easy (JVM)

Version upgrades

Node.js

Bleeding edge or nothing

Scala

Pain in the ass

Clojure

Easy

Learning

Javascript

Easy

Scala

Hard

Clojure

Medium

Awards

I Clojure

II Scala

III Javascript

Polyglot Microservices Comparison between Javascript, Scala & Clojure By Markus Hjort / @mhjort