写点什么

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

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

关注

评论

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

【我和openGauss的故事】在vm中安装openEuler及使用yum安装openGauss

daydayup

三步建站,两倍性能!云耀云服务器L实例开启简单上云第一步!

平平无奇爱好科技

上云没那么难,华为云云耀云服务器L实例助力中小企业和开发者开启上云第一步

平平无奇爱好科技

技术赋能,在鸿蒙生态下华为互动媒体内容飞轮加速

最新动态

浅谈贷款的还款金额组成

萌大统领

贷款 还款

Programming abstractions in C阅读笔记:p84-p87

codists

Go 变量

小万哥

Go 程序员 云原生 后端 开发

LangChain系列-01 是什么

无人之路

ChatGPT #LangChain

揭秘bi数据分析系统:如何轻松掌握商业智能的秘密

对不起该用户已成仙‖

数字化转型与架构-规划篇|PRD也适用SMART原则?

数字随行

数字化转型

简单上云第一步——华为云云耀云服务器L实例

YG科技

想要简单上云?云耀云服务器L实例是你首选

YG科技

上云简单又不简单,华为云云耀云服务器L实例的用户体验究竟如何?

平平无奇爱好科技

【我和openGauss的故事】openEuler20.03上编译安装opengauss-5.0.0

daydayup

关于并发的一点思考

黑客不够黑

并发 异步编程

使用appuploader工具流程(Windows版本)

雪奈椰子

Qt搭建RTSP服务器

攻城狮Wayne

华为云耀云服务器L实例:简单上云,智能不卡顿,让你的业务飞起来!

YG科技

SpringBoot3之Web编程

Java 架构 springboot SpringBoot3

使用appuploader工具流程(Windows版本)

PoseiSwap 开启“Poseidon”池,治理体系或将全面开启

鳄鱼视界

PoseiSwap 开启“Poseidon”池,治理体系或将全面开启

BlockChain先知

简单上云第一步,华为云云耀云服务器L实例助力中小企业与开发者轻松应对多种场景

YG科技

云计算时代,华为云云耀云服务器L实例为何受到企业和开发者青睐

YG科技

云耀云服务器L实例:简单上云,智能不卡顿,性能遥遥领先

平平无奇爱好科技

javascript对象基础

timerring

JavaScript

鸿蒙生态加持 华为视频AiMax影院高品质再升级

最新动态

PoseiSwap 开启“Poseidon”池,治理体系或将全面开启

EOSdreamer111

PoseiSwap 开启“Poseidon”池,治理体系或将全面开启

威廉META

PoseiSwap 开启“Poseidon”池,治理体系或将全面开启

股市老人

2023-08-08:给你一棵 n 个节点的树(连通无向无环的图) 节点编号从 0 到 n - 1 且恰好有 n - 1 条边 给你一个长度为 n 下标从 0 开始的整数数组 vals 分别表示每个节

福大大架构师每日一题

左程云 福大大架构师每日一题 左神

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