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