方針
ややこしいことをしない。
個人デベロッパー向け。
大雑把な記事にするよ。
マイクロフレームワーク
小さいフレームワーク(そのまま)
ポイントはマイクロフレームワーク単体でWebサービスを立ち上げられること。
使い方
個人的な使い方です。
Web的な部分は素直にNginxやApache,PHPに投げる。
マイクロフレームワークでローカルネットワーク向けのWebAPIを作り、フロントエンドにNginxやApacheを使うということ。
各言語のマイクロフレーム紹介
Sinatra(Ruby)
http://www.sinatrarb.com/intro-ja.html
インストールは
gem install sinatra
最小のコードは
require 'sinatra'
get '/' do
'Hello world!'
end
公開は
ruby main.rb -p ポート番号 -o 0.0.0.0
Spark(Java)
http://sparkjava.com/
インストールは
DLしてパスを通すだけです。Gradleなら
Gradle : compile "com.sparkjava:spark-core:2.5.4" //add to build.gradle
最小のコードは
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を使うなら、
sudo pip install bottle
最小のコードは
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)
公開は
python main.py
です。
出来上がるもの
日本語ガンガン使える正規表現てんこもりのwebサービス
機械学習もガンガンできるwebサービス
どこでも移植できてそれなりの仕事をこなせるwebサービス
WebAPIをローカルネットワークに置けばセキュリティ的にもベターです。
どこで楽をしたか?
tomcatもRailsもDjangoも勉強しなくてすむ(これは大げさ)。
配布・インストール・テストが楽。
サーバーアプリをAPIにしておけば各言語で連携できます。
フロントエンドとサーバーサイドの切り分けできる。