Crystal の開発進捗とロードマップ
by
Pine Mizune
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Crystal - 開発進捗とロードマップ @pine613
Slide 2
Slide 2 text
プロフィールとか o ID / HN: @pine613 o Crystal-JP 運営 o crenv (Crystal Version Manager) 作者 o 趣味で最近かく: JavaScript / Crystal o Mobile Factory, Inc
Slide 3
Slide 3 text
はじめに Crystal を触ったこと無い方は この機会に是非インストールをお願いします! o インストール方法 crenv / brew / apt / yum / pacman / etc ... o 公式ドキュメントの日本語翻訳があります! http://ja.crystal-lang.org/docs/
Slide 4
Slide 4 text
もくじ 1. Crystal について 2. Crystal の基本機能 3. Crystal の最近の開発状況 4. Crystal の今後のロードマップ 5. まとめ
Slide 5
Slide 5 text
Crystal とは ? 5 ○ 高い表現力 ○ 高い生産性 × 遅い 同時に実現 C 言語 Ruby ○ 非常に高速 × 表現力が乏しい × 生産性が低い
Slide 6
Slide 6 text
Crystal について 9 Ruby 風のシンタックス 9 型推論ベースの静的言語 9 高速なネイティブコードを出力 9 最新版: v0.9.0 (2015/10/22 現在)
Slide 7
Slide 7 text
Crystal の基本機能 1. 基本文法 2. 標準組み込みクラス 3. 標準ライブラリ 4. Ruby との文法上の違い
Slide 8
Slide 8 text
Crystal の基本文法 9 if / unless 9 case ~ when 9 do ~ end / { ~ } 9 class / module 9 @ / @@ / CONST
Slide 9
Slide 9 text
Crystal の組み込みクラス 9 Nil 9 Bool 9 Integer 9 Float 9 Char 9 String 9 Symbol 9 Array 9 Hash 9 Range 9 Regex 9 Tuple 9 Proc etc ...
Slide 10
Slide 10 text
Crystal の標準ライブラリ 9 IO 9 Socket 9 TCPServer 9 File 9 Dir 9 JSON 9 XML 9 YAML 9 Markdown 9 Base64 9 OpenSSL 9 Digest 9 OAuth2 etc ...
Slide 11
Slide 11 text
Ruby との文法上の違い 9 型が存在することに起因するもの 9 型の無い配列・ハッシュが作れない 9 型アノテーション / ジェネリクスの存在 9 型によるオーバーロードが可能 9 マクロの存在
Slide 12
Slide 12 text
Crystal の最近の開発状況 9 v0.7.5 (2015/07/31) ← 第 1 回 東京 Crystal 勉強会 9 v0.8.0 (2015/09/19) 9 v0.9.0 (2015/10/17) ← 第 2 回 東京 Crystal 勉強会 2013 年 2015 年
Slide 13
Slide 13 text
Crystal の最近の開発状況 1. パッケージマネージャー刷新 2. フォーマッタの組み込み 3. Ruby から移植された問題のある仕様の削除 4. ドキュメント生成ツールのデザインの近代化
Slide 14
Slide 14 text
パッケージマネージャー刷新 9 旧 Projectfile によるパッケージマネージャー → 廃止 9 YAML 設定ベースの shards 導入 9 セマンティックバージョニングに基づく 分散型のパッケージマネージャー 9 より実用的に Crystal を利用できるようになった
Slide 15
Slide 15 text
パッケージマネージャー刷新 9 YAML ベース 9 Git の tag を使った バージョニング 9 比較演算可能 (例: =>, ~>, < )
Slide 16
Slide 16 text
フォーマッタの追加 9 コンパイラにフォーマッタが組み込まれた (v0.9.0) 9 crystal tool format コマンドで一括統一 9 ソースコードのフォーマット自動整形 9 コーディング規約の統一が容易 9 Go 言語の go fmt と同じ
Slide 17
Slide 17 text
フォーマッタの追加 整形前 整形後
Slide 18
Slide 18 text
Ruby から移植された仕様の削除 9 length / count 廃止 → size に統一 9 後置 while / until 削除 → イテレーターを利用 9 8 進数プレフィックス `0` 廃止 → `0o` へ統一 9 StringIO → MemoryIO 9 Time.to_i / Time.to_f → Time.epoch / Time.epoch_f
Slide 19
Slide 19 text
ドキュメント生成ツールの近代化 以前 (~ v0.7.7) 最新版
Slide 20
Slide 20 text
Crystal のロードマップ 9 マルチスレッド周り 9 標準ライブラリの充実 9 バグ修正 9 詳細は公式の Wiki を参照 9 https://github.com/manastech/crystal/wiki/Roadmap
Slide 21
Slide 21 text
Crystal 開発資金を募集中 9 募金により v1.0 までの時間が短縮されるかも ??? 9 https://salt.bountysource.com/teams/crystal-lang