Go GUI 开发的“绝境”与“破局”:2025 年现状与展望
本文永久链接 – https://tonybai.com/2025/11/03/go-gui-development-2025 大家好,我是Tony Bai。 “Go 语言能写桌面应用吗?” 这个问题,如同一个幽灵,常年盘旋在 Go 社区的上空。作为一门在后端、云原生和命令行工具领域所向披靡的语言,Go 在图形用户界面(GUI)开发上的“短板”,一直是其支持者心中一个难以言说的痛。 ...
本文永久链接 – https://tonybai.com/2025/11/03/go-gui-development-2025 大家好,我是Tony Bai。 “Go 语言能写桌面应用吗?” 这个问题,如同一个幽灵,常年盘旋在 Go 社区的上空。作为一门在后端、云原生和命令行工具领域所向披靡的语言,Go 在图形用户界面(GUI)开发上的“短板”,一直是其支持者心中一个难以言说的痛。 ...
本文永久链接 – https://tonybai.com/2024/11/11/some-details-about-go-compilation 在Go开发中,编译相关的问题看似简单,但实则蕴含许多细节。有时,即使是Go专家也需要停下来,花时间思考答案或亲自验证。本文将通过几个具体问题,和大家一起探讨Go编译过程中的一些你可能之前未曾关注的细节。 ...
本文永久链接 – https://tonybai.com/2024/09/10/programmer-mentors-and-their-classic-works 早上送孩子去幼儿园的路上,收到一个小伙伴的微信: 我这才意识到今天是教师节!为人师,自觉还不够格!但在这个特殊的日子,作为IT行业从业人员,我想向那些在计算机科学和编程领域给予我们启迪的“老师们”致敬。这些老师可能不是传统意义上站在讲台前的教育者,但他们通过自己的著作、思想和贡献,通过他们的智慧结晶,为我们指明了方向,为无数程序员的成长之路点亮了明灯。 ...
本文永久链接 – https://tonybai.com/2024/05/27/gopher-rust-first-lesson-first-rust-program 经过上一章的学习,我想现在你已经成功安装好一个Rust开发环境了,是时候撸起袖子开始写Rust代码了! 程序员这个历史并不算悠久的行当,却有着一个历史悠久的传统,那就是每种编程语言都将一个名为“hello, world”的示例作为这门语言学习的第一个例子,这个传统始于20世纪70年代那本大名鼎鼎的由布莱恩·科尼根(Brian W. Kernighan)与C语言之父丹尼斯·里奇(Dennis M. Ritchie)合著的《C程序设计语言》。 ...
本文永久链接 – https://tonybai.com/2022/07/25/bidirectional-data-exchange-between-kernel-and-user-states-of-ebpf-programs-using-go 在之前的两篇文章中,无论是使用C语言开发eBPF程序,还是使用Go开发的eBPF程序,都是hello world级别的,可能有用,但谈不上十分实用。 通常来说,一个实用的eBPF程序,它的内核态部分与用户态部分是有数据交换的,有了这种数据交换,eBPF才能发挥更大的威力。而要想让eBPF程序具备较强的实用性,eBPF MAP是绕不过去的机制。 ...
本文永久链接 – https://tonybai.com/2022/07/19/develop-ebpf-program-in-go 在前面的《使用C语言从头开发一个Hello World级别的eBPF程序》一文中,我们详细说明了如何基于C语言和libbpf库从头开发一个eBPF程序(包括其用户态部分)。那篇文章是后续有关eBPF程序开发文章的基础,因为到目前为止,无论eBPF程序的用户态部分用什么语言开发,运行于内核态的eBPF程序内核态部分还是必须由C语言开发的。这样一来,其他编程语言只能拼一下如何让eBPF程序的用户态部分的开发更为简单了,Go语言也不例外。 ...
本文永久链接 – https://tonybai.com/2022/07/05/develop-hello-world-ebpf-program-in-c-from-scratch 近两年最火的Linux内核技术非eBPF莫属! 2019年以来,除了eBPF技术自身快速演进之外,基于eBPF技术的观测(Observability)、安全(Security)和网络(Networking)类项目如雨后春笋般出现。耳熟能详的的包括:cilium(把eBPF技术带到Kubernetes世界)、Falco(云原生安全运行时,Kubernetes威胁检测引擎的事实标准)、Katran(高性能四层负载均衡器)、pixie(用于Kubernetes应用程序的可观察性工具)等。 今年3月份发布的thoughtworks技术雷达第26期也将eBPF技术放入试验的象限阶段。 eBPF技术火热,但很多童鞋还不知道eBPF技术究竟是什么,能做什么?在这篇文章中,我将带大家简单了解一下什么eBPF内核技术以及如何从头开始用C语言开发一个Hello World级eBPF程序。 ...
本文永久链接 – https://tonybai.com/2022/04/28/the-standard-layout-of-go-project 每当我们编写一个非hello world的实用Go程序或库时,我们都会在项目结构、代码风格以及标识符命名这三个“门槛”前面踯躅徘徊许久,甚至始终得不到满意答案。 ...