QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

GopherJS:一个将 Go 编译成 JavaScript 的编译器

  • 2014-10-27
  • 本文字数:757 字

    阅读完需:约 2 分钟

GopherJS 将 Go 代码编译成纯 JavaScript 代码,旨在使开发人员可以使用 Go 语言编写前端代码,并且可以在所有浏览器中运行。借助 GopherJS,开发人员可以充分利用 Go 语言的类型系统、编译时检查和重构能力,这对于大型项目而言尤其有用。

GopherJS 由 Richard Musiol 在 2013 年 8 月创建,它有以下四个设计目标:

  • 生成的代码要有良好的性能
  • 为了便于调试,Go 代码与生成的 JavaScript 代码要类似;
  • 要与现有库兼容
  • 生成的代码量要小。

Joseph Hager 是 GopherJS 项目的一名开发人员。他告诉InfoWorld ,GopherJS 与Dart 试图完成类似的工作。但按照设计,Go 是一门系统编程语言,而Dart 构建之初就是以满足Web 需求为出发点,并考虑了Web 的限制。此外,GopherJS 还支持Go 语言的 Goroutines 概念,以一种变通的方式消除了 JavaScript 的并发限制。

今年早些时候,曾有报道指出从JavaScript 迁移到Dart 的好处。虽然有人对此表示怀疑,但Google 在Dart 语言本身及Dart VM 上还在不断地做出努力。而在看到InfoWorld 的报道后,则有人认为 GopherJS 让 Go 比 Dart 更有优势

此外,在 Hacker News 上,有用户对GopherJS 所能实现的功能表示赞叹,他提到了 GopherJS Playground DOM 绑定 XHR 绑定,并给出了几个应用案例,其中包括:

另外,Hager 还说,GopherJS 没有正式的开发版本,他希望这能使更多的开发人员参与进来,为 GopherJS 创建强大的库和框架。


感谢崔康对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-10-27 08:174372
用户头像

发布了 1008 篇内容, 共 398.6 次阅读, 收获喜欢 345 次。

关注

评论

发布
暂无评论
发现更多内容

企业如何做数字化转型?想要资产状况及时把控,它的作用至关重要!

一只数据鲸鱼

数据挖掘 数字化 数据可视化 资产管理

泰山版震撼来袭!阿里巴巴Java面试参考权威指南四月版开源

Java架构追梦

Java 阿里巴巴 架构 面试

简单了解InnoDB底层原理

leonsh

MySQL 数据库 innodb

手把手教大家实现一个电子签名

麦洛

Java canvas

那些打不垮你的,终究使你更强大

小天同学

读书 励志 个人感悟 4月日更

最新分享:如何避免线程安全的坑?看这一篇就够了

学Java关注我

Java 编程 程序员 架构 计算机

欢迎参与 KubeVela 官方文档翻译活动

阿里巴巴云原生

容器 云原生 开发工具 OAM 资源调度

回顾过去,展望未来,我在 InfoQ 写作平台的一周年!

JackTian

程序员 个人总结 4月日更 1 周年盛典 InfoQ 写作平台 1 周年

GitHub面试题库+阿里巴巴2021年Java岗面试26大核心专题,成功助我砍下7家大厂Offer

Java架构追梦

Java 阿里巴巴 架构 面试

如何在云中构建数字核心

云计算

Linux free 命令

一个大红包

linux命令 4月日更

架构思维

无心

架构

这个GItHub上的Java项目开源了 2021最全的Java架构面试复习指南

比伯

Java 编程 架构 面试 程序人生

架构实战营模块1作业指导

华仔

#架构实战营

趣题与算法(1)

阳龙生

如何提高Linux水平

cdhqyj

未来已来,HarmonyOS 开发者日全记录

清秋

华为 开发 物联网 新闻 HarmonyOS

专访阿里巴巴研究员吴翰清:白帽子的网络安全世界观

五分钟学大数据

网络安全 采访

华为云AI论文精读会2021第一期:高效语义分割模型Fast-SCNN分享

华为云开发者联盟

AI 华为云

不为人知的网络编程(十二):彻底搞懂TCP协议层的KeepAlive保活机制

JackJiang

TCP 即时通讯 IM

计算机原理学习笔记 Day10

穿过生命散发芬芳

计算机原理 4月日更

开源 1 年半 star 破 1.2 万的 Dapr 是如何在阿里落地的?

阿里巴巴云原生

Java 微服务 云原生 中间件 API

【全球年青人召集令】Hello World,Hello 2050

阿里巴巴云原生

容器 开发者 云原生 活动

方寸之间,书写天地

石云升

4月日更 1 周年盛典 我和写作平台的故事 InfoQ 写作平台 1 周年

CTO 说要接入实时音视频 SDK,我到底该批多少预算?

融云 RongCloud

2021安擎昇腾AI服务器产品发布会在京成功举行

DT极客

Flink中的状态编程

大数据技术指南

flink 4月日更

Flink的基石

五分钟学大数据

flink 4月日更

知乎万赞回答:程序员面试为什么被要求造航母,而工作拧螺丝?

Java架构师迁哥

架构实战营作业2

冷酷小绵羊

推进智慧城市建设 博睿数据亮相长三角城市数字化转型高峰论坛

博睿数据

数字化转型高峰论坛

GopherJS:一个将Go编译成JavaScript的编译器_JavaScript_谢丽_InfoQ精选文章