Skip to content
 

Interview

In terms of development productivity, Continuous Integration (CI) has become a common technique across development teams across the world. In this ar…
Published:
As an open source developer of Node.js command line tools, you often have the question of which versions are being used and how. To solve the problem…
Published:
Developing a full-blown web application, including a backend, can be quite an undertaking for a single developer or a small team. Several solutions ha…
Published:
Building an online shop can be complex, and there are many factors to consider, not to mention compliance with all the different laws. To learn more …
Published:
Developing content is hard work, and it takes consistent effort to become a successful content producer. To learn more about one approach, I am inter…
Published:
Analytics is a big topic. What you don't know, you cannot optimize. To learn more about it, I am interviewing Steven Malone about Forage Analytics, a…
Published:
Although React is a UI library, that doesn't mean you couldn't write full-stack applications around it. Frameworks, such as Next.js, have appeared to …
Published:
One of the tricky parts of JavaScript is dealing with asynchronous behavior. The language itself has introduced improved syntax (async/await) and util…
Published:
Developing your products is both exciting and challenging. There's both the business side and the development side to worry about and to manage. Both …
Published:
For me, it's always amazing how complex infrastructure it's possible to configure these days. If you master a platform like AWS or GCP, you can do qui…
Published:
When developing user interfaces with React, you often create a set of basic primitives. Another option is to consume them from a third-party library a…
Published:
It's cool to write small web applications for the sake of learning. You can set the boundaries yourself and experiment with new technologies. Abhishe…
Published:
If you look into what happened during the past few years in the world of JavaScript, you can see that component thinking made it to the mainstream. Ev…
Published:
When you apply for a new position or a business case, often people want to see your CV (Curriculum Vitae). Although it sounds simple to create one, it…
Published:
Developing user interfaces with React tends to require effort and often it's done at the level of code. What if we could create user interfaces in the…
Published:
Developing multi-platform applications is difficult. Thankfully the advent of JavaScript has made it a possibility for an increasing amount of develop…
Published:
As you might know, configuring webpack isn't the most fun thing in the world and that's exactly the reason why I wrote a thick book about it. For man…
Published:
Testing is topic that comes up often in software development as it's an important part of verifying what we did works. That said, it's a complex topic…
Published:
Setting up and maintaining a search on a static site is often a chore. You could handle indexing yourself using a solution like Lunr but even with tha…
Published:
I've encountered many Ukrainian developers during my career and even visited the country a couple of times speaking at conferences. During each trip, …
Published:
Static site generation is a topic that is becoming increasingly popular due to the rise of JAMStack. Instead of maintaining a server, the idea is to g…
Published:
I recently received an interesting question from a reader that changed his career path and headed to technology. He mentioned he was getting overwhelm…
Published:
There's a lot of excitement about machine learning and its applications. The question is, what can you do with and where to apply the technique and ho…
Published:
What if you could create programs without coding? If you've ever used something like Microsoft Excel or Google Sheets, you've already done this at one…
Published:
One of the great things about being a developer is that you can literally create your own tools to make it easier to do your work. Cyril Bois has bee…
Published:
Serverless computing is one of those approaches that has taken the world by storm. The idea is to make computing a flexible resource you consume on-de…
Published:
When developing APIs, you often get questions like how to combine and control data coming from different sources. That's where proxy-based approaches …
Published:
Testing mobile applications is a tough topic as you have to worry about different devices, and the interaction model is challenging. Detox is a solut…
Published:
Anything you don't measure or test, you cannot improve. The wisdom applies particularly to web as we develop our websites and applications. Without an…
Published:
Given JavaScript dominates the world of web development, it has become a good target for malicious actors. Furthermore, the flexibility has led to a p…
Published:
As a developer, font is something you end up using every day at your work. One year ago I teamed up with Andrey Okonetchikov and Marcus Sterz, to crea…
Published:
Debugging JavaScript is one of those topics where people tend to be divided into two camps - those that console.log and those that use a debugger. In…
Published:
Developing user interfaces can be complex as you have to think about different ways it's going to be used and you have to design patterns and componen…
Published:
If there's something that has changed during the past few years, it's the way we develop user interfaces using JavaScript. Earlier we've learned about…
Published:
If there's one web technology I never looked that much into, it's VPNs (Virtual Private Networks). In these times when privacy is more valued than eve…
Published:
What is it like to grow an IT business? At least in my experience, it's not the easiest thing to do, and there are many things you have to get right t…
Published:
Although tools like create-react-app (CRA) are great, they can at times be inflexible. They might provide great defaults but at the same time you lose…
Published:
There's more than one way to code, and you'll find multiple programming styles. One aspect that's perhaps neglected sometimes is secure coding. To le…
Published:
Often learning a new programming language like ReasonML can be an arduous process as you have to set up the environment and tooling before you can beg…
Published:
If there's one thing that transformed my life, it's the adoption of the Getting Things Done (GTD) methodology. The key part for me was to begin what's…
Published:
When building web applications and sites using React, you have to think carefully about the user interface. You might either go with an established us…
Published:
One of the developments that has began to change the way we style our applications and sites is the introduction of utility classes. Tailwind is an ex…
Published:
Webpack is infamous for being a bundler that's not entirely easy to configure. That's one of the main reasons why I wrote the webpack book available o…
Published:
I've had the chance to observe the evolution of the ReasonML ecosystem up close. For me, it seems to solve many pain points of the current JavaScript/…
Published:
If you are dealing with microservices, you get questions like how to manage and orchestrate them. Vincenzo Chianese has come up with a solution desig…
Published:
If there's one programming style I like a lot, it's functional programming. Although it's not the best fit for all problems, often having means to dec…
Published:
If there's one thing developers have to deal with most of the days, it's APIs. For web developers, this often means dealing with HTTP and external ser…
Published:
Often layouting a web page is an afterthought. Put a div here and there, sprinkle some CSS, and call it done. Perhaps you are more advanced and use CS…
Published:
One of the unique aspects of the internet is that it makes us all equal in a strange way. What it means is that collaboration is possible on a new lev…
Published:
Developers spend most of their time reading and understanding code. That said, not much has changed in the past decades in the way we do it. Perhaps t…
Published:
When using webpack to bundle your project, it's important to keep an eye on the output. There are multiple tools for this purpose. Now there's also a …
Published:
Although state management solutions like Redux have become the standard, at least with React, there's still room for innovation in the space. Sometim…
Published:
Managing webpack configuration can get tough especially if you try to track best practices and optimizations. To address this problem, Jan Nicklas ha…
Published:
Usually, when you use webpack, you also have to set up its development server as well. Traditionally doing this hasn't been trivial and has required a…
Published:
React has uses beyond application development. One of the perhaps surprising use cases is to integrate it within a Content Management System (CMS) suc…
Published:
So far design and development have been considered separate disciplines. Recently tooling has begun to appear to bridge this gap. To understand more …
Published:
It is exciting to organize a conference, especially when it's the first of its kind in a region. To learn more about one such event, I'm interviewing …
Published:
It's difficult to write an application without side effects. Consider handling requests, dealing with third parties, managing storage for example. The…
Published:
CSS is perhaps one of the most controversial parts of web development. For some, it's the favorite, for some the least pleasant part. As a result, man…
Published:
Let's say you are building a CMS or a blog with an admin interface. It won't take long until you want to upload files to your service. There are stand…
Published:
Following the success of React Finland, we decided to organize another event this year. GraphQL Finland has a different scope, and it's going to be th…
Published:
Even though the web started from content, it has transformed into an application platform. Approaches like Progressive Web Apps are a clear sign of th…
Published:
You might be familiar with packages like Recompose that make it easier to compose components. Recompose is React-specific solution. What if there was …
Published:
Tools like browserify and webpack popularized the idea of bundling. The idea is to transform your web application into a format that can be distribute…
Published:
Although linting a project is a good technique to adopt, it comes with a cost as you have to wait for the linter to complete its work. Andrey Okonetc…
Published:
If you develop JavaScript applications, you most likely use npm, the most famous package manager available for JavaScript. At the time of writing, it …
Published:
State management is one of those topics that divides opinions. So far we've seen a couple of options so far. In this post, we'll cover Parket, a solu…
Published:
One of the tricky things about writing React components meant for public consumption is making them compatible with various styling approaches used by…
Published:
One of the core features of this site is custom syntax highlighting. I had to figure out ways to deal with custom syntax provided by Leanpub. Initiall…
Published:
When you build a web application, you often have to communicate with a backend. It's not uncommon to do this using AJAX against a RESTful API. Logux …
Published:
Servers, servers, servers. I've written a lot of Node.js servers since I began using it. Initially, I went through the API it provides but after a whi…
Published:
Developing large scale applications requires a certain amount of discipline. Sometimes it is enforced by the environment; sometimes you have to apply …
Published:
When you are writing applications, eventually you have to decide how to manage state. You can get far with React setState and lift the state in the co…
Published:
There are a lot of React conferences these days. React has become one of the most popular web technologies during the past few years so this is unders…
Published:
Redux Saga is famous for being easy to test but what if it could be even more comfortable. redux-saga-test-plan by Jeremy Fairbank was designed precis…
Published:
Forms are a frequent topic in web development as we saw in the earlier interview about a-plus-forms. This time around, I'm interviewing Erik Rasmussen…
Published:
Although using Redux is straight-forward once you understand the approach and its nuances, after a while it gets repetitive. It's easy to end up with …
Published:
As discussed in the maintenance book, typing your code can be valuable in many ways. In part, it's about communication. Having the type information av…
Published:
If you think about it, a lot of web development has something to do with forms. Every time you capture information, you most likely require a form. It…
Published:
Testing is a lasting topic in software development. There are lots of tools, especially for JavaScript. In this interview, you'll learn about Cabbie, …
Published:
Even though React API is small, the implementation is quite sizable due to all the work it does behind the façade. For this reason, people have develo…
Published:
There are a lot of React events out there these days and it seems a new one appears every week somewhere around the world. To continue on the theme, …
Published:
Testing React components is a constant topic. You can test through solutions like Jest or Enzyme. Or you could try something else like unexpected-reac…
Published:
Redux took the React world by a storm when it was introduced. The simple idea provided a guideline for the community and "solved" state management for…
Published:
React gives a lot of freedom by default. You can choose which libraries to use to complement it. Freedom comes with responsibility, though. Now you ar…
Published:
Setting up a project can require a significant amount of effort if you want to control every single detail. This might be one reason why there are so …
Published:
Since the early days of the web, people have wanted to visualize data to share with others. Even though the platform provides something basic for thes…
Published:
Functional reactive programming allows us to think carefully about state and side effects. The question is, how to do that in JavaScript? Motorcycle.…
Published:
Building universal web applications combining server side rendering with front-end is popular these days. The approach is not without its problems, th…
Published:
Perhaps the greatest thing about React is how flexible it is. It contains some opinions but not too many. You still have plenty of freedom. Sometimes …
Published:
Routing is one of those classic topics that comes up again and again. HTML5 History API itself is quite simple, but there are different opinions on ho…
Published:
When you are using a library seriously, you will spend a lot of time with its documentation. It's one of those things that sets good libraries apart f…
Published:
There's a lot of talk about universal web applications but developing them tends to be harder than it might sound. You will have to worry about the di…
Published:
Perhaps one of my favorite webpack performance related tricks is setting up DLLs so that you avoid work. The problem is that maintaining the setup req…
Published:
Design is difficult as you have to come up with a set of rules to describe it – a system. You don't always have to devise one yourself, and Material D…
Published:
Releasing new versions of npm modules is an npm publish away. But how do you make sure you don't accidentally break a dependent project? Even if you a…
Published:
Given JavaScript application source cannot be consumed easily through the browser "as is" just yet, the process of bundling is needed. The point is to…
Published:
If there's one thing that divides web developers, it's styling. A part of this has to do with the different requirements of websites and web applicati…
Published:
There's one pain most JavaScript developers share - dependency management. More specifically, how to keep them up to date. Sometimes even one month is…
Published:
If there's one trend that has been nice to notice, it's the rise of reactive programming. You can see this in technologies like RxJS and cycle.js. To…
Published:
There are plenty of events out there. What is it like to organize one? I know it's hard work based on what I've seen. To get more perspective, I'm in…
Published:
Even though software development is often seen from a technical perspective, there's a softer side to it. It is hard to avoid not having to work with …
Published:
Data visualization is a big topic itself. When it comes to the web, D3 is perhaps the most well-known solution. Even though you can wrap it with React…
Published:
Serialization, or the process of transforming data from a shape to another, is a common problem you encounter eventually when programming. Perhaps you…
Published:
There are times when a vanilla ` or ` doesn't cut it. What if you want to do something more complex? Popper.js by Federico Zivolo achieves exactly th…
Published:
Even though ES6 (ES2015) brought modules to the language, it missed one important thing - a loading method. Proper support is currently being implemen…
Published:
One common way to deal with asynchronous concerns (fetching for example) in React is to push the problem to a state manager or handling it through lif…
Published:
Online tools are great for prototyping ideas and even workshops. You avoid the pain of setup while giving up some degree of control. Often this is a g…
Published:
Dealing with the asynchronous code has always been a challenge in JavaScript. Callbacks are the classic way, and since then we've gained higher level …
Published:
Getting started with React can be daunting especially if you want to understand the entire setup. Solutions like create-react-app have hidden a lot of…
Published:
YouTube and the web are filled with screencasts. They provide a great way to learn difficult concepts as you can see in practice how something specifi…
Published:
If there's something that's easy, it's making mistakes while coding JavaScript. Overlook one detail and you have a runtime error! One way to deal with…
Published:
Even though you can get far with JavaScript's native functionality, eventually you'll find yourself writing little utilities to make it easier. For th…
Published:
Micro-sized JavaScript libraries are a niche of their own. Often the idea is to use modern JavaScript APIs and expose them in an easier way. The earli…
Published:
What makes code good? How do you tell bad code from good one? Issues like this come to mind when you think about the concept of code quality. To get a…
Published:
Describing what things are is an essential skill for a programmer. We might do that implicitly, but we often have to think about structure regardless.…
Published:
A lot of people see isomorphic rendering as a holy grail given it gives advantages a SPAs lost compared to earlier solutions. The fact that you can pr…
Published:
Styling is one of those topics that's under flux. My React styling chapter alone covers quite a few approaches and Michele Bertoli's list has a lot mo…
Published:
One of the cool things about React is that it managed to pull a lot of people into the component world. Even though there was initial resistance, the …
Published:
If jQuery gave us proper control over the DOM, and React brought components to the limelight, what's next? Svelte by Rich Harris might be an answer to…
Published:
It's almost funny how far a simple idea can fly sometimes. When writing my first book, I ran into the problem of configuring webpack. I prefer to keep…
Published:
Comparing different JavaScript projects is surprisingly tough. This is a problem encountered by many developers daily. Most often it's the easiest to …
Published:
Sometimes small is beautiful. Juha Lindstedt's FRZR, a 4kB view library, was a nice example of that as we saw earlier. This time we'll discuss evoluti…
Published:
If you ask multiple React developers their styling approaches, you will also get multiple different answers. One trend is clear, though, the movement …
Published:
I have chosen one approach when it comes to teaching JavaScript and related topics. Books are just a way amongst many others. Today I'm interviewing a…
Published:
What's more fun than making applications with React? Making games of course! I remember coding Pong in Python (harder than it sounds) and writing a te…
Published:
If there's one thing that has set React community apart, it's the focus on developer experience (DX). Historically developer tools haven't been the gr…
Published:
Writing a little HTML table isn't particularly hard. It all gets more complex when you need logic like filtering, pagination, or fixed headers. A simp…
Published:
If you have written a web application or site, you have had to deal with various assets like images, fonts, HTML, JavaScript code, whatnot. It's not a…
Published:
It's interesting how JavaScript development proceeds in cycles. While a lot of people might be happy with the standard language, there are always some…
Published:
Testing is a complicated topic. Just peppering your code with unit tests isn't often enough. You'll need something more, especially if you are develop…
Published:
You might have heard about Mostly Adequate Guide to Functional Programming (in JavaScript) by Brian Lonsdorf. It's one of the better known free books …
Published:
Given JavaScript is loosely typed, it can be amazingly productive language for prototyping. The problems begin once your project grows in complexity. …
Published:
When developing front-ends, handling asynchronous behavior is always bit of a challenge. Yassine Elouafi's redux-saga provides one solution to this pr…
Published:
If you have been using React, you have used one implementation of virtual DOM perhaps without thinking too much about it. It's one of those concepts t…
Published:
As I lamented earlier this year, it's increasingly difficult to find npm packages. One way to describe this is npmopeia. The feeling that the package …
Published:
It is tedious and boring to do the same thing over and over. That's where generator tools come in as they take some grunt work out of coding. Mikey by…
Published:
Builder by Formidable Labs is one of those projects tackling the boilerplate issue. It is a project that repurposes npm scripts into something more po…
Published:
Boilerplate code is perhaps one of the leading causes of JavaScript fatigue. You often have to go through certain motions to set up a project or maint…
Published:
npm alone has more than three thousand JavaScript boilerplates. Often it's easier to maintain your own than to use one designed by someone else. Every…
Published:
One of the challenges of being a web developer is keeping up with the world. The field moves ahead constantly and it's easy to fail to see the forest …
Published:
Often when you pick up a JavaScript library it's going to be a little chunky - tens, or even hundreds of kilobytes. Though this can be entirely accept…
Published:
Even though I've spent a lot of time with web development, I never really delved into the world of Content Management Systems (CMS). I'm of course awa…
Published:
Given there's a lot going on in the React ecosystem, it can be difficult to keep up. Jeff Winkler maintains a service known as React.rocks to alleviat…
Published:
More often than not, you are going to need a back-end for your application. Particularly RESTful APIs are popular. They are not the only choice, thoug…
Published:
There is always some level of tension between getting things done and learning new technologies. A lot of the recent JavaScript fatigue stems from tha…
Published:
People have been developing style guides for their sites and applications for quite a while. They define basic building blocks and aesthetics. This is…
Published:
When it comes to testing, often you assert certain truths. At the very least you might have simple asserts sprinkled in your code. Or you might push …
Published:
Performing big changes to a codebase is always a little daunting. Doing each change by hand is time consuming and generally leads to errors, unless yo…
Published:
I remember, when a few years ago a friend asked me what JavaScript game engine to use. As a result, I set up a little gist that in turn lead to someth…
Published:
I discussed my React component boilerplate earlier on. It is focused and deals only with the frontend. Often you need more than just a frontend, thoug…
Published:
When people ask about what routing solution to use with React, they often get pointed at react-router. It is a powerful solution and used by many so i…
Published:
I remember running into Baobab through Christian Alfoni's post about it. In short, it's a library that provides you optionally immutable data trees wi…
Published:
Bootstrap is easily one of the most popular CSS frameworks out there. Beyond grids and basic layout utilities, it provides a nice set of widgets to us…
Published:
I ran into Christian Alfoni through his original blog early this year (2015). He had written a nice post about Webpack. That led me to provide a sever…
Published:
It's always impressive when people take an idea and turn it into a concrete service. Andrew Ray did this with his ShaderFrog. It's a portal where you …
Published:
If there's one thing that has been bubbling below for a couple of years now, it must be reactive programming. There have been solutions, such as RxJS …
Published:
I remember seeing these strange webpack.config.js files in JavaScript projects for a long time. I didn’t give Webpack a good look until the promise of…
Published:
As React deals only with the view layer you will often have to complement it with something else. Flux architecture is one answer but not the only one…
Published:
Back to topics