Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
第二回tento.tech定例会
自己紹介
• 鈴木颯介です。
• 高校一年生です。
• 15歳です。
前回から一ヶ月間なにをやっていたのか
• Haskell Day
• Angular2入門者の会
• 500halloween hackathon
前回から一ヶ月間なにをやっていたのか
• Androidの勉強
• Angular2のお勉強
• JavaScriptとかの勉強
• Scala
ScalaJS
ScalaJSとは?
• ScalaのコードをJavaScriptに変換してくれるや
つだよ
• ScalaをAltJSとして使えるよ
• 最初はsbtのプラグインだったけど今ではスタン
ドアローン版が出ているよ
ScalaJSとは?
• スタンドアローン版が出たおかげでScalaJSで色
々やる時にsbt + npmとかいう気持ち悪い感じに
ならなくて済むよ。
やってみよう
これでScalaとScalaJSをインストールします
(JDKは事前にインストールされてる前提です)
やってみよう
• package.jsonのscriptsに
てな感じで記述します
やってみよう
・scalajscコマンド
指定した.scalaファイルからクラスファイルと
JSに変換するための中間ファイルを生成するよ。
やってみよう
こうすると
こんな感じのディレクトリができる
例えば
やってみよう
・scalajsldコマンド
生成されたクラスファイルとリンクしてJS
ファイルを生成するよ。引数としてクラスパス
を受け取って -oオプションで出力先JSファイル
を指定するよ。
やってみよう
こうするとめでたくhello.jsが
出力されて使えるようになるよ
例
やってみよう
• 今回のscriptsの記述だと.tmpディレクトリにクラ
スファイルと中間ファイルを出力して最終的なjs
ファイルをdistディレクトリに出力するので
あらかじめディレクトリを作っておきましょう。
やってみよう
それでこう、これでhello.jsが出力される。
結構簡単にscala->javascriptに変換できる。
ScalaJSの欠点
生成されるJSがでかすぎる。
ScalaJSの欠点
今回使ったscalaのHello world
js.JSAppを継承すると自動でJSにエクスポートしてくれる
継承しない場合は@JSExportをつける必要がある
ScalaJSの欠点
今回生成されたjavascriptファイル
ScalaJSの欠点
行数にしてなんと2943行!!!
まとめ
ブラリへの依存がない場合は)TypeScriptでいい
まとまってなかった
じゃあScalaライブラリに依存したい時はどうすれば?
まとまってなかった
依存するライブラリのjarをmavenからダウンロード
してscalajscのclasspathに通す
node-java-mavenっていうのがあるので
そりを使ってダウンロードしましょう。
↓
↓
まとまってなかった
あとはこんな具合にpackage.jsonに書く
まとまってなかった
これで~/.m2以下に依存ライブラリが
ダウンロードされるようになる
package.jsonのbuildのscalajscの
オプションにこりを追加すると
npm run buildで中間ファイル生成と
JSファイル生成と...
最後に
scala.scalajs.js.Dynamic.globalからJSの関数
も普通に呼び出すことが可能です
Dynamicをimportして
こんな感じでalertとか呼び出せます
最後に
やっぱりまだまだ試験段階
でもこのまま進化し続ければメジャーなAltJSになる
可能性はあるかもしれない
Upcoming SlideShare
Loading in …5
×

第二回tento.tech定例会

61 views

Published on

tento.tech定例会で行った近況報告のスライドです。

Published in: Technology
  • Be the first to comment

  • Be the first to like this

第二回tento.tech定例会

  1. 1. 第二回tento.tech定例会
  2. 2. 自己紹介 • 鈴木颯介です。 • 高校一年生です。 • 15歳です。
  3. 3. 前回から一ヶ月間なにをやっていたのか • Haskell Day • Angular2入門者の会 • 500halloween hackathon
  4. 4. 前回から一ヶ月間なにをやっていたのか • Androidの勉強 • Angular2のお勉強 • JavaScriptとかの勉強 • Scala
  5. 5. ScalaJS
  6. 6. ScalaJSとは? • ScalaのコードをJavaScriptに変換してくれるや つだよ • ScalaをAltJSとして使えるよ • 最初はsbtのプラグインだったけど今ではスタン ドアローン版が出ているよ
  7. 7. ScalaJSとは? • スタンドアローン版が出たおかげでScalaJSで色 々やる時にsbt + npmとかいう気持ち悪い感じに ならなくて済むよ。
  8. 8. やってみよう これでScalaとScalaJSをインストールします (JDKは事前にインストールされてる前提です)
  9. 9. やってみよう • package.jsonのscriptsに てな感じで記述します
  10. 10. やってみよう ・scalajscコマンド 指定した.scalaファイルからクラスファイルと JSに変換するための中間ファイルを生成するよ。
  11. 11. やってみよう こうすると こんな感じのディレクトリができる 例えば
  12. 12. やってみよう ・scalajsldコマンド 生成されたクラスファイルとリンクしてJS ファイルを生成するよ。引数としてクラスパス を受け取って -oオプションで出力先JSファイル を指定するよ。
  13. 13. やってみよう こうするとめでたくhello.jsが 出力されて使えるようになるよ 例
  14. 14. やってみよう • 今回のscriptsの記述だと.tmpディレクトリにクラ スファイルと中間ファイルを出力して最終的なjs ファイルをdistディレクトリに出力するので あらかじめディレクトリを作っておきましょう。
  15. 15. やってみよう それでこう、これでhello.jsが出力される。 結構簡単にscala->javascriptに変換できる。
  16. 16. ScalaJSの欠点 生成されるJSがでかすぎる。
  17. 17. ScalaJSの欠点 今回使ったscalaのHello world js.JSAppを継承すると自動でJSにエクスポートしてくれる 継承しない場合は@JSExportをつける必要がある
  18. 18. ScalaJSの欠点 今回生成されたjavascriptファイル
  19. 19. ScalaJSの欠点 行数にしてなんと2943行!!!
  20. 20. まとめ ブラリへの依存がない場合は)TypeScriptでいい
  21. 21. まとまってなかった じゃあScalaライブラリに依存したい時はどうすれば?
  22. 22. まとまってなかった 依存するライブラリのjarをmavenからダウンロード してscalajscのclasspathに通す node-java-mavenっていうのがあるので そりを使ってダウンロードしましょう。 ↓ ↓
  23. 23. まとまってなかった あとはこんな具合にpackage.jsonに書く
  24. 24. まとまってなかった これで~/.m2以下に依存ライブラリが ダウンロードされるようになる package.jsonのbuildのscalajscの オプションにこりを追加すると npm run buildで中間ファイル生成と JSファイル生成とclasspathを通すの が全て同時にできるね。
  25. 25. 最後に scala.scalajs.js.Dynamic.globalからJSの関数 も普通に呼び出すことが可能です Dynamicをimportして こんな感じでalertとか呼び出せます
  26. 26. 最後に やっぱりまだまだ試験段階 でもこのまま進化し続ければメジャーなAltJSになる 可能性はあるかもしれない

×