Systems | Development | Analytics | API | Testing

JavaScript

Principles of Object-Oriented Programming in TypeScript

Object-oriented programming (OOP) is hard to achieve in a dynamic prototypical language like JavaScript. You have to manually stick to OOP principles because of language features like duck typing. This requires discipline, as nothing in the language enforces the principles. If a diverse team of developers with different backgrounds is involved, a codebase filled with good intentions can quickly become one chaotic mess.

React Component Lifecycle: How to use ComponentDidUpdate

React is a JavaScript-based library for using component-based architecture to create applications that share user interface content. It allows you to define the function or class-based component that provides a specific feature for an application; hence, each component in React application contains the set of lifecycle hooks. There are several lifecycle methods such as mounting the component, updating the state of a component, or unmounting the component.

A Complete Guide for JavaScript Execution Context

From the standpoint of understanding and complexity of learning, the idea of execution context has been projected as an advanced JavaScript concept in several circumstances. Yes, if not mastered with the right examples in the proper order, this may appear complex. Every newcomer to JavaScript should understand why confidence in this fundamental concept is so vital. The most fundamental aspect of the JavaScript programming language is the execution context.

Dependency Injection in JavaScript: Write Testable Code Easily

I struggled with two aspects of software development as a junior engineer: structuring large codebases and writing testable code. Test-driven development is such a common technique that is often taken for granted, but it's not always clear how code can be made fully testable. I remember reading examples where an author would cleanly unit test a function, and in principle, it made sense. But real code doesn't look like those examples.

An Introduction to Deno: Is It Better than Node.js?

Deno is a JavaScript and TypeScript runtime similar to Node.js, built on Rust and the V8 JavaScript engine. It was created by Ryan Dahl, the original inventor of Node.js, to counter mistakes he made when he originally designed and released Node.js back in 2009. Ryan's regrets about Node.js are well documented in his famous'10 Things I Regret About Node.js' talk at JSConf EU in 2018.

Monorepo Javascript Projects with Yarn Workspaces and Lerna

Typically, every project that you do will have its own git repository. This approach can be cumbersome when those projects are closely tied. Monorepos promise a more convenient alternative. In this article, Saiharsha Balasubramaniam shows how to set up and manage a monorepo for a JS project using Yarn Workspaces and Lerna.

How to Migrate Your Blog from Gatsby to Next.js

A while back, you were probably looking for a great solution to create your blog, and Gatsby was the most popular solution floating around at the time. Now that some time has passed, a new player has risen to fame on the scene: Next.js has taken developer blogs by storm. Whatever your reasons for switching, we will explain how to switch from the Gatsby stack over to Next.js in this post.

The Ably async/await post we promised

Great user experience on the web comes from being able to provide users with exactly what they want in the most seamless way possible. Behind the scenes, some user actions may take more time to process than others. For example, showing or hiding an HTML element is a quick operation whereas making an XHR request to get data from an external API is a slower operation. JavaScript provides us with a way to handle them all without giving up that instant delight users naturally expect.