Skip to content

ZenLiuCN/ZenCef

Repository files navigation

介绍(for None chinese see below)

基于 cef 2623bin包下载 混合go 的桌面H5应用环境

特点

  1. 内置websocket 支持控制窗口(边框全屏等)
  2. 内置http服务器支持本地页面服务
  3. 内置websocket 支持本地数据库操作(sqlit3)
  4. ...

编译环境

  1. mingw32 或者mingw64-32
  2. go 1.10 32位(支持xp)
  3. 依赖的go包这里
  4. cmake
  5. llvm+clang(可选)

编译过程

  1. 下载cef包放到cef_lib下
  2. go get 依赖的go包
  3. 首先编译 target goserver (也可手动go编译go build -o goserver.a --buildmode=c-archive .)
  4. 然后cmake 编译 target cef

应用

  1. 窗口控制 websocket连接 ws://127.0.0.1:65530/win ...待完善

WHAT

this is a project build top on cef3

  1. contains c++ app (from cef3 offical example)
  2. contains embed go websocket server(expose window action to js)
  3. with MP3,MP4[H.264] supported(just for test)

WHY

Being working on some desktop solution need on winXP ;

Test use sumorf/cef is fine,but it use old version of cef3,and when trying to upgrad to cef3.2623 aways have something go wrong (took days).(PS: the websocket server can be use with it).

Finally I try just make a C++ application with go server lib , so the repo came out!

NOTE

already test on windows 7 x64 ,And it may only support windows

HOW

  1. get mingw64 for 32bit
  2. get cmake 3.12+
  3. [optional] get clang(llvm)
  4. get go 1.8+ for 32bit
  5. get cef3 binary form binary
  6. build go lib via ./goserver/build.bat
  7. build app via cmake

go libs depend on

  1. lxn/win for easy winapi control
  2. gorilla/websocket for websocket process
  3. mattn/go-sqlite3 for database process
    go install --tags "sqlite_stat4 sqlite_foreign_keys sqlite_vacuum_incr sqlite_introspect sqlite_json sqlite_userauth" github.com/mattn/go-sqlite3

cxx libs depend on (include in application/lib)

  1. fmtlib\fmt
  2. plog
  3. mingw-std-threads

projects show case

now is welcome to commit

see some thing like in spring boot ZenLiuCN/Pandomium-Vue-Spring-template