管你承不承认,在2020年的时候,golang已经不是小众语言了,很多的公司和开发者都在开始学习使用golang进行业务开发了。Docker,k8s的出现让人们知道,原来golang在服务器端是那么的强大。
那么如此强大的golang在客户端表现如何呢?答案是官方并没有给出golang语言的gui库,不过这并不能阻止人们使用golang进行GUI开发的脚步,在golang社区里面有着大量的第三方GUI扩展库,今天我们就来盘点一下golang社区流行的十大gui扩展库。
这是一个基于election的扩展库,意味着你可以使用css,js,html来进行界面的设计和开发。
这是一个基于sciter的绑定,sciter是非常流行的桌面客户端UI库,也是使用css,js,html来进行开发的,因此对于熟悉web开发的人上手并不难。
使用HTML, CSS and NW.js.来进行发开发的扩展库,它也是基于web的UI库,它是居于Chromium and Node.的.
使用最新版本的gtk3进行绑定,同时它需要 cairo, glib,等依赖进行开发。
作为目前非常流行的图形库,qt有着出色的用户体验,很多linux桌面系统就是使用qt开发的。
非常小的基于webview的扩展库,优点是小,缺点也是小。
只是基于windows的扩展库,对其它操作系统不支持。
基于mac系统,对windows等系统不支持。
材料设计的UI库,有着惊艳 的外观,界面很符合现代软件的风格。
Gi是Go中基于场景图的2D和3D GUI /图形界面,它有着丰富的组件,编译效率非常高,有着强大的布局功能,有着强大的视图范例。
公司有国产化(主要兼容麒麟操作系统+armV8架构的处理器)的项目的需求,为桌面应用程序,根据公司资源情况,在技术层面进行了一些选型调研。
一般来说,开发语言本身都是有跨平台能力的,比如java(jvm),c#(.net core),python(python解释器),c++等等,所以要调研选型的方向主要是gui的跨平台能力。
框架 | 语言 | 界面语言 | 性能 | 开发成本 | 文档 |
Qt | C++,python等 | Qml=> xml | 优 | 高 | 多 |
Eto | C# | 1. Xaml=> xml | 一般 | 一般 | 少 |
Electron | nodejs | vue,html等 | 较差 | 一般 | 较多 |
Cef | java,python等 | html,vue,js等 | 优 | 较高 | 较少 |
如上所示:
如果对性能没什么要求,而且要界面绚丽,能加载html,与底层交互少,那么electron为最佳选择,而且electron开发简单,上手快;
如果单纯要求性能,那就是c++和qt了;
如果对性能要求不是很高,而且又要兼顾成本,还是建议eto+c#。虽然eto的资料不是很多,但有官方demo和基于eto的一些开源项目,自己跑一下,学习一下发现还是很简单的,业务逻辑使用c#,快速开发也不会有什么坑;
至于最后一种方案cef,这个是基于google的开源浏览器内核项目cef,业务端语言可以是python、java、c#、go语言等,界面交互直接用html+js方案,实现了开发C/S程序的前后端分离,前端调用业务端使用jsbridge方式,业务端渲染界面使用websocket,保证实时高效。
根据公司资源情况,我选择了c#+eto技术方案。
eto的github地址:https://github.com/picoe/Eto,学习一下demo部分足够上手开发了。
根据官方描述:此框架(Eto)可用于使用本地工具包(native toolkit)和简单的API构建跨多个平台运行的应用程序,说白了就是eto支持多种GUI渲染。基于此,我选用gtk作为gui库。
图1 Eto Demo示例
Windows下Eto+C#开发环境的搭建:
1.安装GTK3。https://www.gtk.org/docs/installations/windows/,我这里使用了 MSYS2方式 安装,简单快速;
图2
图3
图4 Eto代码结构
图5
图5 程序发布
host 是目前最好的开源 CMS 之一。它主要聚焦于创建轻量级、快速加载、界面美观的博客。
-- Ankush Das(作者)
Ghost 是一个自由开源的内容管理系统(CMS)。如果你还不了解 CMS,那我在此解释一下。CMS 是一种软件,用它可以构建主要专注于创建内容的网站,而无需了解 HTML 和其他与 Web 相关的技术。
事实上,Ghost 是目前 最好的开源 CMS 之一。它主要聚焦于创建轻量级、快速加载、界面美观的博客。
Ghost 系统有一个现代直观的编辑器,该编辑器内置 SEO(搜索引擎优化)功能。你也可以用本地桌面(包括 Linux 系统)和移动应用程序。如果你喜欢终端,也可以使用其提供的 CLI(命令行界面)工具。
让我们看看 Ghost 3.0 带来了什么新功能。
我通常对开源的 CMS 解决方案很感兴趣。因此,在阅读了官方公告后,我通过在 Digital Ocean 云服务器上安装新的 Ghost 实例来进一步尝试它。
与以前的版本相比,Ghost 3.0 在功能和用户界面上的改进给我留下了深刻的印象。
在此,我将列出一些值得一提的关键点。
除了编辑器的所有细微更改之外,3.0 版本现在支持通过输入 URL 添加漂亮的书签卡。
如果你使用过 WordPress(你可能已经注意到,WordPress 需要添加一个插件才能添加类似的卡片),所以该功能绝对是 Ghost 3.0 系统的一个最大改进。
我没有专门对此进行测试,但它更新了 WordPress 的迁移插件,可以让你轻松地将帖子(带有图片)克隆到 Ghost CMS。
基本上,使用该插件,你就能够创建一个存档(包含图片)并将其导入到 Ghost CMS。
为了使用户体验更好,Ghost 团队还更新了图像库(现已为响应式),以便在所有设备上舒适地呈现你的图片集。
此外,帖子和页面中的图片也更改为响应式的了。
Ghost Subscription Model
虽然,该功能目前还处于测试阶段,但如果你是以此平台作为维持你业务关系的重要发布平台,你可以为你的博客添加成员、订阅选项。
该功能可以确保只有订阅的成员才能访问你的博客,你也可以选择让未订阅者也可以访问。
默认情况下,该版本支持 Stripe 付款网关,帮助你轻松启用订阅功能(或使用任何类型的付款的付款方式),而 Ghost 不收取任何额外费用。
你现在可以在 Ghost 3.0 的博客中集成各种流行的应用程序/服务。它可以使很多事情自动化。
引入的默认主题(设计)已得到改进,现在也提供了夜间模式。
你也可以随时选择创建自定义主题(如果没有可用的预置主题)。
除了所有关键亮点以外,用于创建帖子/页面的可视编辑器也得到了改进(具有某些拖放功能)。
我确定还有很多技术方面的更改,如果你对此感兴趣,可以在他们的 更改日志 中查看。
要在以 WordPress 为主导的世界中获得认可并不是一件容易的事。但 Ghost 逐渐形成了它的一个专门的发布者社区。
不仅如此,它的托管服务 Ghost Pro 现在拥有像 NASA、Mozilla 和 DuckDuckGo 这样的客户。
在过去的六年中,Ghost 从其 Ghost Pro 客户那里获得了 500 万美元的收入。就从它是致力于开源系统解决方案的非营利组织这一点来讲,这确实是一项成就。
这些收入有助于它们保持独立,避免风险投资家的外部资金投入。Ghost CMS 的托管客户越多,投入到免费和开源的 CMS 的研发款项就越多。
总体而言,Ghost 3.0 是迄今为止提供的最好的升级版本。这些功能给我留下了深刻的印象。
如果你拥有自己的网站,你会使用什么 CMS?你曾经使用过 Ghost 吗?你的体验如何?请在评论部分分享你的想法。
via: https://itsfoss.com/ghost-3-release/
作者: Ankush Das 选题: lujun9972 译者: Morisun029 校对: wxy
本文由 LCTT 原创编译, Linux中国 荣誉推出
*请认真填写需求信息,我们会在24小时内与您取得联系。