electron-egg: 新一代桌面应用开发框架

2023-11-13

当前桌面软件技术有哪些?

语言 技术 优点 缺点
C# wpf 专业的桌面软件技术,功能强大 学习成本高
Java swing/javaFx 跨平台和语言流行 GUI库少,界面不美观
C++ Qt 跨平台,功能和类库丰富 学习成本高
Swift 非跨平台,文档不友好,UI库少
JS electron 跨平台,入门简单,UI强大,扩展性强 内存开销大,包体大。

为什么使用electron?

我们先来看一下electron技术的官方介绍:

Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需要本地开发 经验。

在这里插入图片描述

某某说:我们的应用要兼容多个平台,原生开发效率低,各平台研发人员不足,我们没有资源。

也许你觉得只是中小公司没有资源,no!大公司更没有资源。因为软件体量越大,所需研发人员越多。再加上需要多平台支持的话,研发人员更是指数级增长的。

我们来看看QQ团队负责人最近的回应吧:

“感谢大家对新版桌面QQ NT的使用和关注,今年QQ团队启动了QQ的架构升级计划,
第一站就是解决目前桌面端迭代慢的问题,我们使用新架构从前到后对QQ代码进行了重构,
而其中选择使用Electron作为新版QQ桌面端UI跨平台解决方案,
是基于提升研发效率、框架成熟度、团队技术及人才积累等几个方面综合考虑的结果。”

也许electron的缺点很明显,但它的投入产出比却是最高的。

所以,对企业而言,效率永远是第一位的。不要用程序员的思维去思考产品。

哪些企业或软件在使用electron?

国内:抖音客户端、百度翻译、阿里云盘、B站客户端、迅雷、网易有道云、QQ(doing) 等

国外:vscode、Slack、Atom、Discord、Skype、WhatsApp、等

你的软件用户体量应该没有上面这些公司多吧?所以你还有什么可担心的呢?

开发者 / 决策者不要去关心性能、包体大小这些东西,当你的产品用户少时,它没意义;当你的产品用户多时,找nb的人把它优化。

聊聊electron-egg框架

EE是一个业务框架。

就好比 Spring之于java,thinkphp之于php,nuxt.js之于vue;electron只提供了基础的函数和api,但你写项目的时候,业务和代码工程化是需要自己实现的,ee就提供了这个工程化能力。

特性

  • 跨平台:一套代码,可以打包成windows版、Mac版、Linux版、国产UOS、Deepin、麒麟等
  • 简单高效:只需学习 js 语言
  • 前端独立:理论上支持任何前端技术,如:vue、react、html等等
  • 工程化:可以用前端、服务端的开发思维,来编写桌面软件
  • 高性能:事件驱动、非阻塞式IO
  • 功能丰富:配置、通信、插件、数据库、升级、打包、工具… 应有尽有
  • 安全:支持字节码加密、压缩混淆加密
  • 功能demo:桌面软件常见功能,框架集成或提供demo

谁可以使用electron-egg?

前端、服务端、运维、游戏等技术人员皆可使用。我相信在你的工作生涯中,或多或少都接触过js,恭喜你,可以入门了。

为什么各种技术栈的开发者都能使用electron-egg?

这与它的架构有关。
在这里插入图片描述

第一:前端独立

你可以用vue、react、angular等开发框架;也可用antdesign、layui、bootstrap等组件库;或者你用cococreater开发游戏也行; 框架只需要最终构建的资源(html/css/js)。

第二:工程化-MVC编程模式

如果你是java、php、python等后端开发者,不懂js那一套编程模式怎么办?

没关系,框架已经为你提供了MVC(controller/service/model/view),是不是很熟悉?官方提供了大量业务场景demo,直接开始撸代码吧。

开箱即用

编程方法、插件、通信、日志、数据库、调试、脚本工具、打包工具等开发需要的东西,框架都已经提供好了,你只需要专注于业务的实现。

十分钟体验

安装

# 下载
git clone https://gitee.com/dromara/electron-egg.git

# 安装依赖
npm install

# 启动
npm run start

demo效果

在这里插入图片描述

界面中的功能是demo,方便初学者入门。

项目案例

EE框架已经应用于医疗、学校、政务、股票交易、ERP、娱乐、视频、企业等领域客户端

以下是部分开发者使用electron-egg开发的客户端软件,请看效果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

后语

仓库地址,欢迎给项目点赞!

giteehttps://gitee.com/dromara/electron-egg 3400+

githubhttps://github.com/dromara/electron-egg 900+

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

electron-egg: 新一代桌面应用开发框架 的相关文章

随机推荐

  • linux下java设置文件读写权限

    只能给当前用户赋予对该文件的权限 调用createNewFile 方法默认的权限是644 可以用命令行或者设置file参数 File file new File home test3 txt if file createNewFile Sy
  • 计算机专业 英语词汇大全(持续更新)

    文章目录 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 序号 词汇的领域 1 软件 软件开发 2 计算机 计算机网络 多媒体 3 操作系统 数据库 4 算法 5 人工智能 6 电子
  • 【微信小程序】用户加密登录模块实现

    占位贴 提醒自己有时间了把源码和思路提供一下
  • QGLViewer+Qt5+VS2017开发环境搭建

    QGLViewer是在原生OpenGL的基础上做了一层封装 支持显示和交互 而且与QT完美融合 可扩展性好 不足之处是这个库只封装了OpenGL1 其显示速度有待提高 本人在开发环境搭建过程中也踩了不少坑 特此记录 供日后查阅 准备工作 下
  • 解决The code generator has deoptimised the styling of xxxx.js as it exceeds the max of 500kb

    解决The code generator has deoptimised the styling of xxxx js as it exceeds the max of 500kb 1 需求背景 最近在vue项目引用了一个js文件 由于这个
  • #pragma once和#ifndef的区别

    转载自 百度百科 pragma once 和 ifndef的区别 pragma once和 ifdef都是可以避免同一个文件被include多次 在能够支持这两种方式的编译器上 二者并没有太大的区别 但是两者仍然还是有一些细微的区别 1 p
  • AcWing 894. 拆分-Nim游戏 (博弈论)

    题目 数论章节中的最后一题 也是博弈论的最后一节 堆ai拆分成b1 b2后 一个重要的性质就是sg b1 b2 sg b1 sg b2 import java io BufferedReader import java io IOExcep
  • 工业软件系列之仿真篇:正向研发的加速器

    已剪辑自 https mp weixin qq com s 0VVwg08JH PZhKpvcoRYTA 仿真是通过模型来模拟现实系统中发生的过程 其本质是将物理化学公式模型进行代码化表示 并借助计算机实现计算求解 仿真在离散制造和流程制造
  • 解决linux git已生成配置密钥出现Permission denied (publickey).问题

    前言 在我使用linux的git时 配置的ssh密钥 并且添加进的github 但是在执行git clone 时仍然出现Permission denied publickey 的问题 经过多次的尝试 发现的解决问题的方法 方法 这个问题的原
  • 你知道DashO Pro/Dotfuscator有效保护应用的秘诀吗?看了这篇你就明白了

    Gartner在其2019年7月应用内保护应用内保护市场指南中将应用内保护称为 关键 该指南的摘要建议安全和风险管理负责人 在保护其应用程序客户端时应格外小心 以避免 安全性失败 这就提出了一个问题 什么构成 应有的注意 尽管术语和术语可能
  • Person类

    题目 设计一个 Person 类 成员包括 姓名 性别 年龄 需要实现的功能 成员函数 输入 输出 修改成员 根据有关信息初始化对象 main 函数先输出把对象初始化为缺省值的结果 再输出修改各成员的结果 再输出经输入函数修改各成员的结果
  • origin如何绘制双y轴曲线_如何通过紫外可见漫反射光谱计算带隙/禁带宽度(方法2.tauc plot法)...

    微信公众号试行乱序推送 为了不错过更新 请点击本页面最上方的 结构分析表征 进入公众号主页 点击右上角的三个小点点 在弹出的界面点击 设为星标 并在看完图文或视频后点击右下角的 在看 和 赞 本公众号以各类仪器的测试 分析教程 欢迎关注同名
  • 《机器学习》又名西瓜书个人笔记

    周志华老师写在第十次印刷之际 这是一本教科书 这是一本入门教科书 这是一本面向理工科高年级本科生和研究生的教科书 本书适宜多读几遍 初学机器学习 容易陷入一个误区 以为熟练了 十大算法 便可以解决任何问题 于是将目光仅聚焦在具体算法推导和编
  • Vuforia 的 模型识别中 数据集 Database

    数据集 使用ObjectTracker数据集API可以选择使用的模型目标 可以从中创建和加载模型数据集 继承自DataSet ObjectTracker 加载后 可以激活数据集以供数据集使用ObjectTracker 与我们现有的功能类似
  • SQL注入详解

    一 什么是SQL注入 SQL注入是一种将SQL代码添加到输入参数中 传递到SQL服务器解析并执行的一种攻击方式 select from table where name appName 攻击者利用appName参数值的输入 来生成恶意的SQ
  • mac typora低版本出现图片不显示

    由于mac的系统版本低 安装的typora的版本也相对低 但是会遇到一些问题 尤其是遇到加载的图片 出现不显示 需要手动一个一个修改一下才能显示 如果图片较多就麻烦了 可以切换源代码模式 在源码模式下 编写一个图片的链接 可以在 和imag
  • 使用openCV查看png图片的各通道值

    png格式的图片除了能展现出各种各样的色彩外 还能表现出 透明 的特点 这是因为这种格式的图片除了含有我们常见的RGB三个颜色通道外 还有一个A通道来控制图片的透明效果 使用openCV可以方便的查看各种格式图片各个通道的值 思路如下 首先
  • windows 下的composer 可能遇到(Loading composer repositories with package information)

    最容易遇到下面这个问题 Loading composer repositories with package information Updating dependencies including require dev 在dos界面下输入
  • Unity Inputfield获得和失去焦点

    获取焦点 public InputField inputField void Start inputField ActivateInputField 失去焦点 public InputField inputField void Start
  • electron-egg: 新一代桌面应用开发框架

    当前桌面软件技术有哪些 语言 技术 优点 缺点 C wpf 专业的桌面软件技术 功能强大 学习成本高 Java swing javaFx 跨平台和语言流行 GUI库少 界面不美观 C Qt 跨平台 功能和类库丰富 学习成本高 Swift 无