Dev News: A ‘Nue’ Frontend Dev Tool; Panda and Bun Updates
A new minimalistic frontend development toolset called Nue.js launched Wednesday. It’s an alternative to React, Vue, Next.js, Vite, Svelte and Astro, said frontend developer and Nue.js creator Tero Piirainen when introducing it on Hacker News. It’s designed for websites and reactive user interfaces, he further explained in the Nue.js FAQ. The toolset has been open sourced under the MIT license.
The Nue.js website boasts that it can build user interfaces with 10x less code, presumably when compared with competitors (but that wasn’t specified). It’s designed to be part of an ecosystem, with plans to include:
- Nue CSS for cascaded styling to replace CSS-in-JS, Tailwind and SASS;
- Nue MVC, for building single-page apps;
- Nue UI for creating reusable components for rapid UI development;
- Nuemark, a markdown flavor for rich and interactive content; and
- Nuekit for building websites and web apps with less code
Piirainen, who hails from Helsinki, has more than 25 years of experience building open source projects, technology products, and startups. Previous projects Piirainen has coded include Riot.js, Flowplayer, and jQuery Tools. He is currently the sole developer on Nue.js, but is seeking contributors.
Panda, the popular Python library, released version 2.1.0 this week. Panda is a data analysis and manipulation library built on top of NumPy, which is a library for scientific computing. This update includes a number of enhancements:
- Avoid NumPy object type for strings by default;
- DataFrame reductions preserve extension dtypes;
- Copy-on-Write improvements;
- A New DataFrame.map() method and support for ExtensionArrays; and
- New implementation of DataFrame.stack()
Panda also plans to make PyArrow a required dependency with Panda 3.0. Among the listed benefits are the ability to:
- Infer strings. PyArrow backs strings by default, “enabling a significant reduction of the memory footprint and huge performance improvements,” the post stated.
- Infer more complex dtypes with PyArrow by default, such as decimal, lists, bytes, structured data and more.
- Improve interoperability with other libraries that depend on Apache Arrow.
The group is looking for feedback on the decision.
Node.js Release 20.6.0
Node.js released Node.js 20.6.0 last week, with the big change being that it now offers built-in .env file support for configuring environment variables. The change also allows developers to define NODE_OPTIONS directly in the .env file, eliminating the need to include it in the package.json, the release note stated.
There’s also a new API register on node:module to specify a file that exports module customization hooks, passes data to the hooks, and establishes communication channels with them.
“The ‘define the file with the hooks’ part was previously handled by a flag –experimental-loader, but when the hooks moved into a dedicated thread in 20.0.0 there was a need to provide a way to communicate between the main (application) thread and the hooks thread,” the release note stated. “This can now be done by calling register from the main thread and passing data, including MessageChannel instances.”
Bun Update Addresses Bugs
Bun released last week. This week, creator Jarred Sumner posted that Vercel has added Bun install support and Replit added Bun support. Ruby on Rails also added Bun support and Laravela Sial now installs Bun by default. There’s also a Typescript web framework that runs on Bun called Elysia.
All is not perfect in Bun world, however, and the bug reports are starting to role in, with 1,027 bugs reported on the new runtime. To be fair, a good portion of those go back to Bun’s early days, but around 400 bugs have been filed since its 1.0 release. Bun v1.0.1, posted Tuesday, addressing some of these problems.
Free Prompt Engineering Course for Web Developers