This document discusses the author's first Clojure project and provides resources and techniques for developing with Clojure. It covers setting up the development environment in Emacs, building the backend with Luminus and HugSQL, developing the frontend with React and Om, and comparing object-oriented Java code to Clojure's functional approach. Recommendations are provided for learning Clojure, designing applications, and integrating Clojure code with other technologies like Swagger and Docker.
19. DEVELOPMENT ENVIRONMENT
LANGUAGE
▸ Clojure for microservices
▸ ClojureScript in Web SPA
▸ ClojureScript in React Native
Android and iOS
▸ Clojure/ClojureScript for AWS
Lambda functions
41. DESIGN
EXAMPLE - RENDER PATTERN
▸ Render different data types to different devices
▸ Java: abstract output device, abstract render methods
▸ Clojure: data transformation from one model to another
▸ Transform in pure domain code, render I/O done on edges
▸ Example code
60. SERVER
SWAGGER AND DOCKER
▸ Compure-api generates swagger.json
▸ Swagger2Markup incorporates
custom workflow documentation
61. SERVER
SWAGGER AND DOCKER
▸ Compure-api generates swagger.json
▸ Swagger2Markup incorporates
custom workflow documentation
▸ Gradle used to generate swagger
doc
62. SERVER
SWAGGER AND DOCKER
▸ Compure-api generates swagger.json
▸ Swagger2Markup incorporates
custom workflow documentation
▸ Gradle used to generate swagger
doc
▸ Gradle used to generate docker
container
63. SERVER
SWAGGER AND DOCKER
▸ Compure-api generates swagger.json
▸ Swagger2Markup incorporates
custom workflow documentation
▸ Gradle used to generate swagger
doc
▸ Gradle used to generate docker
container
▸ Docker customization due to security
code
84. SUMMARY
THOUGHTS
▸ Fun and easy
▸ Persistent data structures and pure functions
▸ OO transition not difficult
▸ Running on JVM and JS platforms is key
▸ Growing the community important