scala.js触ってみた

17
Scala.js触ってみた Abe Asami 2015/11/21 関西フロントエンドUG

Upload: asami-abe

Post on 14-Apr-2017

737 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Scala.js触ってみた

Scala.js触ってみたAbe Asami 2015/11/21 関西フロントエンドUG

Page 2: Scala.js触ってみた

自己紹介

Abe Asami “きの子” (フリーエンジニア)

http://nocono.net/@aa7thScala、Andorid

Page 3: Scala.js触ってみた

今日は Scala界隈で盛り上がっている

AltJs Scala.jsをご紹介します

Page 4: Scala.js触ってみた

Scalaって?

• オブジェクト指向 かつ 関数型のJVM言語

• 静的型付け

• サーバーサイド側の言語

Page 5: Scala.js触ってみた

Scala.jsって?

• ScalaのコードをJavaScriptに変換

• Scala界隈では注目を集めている

Page 6: Scala.js触ってみた

個人的な最初の 印象

Page 7: Scala.js触ってみた

かなりの量のJSが出力されたので面食らった• HelloWorld!出力するプログラムだけで

3153行(※でも圧縮したら20KBぐらい)

Page 8: Scala.js触ってみた

ところが

Page 9: Scala.js触ってみた

ちゃんと動く

Page 10: Scala.js触ってみた

外部のJSを呼び出すことも できる• TypeScriptのように型定義をすればOK

• ライブラリも充実してきている

Page 11: Scala.js触ってみた

導入も結構簡単(?)

• 動かすにはSBTというScalaのプロジェクト管理ツールが必要だが、SBTを含むスタンドアロンタイプが提供されている。(↑含まれていませんでしたごめんなさい!)

• SBTがなくても導入できるらしい

• これを利用したnpmパッケージを公開している人も

• https://github.com/k-kinzal/tpr

Page 12: Scala.js触ってみた

あれ?結構便利そう?

Page 13: Scala.js触ってみた

Scalaで書けると何が 嬉しいの?• 色々嬉しい。今日はその一部をご紹介。

• 型

• パターンマッチ

• サーバーサイドもScalaだとコード共有できる

• サンプルコード:https://github.com/SAMMY7th/scala-js-canvas-sample

Page 14: Scala.js触ってみた

Scala.jsのいけてないなと 感じるところ(個人的感想)• コンパイル時間が長い

• SBTの知識が必要

• (追記:スタンドアロンタイプならSBT不要。SBTなしは試していないので実際の使用感はわかりません。)

• 出力されるJSの可読性が低い

• 一度使い始めたらやめるのは大変そう

Page 15: Scala.js触ってみた

まとめ

• Scala.jsはサーバーサイドがScalaのプロジェクト向け

• Scalaに興味を持った人は12/13の勉強会に来てください。

Page 16: Scala.js触ってみた

Scala関西勉強会

• 12/13(日) 13:30~ MOTEX株式会社

• http://connpass.com/event/22544/

Page 17: Scala.js触ってみた

ご静聴 ありがとうございました