JSFoo 2019

On component architecture, front-end engineering and Developer Experience (DX)

If you are going to transpile JS, why not use ClojureScript?

Submitted by Shivek Khurana via Zainab Bawa (@zainabbawa) on Sep 10, 2019

Section: Full talk (40 mins) Technical level: Intermediate Status: Confirmed & scheduled

Abstract

Nearly all production JavaScript apps use some form of transpilation, be it Babel or TypeScript or something else. This let’s you overcome the shortcomings of the underlying language and makes the application more sustainable. But the famous languages that transpile to JS are are Java like. They prefer classes and objects and clear separation of concerns.

ClojureScript is a functional LISP which stands against the philosophy of OOP. And it can compile to JavaScript. This talk is about why Clojure and ClojureScript deserves your attention.

Outline

Build Up/ Problems
Situations that led me to question my toolkit & introduced me to Clojure/Script

Clojure/Script Crash Course
Understanding the Clojure/Script syntax and functional/immutable model

Google Closure Compiler & Closure Library
Google’s way of writing JS and how ClojureScript depends on it

Interop With JavaScript
How ClojureScript allows you to plugin to the existing state of the art

REPL Driven Dev - Developing inside the Runtime
Tools that accelrate your dev workflow to light speed

spec - Ensuring Type Safety
Types make large systems predictable and Clojure’s optional spec library helps you with types and generative testing

Build tooling
The current state of art and things you need to bootstrap a ClojureScript project

React Wrappers
Existing React wrappers in ClojureScript

Conclusion & QA

Requirements

A general understanding of the JS ecosystem. Some experience in shipping/ maintaing a web application, API, or a mobile app.

Speaker bio

Shivek has been building (and breaking) enterprise applications for more than a decade. His carrier began at a young age of 14 and largely consisted of unpaid work at Startups & SMEs. Over the years, he was lucky to find exceptional teachers, who helped him mature as a system architect. In this long journey, he has touched all parts of the stack, from Frontend to Backend, Data Pipelines to DevOps.

Since 2013, his focus has been on Frontend Development using React. He has built systems that are used by 0 to over 12 million users. This experience has shaped his ideas about how to grow and maintain complex applications and his preference for Clojure/Script.

He works as a Consultant at Krim Labs & as a Full Stack Clojure/Script Developer at JUXT Ltd. (UK). He also writes a Medium Blog about his experience and learnings on Scalable Architectures.

When it comes to software, he’s an expert at avoiding shiny new things, and focusing on the old and boring. He firmly believes that all code is liability and the best piece of code is the one that was never written.

Links

Slides

https://github.com/krimlabs/workshops/blob/master/jsfoo2019/Cljs%20Talk.pdf

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('You need to be a participant to comment.') }}

{{ formTitle }}
{{ gettext('Post a comment...') }}
{{ gettext('New comment') }}

{{ errorMsg }}