不知道对于前端程序员来说是好消息,还是坏消息,也不知道对于 Go 的后端程序员来讲是好消息,还是坏消息。但是消息就是:Go 语言可以写前端代码了。
Go 语言写前端 Web 应用借助的是 WebAssembly 。
那什么是 WebAssembly 呢?它也叫 wasm ,是由 Google、Microsoft、Mozilla、Apple 等几家大公司合作发起的 WebAssembly 是一种新的字节码格式,主流浏览器都已经支持 WebAssembly。和 JS 需要解释执行不同,WebAssembly 字节码和底层机器码很相似可快速装载运行,因此性能相对于 JS 解释执行大大提升。也就是说 WebAssembly 并不是一门编程语言,而是一份字节码标准,需要用高级编程语言编译出字节码放到 WebAssembly 虚拟机中才能运行 。所以,理论上讲只要能编译成 WebAssembly 字节码的高级语言都可以写 Web 应用程序。
而 Go 的前端框架叫:Vugo 。它是一个 Go 语言开发库,可以很容易地使用 Go 语言编写 Web 用户界面。
Vugu: 是一个用于 Go+WebAssembly 的现代 UI 库,受 Vue 和 React 等工具的启发,Vugu 是一个完全用 Go 编写的小型库,可以在现代浏览器中使用 WebAssembly 运行。
官网示例,go 写前端大概是这样的:
创建一个在浏览器中运行的基本工作 Vugu 应用程序,只需要三个小文件即可启动。一个是创建 go.mod 文件,用来指定 Go 模块名称,再创建一个 Vugu 组件文件 ,类似于 Vue 的 .vue 文件一样。最后,创建一个开发服务器代码文件,是一个为你的程序提供服务的服务器。
然后运行一下服务器文件,就可以了,Web 应用程序就跑起来了。
对于这次 Go 语言的强势入侵,作为程序员的你怎么看?但是历史的经验告诉我们,往往什么都想干的,往往都做不好。不知道这次 Go 能否在前端占据一席之地呢?欢迎大家留言,讨论,交流。
我本来打算学 Go 做后台呢,但是还没起步,Go 又打开了前端的大门。当程序员真的是累啊!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。