【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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

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

关注

评论

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

工赋开发者社区 |【数智化】数字化工厂规划与建设方案

工赋开发者社区

如何在笔记本上安装openEuler 22.03 LTS

openEuler

开源 操作系统 openEuler 安装部署

闲着刷题

吉师职业混子

9月月更

融云员工服务台,跟“干不完”说再见

融云 RongCloud

IT职场

leetcode 669. Trim a Binary Search Tree 修剪二叉搜索树 (简单)

okokabcd

LeetCode 算法与数据结构

死锁检测实现

C++后台开发

后台开发 线程 多线程 死锁 C++开发

物联网实践分享

彭发红

面向深度神经网络的特定领域架构

俞凡

深度学习 架构 TPU

每日算法刷题Day1-隐式转换与精度丢失

timerring

算法题 9月月更

【云原生 | 从零开始学Kubernetes】七、Kubernetes的命名空间

泡泡

Docker 云计算 容器 云原生 9月月更

关于 Angular 应用 tsconfig.json 中的 lib 属性

Jerry Wang

typescript 前端开发 angular web开发 9月月更

探索AI技术应用场景

felix

产业落地 AI探索 API接口 模型管理

开发者有话说|一名普通大专学历开发者的成长

彭发红

NestOS应用案例:容器化部署OpenStack

openEuler

架构 openEuler 开源操作系统 OpenStack

新书上市|听说你翻开数学书就眼睛疼?

图灵社区

数学 科普 教育

[SpringBoot]配置文件格式、yaml配置及读取

十八岁讨厌编程

Java 9月月更

流程图布局在项目中的实践

相续心

openEuler资源利用率提升之道 03:rubik混部引擎简介

openEuler

Linux 开源 cpu 操作系统 openEuler

【jvm】通过JDBC为例谈谈双亲委派模型的破坏

石臻臻的杂货铺

JVM 9月月更

跟着卷卷龙一起学Camera--内存池浅析01

卷卷龙

ISP 9月月更

深入了解之链接器与加载器

邱学喆

加载器 链接器 ELF文件结构

基于微服务的应用性能监控方案

穿过生命散发芬芳

9月月更 微服务监控

[SpringBoot]多环境配置,配置文件分类

十八岁讨厌编程

Java 后端开发 9月月更

关爱2700多万听障者,手语服务助力无声交流

HMS Core

手语

清览题库--C语言程序设计第五版编程题解析(2)

吉师职业混子

9月月更

SpringBoot初识

十八岁讨厌编程

Java 后端开发 9月月更

Code For Better 谷歌开发者之声——Google Cloud谷歌云

Fire_Shield

云原生 Google Cloud 9月月更

架构实战营-模块一作业

Geek_92ba6f

算法基础(四)| 前缀和算法及模板详解

timerring

算法 9月月更

新书上市|听说你翻开数学书就眼睛疼?

图灵教育

数学 科普 教育

开发者有话说|如何写出更加优雅的代码

海风极客

个人成长

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