将任意网站打包成跨平台的桌面端软件(将任意网站打包成跨平台的桌面端软件叫什么)

将任意网站打包成跨平台的桌面端软件(将任意网站打包成跨平台的桌面端软件叫什么)

hi, 大家好, 我是徐小夕.

之前有些用户和朋友希望我基于H5-Dooring开发一款桌面端应用, 最近刚好有时间, 就花了小半天时间使用electron开发了桌面端的软件Dooring-electron.

将任意网站打包成跨平台的桌面端软件(将任意网站打包成跨平台的桌面端软件叫什么)

当然这篇文章不会介绍如何从零使用 electron , 而是会提供一种方案, 帮助大家快速的将线上网站转化为 electron 应用.

文章最后我也会分享一款我朋友开发的在线工具, 可以不写一行代码, 轻松把线上网站转化为桌面端软件.

electron的一些知识

熟悉Electron的朋友也许知道, Electron继承了来自 Chromium 的多进程架构,这使得Electron在架构上非常类似于一个现代的网页浏览器。我们可以控制两种类型的进程:主进程和渲染器

每个 Electron 应用都有一个单一的主进程,作为应用程序入口。主进程在 Node 环境中运行,我们可以使用所有 Node 的能力。

那么主进程中我们可以做些什么呢? 主进程的主要目的是使用 Browserwindow 模块创建和管理应用程序窗口

BrowserWindow 类的每个实例创建一个应用程序窗口,且在单独的渲染器进程中加载一个网页。 我们可从主进程用 window 的 webContent 对象与网页内容进行交互。

有了以上基础, 我画了一张dooring-electron 的简单架构图方便大家理解:

将任意网站打包成跨平台的桌面端软件(将任意网站打包成跨平台的桌面端软件叫什么)

想对electron有更多直观理解的, 也可以参考其官网:

https://www.electronjs.org/

实现将线上网站打包成桌面端软件

我们知道如果想要加载第三方网络资源, 可以使用 mainWindow.loadURL(url) 来实现, 所以只需要将网址放到 loadURL 方法中让 electron 打开即可:

const mainWindow = new BrowserWindow({ maximizable: true, show: false, title: "H5-dooring网站制作平台", fullscreen: false, center: true, webPreferences: { preload: path.join(__dirname, 'preload.js'), enableRemoteModule: true, nodeIntegration: true, }, }); mainWindow.maximize(); mainWindow.setAutoHideMenuBar(true); mainWindow.loadURL('your website address');

同时如果想要控制网站打开新的页面时的窗口尺寸, 我们只需要对窗口进行监听, 来动态设置新窗口的尺寸即可:

mainWindow.webContents.setWindowOpenHandler((details) => { const base = { fullscreen: false, skipTaskbar: true, center: true, maximizable: true, autoHideMenuBar: false,//自动隐藏菜单栏 // icon: iconPath,// 窗口图标 parent: null ,//指定父窗口 resizable: true, webPreferences: {//网页功能设置。 webSecurity: false,//禁用同源策略 nodeIntegration: true, nodeIntegrationInWorker: true, enableRemoteModule: true, contextIsolation: false }, } const h5Win = { width: 1200, minWidth: 1200, minHeight: 775, height: 775, y: 60, } const otherWin = { width: 1200, minWidth: 1200, minHeight: 800, height: 800, y: 60, } if (details.url.indexOf('/preview') > -1) { return { action: 'allow',//允许新窗口被创建 overrideBrowserWindowOptions: {//允许自定义创建的窗口参数 ...base, ...h5Win, } } } if (details.url.indexOf('/ide') > -1) { return { action: 'allow',//允许新窗口被创建 overrideBrowserWindowOptions: {//允许自定义创建的窗口参数 ...base, ...otherWin, } } } if (details.url.indexOf('/h5_plus') > -1) { return { action: 'allow',//允许新窗口被创建 overrideBrowserWindowOptions: {//允许自定义创建的窗口参数 ...base, width: 1500, height: 860 } } } return { action: 'allow',//允许新窗口被创建 overrideBrowserWindowOptions: {//允许自定义创建的窗口参数 ...base, ...otherWin, } } })

对于网站打包的配置 electron 文档上介绍的很详细, 这里我就不一一介绍了, 大家可以在 github 上参考学习:

  • https://github.com/MrXujiang/h5-dooring-electron-demo

不用写一行代码, 轻松将你的网站打包成桌面端软件

将任意网站打包成跨平台的桌面端软件(将任意网站打包成跨平台的桌面端软件叫什么)

在线地址:https://webdesk.pigjs.com/builder

我亲自体验了一下, 使用起来还是相当方便的, 不需要写一行代码就可以将网站转化的桌面端软件, 以下是一些功能优缺点介绍.

将任意网站打包成跨平台的桌面端软件(将任意网站打包成跨平台的桌面端软件叫什么)

Webdesk 功能及特点:

  1. 快速转换:WebDesk可以在几分钟内将网页转换为桌面应用,无需编码或复杂的设置
  2. 多平台支持:可以将网页转化成 Window 桌面应用、macOs桌面应用。
  3. 广泛的应用场景:无论是保存在线课程、工作文档还是个人网站,WebDesk都是将其转换为桌面应用的理想选择。

Webdesk 缺点:

  1. 无代码签名:安装时可能因未签名而被系统提示存在安全隐患。
  2. 体积过大:安装包体积约为 80MB,相对较大
  3. 内存占用高:运行时内存占用较高
  4. 无法离线使用:需要网络连接才能使用,不支持离线模式

Webdesk 未来规划:

  1. 代码签名:增加自动或自定义代码签名功能,提高安装安全性。
  2. 应用平台上架:实现从构建到平台分发的完整流程
  3. 体积减小:优化安装包,减小体积,降低内存占用
  4. 离线使用:增加离线使用功能,无需网络即可使用
  5. 多语言支持:增加多语言支持

更多 前端 / 低代码 / 可视化 相关的技术分享和实现, 欢迎 微信 搜索 趣谈前端 学习探索.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月2日 上午9:43
下一篇 2024年5月2日 上午9:55

相关推荐

  • 中级系统集成项目管理考几科内容

    中级系统集成项目管理考试几科 系统集成项目管理考试(IPM考试)是衡量系统集成项目管理专业人员技能水平的重要考试。中级系统集成项目管理考试包括以下几科: 一、系统集成项目管理基础 …

    科研百科 2025年1月23日
    0
  • 科研项目睡眠医学代码

    科研项目睡眠医学代码 随着生活节奏的加快和工作压力的增加,越来越多的人面临着睡眠问题。睡眠医学是一门研究人类睡眠健康和睡眠障碍的学科,对于维护人们的健康和幸福至关重要。 在这个背景…

    科研百科 2025年3月15日
    0
  • 兰州公路段“125系统工作法”让党建品牌更出彩(党建125工作法内容)

    今年以来,兰州公路段党支部综合运用“125系统工作法”(“1”即全面做优标线施划一特色、“2”即 实施“党建” 养护”“品牌 主业”工程、“5”即“五驾马车”齐头并进),继续深度挖…

    科研百科 2023年9月28日
    158
  • 博士科研项目结项时间

    博士科研项目结项报告 尊敬的导师、评审专家和各位同事: 我是一名即将毕业的博士生,最近完成了一项博士科研项目,在此向各位汇报。 该科研项目旨在探究植物光合作用的机制,并在此基础上提…

    科研百科 2025年3月20日
    0
  • 生产项目管理

    生产项目管理:挑战与机遇 生产项目管理是一个涉及多个方面的综合性工作,包括计划、组织、控制和协调。在现代制造业中,生产项目管理的重要性越来越受到重视,因为它能够提高生产效率和质量,…

    科研百科 2024年5月24日
    81
  • 工作流项目管理系统

    工作流项目管理系统: 让项目管理更加高效 随着现代软件开发和项目管理水平不断提高,工作流项目管理系统已经成为了项目管理中不可或缺的一部分。工作流项目管理系统可以帮助项目经理有效地管…

    科研百科 2024年12月30日
    1
  • 餐饮业科研项目

    餐饮业科研项目: 随着经济的发展和人们生活水平的提高,餐饮业一直是国民经济的支柱之一。然而,随着竞争的加剧和市场需求的变化,餐饮业也需要不断地创新和升级。因此,许多餐饮业科研项目得…

    科研百科 2025年3月18日
    2
  • 低代码oa平台Windows版开源

    低代码oa平台Windows版开源: 让组织更容易使用和管理信息化项目 随着信息化项目的不断发展,组织需要越来越多的工具和平台来帮助他们管理和推进这些项目。低代码oa平台作为其中一…

    科研百科 2024年10月23日
    0
  • 东昌府区直机关工委夯实基层基础,党建工作取得明显成效(县直机关党工委工作运行机制)

    记者 张丽娜 12月8日,聊城市东昌府区新闻办公室召开新闻发布会,邀请聊城嘉明经济开发区管委会主任、区直机关工委书记时宏伟,区直机关工委副书记王玉璞就东昌府区委区直机关工委工作做简…

    科研百科 2022年12月29日
    176
  • WeWork泡沫之后,国内联合办公行业还有前途吗(联合办公未来)

    虽然泡沫已经破灭,但联合办公的商业逻辑仍然成立、市场需求仍然存在,只是那些砸钱之后尚未形成规模效应,资金供给又出现断档的创业者不得不为曾经的激进买单 图源Unsplash 文 |《…

    科研百科 2024年3月12日
    69