Typescript’s useful, but not always

I just had a presentation at work from a backend PHP dev who’d done a couple of tutorials on Typescript and thought it was great!

His presentation ended with the comment that our company should start using Typescript in all our frontend projects to a chorus of “yay!from all the junior devs in the company who’re super-psyched to start getting Typescript experience.

Now I work for an agency, we specialise in making web apps for big clients quickly. I don’t think it’s the best place to be introducing Typescript as a staple of our toolset and here’s why.

Typescript is great for stabilising mature apps

Typescript started really getting popular around three or four years back. Think about the timing and the kind of web applications that dominated the space: Netflix, facebook, YouTube, Spotify.

All apps in a very mature phase of development.

So many developers dream about working for these companies only to find that it’s super-boring because they’re basically working on a behemoth project, without any space for exciting coding work. At this level Netflix is working on making their codebase strict, stable and… strongly typed.

Typescript is great choice for Netflix and here’s why:

  1. It’ll prevent devs from introducing buggy code.
  2. The types will allow devs to quickly understand helper functions already built into the app.
  3. The extra housekeeping required when changing anything major will prevent them from ripping whole sections of the app apart to refactor code already well built.

In my last job I once complained to the lead dev that Typescript was making development on our app too rigid and he replied; I agree, but I haven’t decided whether that’s a good or bad thing.

Maybe you want your app to be rigid.

The only thing I’d argue with is that probably, early on, you don’t.

What do users and investors want from an app?

Under a tight schedule an app is built for features not for cleanliness. Clean code is important but not more important than functionality. If I use an app with some broken types that works, as a user I don’t care.

Before we start to think about how clean our codebase is let’s get our apps working and out the door. Many things that Typescript considers a “bug” are: an un-typed object parameter, a number defined as a string, a missing return type on a setTimeout function.

These are all things that Javascript doesn’t care about, and unless it breaks your app, neither does a user.

--

--

--

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Loading routes lazily in React

Benchmark in pnpm package manager with nextjs

PNPM and NPX base benchmark using the nextjs package.

drag and drop in selenium java explained

React in a Junior Developers perspective

Creating Motivational Quote API with NestJS and Postgresql

Creating a rest api

Basics of JavaScript: Introduction to the Date Object

Learn How To Get the File name and File ID From Google Drive In Apps Script

Google Apps Script — Getting File Name And Id From Google Drive Files

NodeJS — Beginner Guide

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
Sean

Sean

More from Medium

Why you and your company probably shouldn’t use Vue: The Hard Way

Getting started with Svelte components

for(… in …) v/s for(… of ..)

Integrating ESLint into the Webpack Process