LoginSignup
5
9

More than 5 years have passed since last update.

Sinatra風のフレームワークの紹介とその使い方

Last updated at Posted at 2017-02-07

方針

ややこしいことをしない。
個人デベロッパー向け。
大雑把な記事にするよ。

マイクロフレームワーク

小さいフレームワーク(そのまま)
ポイントはマイクロフレームワーク単体でWebサービスを立ち上げられること。

使い方

個人的な使い方です。
Web的な部分は素直にNginxやApache,PHPに投げる。
マイクロフレームワークでローカルネットワーク向けのWebAPIを作り、フロントエンドにNginxやApacheを使うということ。

各言語のマイクロフレーム紹介

Sinatra(Ruby)

http://www.sinatrarb.com/intro-ja.html
インストールは

command
gem install sinatra

最小のコードは

main.rb
require 'sinatra'

get '/' do
  'Hello world!'
end

公開は

command
ruby main.rb -p ポート番号 -o 0.0.0.0

Spark(Java)

http://sparkjava.com/
インストールは

DLしてパスを通すだけです。Gradleなら

script
Gradle : compile "com.sparkjava:spark-core:2.5.4" //add to build.gradle

最小のコードは

main.java
import static spark.Spark.*;

public class HelloWorld {
    public static void main(String[] args) {
        get("/hello", (req, res) -> "Hello World");
    }
}

公開はコンパイルしてjart玉を実行してください。

Bottle(Python)

http://bottlepy.org/docs/dev/
インストールは軽いので、DLするだけでも良いですし、パッケージマネージャーでもeasy_installでも良いです。pipを使うなら、

command
sudo pip install bottle  

最小のコードは

main.py
from bottle import route, run, template

@route('/hello/<name>')
def index(name):
    return template('<b>Hello {{name}}</b>!', name=name)

run(host='localhost', port=8080)

公開は

command
python main.py

です。

出来上がるもの

日本語ガンガン使える正規表現てんこもりのwebサービス
機械学習もガンガンできるwebサービス
どこでも移植できてそれなりの仕事をこなせるwebサービス
WebAPIをローカルネットワークに置けばセキュリティ的にもベターです。

どこで楽をしたか?

tomcatもRailsもDjangoも勉強しなくてすむ(これは大げさ)。
配布・インストール・テストが楽。
サーバーアプリをAPIにしておけば各言語で連携できます。
フロントエンドとサーバーサイドの切り分けできる。

5
9
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
5
9