ブラウザで動く言語Elmを学んでみよう

インターネット

ブラウザ

HTML, JavaScript, CSS, 音楽, 画像, 動画, etc...

JavaScriptはインターネットから運ばれる

ブラウザ

JavaScript

1. 操作をする

(クリック, フォーム入力など)

2. ユーザの操作やブラウザの変化があったことを伝える

HTML

3. 主にHTMLなどを書き換える

4. ブラウザが書き換えられたことを検知する

5. ユーザに書き換わった

画面が伝えられる

ボタンを押したら

文字が出た!

JavaScriptはHTMLに動きをつけるために働く

ちょっとした演出のある個人の文書

(ホームページ)

一昔前

  • きらびやかな演出
  • ビジネスツール
  • 消費者サービス (ショッピング, スマート家電操作, SNS)

  • 開発環境

現代

進化が加速するWEB

JavaScriptの標準化

モダンな言語へ

ブラウザ以外でも動く言語へ

  • 元はブラウザごとに仕様がバラバラ
  • ECMAScriptという規格になりブラウザ格差が無くなる(バージョン格差はあり)
  • 毎年新しいバージョンが出る
  • サーバサイド, IoTなどでも活躍する言語に

WEBの進化に伴ってJavaScriptも進化し続ける

  • 進化に着いていき続ければならない
  • 古い書き方と新しい書き方が混在
  • 自由度が高すぎて書き方が統一されない
  • いろんな流派(フレームワーク・ライブラリ・ツール)が乱立

ついて行かれへん・・・

進化に疲弊する開発者

Alternative JavaScript(Alt JS)の登場

変換

  • モダンな言語機能
  • 書き方の制限(制約)
  • 表現(文法)の変化

自由な環境

成果物

なんでも作れる

再現性が低い

品質の保証が難しい

学習が難しい

JavaScriptの利点・欠点

制約が強い環境

成果物

学習がしやすい

再現性が高い

場合によって作れないものも

品質が高い

Elm(Alt JS)の利点・欠点

ブラウザの仕組みを詳しく知りたい

最新の機能を早く使いたい

いろんな書き方を楽しみたい

JavaScriptに向いている人

品質の高いアプリケーションをスピーディにたくさん作りたい

ものづくり自体を楽しみたい

複数人開発をスムーズに進めたい

Elm(Alt JS)に向いてる人

Made with Slides.com