As someone who’s spent countless hours behind the glow of my computer screen, weaving retro-futuristic textures and creating beats on FL Studio, music production isn’t new to me (even if I am not that good at it). So, when I decided to step out of my comfort zone and into the world of physical music production hardware with the Akai MPC Live 2, I knew I was in for an interesting ride.
In modern web development, managing reactivity—how parts of an application respond to changes in data—is paramount. Aurelia 2, a robust JavaScript framework, introduces an elegant way to handle reactivity through effect-based observation. This guide will explore what effect-based observation is, why you might want to use it, and how to implement it in your Aurelia 2 applications.
What Are Effects? Effects are functions that are automatically re-run whenever specific dependencies change. These dependencies are often properties or variables accessed within the effect function. By utilising effects, developers can create a responsive system where functions are automatically invoked when the values they rely on are altered.
Aurelia 2, a modern front-end JavaScript framework, introduces a powerful feature called enhance that allows developers to breathe life into static HTML by binding Aurelia behaviours to existing DOM elements. If you worked with Aurelia 1, you might already be familiar with enhance functionality. This isn’t a new feature added to Aurelia.
What is enhance in Aurelia 2? The enhance function is a powerful feature of Aurelia 2 that provides a mechanism for developers to leverage the power of Aurelia within existing HTML pages. Essentially, it gives Aurelia the capability to enhance an existing DOM tree by associating Aurelia’s custom elements, custom attributes, or template controllers with the DOM nodes. This feature can be exceptionally useful in scenarios where a web page is partially server-rendered or when a DOM fragment needs to be added to the HTML document on the fly.
Playwright is exceptional for end-to-end testing. It can do so much, from interacting with forms to mocking server requests and a heap of other things. In this article, we’ll go over 12 tips and tricks (some you might already be aware of).
1. Parallel Testing Playwright makes it easy to run multiple tests in parallel. This is done by creating multiple context objects, which are isolated and can run in parallel without interfering with each other. Here’s an example:
I have been working with the web for a long time now. And like every other developer, I use frameworks and libraries to build most of my web applications. Over the years as web standards have emerged and solidified over the years, the web platform has become much more capable. One such standard is Web Components.
The ability to natively create components using APIs that ship in all modern browsers without needing build tooling or npm installation. I have been diving head-first into Web Components lately, thanks to my friend Rob Eisenberg (notably known for this work on Durandal, Aurelia and FAST at Microsoft).
Custom web components have revolutionised web development by enabling encapsulation, reusability, and dynamic functionality. Combined with Aurelia 2, a robust and extensible framework, the possibilities for building rich, sophisticated applications are endless. A key feature of Aurelia 2 is its extensible Attribute Mapper, which bridges HTML attributes and JavaScript properties, enabling significant customization to meet unique application requirements.
Scenario: Custom Web Components Imagine developing an application that heavily utilizes custom web components, such as a custom slider element named , a custom dropdown (), and a custom date picker (). Each component has unique attributes that need to be bound to properties on your view models.
Ah, the Neural DSP Quad Cortex, the proverbial golden child of the guitar modelling world. As we approach the two-year anniversary of my ownership, I find myself in a love-hate relationship with this awesome device.
Let’s start with the good bits. The touchscreen and rotary stomps are nothing short of a revelation. Navigating through the menus is as smooth as a hot knife through butter, and the visual building process is so intuitive it’s like playing with Lego blocks. But alas, this is where the honeymoon period ends, and the reality of living with the Quad Cortex sets in.
Aurelia 2, the latest incarnation of the Aurelia framework, is packed with improvements and new features. Among these, the revamped template compiler stands out for its potential to significantly boost your productivity. This article takes a deep dive into the template compiler, focusing on functionality that allows developers to intercept and modify the compilation process of an application’s templates.
Introduction to the Template Compiler Aurelia’s template compiler operates behind the scenes, processing templates and providing hooks and APIs that allow developers to modify their default behaviour. One critical use case for the template compiler is the ability to preprocess a template before it’s compiled. This could be for reasons such as accessibility validation, the addition of debugging attributes, or even the injection of custom attributes or elements.
In Aurelia 2 the @watch decorator allows you to react effectively to data changes in your application, from simple properties to complex expressions. Think of it as computedFrom (if you’re coming from Aurelia 1) but on steroids.
Basics of @watch The @watch decorator in Aurelia 2 lets you define a function that will execute whenever a specified expression changes. This expression can be a simple property on your view model, a custom attribute, or a more complex expression involving the view-models properties.
Aurelia 2 has some awesome templating features that make creating dynamic and replaceable components a breeze. One of these features is the au-slot tag. This magic tag, combined with expose.bind and repeaters brings about a new level of control and flexibility for developers to create customizable components.
In Aurelia 2 there are two types of slots: and – the element is only for Shadow DOM-enabled components, whereas the element is more akin to replaceable parts in Aurelia 1 (it’s what they are now in v2).