More Related Content
Similar to Skinny Framework で始めた Scala (20)
Skinny Framework で始めた Scala
- 2. 自己紹介
• 山下 竜司
• (株) アットウェア
• @roundrop
• Facebook4J
• 普段は主に Java で Web アプリ開発
• Scala は全然やっていない
- 7. 主な機能
• Google アカウントでのログイン
• skinny-oauth2-controller を使用
• 記事の表示・投稿・編集・プレビュー
• 複数のタグ付け
• 新規投稿時は Typetalk に通知
• 画像ファイルアップロード
• コメントの投稿
• 記事のストック
• 検索
• ストックやコメントされたりのイベントで通知
• Contribution の計算・ランキング
• i18n 対応
- 10. はじめての実装のおすすめ
• ビューテンプレートは ssp で
• 最初はまず ssp 使っとけばハマらない
• Controller は SkinnyResource を継承し
ない方式で
• のほうが最初はわかりやすい(と思う)
• example の CompaniesController
• https://github.com/skinny-framework/skinny-framework-example/
blob/master/src/main/scala/controller/CompaniesController.scala
- 11. はじめての実装のおすすめ
• 最初から Skinny ORM で狙ったとおりの
SQL を発行するのは難しい
• トライ&エラーを繰り返すよりも Model の
テストを書いての試行錯誤が効率的
• 複雑なクエリは無理をせず生SQLで
• ScalikeJDBC のドキュメントを読もう
- 16. Scala
• とりあえず普通の Web アプリがつくりた
いだけなんだけど・・・
• アクターモデルとか
• 非同期前提とか
• Reactive とか
そういうのはあとでいいので・・・
Rails みたいなフルスタックでわかりやすいのがほしい
- 18. Skinny Framework で始める Scala
( ゚д゚) ガタッ
/ ヾ
__L¦ / ̄ ̄ ̄/_
\/ /
http://www.java-users.jp/?page_id=1048#R2-4
- 28. Skinny のドキュメント
• ドキュメント
• 公式 http://skinny-framework.org
• Example
• https://github.com/skinny-framework/
skinny-framework-example
• ScalikeJDBC 公式
• http://scalikejdbc.org
• ScalikeJDBC の GitBook
• https://www.gitbook.com/book/seratch/
scalikejdbc-cookbook/details
- 29. Skinny のドキュメント
• Play framework のドキュメントよりも直
感的だし読みやすい構成・内容
• サイトトップに Overview -> 詳細へリンク
• 局所的でなく一定の流れのあるサンプルコー
ド + コメント
• 適切な順序・粒度で書かれている
- 30. Scala on Rails
• Play と違って仕組みやメソッド等の命名が
Rails ライクなので独自の世界観が少なく
スッと入ってくる感じ
• params とか render とか strong parameter とか
• それ故、他のメンバーもすんなり開発に入っ
て来れています
- 31. Servlet ベース
• Servlet コンテナ上で動く
• Filter とか HttpServletRequest とかあると
妙に安心する
• 困ってもなんとかできそう感
• コンフィギュレーションやデプロイも想像が
つく
- 35. 近道 - scaffolding
• Rails と同じく scaffold がある
• 最初は、とりあえず scaffold でソース生成
して、それを弄るスタイルが捗る
• 既存 DB スキーマから CRUD 生成する
reverse-scaffold もある
- 36. 近道 - scaffolding
• 私の場合、
1. DB 設計する
2. db:migrate してスキーマつくる
$ ./skinny db:migrate
3. reverse-scaffold
$ ./skinny g reverse-scaffold articles articles article
4. 生成されたソースをいじる
5. 3, 4 を繰り返す
- 41. まとめ
• Scala 未経験者が Skinny を使って社内ナ
レッジ共有ツールをつくりました
• Skinny の始めやすさのおかげで Scala を
はじめるキッカケになった
• フツーの Web アプリであれば Skinny は
わかりやすいし生産性もよいのでオススメ
- 42. まとめ
• Scala 未経験者が Skinny を使って社内ナ
レッジ共有ツールをつくりました
• Skinny の始めやすさのおかげで Scala を
はじめるキッカケになった
• フツーの Web アプリであれば Skinny は
わかりやすいし生産性もよいのでオススメ
Skinny Framework 使いましょう!