跳到主要内容

JadeView 介绍

项目简介

JadeView 专为 Web界面而生:轻量、安全、接口简单。让程序流畅又美观,开发效率直线提升。

主要功能

  • 跨平台支持:支持 Windows 平台
  • WebView 集成:提供现代化的 Web 浏览体验
  • 灵活的窗口管理:支持创建、关闭、最大化、最小化等窗口操作
  • 事件处理机制:提供丰富的事件类型和回调机制
  • 主题管理:支持 Light、Dark、System 主题切换
  • 本地服务器:内置本地服务器功能,支持自定义协议
  • 安全的内存管理:严格的内存管理机制,避免内存泄漏

内存管理机制

JadeView DLL 采用了严格的内存管理机制,确保在易语言等调用者多次调用时不会导致内存溢出:

  1. 安全的字符串转换:使用 Rust 提供的 CStr::from_ptrCString::new 方法进行字符串转换,确保内存安全
  2. 自动内存释放:所有通过 CString::new 分配的内存都会在回调函数执行后自动释放,不会造成内存泄漏
  3. 无直接 malloc/free 调用:API 内部不直接使用 mallocfree 分配内存,减少内存泄漏风险
  4. 严格的生命周期控制:回调函数执行时,CString 的生命周期被严格控制,确保回调完成后内存被释放
  5. 线程安全:所有全局状态访问都通过互斥锁保护,确保线程安全

快速开始

  1. 注册 app-ready 事件:通过 jade_on("app-ready", callback) 注册应用就绪事件(必须在初始化 DLL 之前)
  2. 初始化 DLL:调用 JadeView_init 函数初始化 DLL
  3. 运行消息循环:调用 run_message_loop 运行消息循环
  4. 创建 WebView 窗口:在 app-ready 事件回调中调用 create_webview_window 函数创建窗口
  5. 注册其他事件回调:通过 set_window_event_handlers(将在 0.2.1 版本移除)或 jade_on 注册其他事件回调
  6. 清理资源:应用程序退出前调用 cleanup_all_windows 清理所有资源

注意事项

  1. 多线程安全性:所有 API 函数都是线程安全的,可以在多个线程中调用
  2. 窗口创建异步性create_webview_window 函数会立即返回请求的窗口 ID,但窗口实际创建是在事件循环线程中异步完成的
  3. 事件处理顺序:事件处理可能在不同的线程中执行,需要注意线程安全性
  4. 回调函数返回值:窗口事件回调函数返回值含义:0=允许操作,1=阻止操作
  5. 资源管理:使用完毕后应及时调用 cleanup_all_windows 清理资源

支持的平台

  • Windows 10/11

版权信息

© 2025 JadeView. 保留所有权利。