# neutron **Repository Path**: roczen/neutron ## Basic Information - **Project Name**: neutron - **Description**: Neutron是一个使用 Java、JavaScript、HTML、CSS 构建桌面应用程序的框架。基于jcef。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2023-01-07 - **Last Updated**: 2025-06-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, JavaScript, HTML, Chrome ## README # neutron #### 介绍 Neutron是一个使用 Java、JavaScript、HTML、CSS 构建桌面应用程序的框架。 使用JavaScript、HTML、CSS开发GUI,渲染进程内调用Java以支持更多功能 目前只支持Windows #### 软件架构 以springboot starter形式提供支持. #### 安装教程 1. 配置jcef环境 1. 将neutron-environment/jcef/win64配置在JVM参数library-path中 2. 使用neutron-environment/open-jdk-with-cef-17.0.1 3. 将neutron-environment/jcef/win64下所有内容复制到正在使用的jdk17中 2. 创建springboot(v>3.0)项目 3. 引入neutron-core包 #### 使用说明 ##### Javascript->Java ###### Java ```java //@Action将当前action注册到bean factory @Action("T") public class TestAction { //NeutronFrame,CefBrowser,CefFrame自动注入 public Serializable xxx(String arg1, int arg2, NeutronFrame neutron, CefBrowser browser, CefFrame frame) { } } ``` ###### Javascript ```javascript //返回Promise //alias name neutron.test.xxx(arg1, arg2).then(response => { console.log(response.payload) }) window.neutron.$action('test.xxx', arg1, arg2).then(response => { console.log(response.payload) }) //customize name neutron.T.xxx(arg1, arg2).then(response => { console.log(response.payload) }) window.neutron.$action('T.xxx', arg1, arg2).then(response => { console.log(response.payload) }) //default action name neutron.TestAction.xxx(arg1, arg2).then(response => { console.log(response.payload) }) window.neutron.$action('TestAction.xxx', arg1, arg2).then(response => { console.log(response.payload) }) ``` ##### Java->Javascript ###### Java ```java import java.io.Serializable; public class Test { public void sendToJs(NeutronFrame frame) { String topic = "test"; Serializable payload = "test payload"; frame.send(topic, payload); } } ``` ###### Javascript ```javascript //暂时使用callback实现 window.neutron.on('test', response => { console.log(response.payload) }) ``` #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 引用 * [openjdk](https://openjdk.org/projects/jdk/17/) * [springboot](https://spring.io/projects/spring-boot) * [chromium](https://www.chromium.org/) * [java-cef](https://github.com/chromiumembedded/java-cef)