skinny framework勉強会

Post on 08-Jul-2015

1.420 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

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

!現在はまだαステージ!@seratchさんが黙々と開発中

開発状況は?

5

環境構築

6

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

!Yeomanからプロジェクトを構築!SBTで自分でプロジェクトを構築

導入方法は3つ

https://github.com/seratch/skinny-framework#try-skinny-now

7

超簡単

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

top related