🔥 Tech Blips #22.3

In this technology newsletter: CUPID Properties, Jetbrains Space, Playwright and Bun

🔥 Tech Blips #22.3
JetBrains Space Project Dashboard
Tech Blips is a technology newsletter for CTOs, tech leads, software architects and software engineers - in short, for all technology enthusiasts!

Every 1-2 weeks I try to summarise some techniques, tools, languages and frameworks or platforms on the cloud and web horizon that are worth taking a look at.

TL;DR in this technology newsletter:

  • Techniques: CUPID Properties  (Adopt)
  • Tools: Jetbrains Space - An all-in-one solution for software teams (Trial)
  • Language and Frameworks: Playwright - Web Testing and Automation Framework (Trial)
  • Platforms: Bun - The fast JavaScript Platform (Assess)

CUPID Properties

Techniques / Adopt

CUPID Blog Post

How do you go about writing good code? How can you judge if you've written good code?

As software developers, we're always looking for catchy rules, principles, and patterns that we can use to have a common language and common values when it comes to writing simple, easy to change code.

Dan North has made a new attempt to create such a checklist for good code. He believes that one doesn't have to follow a set of rules, such as SOLID, but that a set of properties to strive for is more generally applicable.

Dan Norths Talk: "Why Every Single Element of SOLID is Wrong!"

He named the CUPID properties to describe what we should strive for to get joyful code: Code should be composable, follow the Unix philosophy, and be predictable, idiomatic, and domain-specific.

The five CUPID properties are:

Dan North's Talk about CUPID properties

JetBrains Space

Tools / Trial

Jetbrains Space Website

In addition to GitHub, GitLab, Azure DevOps and the Atlassian Stack (Confluence, Jira, Bitbucket), a promising new all-in-one solution for software teams has emerged: JetBrains Space.

Space Overview

JetBrains Space is a true all-in-one solution for software teams because it supports virtually all aspects of software development:

  • Source Code Mangement, Continuous Integration & Deployment, like Source Code Management, Code-Reviews, IDE-Integration, Cloud Dev Environments, Automation and Package Management.
Code-Reviews in Jetbrains Space
  • Collaboration and Knowledge Management, e.g. Channels, Notifications and Knowledge Management
Channels in Jetbrains Space
  • Project and Team Management, e.g. Project Dashboards, Issue Tracking, Issue Boards, Calendar
Project Dashboard in Jetbrains Space

Playwright - Web Testing and Automation Framework

Language & Frameworks / Trial

Playwright Website

Playwright is a framework for Web Testing and Automation which is created and maintained by Microsoft. It allows testing Chromium, Firefox and WebKit with a single API.

Fast and reliable end-to-end testing for modern web apps | Playwright
Cross-browser end-to-end testing for modern web apps
Playwright Landing Page

Playwright supports all modern rendering engines including Chromium, WebKit, and Firefox.

Testing Modern Web Apps with Playwright

Playwright runs cross-platform. Testing on Windows, Linux, and macOS, locally or on CI, headless or headed.

Playwright can be used cross-language. Use the Playwright API in TypeScript, JavaScript, Python, .NET, Java.

Playwright supports testing also as Mobile Web client. Native mobile emulation of Google Chrome for Android and Mobile Safari. The same rendering engine works on your Desktop and in the Cloud.

And Playwright is open source, created and maintained by Microsoft 👇

GitHub - microsoft/playwright: Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.
Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API. - GitHub - microsoft/playwright: Playwright is a framework for Web Testi...
Playwright on GitHub

Playwright is a real alternative to Cypress.

Bun - The fast all-in one JavaScript Platform

Platforms / Assess

Bun Website

As with the SPA-Frameworks ecosystem, there are more and more application runtimes. After Deno, there is another new JavaScript application platform: Bun.

Bun is a fast all-in-one JavaScript runtime
Bundle, transpile, install and run JavaScript & TypeScript projects – all in Bun. Bun is a new JavaScript runtime with a native bundler, transpiler, task runner and npm client built-in.

Bun's focus is on performance and developer experience regarding bundling, transpiling and packaging.

Buns performance comparing to node and deno
The goal of Bun is to run most of the worlds JavaScript outside of browsers, bringing performance and complexity enhancements to your future infrastructure, as well as developer productivity through better, simpler tooling. - bun.sh
First Look @ Bun

Bun uses the JavaScriptCore engine, which tends to start and perform a little faster than more traditional choices like V8. Bun is written in Zig, a low-level programming language with manual memory management.