WEBrickとSqlite3で動作するシンプルなWebアプリケーションが作れる、Makanai
というフレームワークRubyで作りました👩💻
なぜ作ったか?
RailsやSinatraといったRuby製の素晴らしいWebアプリケーションフレームワークが世の中にあるなか、なぜMakanaiと作ったかというと、
という仮説のもと開発しました。
Makanaiは最低限の機能しかなくシンプル、かつrack
とrake
とsqlite3
の3つのGemしか使っていないピュアRubyで書かれていて、前提知識等が無くても読みやすいんじゃないかなと思います。
Makanaiの使い方
Hello World
Hello Worldまでの手順はシンプルで、Gemfileにmakanai
を追加してbundle install
して、下記を記載したapp.rb
を作成するだけです。
require 'makanai/main' router.get '/' do 'Hello Makanai!' end
あとはruby app.rb
を実行してブラウザでアクセスすれば「Hello World」が表示されます🌏
提供している機能
Makanaiでは下記の機能を提供しています。
- URLとリクエストメソッドをもとに特定の処理を実行するRouting機能
migration
配下の特定のsqlファイル及びすべてのsqlファイルを実行するmigration機能find
やall
といった機能を提供するシンプルなORM機能views
配下に配置されたerbファイルをパースしてレスポンスを生成するRender機能
詳しい使い方はReadmeを読んでみてください📝
makanai/README.md at master · Madogiwa0124/makanai · GitHub
おわりに
今回はオレオレフレームワークMakanaiを紹介しました。まだまだな部分ばかりですが、とりあえず自分で作ったフレームワークをGemとして公開できたのは勉強になりました。
作ってみてわかったのはSinatraやRailsといったフレームワークは本当に良くできているなと💦
これからも色々とメンテナンスしていってできることを増やしていこうと思います🙋
またRubyを使って自分でオレオレフレームワークを作ってみたい人がいたら下記記事に作り方とかまとめているので良かったら💻