scala.js触ってみた
TRANSCRIPT
![Page 1: Scala.js触ってみた](https://reader036.vdocuments.net/reader036/viewer/2022062523/587efbec1a28ab35528b6299/html5/thumbnails/1.jpg)
Scala.js触ってみたAbe Asami 2015/11/21 関西フロントエンドUG
![Page 3: Scala.js触ってみた](https://reader036.vdocuments.net/reader036/viewer/2022062523/587efbec1a28ab35528b6299/html5/thumbnails/3.jpg)
今日は Scala界隈で盛り上がっている
AltJs Scala.jsをご紹介します
![Page 4: Scala.js触ってみた](https://reader036.vdocuments.net/reader036/viewer/2022062523/587efbec1a28ab35528b6299/html5/thumbnails/4.jpg)
Scalaって?
• オブジェクト指向 かつ 関数型のJVM言語
• 静的型付け
• サーバーサイド側の言語
![Page 5: Scala.js触ってみた](https://reader036.vdocuments.net/reader036/viewer/2022062523/587efbec1a28ab35528b6299/html5/thumbnails/5.jpg)
Scala.jsって?
• ScalaのコードをJavaScriptに変換
• Scala界隈では注目を集めている
![Page 6: Scala.js触ってみた](https://reader036.vdocuments.net/reader036/viewer/2022062523/587efbec1a28ab35528b6299/html5/thumbnails/6.jpg)
個人的な最初の 印象
![Page 7: Scala.js触ってみた](https://reader036.vdocuments.net/reader036/viewer/2022062523/587efbec1a28ab35528b6299/html5/thumbnails/7.jpg)
かなりの量のJSが出力されたので面食らった• HelloWorld!出力するプログラムだけで
3153行(※でも圧縮したら20KBぐらい)
![Page 8: Scala.js触ってみた](https://reader036.vdocuments.net/reader036/viewer/2022062523/587efbec1a28ab35528b6299/html5/thumbnails/8.jpg)
ところが
![Page 9: Scala.js触ってみた](https://reader036.vdocuments.net/reader036/viewer/2022062523/587efbec1a28ab35528b6299/html5/thumbnails/9.jpg)
ちゃんと動く
![Page 10: Scala.js触ってみた](https://reader036.vdocuments.net/reader036/viewer/2022062523/587efbec1a28ab35528b6299/html5/thumbnails/10.jpg)
外部のJSを呼び出すことも できる• TypeScriptのように型定義をすればOK
• ライブラリも充実してきている
![Page 11: Scala.js触ってみた](https://reader036.vdocuments.net/reader036/viewer/2022062523/587efbec1a28ab35528b6299/html5/thumbnails/11.jpg)
導入も結構簡単(?)
• 動かすにはSBTというScalaのプロジェクト管理ツールが必要だが、SBTを含むスタンドアロンタイプが提供されている。(↑含まれていませんでしたごめんなさい!)
• SBTがなくても導入できるらしい
• これを利用したnpmパッケージを公開している人も
• https://github.com/k-kinzal/tpr
![Page 12: Scala.js触ってみた](https://reader036.vdocuments.net/reader036/viewer/2022062523/587efbec1a28ab35528b6299/html5/thumbnails/12.jpg)
あれ?結構便利そう?
![Page 13: Scala.js触ってみた](https://reader036.vdocuments.net/reader036/viewer/2022062523/587efbec1a28ab35528b6299/html5/thumbnails/13.jpg)
Scalaで書けると何が 嬉しいの?• 色々嬉しい。今日はその一部をご紹介。
• 型
• パターンマッチ
• サーバーサイドもScalaだとコード共有できる
• サンプルコード:https://github.com/SAMMY7th/scala-js-canvas-sample
![Page 14: Scala.js触ってみた](https://reader036.vdocuments.net/reader036/viewer/2022062523/587efbec1a28ab35528b6299/html5/thumbnails/14.jpg)
Scala.jsのいけてないなと 感じるところ(個人的感想)• コンパイル時間が長い
• SBTの知識が必要
• (追記:スタンドアロンタイプならSBT不要。SBTなしは試していないので実際の使用感はわかりません。)
• 出力されるJSの可読性が低い
• 一度使い始めたらやめるのは大変そう
![Page 15: Scala.js触ってみた](https://reader036.vdocuments.net/reader036/viewer/2022062523/587efbec1a28ab35528b6299/html5/thumbnails/15.jpg)
まとめ
• Scala.jsはサーバーサイドがScalaのプロジェクト向け
• Scalaに興味を持った人は12/13の勉強会に来てください。
![Page 16: Scala.js触ってみた](https://reader036.vdocuments.net/reader036/viewer/2022062523/587efbec1a28ab35528b6299/html5/thumbnails/16.jpg)
Scala関西勉強会
• 12/13(日) 13:30~ MOTEX株式会社
• http://connpass.com/event/22544/
![Page 17: Scala.js触ってみた](https://reader036.vdocuments.net/reader036/viewer/2022062523/587efbec1a28ab35528b6299/html5/thumbnails/17.jpg)
ご静聴 ありがとうございました