Scala.js:将Scala编译为JavaScript

boyanx6个月前技术教程15

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已形成了一个良好的生态圈,生态圈内容包括:

测试框架uTest、MiniTest、Little Spec、Nyaya、zcheck等,这些测试框架实现了在JVM和JavaScript间的交叉编译;

UI框架:scalajs-react、scala-js-binding、scalajs-angular、scalajs-angulate、Widok等;

序列化库:uPickle、Prickle、Scala.js Pickling等;

其他:用于客户/服务器端通讯库autowire、HTML模板库Scalatags、可视化库Paths.scala.js等。

Scala.js基于Scala许可协议发布,代码托管在GitHub,当前最新版本是0.6.2。

有关Scala.js的API、使用指导和参考指南,您可以点击“阅读原文”,跳转访问官方提供的相关文档。此外,官方还提供了使用教程、开发文档以及在浏览器中查看运行效果的在线工具。

相关文章

基于ES6,使用React、Webpack、Babel构建模块化JavaScript应用

【编者按】本文为《Building modular javascript applications in ES6 with React, Webpack and Babel》的简译内容,讲述了作者基于...

Node.js 24已发布,并将于10月转为LTS长期支持版本

Node.js 24 相较于当前LTS版本 Node.js 22 引入了许多新功能、性能改进和重大变化。1. V8 引擎升级Node.js 24: 升级到 V8 13.6(Node.js 22 使用...

Node.js 原生支持 TypeScript?开发者需要了解的一切

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!随着 Node.js v23.6.0 的发...

揭秘GraalVM编译器,让你的程序性能原地爆炸!

咱们平时写Java代码,是不是经常觉得:代码写完了,功能实现了,跑起来也行,但总感觉速度还能再快点?尤其是在高并发、大数据处理、低延迟要求的场景下,每一毫秒的优化都至关重要!你可能会想,我写的是Jav...

javascript中const/let/var的用法区别及使用场景

给大家建议使用的优先级:const > let > var 首先const声明常量的好处,一是阅读代码的人立刻会意识到不应该修改这个值,二是防止了无意间修改变量值所导致的错误,另外其实js...

ES6基础——环境构建、任务自动化、服务器搭建

1. 为什么学习 ES6 需要构建环境1. 因为 ES6 一些语法, 在浏览器中是不能直接运行的 。2. 环境构建内容:1. 基础架构 1. 项目需要放置那些目录 。 2. 那些目录放置那...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。