原文:https://www.phoronix.com/scan.php?page=news_item&px=HTML5-Golang-Desktop-Apps

-------------------------------------------------------

We Rely On Your Support: This site is primarily supported by advertisements. Ads are what have allowed this site to be maintained for the past 15 years. We do our best to ensure only clean, relevant ads are shown, when any nasty ads are detected, we work to remove them ASAP. If you would like to view the site without ads while still supporting our work, please consider our ad-free Phoronix Premium. You can also consider a tip via PayPal.Electron Apps Are Bad, So Now You Can Create Desktop Apps With HTML5 + Golang

Written by Michael Larabel in Desktop on 9 February 2019 at 06:52 AM EST. 47 Comments

The Electron software framework that allows creating desktop GUI application interfaces using JavaScript and relies upon a bundled Chromium+Node.js run-time is notorious among most Linux desktop users for being resource heavy, not integrating well with most desktops, and generally being despised. For those that are fond of using web standards for creating desktop GUIs, now there is a way to create desktop application front-ends using HTML5 and Golang but with less baggage.

Developer Serge Zaitsev presented at FOSDEM 2019 last weekend in Brussels about his work on the Webview and Lorca libraries. These libraries allow building modern desktop applications within the Go programming language while writing the interfaces in HTML5.

Lorca allows building cross-platform modern desktop applications with HTML5 and Golang. Lorca relies upon Chrome/Chromium for its UI layer, but doesn't bundle its own version thus allowing the system browser to be re-used. Compared to the likes of Electron, Lorca aims to be much lighter weight, supports calling arbitrary JavaScript code from within Go, and other features to put it roughly at feature parity with Electron.

Webview meanwhile is lower-level and just about presenting application user interfaces in browser-based windows. Webview also supports C and C++ in addition to Golang and also exposes bindings for other languages like Rust and Haskell. This library supports not only Chrome/Chromium but also working on Windows' MSHTML and other WebKit coverage.

Those curious about combining HTML5 with Golang for desktop apps can learn more via this slide deck (PDF) from FOSDEM as well as the WebM session recording.

Electron Apps Are Bad, So Now You Can Create Desktop Apps With HTML5 + Golang的更多相关文章

  1. Why aren't more desktop apps written with Qt?(quora.com系列文章)

    As far as I know and have understood in my experience with Qt, it's a very good and easy to learn li ...

  2. Why aren't more desktop apps written with Qt?

    Ref http://programmers.stackexchange.com/questions/88685/why-arent-more-desktop-apps-written-with-qt ...

  3. CHARFORMAT2 structure

    CHARFORMAT2 structure 包含在丰富的编辑控件中的字符格式设置的信息.charformat2是微软丰富的编辑CHARFORMAT结构2扩展.微软丰富的编辑2允许您使用结构与em_ge ...

  4. Windows 托盘区域显示图标

    NOTIFYICONDATA structure 这个结构体包含了向通知区域(底部任务栏右下角区域,下面都称为托盘)显示的信息.需要使用函数Shell_NotifyIcon. 结构体成员 typede ...

  5. c语言检测文件是否存在int __cdecl access(const char *, int);

    最近写代码,遇到很多地方需要判断文件是否存在的.网上的方法也是千奇百怪,“百家争鸣”. fopen方式打开的比较多见,也有其他各种方式判断文件是否存在的,由于其他方法与本文无关,所以不打算提及. 笔者 ...

  6. Task Scheduler Error and Success Constants (Windows)

    If an error occurs, the Task Scheduler APIs can return one of the following error codes as an HRESUL ...

  7. Local System、Local Service與Network Service

    CreateService参数介绍SC_HANDLE CreateService( SC_HANDLE hSCManager, //服务控制管理程序维护的登记数据库的句柄,由系统函数OpenSCMan ...

  8. ChangeServiceConfig2 function

    ChangeServiceConfig2 function   Changes the optional configuration parameters of a service. Syntax C ...

  9. svn的基本配置及安装

    1.检查是否已安装 rpm -qa subversion 如果要卸载旧版本: yum remove subversion 2.安装 yum install subversion 3.检查是否安装成功 ...

随机推荐

  1. Python机器学习基础教程-第2章-监督学习之K近邻

    前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...

  2. solr关于日期范围查询

    问题:从solr上查询创建日期在2019-06-25到2019-06-26之间的数据 createDate:[2019-06-25 TO 2019-06-26]

  3. Jira强制退出时(如意外停电)再启动报Locked错误的几个解决办法

    查看jira_home的路径在/opt/atlassian/jira/atlassian-jira/WEB-INF/classes/jira-application.properties文件中查看 方 ...

  4. [一点感触]ADF4350 ADF4111混频记

    几经周折,还是和jack顺利的调完了二者的混频,回想起来我发的上一个版本是2016-11-29,时间可能永远停留在这里了... 祝您一路走好,未来的世界不再忙碌.奔波! 发两张界面纪念吧: 也曾想着把 ...

  5. KEGG富集分析散点图.md

    输入数据格式 pathway = read.table("kegg.result",header=T,sep="\t") pp = ggplot(pathway ...

  6. C++编译提示 default argument are given of parameter ..

    如果定义一个类的构造函数时,带有默认的入参值,在cpp文件中实现构造函数时,是不能带的!否则就会提示该种类型的编译错误. //.h文件: namespace Ui { class Task; } cl ...

  7. Python 常用包收集

    转自:http://www.cnblogs.com/Logic0/archive/2010/09/03/1850382.html 常用的自带类库 常用的外部类库       Tkinter———— P ...

  8. QT json数据的应用(cJSON)

    json数据可保存小量的数据在本地的json文件中.QT有两种方式操作:(1).cJSON (2).QT的操作json数据的类. 应用:将监控预案数据保存在本地中. 1.首先根据预案结构创建一个jso ...

  9. PAT(B) 1033 旧键盘打字(C) 字符

    题目链接:1033 旧键盘打字 (20 point(s)) 题目描述 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是 ...

  10. 【SCALA】1、我要开始学习scala啦

    因为scala也是基于jvm上运行的,所以能跑java,原则上就能跑scala 1.国际惯例,先来个hello world走走 package demo1 //object之下全为静态,scala没有 ...