A while ago, I’ve read a blog post on Dev.to, together with a healthy debate that appeared there in the comments. It was about Macs, their pricing, and how you might not need one for your work that in this case involves web development.

Now, reading this made me think about why Macs are so popular within the web development community. I feel like it’s somewhat of an unspoken truth. I see tons of GitHub issues reported from Macs, benchmarks run on Macs, Mac-recommended setups, tutorials, and all that kind of stuff. …


React Hooks took the web development scene by storm when they were released back in early 2019. They were the reason I gave React a second look, and also why I have loved using it ever since.

Beyond my personal experiences, React Hooks inspired a lot of other developers, articles, tutorials, and even whole UI libraries and frameworks. Among those was Vue and with its Composition API, it showcased its own vision for React Hooks’s “competitor”.

Being a long-time Vue user and React Hooks fan, I simply had to check out Vue 3 and its Composition API. …


React is without a doubt one of the most popular front-end JavaScript frameworks / UI libraries around. However, it doesn’t mean that it’s the best or that everyone likes it.

Among some of the more technical reasons behind people disliking React is, surprisingly, one of its biggest features as well — JSX. An extension to standard JavaScript that allows you to use HTML-like syntax in your React components.

How such a recognizable part of React, one that clearly stands to improve readability, and ease-of-writing one’s code can be turned into a con? …


It’s been a while since I’ve talked about CodeWrite — a developer-tailored blogging tool and my first product. In this period of time, there have been a few noteworthy changes and quality-of-life improving updates that I feel warrant another look.

CodeWrite’s features

As blogging space is “booming” right now with thousands of new developers seeking opportunities, wanting to share their experience, build communities, and boost their portfolios, there hasn’t been a better time to start your own technical blog.

CodeWrite was designed with exactly this purpose in mind — to be the best technical blogging tool and give its users a “competitive…


Because React doesn’t own reactivity in the front-end space

Alongside React and Vue, Angular is considered to be one of the top JS UI frameworks. However, it differentiates itself through a couple of factors. Unlike the other top 2, it’s a full-blown framework, coming with everything you’d want a framework to have. It also has a unique architecture and ideology. This can be seen in its primary language being TypeScript instead of JavaScript, its heavy use of decorators, and its noticeable influence of the Functional Reactive Programming paradigm and adoption of many of its patterns.

Functional Reactive Programming

Functional Reactive Programming (FRP) focuses on the concept of streams and how they can…


When running in a browser environment, you can use many Web APIs in your JavaScript code. From simple stuff like accessing the DOM, through integrated payments, vibrations, cryptography, WebGL, canvas, all the way to infinity & beyond.

Today, we’ll be exploring a small section of Web APIs, something that one could call “observer-based Web APIs”. These are:

  • Mutation Observer API
  • Resize Observer API
  • Intersection Observer API

So, seemingly unrelated Web APIs, with different use-cases, but still, having one thing in common — the observer-based architecture. …


Tachyons landing page
Tachyons landing page

I’ve got a “love-hate” relationship with Tailwind CSS.

On the mindset front, I like the utility-first approach, but I can’t seem to get by with long class strings or adding additional complexity to my build setup.

As for the actual experience — it’s great! Very productive, easy-to-use, and makes me forget all my “imaginary” nitpicks. However, the difficulties with class composition (different Tailwind utilities don’t always override the others as intended), slow build times, and laggy CSS debugging in the browser’s dev tools drive me nuts.

But even with all those pros and cons, I still ended up using Tailwind…


Rich text editors, also known as WYSIWYG (What You See Is What You Get) editors are everywhere — comment sections, forums, online text editors. Whenever you want to go beyond plain <input> or <textarea> and enable visible, interactive formatting in your editor, you have to go the contenteditable route and build a proper rich editor.

Thankfully, with the plethora of JavaScript frameworks and libraries, created with the sole purpose of building rich web-based editing experiences, you’ll never again have to deal with the evil that is contenteditable.

In this blog post, I’d like to present you with my top picks…


Ever since the release of ECMAScript 6 (ES6), JavaScript has been enjoying a very lively and vibrant development. Thanks to the now-yearly release cycle of the ECMA-262 standard and hard work of all browser vendors, JS rose to become one of the most popular programming languages in the world!

In my recent article, I covered all the new features introduced to the latest release of JS specification — ES2020. While some were quite interesting, none of them were “ground-breaking”. But that’s understandable given the current, more frequent update cycle of the specification. …


We all know music streaming is booming right now. Because of the sheer convenience, and ease-of-use users have fallen in love with this modern way of listening to music.

But what does it mean for web developers? Well, unless you’re Spotify, Apple, Amazon, or similar, your chances of competing in “streaming wars” are relatively low. But what if your goal is different? What if, instead of a streaming platform itself, you want to make a music player, add-on service, or something like that? In this case, why not let “the big players” help you?

In today’s post, I’d like to…

Arek Nawo

Hobbyist. Programmer. Dreamer. JavaScript and TypeScript lover. 👍 World-a-better-place maker. 🌐 https://areknawo.com

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