CommunityNews

CommunityNews

Why we chose Typescript for the Hasura Console

At Hasura, we wanted to introduce a statically typed frontend language for quite some time now. We discussed which one we should choose and evaluated options such as PureScript, TypeScript, ReasonML, and Elm. Following aspects were most crucial to us:

  • Hasura Console is a pretty large codebase for a small team, so we can’t rewrite it all to the new language. We need something that works well with the existing JavaScript code. A language that we can inject into our codebase and gradually migrate.
  • We use React extensively. Thus we need something that goes with React well and improves React components development.
  • We want to enhance developer experience for the external contributors and us. By adopting a statically typed programming language, we aim to make things easier, and the development process way faster. We don’t want to introduce high adoption cost nor force developers to learn a new and completely different language.

After all of the discussions, we decided to choose TypeScript. In this article, I’m going to tell you how we made the decision and why we wanted a statically typed language in the first place. I will also walk you through all of the four languages by a brief overview of each of them.

This thread was posted by one of our members via one of our news source trackers.

Where Next?

Popular Frontend topics Top

New
First poster: bot
I suspect you’ve already have Emscripten (https://emscripten.org/) installed. Make sure, you’ve included the proper paths, so you can iss...
New
First poster: bot
Why do we need static blocks in classes? A more complicated example Details Support in engines for class static blocks Conclusion
/js
New
First poster: mafinar
This is going to come across as a rant, so I’ll do my best to refrain from blaming any one project or source and just make a generalized ...
/js
New
First poster: bot
How JavaScript engines achieve great performance. Ever wondered what browsers do to get JavaScript to execute quickly? Let’s take a look...
New
First poster: bot
Announcing TypeScript 4.6. Today we’re announcing the availability of TypeScript 4.6. If you’re not yet familiar with TypeScript, it’s a...
New
First poster: bot
GitHub - phoboslab/q1k3: A tiny FPS for js13k. A tiny FPS for js13k. Contribute to phoboslab/q1k3 development by creating an account on ...
/js
New
First poster: bot
View here: https://chaotic.netlify.app/ This thread was posted by one of our members via one of our news source trackers.
New
First poster: bot
All branches will diverge from the stem: from Elm to Derw. Forgive the fancy title, but I felt it fit this month’s Derw improvements wel...
New
CommunityNews
Minimal CSS Framework for Semantic HTML A minimalist and lightweight starter kit that prioritizes semantic syntax, making every HTML ele...
New

Other popular topics Top

Devtalk
Reading something? Working on something? Planning something? Changing jobs even!? If you’re up for sharing, please let us know what you’...
1052 22283 402
New
AstonJ
Or looking forward to? :nerd_face:
503 14512 277
New
dasdom
No chair. I have a standing desk. This post was split into a dedicated thread from our thread about chairs :slight_smile:
New
brentjanderson
Bought the Moonlander mechanical keyboard. Cherry Brown MX switches. Arms and wrists have been hurting enough that it’s time I did someth...
New
AstonJ
Just done a fresh install of macOS Big Sur and on installing Erlang I am getting: asdf install erlang 23.1.2 Configure failed. checking ...
New
Margaret
Hello everyone! This thread is to tell you about what authors from The Pragmatic Bookshelf are writing on Medium.
1147 29994 760
New
DevotionGeo
I have always used antique keyboards like Cherry MX 1800 or Cherry MX 8100 and almost always have modified the switches in some way, like...
New
New
PragmaticBookshelf
Get the comprehensive, insider information you need for Rails 8 with the new edition of this award-winning classic. Sam Ruby @rubys ...
New
NewsBot
Node.js v22.14.0 has been released. Link: Release 2025-02-11, Version 22.14.0 'Jod' (LTS), @aduh95 · nodejs/node · GitHub
New