写点什么

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

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

关注

评论

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

唯品会商品详情数据接口Python

tbapi

唯品会商品列表数据接口 唯品会API接口 唯品会商品数据接口 唯品会商品数据采集接口

区块链游戏解说:Axie Infinity 是什么

Footprint Analytics

NFT

低代码平台四大常见用例开发:简化企业数字化进程

不在线第一只蜗牛

低代码 数字化 项目开发 企业转型

利用技术潜能实现企业全面预算管理的智能化转型

智达方通

信息技术 财务分析 全面预算管理 财务规划

Java 运算符详解与字符串处理技巧

小万哥

Java 程序人生 编程语言 软件工程 后端开发

容器是怎么一步一步成为云原生的基石技术的

申屠鹏会

云计算 容器 云原生

极狐 GitLab 和 Xcode Cloud 集成,实现 iOS 的自动打包

极狐GitLab

已有天翼云Ubuntu云主机,搭建幻兽帕鲁服务器

天翼云开发者社区

云计算 云主机 云服务器

DevEco Studio 4.1带来多种调试能力,助力鸿蒙原生应用开发高效调试

新消费日报

八种常见的云存储安全风险及防护建议

伤感汤姆布利柏

一张“哑火”的AI禁令

脑极体

AI

《UNIX网络编程 卷2:进程间通信(第2版)》PDF

程序员李木子

全网最全的幻兽帕鲁服务器搭建教程—阿里云【保姆级/高性价比】

申公豹

幻兽帕鲁

一个线程,从“生”到“死”经历的过程

华为云开发者联盟

Java 线程 开发 华为云 华为云开发者联盟

文心一言 VS 讯飞星火 VS chatgpt (194)-- 算法导论14.3 2题

福大大架构师每日一题

福大大架构师每日一题

理论与实战:一篇看懂Python词云

不在线第一只蜗牛

Python 前端 开发语言

如何用ETL工具实现API调用

RestCloud

ETL 数据集成 API调用

雷军不再主讲小米手机发布会;苹果明确:Vision Pro 头显电池某些场景会降低其性能丨 RTE 开发者日报 Vol.142

声网

提前祝大家新年好!来看看社区 2023 都得了哪些奖吧~

声网

文心一言 VS 讯飞星火 VS chatgpt (193)-- 算法导论14.3 1题

福大大架构师每日一题

福大大架构师每日一题

架构实战营模块 8 作业

陈斌

#架构实战营

【踩坑指南】线程池使用不当的五个坑

越长大越悲伤

Java 线程池 踩坑指南

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