简介

做一个通用母程序(类似浏览器),然后各个子程序(app)居于网页 html+javascript,支持访问系统和硬件等各种接口权限.
子程序支持在远端(类似微信小程序),也支持本地(类似安装到了本地).

  • 离线/在线小程序(插件)
  • 自由扩展,方便通过小程序(插件)的方式,自由增加功能.

其中小程序可以制作任何工具软件, 参照vscode的插件模式,基本无所不能.

2025-06-09T03:24:06.png

API接口

除了支持浏览器网页的功能,额外增加暴露了各种API,方便实现更多的功能, 最底层的包括

  1. fs - 文件系统操作
    用于读写文件、目录操作等。支持同步和异步 API。

    const fs = require('fs');
    fs.readFile('path/to/file.txt', (err, data) => {
      if (err) throw err;
      console.log(data.toString());
    });
  2. path - 路径处理
    用于处理和转换文件路径,提供跨平台的路径操作。

    const path = require('path');
    const filePath = path.join(__dirname, 'public', 'index.html');
  3. os - 操作系统信息
    获取系统信息,如 CPU、内存、用户信息等。

    const os = require('os');
    console.log(`CPU 核心数: ${os.cpus().length}`);
  4. http/https - HTTP 服务器与客户端
    用于创建 HTTP 服务器或发起 HTTP 请求。

    const http = require('http');
    http.createServer((req, res) => {
      res.end('Hello World!');
    }).listen(3000);
  5. url - URL 解析
    用于解析和处理 URL 字符串。

    const url = require('url');
    const parsedUrl = url.parse('https://example.com/path?query=value');
  6. events - 事件模块
    实现事件驱动编程,通过 EventEmitter 类创建自定义事件。

    const EventEmitter = require('events');
    const emitter = new EventEmitter();
    emitter.on('message', (msg) => console.log(msg));
    emitter.emit('message', 'Hello!');
  7. util - 工具函数
    提供实用工具方法,如回调转 Promise、类型检查等。

    const util = require('util');
    const fs = require('fs');
    const readFile = util.promisify(fs.readFile);
  8. child_process - 子进程管理
    用于创建和控制外部进程。

    const { exec } = require('child_process');
    exec('ls -la', (error, stdout, stderr) => { /* ... */ });
  9. stream - 流处理
    用于高效处理大量数据,如文件流、网络流等。

    const fs = require('fs');
    const readStream = fs.createReadStream('large-file.txt');
    readStream.on('data', (chunk) => { /* 处理数据块 */ });
  10. crypto - 加密与哈希
    提供加密和解密功能,如哈希、签名、加密算法等。

    const crypto = require('crypto');
    const hash = crypto.createHash('sha256').update('data').digest('hex');
  11. net 模块(TCP Socket)

用于创建基于 TCP 协议的网络套接字,支持服务器和客户端模式。

示例代码(TCP 服务器)

const net = require('net');

// 创建 TCP 服务器
const server = net.createServer((socket) => {
  console.log('客户端已连接');
  
  // 接收客户端数据
  socket.on('data', (data) => {
    console.log(`收到数据: ${data.toString()}`);
    socket.write('服务器已收到消息');
  });
  
  // 客户端断开连接
  socket.on('end', () => {
    console.log('客户端已断开');
  });
});

server.listen(3000, () => {
  console.log('服务器已启动,监听端口 3000');
});

示例代码(TCP 客户端)

const net = require('net');

// 创建 TCP 客户端
const client = net.createConnection({ port: 3000 }, () => {
  console.log('已连接到服务器');
  client.write('Hello, Server!');
});

// 接收服务器响应
client.on('data', (data) => {
  console.log(`服务器响应: ${data.toString()}`);
  client.end(); // 关闭连接
});

client.on('end', () => {
  console.log('已断开与服务器的连接');
});