
Tauri: a JavaScript framework for desktop applications
Tori is a JavaScript framework for desktop applications. The term “meta-framework” might be more appropriate. You can turn it into a cross-platform “rich” client using a front-end web framework like React or Svelte. Denzel, who developed Tori, explained his reasons for creating a new desktop framework:
“Tori’s goal is to streamline the process of building apps. If you’re interested in building apps, you can’t help but stumble upon Tori. It now supports building apps for Mac, Windows, and Linux, and will release version 2.0 this summer with support for iOS and Android.
Tori’s development process is quite interesting. This framework allows you to build with an existing pipeline (e.g. SvelteKit built with Vite). Ultimately, Tori can handle any stack built with JavaScript and HTML. It runs on the development server and creates a native desktop client. According to Denzel, the development process is as follows.
1. Start a development server using svelte, solid.js, react, view, etc.
2. Make it listen on this port tauri.confmake up
3. Start the Tori development window.
Tori’s code is system-oriented. Although built in Rust, developers interact with Tori using an API written in JavaScript. For JavaScript developers, Tori is an attractive approach to building native desktop apps. Unlike previous frameworks that offered similar functionality, Tori delivers on its promise of cross-platform development using JavaScript.
tRPC: API development using TypeScript
tRPC is an attractive approach to building TypeScript-based APIs. Although it is from the same family as GraphQL technology, tRPC is different in that it automates the interaction between front-end and back-end code. There are also powerful features derived from TypeScript’s type coercion. Developer Alex Johansson explains why he created tRPC:
“I’ve been a lifelong fan of GraphQL (and still am), but when I was building products I felt GraphQL was slowing me down (I was using TypeScript on both ends). Why not just use the language itself? even instead of importing an external schema?”
The advantage of tRPC is that it supports stack-wide type coercion and concatenation using pre-existing functionality. It provides a form of two-way type inference, which does not require the intermediation of metadata or additional build steps to bind API definitions to consumer code. Once you understand the concept of tRPC, you can feel the genius in its simplicity.
Here is a complete live React application created by the tRPC team using StackBlitz. tRPC provides an endpoint, and since it’s so simple, only a few files are needed.
The endpoints exposed in the Stackblitz sample use information available to the IDE. For example in the frontend result Variables are custom tRPCs useQuery It is filled using square brackets like this: result const = trpc.greeting.useQuery({ name: ‘client’ }); On the backend, the tRPC router handles this task. In this way, the interface {result.data.text} variables can be used. IDE and TypeScript compilation step result.Fully aware and able to provide formal definitions of similarly, tRPC router endpoints are aware of the interface (eg, parameters provided in requests).
Overall, tRPC is a unique and attractive way to build complete TypeScript applications. Interest from the developer community is growing, and as of this writing, it has around 20,000 stars on GitHub.
Bun.js: a faster runtime for JavaScript
Bun.js is a rising star in JavaScript. Indeed, it targets multiple fronts with a single package. According to Jared Sumner, who created this framework, the motivation and goals for developing Bun.js are as follows.
“Bun.js is an all-in-one JavaScript/TypeScript bundler, transpiler, npm package manager, and JavaScript runtime. We wanted to make JavaScript faster and easier to write. The key here is ecosystem compatibility. Bun .js is designed to replace Node.js, you can use Bunn without having to rewrite your code The Native Node Module API (NAPI) (although still in development); fs, path, process Many Node.js APIs are built into Bun.js. »
Bun.js is a runtime replacement for Node.js and Dino. webpackIt is also an alternative to auxiliary tools such as , Vite and Babel. npm install Or wire installationreplace bun installationquickly gaining notoriety for its incredible speed of execution. Bun’s performance is the result of extracting most of the code from JavaScript and passing it to low-level Zig and C++.
Bun.js is becoming an attractive alternative to the traditional back-end server-side JavaScript stack, thanks to its fast processing speed and all-in-one approach. The developers are also paying attention. To date, it has received around 40,000 stars on GitHub.
Civet: a modern framework for TypeScript
What if TypeScript was mixed in with some CoffeeScript concepts, plus a few extra features? What was created like this is Civet, which makes TypeScript code simpler and more powerful. “Civet is called the new CoffeeScript, and that’s a compliment,” said Daniel Moore, developer of Civet. CoffeeScript is part of the official JavaScript specification for classes, destructuring, asynchronous/waitan arrow function, rest settings, etc.
What’s interesting is that Civet not only improves TypeScript, but also covers JSX. Eric DeMaine, the project developer responsible for improving JSX, said:
“Civet took several concepts from CoffeeScript and developed them. It adds many desired language features (e.g. pipe operator, soon to be implemented pattern matching switches, etc.), and since it’s built on TypeScript and transpiled to TypeScript, it’s very compatible with existing tools. ”
Example 1 below shows a simple use of civet (taken from the civet documentation).
I .= 0
loop
i++
break if i > 5
// TS output
let i = 0;
while (true) {
I++;
if (I > 5) {
to break;
}
}
Don’t forget that Civet also supports JSX! Personally, I’ve always felt uncomfortable with JSX’s loop syntax, but Civet simplifies it (civet summary documentcan be found in detail).
Tabby: Terminal for Node.js
Personally, I have a long-standing love for consoles and cases. We’ve been together since we discovered the secret worlds hidden in Commodore 64 games and typed BASIC into consoles. Tabby is a complete cross-platform terminal, order, powershellIt not only handles native applications such as , Terminal, but also SSH (eg Putty) and SFTP (eg WinSCP). Tabby developer Eugenie explained the motivation behind the new terminal app:
“The frustration of using Hyper (another Electron-based terminal app) and the disappointment of having other apps stuck in the 90s (e.g. alt arrows not working when moving words, glitches miners keep piling up). ) made a tabby . VS Code, which broke convention in the name of a better experience, was also the motivation behind the creation of Tabby. What we want is to grow the community and possibly modify tabby to use Tory instead of Electron to reduce size and improve performance.
Tabby provides various convenient functions such as color, special key handling, and copy/paste while maintaining consistency in various environments.
Pixi.js: high performance graphics in JavaScript
PixijsVisit .com and observe the effect of moving the pointer on the background image. It has a liquid effect that looks very classy, but doesn’t seem to have a significant impact on performance. What’s the secret ? It uses the Pixi.js library!
Pixi.js provides a high-level API for building interfaces with WebGL and HTML5 canvases. Pixi.js has been around for a while and is now a mature and stable library. here You can find NPM packages here. Pixi.js appears to have been developed for in-browser gaming, but it can be used for graphics, visual effects, and anything that requires high performance graphics. Just note that it was developed for 2D, not 3D. Combined with Tori, you can also use pixie to create a desktop platform. Pixi playground onlineYou can try it in
PM2: Application Monitoring for Node.js
Strictly speaking, PM2 is not a JavaScript library, but a system-oriented tool built with JavaScript. It is also an application monitoring tool that allows sophisticated process monitoring and management from the command line.
Under Unix bg/fg, nohup, filter and other monitoring and management tools, but PM2 provides all of these features in one user-friendly package. PM2 has several reboot strategies to deal with almost any situation. Examples include CRON time-based startup, automatic restart on shutdown, and startup when a criteria (e.g. memory consumption, etc.) is reached. to restart when files change –show Flags are also included. If you need a tool that meets your various Node.js process management needs, PM2 is worth a look.
editor@itworld.co.kr


