Terence Xu
Home
Archive
Categories
Tags
About
Projects
GutEase
electron-prokit
FindAll
XTools
get-installed-apps
wukong-wallpaper
中
EN
/en/archive/
Archive
Recent technical essays, project notes, and learning maps.
2026
3 posts
2026 Half-Year Review
2026 Half Year Review Introduction Half of 2026 is already behind us. This is a short record of what changed...
Notes
2026-06-30
Notes on the Blog Redesign
Notes on the Blog Redesign Introduction I suddenly felt like changing the style of this blog, so I went ahea...
Notes
2026-06-29
My 2025 Year-End Review
My 2025 Year End Review Introduction Before I knew it, it was already 2026. I still wanted to write a year e...
Notes
2026-01-03
2025
2 posts
MCP Server Tutorial — List Installed Apps on Your Computer
MCP Server Tutorial — List Installed Apps on Your Computer Hi, I'm Terence. Today we'll build a simple MCP s...
MCP
AI
Practice
2025-04-09
A First Look at MCP
A First Look at MCP Hi, I'm Terence. Today let's take a quick first look at MCP. Introduction MCP had alread...
MCP
AI
Practice
2025-04-03
2024
40 posts
My 2024 Year-End Review
My 2024 Year End Review Hi, I am Terence (Xu Xu). Here is a look back at 2024. Introduction Ten days left un...
Notes
2024-12-20
Turning 30: Six Years as a Frontend Engineer
Turning 30: Six Years as a Frontend Engineer Hi, I am Terence (Xu Xu)—a frontend engineer who also loves pho...
Notes
2024-12-01
Code Standards in the Frontend Engineering Workflow
Code Standards in the Frontend Engineering Workflow Hi, I'm Terence. Today let's talk about code standards i...
Engineering
Knowledge Map
2024-10-26
Development in the Frontend Engineering Workflow
Development in the Frontend Engineering Workflow Hi, I'm Terence. Today let's look at one of the most import...
Engineering
Knowledge Map
2024-10-26
From Architecture to APIs, Do You Really Understand Electron?
From Architecture to APIs, Do You Really Understand Electron? Hi, I'm Terence. This article is a broader tec...
Electron
Desktop Apps
2024-09-29
After Ten Years of Cross-Platform Development, Why Does Electron Still Matter?
After Ten Years of Cross Platform Development, Why Does Electron Still Matter? Hi, I'm Terence. This article...
Electron
Desktop Apps
2024-09-25
The Rendering Foundation: DOM Tree and CSSOM
The Rendering Foundation: DOM Tree and CSSOM Hi, I'm Terence. Today let's look at one of the foundations of...
Browser
Knowledge Map
2024-09-10
Scaffolding in the Frontend Engineering Workflow
Scaffolding in the Frontend Engineering Workflow Hi, I'm Terence. Today let's talk about scaffolding in fron...
Engineering
Knowledge Map
2024-09-09
Package Managers in the Frontend Engineering Workflow
Package Managers in the Frontend Engineering Workflow Hi, I'm Terence. Today let's talk about package manage...
Engineering
Knowledge Map
2024-09-08
AI Magic in Chrome — `window.ai` for Local On-Device AI
AI Magic in Chrome — window.ai for Local On Device AI Introduction On device AI in the browser is already ar...
Practice
2024-08-24
Build an AI App Step by Step with Julep and ChatUI
Build an AI App Step by Step with Julep and ChatUI Introduction Building an AI application from scratch can...
Practice
2024-08-24
Building a Black Myth: Wukong Wallpaper App with Tauri
Building a Black Myth: Wukong Wallpaper App with Tauri Hi, I'm Terence. This article shares how I built a de...
Tauri
Desktop Apps
2024-08-23
Building Logging in a Tauri App
Building Logging in a Tauri App Introduction Logging is a critical part of any application. It helps with de...
Tauri
Desktop Apps
2024-08-20
CI/CD for Building and Releasing Tauri Desktop Apps
CI/CD for Building and Releasing Tauri Desktop Apps Hi, I'm Terence. This article looks at how to use CI/CD...
Tauri
Desktop Apps
2024-08-20
Custom Multilingual Menus in Tauri
Custom Multilingual Menus in Tauri Introduction In desktop application development, custom menus are an impo...
Tauri
Desktop Apps
2024-08-20
HTTP Requests in Tauri
HTTP Requests in Tauri Hi, I'm Terence. This article looks at how to make HTTP requests in a Tauri applicati...
Tauri
Desktop Apps
HTTP
2024-08-20
Theme and Language Settings in Tauri
Theme and Language Settings in Tauri Introduction Theme support and multilingual support are both important...
Tauri
Desktop Apps
2024-08-20
Thoughts After One or Two Years of Building Electron Desktop Apps
Thoughts After One or Two Years of Building Electron Desktop Apps Hi, I'm Terence. In this article, I want t...
Electron
Desktop Apps
2024-08-20
Integrating a Local Database in Tauri
Integrating a Local Database in Tauri Introduction Tauri is a cross platform desktop framework that uses web...
Tauri
Desktop Apps
2024-06-16
Native Capabilities in Tauri
Native Capabilities in Tauri Introduction to native capabilities Tauri is a framework for building secure, s...
Tauri
Desktop Apps
2024-06-06
Setting Up a Tauri Project
Setting Up a Tauri Project Note: the example environment used in this article is macOS. Terminal prerequisit...
Tauri
Desktop Apps
2024-06-06
Understanding Tauri Configuration
Understanding Tauri Configuration This article focuses on the three main configuration files in a Tauri proj...
Tauri
Desktop Apps
2024-06-06
What Is Tauri Like?
What Is Tauri Like? What Tauri is Tauri is a framework for building small, fast binaries for all major deskt...
Tauri
Desktop Apps
2024-06-06
React Component Communication Patterns
React Component Communication Patterns Props Props are the most direct mechanism for passing data from a par...
React
Interview
2024-05-22
A Brief Analysis of JSBridge
A Brief Analysis of JSBridge Why JSBridge exists On mobile devices, native apps and web apps each have stron...
Frontend
Interview
JavaScript
2024-05-21
Frontend-Only Image Slicing with One-Click Export
Frontend Only Image Slicing with One Click Export Introduction In web development, we often run into scenari...
Practice
2024-05-11
Get the Current Wi-Fi Interface Name
Get the Current Wi Fi Interface Name Enter root mode
Terminal
macOS
2024-03-26
List the Currently Available Wireless Network Interfaces on Windows
List the Currently Available Wireless Network Interfaces on Windows
Terminal
Windows
2024-03-26
Build a Floating Desktop Window in Electron
Build a Floating Desktop Window in Electron Feature description After the desktop application launches, a fl...
Electron
Desktop Apps
2024-03-18
Using SQLite in Electron
Using SQLite in Electron Preparation 1. Install SQLiteStudio: 2. Install sqlite3: Encapsulate database metho...
Electron
Desktop Apps
SQLite
2024-03-14
Building Image Sharing with Canvas and Taro
Building Image Sharing with Canvas and Taro This note records a simple idea: using Canvas together with Taro...
Practice
2024-03-08
Implementing a Simple Task Queue in JavaScript
Implementing a Simple Task Queue in JavaScript Functional requirements register tasks execute tasks check wh...
Practice
JavaScript
2024-03-08
Installing Mac and Windows Applications with Node.js
Installing Mac and Windows Applications with Node.js This article introduces how to use Node.js to install a...
Practice
JavaScript
Node.js
2024-03-08
Internationalization with react-i18next
Internationalization with react i18next Documentation https://react.i18next.com/ Implementation Install depe...
Practice
React
i18n
2024-03-08
Running a WebView Under macOS Root Mode with Tauri and Electron
Running a WebView Under macOS Root Mode with Tauri and Electron Background On macOS, if an application runs...
Electron
Desktop Apps
Tauri
2024-03-08
About
Curated notes from real Markdown documents.
2024-01-01
Archive
Curated notes from real Markdown documents.
2024-01-01
Categories
Curated notes from real Markdown documents.
2024-01-01
Tags
Curated notes from real Markdown documents.
2024-01-01
Terence Xu
Curated notes from real Markdown documents.
2024-01-01
2023
24 posts
A Detailed Guide to Vue keep-alive and Its Caching Mechanism
A Detailed Guide to Vue keep alive and Its Caching Mechanism Introduction In Vue projects, some components o...
Practice
Vue
2023-09-07
Application Packaging
Application Packaging Introduction In Electron development, packaging and delivery are a major part of the w...
Electron
Desktop Apps
2023-09-07
Application Updates
Application Updates Introduction The update flow is another important part of Electron application developme...
Electron
Desktop Apps
2023-09-07
Calling and Building Native Modules
Calling and Building Native Modules Introduction In real world Electron development, there are always capabi...
Electron
Desktop Apps
2023-09-07
Cross-Process Communication in Electron
Cross Process Communication in Electron Introduction Inter process communication, or IPC, is one of the most...
Electron
Desktop Apps
2023-09-07
Encapsulating Network Requests
Encapsulating Network Requests Introduction By the time the earlier setup work is finished, you usually alre...
Electron
Desktop Apps
2023-09-07
Environment Setup and Project Scaffolding
Environment Setup and Project Scaffolding Why Vite The official explanation is already very clear: So I will...
Electron
Desktop Apps
React
2023-09-07
Technology Choices in the Electron Ecosystem
Technology Choices in the Electron Ecosystem Scaffold selection There are quite a few scaffold choices for E...
Electron
Desktop Apps
2023-09-07
Asynchronous Programming Patterns in Frontend Development
Asynchronous Programming Patterns in Frontend Development Why asynchronous programming exists JavaScript is...
JavaScript
Interview
2023-09-06
Comparing `apply`, `call`, and `bind`
Comparing apply, call, and bind apply Concept The apply() method calls a function with a given this value an...
JavaScript
Interview
2023-09-06
Cross-Origin Solutions
Cross Origin Solutions What cross origin means Cross origin access refers to a situation where JavaScript ru...
Network
Interview
2023-09-06
HTTP vs HTTPS
HTTP vs HTTPS Concepts HTTP (HyperText Transfer Protocol) is the foundational application layer protocol use...
Network
Interview
HTTP
2023-09-06
JavaScript Garbage Collection
JavaScript Garbage Collection Concept GC In JavaScript, GC stands for Garbage Collection. It is an automatic...
JavaScript
Interview
2023-09-06
JavaScript Module Systems
JavaScript Module Systems Evolution of JavaScript modules No module system CommonJS AMD CMD ES6 Modules Comm...
JavaScript
Interview
2023-09-06
Real DOM and Virtual DOM
Real DOM and Virtual DOM Concepts Real DOM The Document Object Model (DOM) is a programming interface for re...
Vue
Interview
2023-09-06
Shallow Copy and Deep Copy
Shallow Copy and Deep Copy To explain shallow copy and deep copy clearly, it helps to first understand JavaS...
JavaScript
Interview
2023-09-06
Storage Options in Web Applications
Storage Options in Web Applications Cookie Cookies are small text files stored in the browser. They are used...
JavaScript
Interview
2023-09-06
Vue 2 vs Vue 3
Vue 2 vs Vue 3 Reactivity internals The biggest difference between Vue 2 and Vue 3 is in the reactivity syst...
Vue
Interview
2023-09-06
Vue and React
Vue and React Origins The origin of Vue Vue.js was created by Evan You. While working at Google, he was expo...
Vue
Interview
React
2023-09-06
Styling Solutions in React
Styling Solutions in React Inline styles React supports inline styles by passing a style object directly to...
React
Interview
2023-08-28
TCP vs UDP
TCP vs UDP Core concepts TCP TCP, or Transmission Control Protocol, is a connection oriented and reliable tr...
Network
Interview
2023-08-21
What Happens After You Press Enter on a URL
What Happens After You Press Enter on a URL 1. Check the cache When you enter a URL, the browser first check...
Network
Interview
2023-08-21
Vue Component Communication Patterns
Vue Component Communication Patterns props / $emit props are used for parent to child communication. $emit i...
Vue
Interview
2023-08-18
Why Choose Electron
Why Choose Electron The birth of Electron Electron, originally called Atom Shell, is an open source framewor...
Electron
Desktop Apps
2023-08-17