Navigation

    云、贵、川、渝IT人的圈子
    • Register
    • Login
    • Search
    • 主页
    • 问答
    • 话题
    • 热门
    • 圈子
    • 招聘
    • 活动
    • 项目

    改善Electron应用稳定性Sugar-Electron

    开源推荐
    sugar-electron
    1
    1
    38
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • fouwai98
      fouwai98 last edited by

      基于 Electron 桌面开发平台的自研应用框架 Sugar-Electron,期望能改善 Electron 应用稳定性和帮助开发团队降低开发和维护成本。

      关于应用稳定性Electron应用程序有三大基础模块:主进程,渲染进程,进程间通信。由于我们属于多窗口(多渲染进程)的应用,所以我们会把窗口公共的服务模块都写到主进程模块,这为整个程序的稳定性埋下了隐患。

      在Electron中,主进程控制了整个程序的生命周期,同时也负责管理它创建出来的各个渲染进程。一旦主进程的代码出现问题,那么会导致以下情况发生。

      主进程出现未捕获的异常崩溃,直接导致应用退出。主进程出现阻塞,直接导致全部渲染进程阻塞,UI处于阻塞无响应状态。所以,在Sugar-Electron中,我们引入了Service进程的概念,期望将业务原来写在主进程的代码,迁移到Service进程中(本质上是渲染进程),使得这些代码导致的崩溃不会使得整个程序退出。而主进程的进程管理器可以在Service崩溃时,重启该进程并恢复崩溃前的状态,从而提高整个程序的稳定性和可用性。

      Electron的特性有内置进程间通信模块,支持请求响应、发布订阅的方式;内置进程间状态共享模块,支持状态同步变更、状态变更监听;内置进程管理模块,支持进程模块集中式管理;内置配置管理模块,支持开发、测试、生产环境配置切换;内置插件模块,支持高度扩展的插件机制;框架侵入性低,项目接入改造成本低;渐进式开发。

      项目地址: https://github.com/SugarTurboS/Sugar-Electron

      99db9050-d3a8-47b5-95fb-c39440d2990b-image.png

      1 Reply Last reply Reply Quote 0
      • First post
        Last post
      社
      8
      玻
      U
      A
      大
      A
      黑
      低
      天
      白
      快
      爱
      白
      美
      此
      荒
      为
      哭
      柳
      无

      社群
      昆明网页设计交流吧
      友情链接
      • Funtask
      • Funtask 社区
      • SUWIS
      • 云南北大青鸟
      ©2019-2020 滇ICP备20006698号