写点什么

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:174698
用户头像

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

关注

评论

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

【GreatSQL优化器-10】find_best_ref

GreatSQL

2025 年 AI 与数据工程领域十大趋势前瞻

Baihai IDP

程序员 AI 数据工程

磁盘清理工具Magic Disk Cleaner for Mac激活版

小玖_苹果Mac软件

软件包提取工具Pacifist for mac激活版

小玖_苹果Mac软件

详解GaussDB事务和并发控制机制,提升事务并发处理效率

华为云开发者联盟

数据库 并发控制 GaussDB

AI 技术在词汇学习系统的功能

北京木奇移动技术有限公司

英语学习 AI教育 软件外包

AI 技术开发英语阅读理解系统

北京木奇移动技术有限公司

AI技术 AI教育 软件外包公司

域名管理常见问题:IP、域名和DNS之间的区别和关系

国科云

为什么软件测试开发需要智能体(AI Agent)?

测试人

软件测试

防火墙软件Little Snitch for mac激活版

小玖_苹果Mac软件

使用 Taro 开发鸿蒙原生应用 —— 快速上手,鸿蒙应用开发指南

京东科技开发者

缓存之美——如何选择合适的本地缓存?

京东科技开发者

说说天翼云大规模数据中心组网架构的优势

天翼云开发者社区

云计算 数据中心 天翼云

结合LangChain实现网页数据爬取

测试人

人工智能 软件测试

夜莺监控支持 ES 日志告警了

巴辉特

夜莺监控 开源监控 日志告警 ES告警

开年「荣誉三重奏」,融云斩获技术、产品、出海三项大奖!

融云 RongCloud

智能PDF编辑器PDFelement Pro 11 for mac激活版

小玖_苹果Mac软件

StarRocks Awards 2024 年度贡献人物

StarRocks

五个等保知识点总结-行云管家

行云管家

信息安全 等保 等级保护 等保测评

代码之美:聊聊代码整洁之道

京东零售技术

Fluss: First Impression

Apache Flink

大数据 flink 实时计算 流存储

智慧公厕解决方案的定义、特点、技术核心!

光明源智慧厕所

VMware的快照原理

天翼云开发者社区

vmware 快照

数据库堡垒机是干嘛的?有什么用?怎么定义?

行云管家

网络安全 数据安全 堡垒机 数据库堡垒机

数字化时代下的数字化资产及其治理

京东科技开发者

AI 技术开发口语对话机器人

北京木奇移动技术有限公司

AI技术 软件外包公司 AI口语练习

人工智能与物联网:智慧城市的未来

天津汇柏科技有限公司

物联网 AI 人工智能

WebGL开发医学影像识别的挑战

北京木奇移动技术有限公司

医学影像 软件外包公司 webgl开发

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