Photo by Mike Meyers on Unsplash

The problem is as old as it gets:

  1. there’s a tree of components
  2. two of them need to talk.

One obvious solution is to use some sort of state management library, like Redux or MobX. But let’s say the above problem statement is all there is to it — the app has no other state, it’s a sea of silent, disconnected components. It just so happens that two of them need to share one variable.


A handful of tips on writing more maintainable software

Illustration by Magdalena Tomczyk

If you’ve been coding for a while, you’re probably familiar with the git blame command. It answers a question that sometimes arises when finally nailing down a source of a bug in the code, namely: “Who wrote that terrible monstrosity!?”. And sometimes, if working on a project for a long time, there is this strange moment when the answer is… you.


Simple & nimble frontend duo that kills the JavaScript fatigue

Illustration by Magdalena Tomczyk

In this post, we’ll have a closer look at two new tools in the front-end world. They are both developed with simplicity and ease of use in mind. First one is a tiny frontend framework called Hyperapp, the second is an asset bundler by the name of Parcel. Together they might be the best way to quickly and pleasantly build a decent lightweight webapp, as of the beginning of 2018.


Illustration by Sonia Budner

It is often said, and very true, that setting boundaries is beneficial for creativity. But these are not the kind of boundaries that this article is about — what I have in mind is more like railings that prevent you from falling from a staircase or fences that restrict access to areas which people are not supposed to visit. Like a swampy toxic waste area — it’s just not a good idea to go there. Or like deploying code that does not even compile.


Illustration by Michał Jałbrzykowski

So you’ve built a static website, all is going well, but then it turns out that the client needs a small news section (which will be updated frequently). What do you do? A headless CMS might be an answer.

Headless?

Headless software is software capable of working on a device without a graphical user interface.

Wikipedia

  • a database to store content
  • a CRUD API to edit it (an admin panel)
  • a way of displaying the content — basically what the end users see

This third part though won’t be…


Functional programming is getting more and more popular in front-end development. But what is it, actually?

If you did some front-end development, you’re probably familiar with Object-Oriented Programming, even if you don’t know it. Many JS libraries are exposing classes, which can be instantiated to describe the desired effect, like this:

const waypoint = new Waypoint({
element: document.getElementById('thing'),
handler: () => console.log('You have scrolled to a thing')
})

JavaScript is mostly used in an OO way, but nothing prevents us from using it in a functional way. Let’s see how the two would differ.


Let’s say you need an events calendar on a simple static website. Building a CMS just for a calendar can be an overkill in such a situation. On the other hand, embedding a calendar from an external service does not give you much control over it look and functions. So why not just use a Google calendar as a CMS?

  • set up a React project with webpack
  • create a React component
  • fetch events from a Google Calendar using AJAX

This tutorial was prepared for beginners — React is great for that, as it…


Recurse Center is, most simply put, an educational retreat for programmers. It was one of the best experiences of my life, and I would recommend it to anyone who is genuinely interested in programming, regardless of their skill level.

Started in 2011 at NYU as ‘Hacker School’, RC grew into a worldwide community of more than 800 alumni from over 30 countries. It’s now based in the SoHo district in New York, runs a research lab and publishes Code Words, a quarterly about programming. RC is free for everyone to attend and even offers grants for people from traditionally underrepresented…


To dip my toes in the Accelerated Mobile Pages Project I coded a simple Middleman boilerplate.


Some time ago I found myself violating the principle of DRY (Don’t Repeat Yourself) by doing what most front-end developers do everyday — writing CSS in DevTools and then copying it to code editor. So I wrote and Atom package called atom-sassc-live.

An insufficient solution

I was aware of the Takana project, which enables live-editing of .css and .scss, but there were issues prohibiting me from using it. The project does not seem to be in active development, it does not support .sass syntax, and it runs it’s own server, which did not work with my Middleman setup. …

Adam Boro

Front-End Developer • adamboro.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