其他笔记 - Electron代替品探索过程

2023-05-16

目录

  • 前言
    • 替代品一览
      • C# (.Net)
      • C++
      • Dart
      • Go
      • Java
      • JS
      • Python
  • sciter测试

前言

Electron是基于 Node.js 和 Chromium的,可以把前端代码打包成桌面应用的工具,使得JavaScript, HTML和CSS跨平台部署。
但是由于各种原因,不够精巧,体积太大,资源独占,发布不便,源码保护做的不好等等,所以不适用于某些场合。
最近要做嵌入式上位机开发,于是挨个测试一下。

替代品一览

发现 electron其实有超多替代品的,来源参考Electron替代一览:

C# (.Net)

名称备注
Orleans分布式,云服务可用于物联网,更新不算勤
Avalonia更多功能需要付费
Uno(Pixel-Perfect Multi-Platform Applications with C# and WinUI)
Chromely(Build HTML Desktop Apps on .NET/.NET Core/.NET 5 using native GUI, HTML5, JavaScript, CSS)

C++

名称备注
Qt**
wxWidgets**
sciter可用于嵌入式
Ultralight语言接口丰富,轻量,但不知道对嵌入式的支持如何(9-15MB)

Dart

名称备注
flutter移动应用开发,暂不考虑

Go

名称备注
lorca5-10MB
wailsVue、Vuetify、React 前端支持,绑定简单
muon轻量、运行时占用低

Java

名称备注
Swing
JavaFX

JS

名称备注
NW.js(Similar to electron, provides Source code protection)
DeskGap(bundles a Node.js runtime and leaves the HTML rendering to the operating system‘s webview)
Neutralinojs(chromium module is replaced with either user’s web browser or built-in browser component. Node run-time is replaced with a lightweight web server which exposes native OS functionality)
Proton Native(does the same to desktop that React Native did to mobile, based on https://github.com/parro-it/libui-node)
React Native Desktop(Cross-platform React Native Desktop port based on Qt framework)
Vuido(creating native desktop applications based on Vue.js, based on https://github.com/parro-it/libui-node)
NodeGui(powered by Qt5, [NodeGui-React]
reactxp(library for cross-platform app development using React and React Native)
quasar(Vue.js based framework, which lets web developer to quickly create responsive websites/apps)
nidium
electrino
graffiti
Tauri
Sciter.JS(Is a 5MB HTML/CSS/JS (ES6) runtime aimed as a direct Electron replacement)

Python

名称备注
PyQt
Kivy支持嵌入式
PyGUI
wxPython
Tkinter
pywebview

其他的就暂且不说了。

sciter测试


在官网下载sciterJS的sdk,阅读doc目录下的文档。
文档不支持中文,开发需要对照他的文档来写。
不保护源码,支持C API,所以在跨平台环境下效果不错。
使用的quickJS作为引擎,轻量。
官方给的例子是windows平台的。linux下13~19MB。

"bin/windows/x32/scapp.exe" "samples/calc/index.html"

如要使用,最好后台用c开发。
看了一下对React是可以支持的。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

其他笔记 - Electron代替品探索过程 的相关文章

  • noVNC+VNCserver实现远程访问Docker容器桌面

    一 实验环境 主机 xff1a Ubuntu16 04 目标机 xff1a docker容器 说明 xff1a 在主机Ubuntu16 04中安装docker xff0c 并虚拟出一台Ubuntu容器 xff0c 将该容器作为要远程访问的目
  • 本地项目(vscode)和码云建立连接,及常用git命令

    本地Git和线上关联 xff1a 权限设置 G码云 设置 SSH公钥 公钥管理电脑桌面点击右键进入Git Bash Here对照链接输入指令绑定邮箱 xff1a https gitee com help articles 4181 arti
  • 解决android studio 控制台乱码

    双击shift键 xff0c 输入vmoption xff0c 选择Edit Custom CM Options 如果没有配置过 xff0c 就会弹出窗口问是否创建配置文件 xff0c 点击Create xff0c 输入 Dfile enc
  • 无人机学习笔记

    硬件 首先从硬件开始说起把 xff0c 气压计 陀螺仪 磁力计 xff0c 这三个不用说肯定是必备的 xff0c 后面由于开发的需要还添加了激光测距 xff0c 以及光流 但是在开发过程中遇到了很多问题 xff0c 一个一个来说 气压计 气
  • 解决KEIL中ARM编译器不能编译的问题

    keil编译器出现问题 xff0c 根据提示意思就是ARM编译器选择不对的问题 Target 39 Printf 39 uses ARM Compiler 39 V5 06 update 6 build 750 39 which is no
  • linux 内核中strstr函数 功能

    在内核代码中看到strstr函数 xff1a mode 61 strstr boot command line 34 D 34 应该是一个字符串处理函数 xff0c 使用man命令查看下给出如下解释 xff1a SYNOPSIS inclu
  • KPI异常检测资料汇总

    文章目录 0 综述类1 KPI异常检测1 1 经典模型1 1 1 Donut 基于VAE的周期性无监督KPI异常检测1 1 1 1 论文解读1 1 1 2 源码分析 1 12 MAD 基于GANs的时间序列数据多元异常检测 1 2 行业落地
  • jupyter notebook:使用argparse包存在的问题及解决

    argparse模块 argparse是python用于解析命令行参数和选项的标准模块 导入argparse包 span class hljs keyword import span argparse 遇到的问题 parser 61 arg
  • Qt C++和Java相互调用

    Qt C 43 43 和Java相互调用 1 C 43 43 调用Java Test h span class token keyword class span span class token class name Test span s
  • 单片机HAL库使用HAL_UART_Receive_IT

    前言 由于本人第一次尝试开发单片机 xff0c 要实现的功能是信息转发 xff0c 需要调用HAL库方法 xff0c 中断接受信息转发给FPGA xff0c 这里没有用到DMA方式所以不做赘述 xff0c 特此记录分享希望帮到你们 发送信息
  • VLC播放gstreamer pipeline rtp流

    一 xff1a Gstreamer 下载gstreamer 编译等自行百度 pipeline命令 硬编码输出rtp gst launch 1 0 e videotestsrc 34 video x raw format 61 I420 wi
  • 【unity】Multiple plugins with the same name '...'解决方案

    Multiple plugins with the same name 39 ulua 39 found at 39 Assets Plugins uLua 1 22 x86 64 ulua dll 39 and 39 Assets Plu
  • CMAKE 环境变量

    CMAKE CXX FLAGS CMAKE C FLAGS 在cmake脚本中 xff0c 设置编译选项有两种方式 xff1a 1 1 add compile options命令 add compile options命令添加的编译选项是针
  • Gstreamer常见pipeline命令 - 持续更新中

    解码 xff1a xff08 根据码流类型自适应创建相应解码器 xff09 gst launch 1 0 filesrc location 61 home user DCIM Camera VID 20201001 103749 mov q
  • ubuntu18.04 安装包提示没有可安装候选

    sudo apt get install gcc 正在读取软件包列表 完成 正在分析软件包的依赖关系树 正在读取状态信息 完成 没有可用的软件包 gcc xff0c 但是它被其它的软件包引用了 这可能意味着这个缺失的软件包可能已被废弃 xf
  • D435在ROS下的使用

    本人电脑Ubuntu16 04 Ros 为kinetic D435可以用的ros源码下载地址 https github com intel ros realsense releases一定要仔细查看每一个版本基于的sdk的版本号 D435的
  • 在ros下使用D435出现问题ResourceNotFound: realsense2_camera

    在launch的文件内运行roslaunch rs rgbd launch出现错误 xff1a ResourceNotFound realsense2 camera 或运行 roslaunch realsense2 camera rs rg
  • 在ROS中发布IMU数据

    本文主要是来发布sensor msgs Imu类型的消息 xff0c 其中 xff29 xff2d xff55 的数据为虚拟的 xff11 xff0e 在自己的工作空间中创建ros程序包 这个包依靠std msgs roscpp rospy
  • 控制理论学习资料

    DR CAN 傅里叶分析之掐死教程 xff08 完整版 xff09 更新于2014 06 06
  • 卡尔曼滤波原理二:扩展卡尔曼

    1 理论部分 上一篇介绍了线性卡尔曼滤波器 xff0c 当系统为线性高斯模型时 xff0c 滤波器能给出最优的估计 xff0c 但是实际系统总是存在不同程度的非线性 xff0c 如平方 三角关系 开方等 对于非线性系统 xff0c 可以采用

随机推荐

  • PIXHAWK添加自定义消息存储到SD卡

    四旋翼调试阶段总会出现很多难以预见的现象 xff0c 这时为了找到所出问题的原因 xff0c 就需要获得原始相关数据进行分析 xff0c pixhawk代码提供了记录飞行日志的功能 xff0c 能够将飞行中的重要数据存入SD卡中 xff0c
  • reStructuredText介绍

    文档格式编辑 xff0c 目前主流最强大的要是latex xff0c 但是语法太复杂 xff0c 环境要求也多 xff0c 有的时候也是写文档往往选择markdown xff0c 常常怀疑文档编辑的markdown不是亲生的 xff0c 很
  • ROS2—自定义话题及服务消息类型

    1 source ROS 2 环境 source ROS 2的基础工作空间可以使用下面的命令 xff1a source opt ros foxy setup bash 2 创建一个新的文件夹 执行类似下面的命令 xff1a mkdir p
  • 用VSCode编译运行C++(2022最新教程)以及会遇到的两个问题

    这玩意我弄了一下午 xff0c 发现网上很多教程都过时了 xff0c 现在自己整理一下造福后人 目录 第一步 xff0c 下载和配置mingw64 xff0c 即C C 43 43 编译器GCC的Windows版本 第二步 xff0c 下载
  • 从零开始学USB(一、基础知识1)

    1 什么是USB USB是Universal Serial Bus的缩写 xff0c 中文译为通用串行总线 正如USB的第一个单词表述的那样 xff0c 为了通用 那么我们看一下 xff0c 还有哪些总线不是串行的 xff0c 哪些是不通用
  • 5,树莓派3B+ 使用 Frp 实现内网穿透,公网访问web服务器,设置自动启动,后台运行。 (新人向)

    内网穿透 就是让没有固定公网 ip 的内网的服务器 xff0c 暴露在公网之上 xff0c 从而在外网可以访问 基于这个工具 xff0c 不但可以让外部网络访问内网的web服务器 xff0c 也可以访问我们自建的NAS服务器 xff08 私
  • 关于编程学习上的一些感悟——不忘初心

    序 今天无意中看到以前一起开发过的同学写的技术文章 xff0c 了解到了更多在blog和github以及一些技术交流论坛上面非常活跃 回过头来看看自己 xff0c 好像依然停留在以前的样子 xff0c 似乎与真正在踏实学技术差距好像很大了
  • uORB笔记整理

    其实是对自己看过的文章中讲uORB的部分进行了记录 uORB Micro Object Request Broker 微对象请求代理器 是PX4 Pixhawk系统中非常重要且关键的一个模块 xff0c 它肩负了整个系统的数据传输任务 xf
  • 因子图-gtsam

    闲着写下关于gtsam的内容 更新中
  • 1+11+111+1111+11111+……+11……11(2009个1)的和有多少个1?

    直接贴代码了 lt span style 61 34 font family Courier New 34 gt include lt stdio h gt define SIZE 10 int main void int i int co
  • uC/OS-ii 学习步骤及书籍推荐

    第一步 嵌入式实时操作系统 COS II原理及应用 任哲编著 首选任哲的这本书 我建议先把这本书看一遍 xff0c 弄清楚ucos是怎么回事 xff0c 至于操作系统里面的具体代码实现 xff0c 大概了解就行 xff0c 可以暂且不去细究
  • 利用 Docker 编译 OpenWrt

    原文链接 xff1a 利用 Docker 编译 OpenWrt 五十风的个人博客 由于网络原因编译openwrt时经常下载失败 xff0c 搭建编译环境也很复杂 xff0c 因此想到利用阿里云 Github action等远程构建docke
  • Ubuntu20.04安装ROS Neotic修复依赖问题过程记录

    出现的问题 xff1a 下列软件包有未满足的依赖关系 xff1a ros noetic desktop full 依赖 ros noetic desktop 但是它将不会被安装 依赖 ros noetic perception 但是它将不会
  • ROS-学习笔记-03-(Ubuntu20.04 Noetic运行Web上位机和Nav2d)

    Ubuntu20 04 ROS Noetic 编译运行Nav2d 前言 Ubuntu20 04 Noetic 下的利用rosbridge roslib和ros2d等库实现的网页端Js Widget xff0c 以及运行PR2 Navigat
  • STL的确很好用

    STL的确很好用 以前只听过没用过 用了几次后 xff0c 发现的确方便 现在会自觉不自觉地用到 边用边学吧 map insert 返回 pair multimap insert 返回 iterator 来自 ITPUB博客 xff0c 链
  • ROS-学习笔记-04-( Ubuntu20.04编译ecto,boost1.7环境)

    目录 Ubuntu20 04编译ecto xff08 boost1 7环境 xff09 编译ecto简介1 下载源码安装依赖2 修改源码BuildInstall 参考 Ubuntu20 04编译ecto xff08 boost1 7环境 x
  • Windows设置SSH出错,Permission denied (publickey),Error connecting to agent

    最近在设置nginx配置 xff0c 由于云服务器是密钥登陆的 xff0c 所以有一些问题 前置环境 xff1a 安装Chocolatey 以管理员权限打开PowerShell运行Set ExecutionPolicy AllSigned
  • 其他笔记 - 关于Fast DDS 和rtps的介绍

    简述 分布式实时数据分发服务中间件协议Data Distribution Service xff08 DDS xff09 是OMG于2003年发布并于2007年修订的开放标准 该标准定义了用于分布式系统的 发布 订阅 通信中间件的API规范
  • 其他笔记 - InfluxDB与MongoDB的对比

    InfluxDB与MongoDB对比 文章来源 本文将比较InfluxDB与MongoDB在常见时间序列工作负载下的性能和特性 xff0c 特别是两者在数据传输率 xff0c 磁盘上数据压缩率和查询性能上的差异 InfluxDB是一个Go实
  • 其他笔记 - Electron代替品探索过程

    目录 前言替代品一览C Net C 43 43 DartGoJavaJSPython sciter测试 前言 Electron是基于 Node js 和 Chromium的 xff0c 可以把前端代码打包成桌面应用的工具 xff0c 使得J