武汉的开发者们注意啦!AI技术战略、框架以及最佳实战尽在Azure OpenAI Day 了解详情
写点什么

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

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

关注

评论

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

坏的开始是成功的一半

escray

深入理解ContextClassLoader

SkyeDance

深入理解JVM ContextClassLoader

MySQL实战笔记-事务隔离和MVCC

shiziwen

MySQL 学习 事务隔离级别

ARTS打卡 第2周

引花眠

ARTS 打卡计划

除了直接看余额,谁更有钱还能怎么比(三)

石君

零知识证明 多方计算 同态加密

深入理解JVM类加载机制

SkyeDance

类加载 深入理解JVM

从技术到管理,我在极客时间的成长历程

邓建春

游戏夜读 | 2020周记(5.24-5.31)

game1night

Linux 自动化运维工具 ansible

杨仪军

Linux 运维自动化

[Redis] 你了解 Redis 的三种集群模式吗?

猴哥一一 cium

redis redis高可用 redis哨兵模式 群集安装

【求锤得锤的故事】Redis锁从面试连环炮聊到神仙打架。

why技术

redis 分布式锁 分布式系统

深度解读 Flink 1.11:流批一体 Hive 数仓

Apache Flink

大数据 flink 流计算 实时计算

【大厂面试01期】高并发场景下,如何保证缓存与数据库一致性?

NotFound9

Java MySQL 数据库 redis 后端

啪啪,打脸了!领导说:try-catch必须放在循环体外!

王磊

Java 性能优化 性能 java编程

我的 Windows 利器

玄兴梦影

工具 Win

这些Java8官方挖的坑,你踩过几个?

牧码哥

Java 踩坑 加密 「Java 25周年」

赢的境界 - 双赢思维

石云升

创业 创业心态 双赢思维

万字长文,助你吃透Eureka服务发现机制!

周果

分布式 微服务 Eureka

匆忙的一周 ARTS第二周

困到清醒

关于区块链的“去中心化”,90% 的人都搞错了

CECBC

CECBC 区块链技术 去中心化 专制

CPU的性能,编译器是这样压榨的!

GPU

算法 cpu 编译器 程序语言

是公司养活了你,还是你养活了公司?

四猿外

生涯规划 程序员 个人成长

深入理解ClassLoader

SkyeDance

类加载 深入理解JVM ClassLoader

产品经理的商业能力

punkboy

程序人生 产品经理 商业 商业模式 商业价值

信息的表示与存储-整数的表示

引花眠

不想被下载限速,教你自建属于自己的云盘!

小傅哥

小傅哥 云服务 云盘 在线网盘

iOS 动画 - 窗景篇(一)

柯烂

ios objective-c swift 移动应用 动画

架构学习历程

机器学习算法评估指标——2D目标检测

做技术BP的文案Gou

java的时间利器:joda

毛佳伟🐳

Java

搞定 HTTP 协议(一):HTTP 与网络基础

零和幺

技术 大前端 HTTP

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