Albio.js: A Fine-Grained User Interface Compiler for Building Reactive Web Applications

CSEF · 2023 Computational Systems & Analysis Fourth Award

Overview

Many modern web programmers utilize declarative user interface (UI) libraries to imbue JavaScript with supplementary infrastructure for interactive development. However, these often interpose extraneous operations at runtime between a user’s input and the page’s output. Existing solutions that circumvent this behavior are unsuitable for smaller programs because they enforce cumbersome structures that deviate radically from conventional JavaScript. Albio is a reactivity library engineered explicitly to accommodate small web projects. The initial prototype consisted of a rudimentary compiler capable of analyzing a program and generating JavaScript modules with handlers for primitive reactivity injected into the source code. It computed reactive code during pre-compilation rather than runtime and made granular modifications to the page, improving substantially upon other libraries’ overhead. It intentionally lacked components and other constructs that convolute development to maintain ease of use. I added support for complex data binding, reactive statements, and logic blocks, and I wrote unit tests to rectify functional failings within the codebase. I also designed a set of benchmarks to quantitatively assess its execution times for various standardized operations and modified the compiler accordingly to make optimizations to the rendered code (bitmasking, for instance, yielded a 762% speedup). Albio is a high-utility alternative to popular libraries for small-scale prototyping and development—it currently demonstrates 142-678% speedups in update propagation as compared to Svelte, React, and Vue. Future iterations of Albio may be further optimized by building a more sophisticated update scheduler, increasing unit test coverage, and expanding the userbase to invite additional real-world feedback.

Source coverage

This record comes from a published award list, not a complete project archive. Its abstract comes from CSEF's public project showcase as archived by the Internet Archive before judging (https://web.archive.org/web/20230401224130/https://ca-csef.zfairs.com/showcase/ShowcaseInfo?f=838e60b7-ea75-46e8-865c-fde4864244b3); the version presented may differ.

Awards (1)

Competition history

  • CSEF 2023 Computational Systems & Analysis · Entry S0860

Resources

Related projects

Closest projects by meaning, across every fair and year in the corpus.

Browse more like this

Source: California Science & Engineering Fair public projects

Save projects to your library

Sign in with Google to keep track of projects you find interesting, organized into folders. An account also raises your daily allowance for “Has this been done?”, and lets you create a key for the MCP server with a much higher limit than anonymous use. Browsing stays public.

Continue with Google