写点什么

Scala.js:将 Scala 编译为 JavaScript 的编译器

  • 2015-03-24
  • 本文字数:817 字

    阅读完需:约 3 分钟

Scala.js 是一款将 Scala 代码编译为 JavaScript 代码的编译器,该编译器支持全部 Scala 语言特性。借助于 Scala.js,开发者能够使用 Scala 开发从前端到后端的 Web 应用,而且 Scala.js 还带来了在服务器和客户端之间复用代码的可能性。Scala.js 值得关注的特性包括:

  • 支持 Scala 语言的所有特性,包括宏 (macros),仅有一些语义的不同
  • 同 JavaScript 代码具有良好的互操作性,如 Scala.js 代码中以类型化或者非类型化方式使用 jQuery 和 HTML5、创建 Scala.js 对象和 JavaScript 代码中调用对象的方法;
  • 集成了 Scala 的流行构建工具 sbt ,支持依赖管理和增量编译;
  • 能够使用 Scala IDE 进行编码;
  • 能够生成一个源代码和生成代码的映射,从而提供了 Scala.js 和 Scala 二者之间平滑过渡的调试经历,在浏览器中单步调试 Scala 代码且且支持源码间的映射;
  • 集成了来自谷歌、用于生成紧凑且高性能代码的工具 Closure Compiler ,为产品以生成最小的代码;
  • 生成非常高效的 JavaScript 代码, 参考基准测试信息

Scala.js 已形成了一个良好的生态圈,生态圈内容包括:

Scala.js 基于 Scala 许可协议发布,代码托管在 GitHub ,当前最新版本是 0.6.2。有关 Scala.js 的 API、使用指导和参考指南,请读者参考官方提供的相关文档。此外,官方还提供了使用教程开发文档以及在浏览器中查看运行效果的在线工具


感谢徐川对本文的审校。

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

2015-03-24 08:294116
用户头像

发布了 46 篇内容, 共 52.4 次阅读, 收获喜欢 15 次。

关注

评论

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

游戏夜读 | Scikit-learn迎来0.21之前

game1night

OpenResty部署配置和日志切割

wong

nginx centos openresty

如何在一台计算机上安装多个 JDK 版本

mghio

Java jdk 版本管理工具

对于程序员,那些既陌生又熟悉的计算机硬件

架构师修行之路

微软 编程 程序员 cpu 架构师

Mac 使用笔记

FeiLong

Rust 与区块链四月月刊

Aimee 阿敏

区块链 rust 加密货币 crypto

Java新技术:封闭类

X.F

Java 架构 编程语言

一文带你看清HTTP所有概念

苹果看辽宁体育

HTTP

谈谈控制感(5):怎么破控制感损失的局

史方远

职场 心理 成长

如果你觉得学习 Git 很枯燥,那是因为你还没玩过这款游戏!

GitHubDaily

git GitHub 编程 程序员 开发者工具

MySQL常用权限说明

一个有志气的DB

MySQL 用户研究

Xtrabackup的安装使用

一个有志气的DB

MySQL 工具 数据的分片和备份

Redis稳定性实践

心平气和

redis 缓存 稳定性

Python 核心技术与进阶 list & tuple

Bonaparte

面试官:小伙子,听说你看过ThreadLocal源码?(万字图文深度解析ThreadLocal)

一枝花算不算浪漫

源码 并发编程 ThreadLocal

松哥手把手教你定制 Spring Security 中的表单登录

江南一点雨

Java spring Spring Boot spring security

让你高效工作与学习的免费工具(1)

石云升

高效工作 效率工具 工具

Harbor 2.0的飞跃: OCI 兼容的工件仓库

亨利笔记

Kubernetes 容器 k8s Harbor 镜像

回“疫”录(18):536公里的路

小天同学

疫情 回忆录 现实纪录 纪实 返程

松哥手把手带你入门 Spring Security,别再问密码怎么解密了

江南一点雨

Java spring Spring Boot spring security

严选合伙人(二)

Neco.W

创业 重新理解创业 合伙人

从一次排查ES线上问题得出的总结——熔断机制

罗琦

elasticsearch 源码分析 circuit break 熔断

设计模式之观察者模式

设计模式

《零基础学 Java》 FAQ 之 7-Java 中的内存是怎么分配的

臧萌

Java JVM

sync.Map源码分析

陈思敏捷

源码 源码分析 Go 语言

聊聊我对技术一些性质的认识

Tanzv

技术 思考 新人

《后浪》产品经理篇(恶搞版)

静陌

产品经理 后浪

尽管HTTP/3已经来了,HTTP/2也得了解啊

清远

网络协议 HTTP

Android | Tangram动态页面之路(二)介绍

哈利迪

android

业余前端的日常

顿晓

学习 大前端 日常 专家 知识体系

更聪明地学习,而不是苦读——《如何高效学习》

mzlogin

学习

Scala.js:将Scala编译为JavaScript的编译器_JavaScript_李小兵_InfoQ精选文章