We are doing it again. This is 2020, there is also 2019, 2018, and 2017.

Let me start with this — this is by all means not a comparison of what should be your next choice for Front-End. It’s a small, relatively unsophisticated, comparison of three things: Performance, Size, and Lines of Code of pretty similar application.

With that in mind here is how it works:

We are comparing RealWorld App — something more than a “to do” app. Usually “to-dos” don’t convey enough knowledge and perspective to actually build real applications.

It is somehow standardized — A project that…


Also available in:
Turkish — thanks to @erdenizZz,
Portugues — thanks to @felipefialho

For the third time, we are comparing Front-End frameworks by using the Real World example apps. RealWorld example app gives us:

RealWorld App
Something more than a “todo”. Usually “todos” don’t convey enough knowledge and perspective to actually build real applications.

Standardized
A project that conforms to certain rules. Provides a back-end API, static markup, styles, and spec.

Written or reviewed by an expert
A consistent, real-world project that, ideally, an expert in that technology would have built or reviewed.

Which libraries/frameworks are we comparing?

As of the writing, there are 18…


Every language that complies/transpiles to JavaScript wants to connect to npm to use this huge ecosystem. The master of this is, of course, ECMAScript. The second one — in my humble opinion — is ClojureScript, due to shadow-cljs.

Disclaimer: I know there is a lot of work going on in different communities that tap into npm. By all means I’m not trying to diminish any of that by stating that CLJS (ClojureScript) is the best . I just want to give you a glance at how this works in ClojureScript.

Installing npm packages

In ClojureScript, we install npm packages as we would in…


You probably heard about React, and did you hear about Reagent? Reagent is a minimalistic interface between ClojureScript and React.

ClojureScript, just as Elm, ReasonML and EcmaScript compile/transpile to JavaScript.

With Reagent you can define components using nothing else but plain ClojureScript functions and data structures.

Let’s take a look at a couple examples and see how they compare. This is not a rant on React. React is awesome! Nor a rant on JS. JS is awesome too! This is to show how React looks like in a language with immutable and persistent data structures.

A Stateless Component

The simplest component in Reagent…


⚠️ UPDATE: There is a newer version of this article ⚠️

This article is a refresh of A Real-World Comparison of Front-End Frameworks with Benchmarks from December 2017.

In this comparison, we will show how different implementations of almost identical RealWorld example apps stack up against each other.

The RealWorld example app gives us:

  1. Real World App — Something more than a “todo”. Usually “todos” don’t convey enough knowledge and perspective to actually build real applications.
  2. Standardized — A project that conforms to certain rules. Provides a back-end API, static markup, styles, and spec.
  3. Written or reviewed by an expert…


If you ever wondered how different — or similar — ClojureScript and JavaScript are, then this article should help answer this question. And hopefully it’ll surprise you a couple of times.

Code examples are available via GitHub Gist at the bottom of the article.

Basics


Modified atom.io landing page

Clojure has an amazing tooling and support for a couple of editors including — Emacs and Cursive. Still, every time when I open them they feel … heavy. I spend quite a bit of time researching different options and even though I love VSCode I found peace with Atom.

Couple of things to consider when we talk about editing Clojure:

  1. Parentheses — to not worry about inference/coloring of the parens
  2. REPL — to evaluate functions
  3. Linter — to highlight warnings and errors
  4. Formatter — to not worry about code formatting

This guide is based on atom tools guide from clojurescript.org


Photo by delfi de la Rua on Unsplash

⚠️ UPDATE: There is a newer version of this article ⚠️

Over the last couple of years we have seen an explosion of front-end frameworks. Each one of them is more than capable of building great web applications. So how do you compare and decide which one to use for your next project?

First of all, to make a meaningful comparison we need a few things:

  1. Real World App - Something more than a “todo”. Usually “todos” don’t convey knowledge & perspective to actually build real applications.
  2. Standardized - A project that conforms to certain rules. Hosted at the same…

Jacek Schae

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store