国内又诞生了一个高大上的Node.js项目 hex&hexium;

国内又诞生了一个高大上的Node.js项目 hex&hexium;

hex 的功能是允许开发者使用 web 技术开发跨平台的 desktop 应用, 从这点上来说, 他跟node-webkit 基本是差不多的, 不过hex 用到了 ecf 项目

hex&hexium blog

目前hex的版本为 1.1.6, 但只发布了windows版本的程序, mac 平台还在开发.

关于两者的区别先研究下,稍后补上


9 回复

国内又诞生了一个高大上的Node.js项目 hex&hexium

摘要:hex 是一个允许开发者使用 Web 技术开发跨平台桌面应用的 Node.js 项目。本文将介绍 hex 的基本功能、特点以及与类似项目的对比。

hex 项目简介

hex 是一个基于 Node.js 的开源项目,它允许开发者使用 HTML、CSS 和 JavaScript 等 Web 技术来创建跨平台的桌面应用程序。hex 项目的核心思想是让开发者能够利用他们在 Web 开发方面的技能,快速地构建出高效且美观的桌面应用。

功能与特点

hex 项目的主要功能包括:

  1. 跨平台支持:hex 支持 Windows 和 macOS(当前仅发布 Windows 版本)。
  2. Web 技术栈:开发者可以使用 HTML、CSS 和 JavaScript 来编写应用程序的界面和逻辑。
  3. 集成工具链:hex 利用了 ECF(Electron Community Framework)项目,提供了丰富的 API 和工具集。

示例代码

以下是一个简单的 hex 应用程序示例,展示了如何使用 HTML、CSS 和 JavaScript 创建一个基础的桌面应用。

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hex App</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            text-align: center;
            margin-top: 50px;
        }
    </style>
</head>
<body>
    <h1>Hello, Hex!</h1>
    <button id="myButton">Click Me</button>

    <script>
        document.getElementById('myButton').addEventListener('click', function() {
            alert('Button clicked!');
        });
    </script>
</body>
</html>

main.js

const { app, BrowserWindow } = require('electron');
const path = require('path');

function createWindow () {
    const mainWindow = new BrowserWindow({
        width: 800,
        height: 600,
        webPreferences: {
            preload: path.join(__dirname, 'preload.js')
        }
    });

    mainWindow.loadFile(path.join(__dirname, 'index.html'));
}

app.whenReady().then(createWindow);

app.on('window-all-closed', () => {
    if (process.platform !== 'darwin') {
        app.quit();
    }
});

app.on('activate', () => {
    if (BrowserWindow.getAllWindows().length === 0) {
        createWindow();
    }
});

preload.js

// 这里可以预加载一些资源或脚本

与 node-webkit 的区别

尽管 hex 和 node-webkit 都是基于 Web 技术的桌面应用框架,但它们之间存在一些差异:

  1. 技术栈:hex 主要依赖于 Electron 和 ECF,而 node-webkit(现已更名为 NW.js)则有自己的运行时环境。
  2. 社区支持:hex 作为一个国内项目,可能更贴近国内开发者的需求,并且有较好的本地化支持。
  3. API 设计:hex 可能会提供一些针对国内应用场景优化的 API,使得开发者更容易上手。

结论

hex 是一个非常有潜力的 Node.js 桌面应用开发框架,它利用了 Web 技术的优势,让开发者能够快速构建跨平台的应用程序。尽管目前还处于发展阶段,但随着社区的不断壮大和技术的不断完善,hex 有望成为国内开发者的重要选择之一。

参考链接


有道原来是用nodejs做的,他们老大有魄力

期待两者的对比分析结果…

咦,这不是有道词典的创造工具吗?

话说…有道这个,是上一年就有说了吧…现在才有动静啊…

很厉害啊,表示关注!

不考虑linux平台?

Hex 是一个基于 Node.js 的开源框架,用于开发跨平台的桌面应用。它与 node-webkit(后来更名为 Electron)非常相似,但使用了更多的现代技术,如 ECF(Electron Community Framework)。ECF 提供了一些额外的功能,使得开发过程更加高效。

以下是一个简单的 Hex 示例,展示如何创建一个基本的桌面应用:

安装 Hex

首先需要安装 Hex CLI 工具,可以通过 npm 安装:

npm install -g hex-cli

创建一个新的 Hex 项目

使用 Hex CLI 工具创建一个新的项目:

hex new my-app
cd my-app

编写应用代码

在项目的 src 目录中,可以编写你的主进程和渲染进程的代码。例如,创建一个简单的 HTML 文件 index.html 和一个 JavaScript 文件 main.js

src/index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My App</title>
</head>
<body>
    <h1>Hello, Hex!</h1>
    <button id="my-button">Click Me</button>

    <script src="./main.js"></script>
</body>
</html>

src/main.js

document.getElementById('my-button').addEventListener('click', () => {
    alert('Button clicked!');
});

构建和运行应用

在项目根目录中,运行以下命令来构建和运行应用:

hex build
hex run

这将启动一个基于 Web 技术的桌面应用,用户界面由 HTML、CSS 和 JavaScript 组成,而应用程序逻辑则通过 Node.js 实现。

总结

Hex 提供了一种简单且强大的方式来开发跨平台的桌面应用,你可以使用熟悉的 Web 技术栈来创建美观且功能丰富的应用。如果你对 Electron 或其他类似的框架熟悉,那么学习和使用 Hex 将会非常容易。

回到顶部