🔥 Tech Blips #22.3
Every month 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)
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.
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:
- Composable plays well with others
- Unix philosophy does one thing well
- Predictable does what you expect
- Idiomatic feels natural
- Domain-based the solution domain models the problem domain in language and structure
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.
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.
- Collaboration and Knowledge Management, e.g. Channels, Notifications and Knowledge Management
- Project and Team Management, e.g. Project Dashboards, Issue Tracking, Issue Boards, Calendar
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.
Playwright supports all modern rendering engines including Chromium, WebKit, and Firefox.
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 👇
Playwright is a real alternative to Cypress.
As with the SPA-Frameworks ecosystem, there are more and more application runtimes. After Deno, there is another new JavaScript application platform: Bun.
Bun's focus is on performance and developer experience regarding bundling, transpiling and packaging.
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
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.