LoginSignup
64
61

More than 5 years have passed since last update.

RailsライクなSwift製webフレームワークSwifton

Last updated at Posted at 2016-02-22

Swift製でRailsライクなフレームワークが出たっぽいです。
その名もSwifton!
Swift on Railsの略のようです!
略したらRailsは消えたのかな(´・ω・`)

ということで、ちょっと触ってみました。

【公式github】
https://github.com/necolt/Swifton

インストール

手元の環境がubuntuだったのでubuntuでやります。

最新のswift(3.0-dev)がいるようなので、ソースからコンパイルします。

$ cd /usr/local/

$ wget https://swift.org/builds/development/ubuntu1510/swift-DEVELOPMENT-SNAPSHOT-2016-02-08-a/swift-DEVELOPMENT-SNAPSHOT-2016-02-08-a-ubuntu15.10.tar.gz

$ tar xvfz swift-DEVELOPMENT-SNAPSHOT-2016-02-08-a-ubuntu15.10.tar.gz

$ mv swift-DEVELOPMENT-SNAPSHOT-2016-02-08-a-ubuntu15.10 swift

$ echo 'PATH=/usr/local/swift/usr/bin:$PATH' >> ~/.bashrc

$ source ~/.bashrc

$ swift --version
Swift version 3.0-dev (LLVM a7663bb722, Clang 4ca3c7fa28, Swift 1c2f40e246)
Target: x86_64-unknown-linux-gnu

そしてインストール。
今の所ToDoアプリのサンプルをcloneしてね、みたいな手順になってるようです。この辺はまだ走り出し感がありますね。

$ git clone https://github.com/necolt/Swifton-TodoApp.git

$ cd Swifton-TodoApp

$ swift build

ディレクトリ構成

サンプルアプリ見る限りですが、こんな構成になってるみたいです。

app -- Views -- Todos -- Index.html.stencil
    |- Public -- jquery_ujs.js
    |- Sources -- main.swift
    |          |- TodoController.swift
    |          |- Todo.swift
    |          |- ApplicationController.swift
    |- Packages/
    |- app.json
    |- README.md
    |- Procfile
    |- Package.swift
    |- MIT-LICENSE
    |- Dockerfile

Sourcesにcontrollerとかmodelとかrouterとか入ってるようですね。
テンプレートエンジンにはstencilというのを使っているようです。twigっぽい雰囲気。

起動してみる

サンプルアプリに起動してアクセスしみてます。

$ ./.build/debug/Swifton-TodoApp
[2016-02-22 01:28:39 +0000] [1623] [INFO] Listening at http://0.0.0.0:8000 (1623)
[2016-02-22 01:28:39 +0000] [1624] [INFO] Booting worker process with pid: 1624

サーバーは無事起動しました。
localhost:8000にアクセスすればいいようなので、ブラウザからアクセスしてみます。
※docker使ってたので、8889にポートフォワードしてます。

アクセスしたらrouteがないと怒られました(´・ω・`)

スクリーンショット 2016-02-22 10.36.36.png

main.swiftにroute情報が書いてあるみたいなので見てみます

main.swift
router.resources("todos", TodosController())

todosにアクセスすればよさそうです。

スクリーンショット 2016-02-22 10.39.40.png

だいぶシンプルな感じのページですが、一応表示されました!
まだmigrationあたりとか言及されてないので、その辺までサポートしてくれるといいなぁ〜
なにはともあれ取り扱いは簡単にできそうなので、もうちょっといじってみようかな!

64
61
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
64
61