Successfully reported this slideshow.
Skinny Framework
勉強会

{ 導入&炎のController編
Arakaki Yusuke

1
アジェンダ
!

Skinnyの概要

!

環境の準備

!

Controller

2
GOAL

ControllerオンリーのWEB Applicationが構築で
きること

3
Skinnyってなによ
!

ScalatraとScalikeJDBCを土台としたフルスタッ
クなMVC WEBアプリケーションフレームワー
ク

!

Scala on Rails をコンセプトに開発されている

4
開発状況は?

!

現在はまだαステージ

!

@seratchさんが黙々と開発中

5
環境構築

6
導入方法は3つ
!

Skinny-blank-app.zipを直接ダウンロード(今
回)

!

Yeomanからプロジェクトを構築

!

SBTで自分でプロジェクトを構築

https://github.com/seratch/skinn...
Skinny-blank-app.zipから構築
wget https://github.com/seratch/skinnyframework/releases/download/0.9.12/skinny-blankapp.zip
unzi...
超簡単

9
Skinnyコマンド
run
clean
update
console
compile
db:migrate
test
test-only
package
publish

: will run Skinny app for local dev...
Controller

11
Controller
controller/RootController.scala

SkinnyControllerをextendsして、Actionとなるメソッドを定義
12
Controller
controller/Controllers.scala

Routesをmixinしてルーティングを定義
Action名のSymbolも渡します
Routingは下記が参考になります
http://www.scalatr...
Controller
ScalatraBootstrap.scala

ScalatraBootstrapにてマウントします

14
Named parameters
controller/Controllers.scala

controller/RootController.scala

パラメータとして受け取れます

15
Wildcards
controller/Controllers.scala

controller/RootController.scala

ワイルドカードを使用した場合、
* 部分をmultiParams(“splat”)で受け取れます。...
Conditions
controller/RootController.scala

Routingに条件を付与することができます。
(Booleanを渡すだけでOK)

17
parameters
controller/Controllers.scala

18
Filters
controller/RootController.scala

SymbolはRouting定義時に定義しましたね(P13)

19
Redirect
controller/RootController.scala

20
Halting
controller/RootController.scala

21
Not Found
controller/RootController.scala

22
おわり

23
Upcoming SlideShare
Loading in …5
×

Skinny framework勉強会

2,079 views

Published on

社内勉強会用の資料になります

  • Be the first to comment

Skinny framework勉強会

  1. 1. Skinny Framework 勉強会 { 導入&炎のController編 Arakaki Yusuke 1
  2. 2. アジェンダ ! Skinnyの概要 ! 環境の準備 ! Controller 2
  3. 3. GOAL ControllerオンリーのWEB Applicationが構築で きること 3
  4. 4. Skinnyってなによ ! ScalatraとScalikeJDBCを土台としたフルスタッ クなMVC WEBアプリケーションフレームワー ク ! Scala on Rails をコンセプトに開発されている 4
  5. 5. 開発状況は? ! 現在はまだαステージ ! @seratchさんが黙々と開発中 5
  6. 6. 環境構築 6
  7. 7. 導入方法は3つ ! Skinny-blank-app.zipを直接ダウンロード(今 回) ! Yeomanからプロジェクトを構築 ! SBTで自分でプロジェクトを構築 https://github.com/seratch/skinny-framework#try-skinnynow 7
  8. 8. Skinny-blank-app.zipから構築 wget https://github.com/seratch/skinnyframework/releases/download/0.9.12/skinny-blankapp.zip unzip skinny-blank-app.zip cd skinny-blank-app ./skinny run Windowsの方は skinny.batと置き換えて見て下さい 8
  9. 9. 超簡単 9
  10. 10. Skinnyコマンド run clean update console compile db:migrate test test-only package publish : will run Skinny app for local development : will clear target directory : will update depscript_exitencies : will run sbt console : will compile all the classes : will migrate databases : will run all the tests : will run the specified test : will create *.war file to deploy : will publish *.war file to repository 10
  11. 11. Controller 11
  12. 12. Controller controller/RootController.scala SkinnyControllerをextendsして、Actionとなるメソッドを定義 12
  13. 13. Controller controller/Controllers.scala Routesをmixinしてルーティングを定義 Action名のSymbolも渡します Routingは下記が参考になります http://www.scalatra.org/2.2/guides/http/routes.html 13
  14. 14. Controller ScalatraBootstrap.scala ScalatraBootstrapにてマウントします 14
  15. 15. Named parameters controller/Controllers.scala controller/RootController.scala パラメータとして受け取れます 15
  16. 16. Wildcards controller/Controllers.scala controller/RootController.scala ワイルドカードを使用した場合、 * 部分をmultiParams(“splat”)で受け取れます。 16
  17. 17. Conditions controller/RootController.scala Routingに条件を付与することができます。 (Booleanを渡すだけでOK) 17
  18. 18. parameters controller/Controllers.scala 18
  19. 19. Filters controller/RootController.scala SymbolはRouting定義時に定義しましたね(P13) 19
  20. 20. Redirect controller/RootController.scala 20
  21. 21. Halting controller/RootController.scala 21
  22. 22. Not Found controller/RootController.scala 22
  23. 23. おわり 23

×