Will JavaScript type annotations kill TypeScript?
The creators of Svelte and Turbo 8 both dropped TS recently saying that "it's not worth it".
Yes: If JavaScript gets type annotations then there's no reason for TypeScript to exist.
No: TypeScript remains the best language for structuring large enterprise applications.
TBD: The existing user base and its corpensource owner means that TypeScript isn’t likely to reach EOL without a putting up a fight.
I hope they both die. I mean, if you really need strong types in the browser then you could leverage WASM and use a real programming language.
I don’t know and I don’t care.
AI / Frontend Development / JavaScript / Python / TypeScript

Dev News: A ‘Nue’ Frontend Dev Tool; Panda and Bun Updates

There's a new frontend development toolset in town. Also, Panda and Node.js update, Bun bugs, and a prompt engineering course for web devs.
Sep 16th, 2023 4:00am by
Featued image for: 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.

“Nue ecosystem is a work-in-progress and today I’m releasing the tiny, but powerful core: Nue JS,” he wrote on Hacker News. “It’s an extremely small (2.3kb minzipped) JavaScript library for building user interfaces.”

Nue comes from the German word neue, which translates to “new” in English. It allows developers with knowledge of HTML, CSS and JavaScript to build server-side components and reactive interfaces. It’s like React or Vue, but without hooks, effects, props, or other abstractions, he added.

Nue vs React

React vs Nue (according to Nue)

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 Updated

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 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.”

The JavaScript runtime is used to develop web applications, real-time applications, and command-line tools.

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

Developer education platform Scrimba is offering a free prompt engineering course for web developers. Before taking the course, it’s recommended that developers have a basic understanding of HTML, CSS, JavaScript and React. It’s taught by Treasure Porth, a software engineer who has taught code since 2015. The three-hour course focuses on creating prompts, AI-assisted coding, and using AI large language models for job searches.

Group Created with Sketch.
THE NEW STACK UPDATE A newsletter digest of the week’s most important stories & analyses.