Madogiwa Blog

主に技術系の学習メモに使っていきます。

MakanaiというRubyで作ったオレオレWebフレームワークをリリースしました💎✨

WEBrickとSqlite3で動作するシンプルなWebアプリケーションが作れる、MakanaiというフレームワークRubyで作りました👩‍💻

github.com

なぜ作ったか?

RailsSinatraといったRuby製の素晴らしいWebアプリケーションフレームワークが世の中にあるなか、なぜMakanaiと作ったかというと、

  • 車輪の再発明よってWebアプリケーションの仕組みの理解が深まるのでは?
  • シンプルで読みやすいWebアプリケーションフレームワークが学習に役立つのでは?

という仮説のもと開発しました。

Makanaiは最低限の機能しかなくシンプル、かつrackrakesqlite3の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機能
  • findallといった機能を提供するシンプルなORM機能
  • views配下に配置されたerbファイルをパースしてレスポンスを生成するRender機能

詳しい使い方はReadmeを読んでみてください📝

makanai/README.md at master · Madogiwa0124/makanai · GitHub

おわりに

今回はオレオレフレームワークMakanaiを紹介しました。まだまだな部分ばかりですが、とりあえず自分で作ったフレームワークをGemとして公開できたのは勉強になりました。

作ってみてわかったのはSinatraRailsといったフレームワークは本当に良くできているなと💦

これからも色々とメンテナンスしていってできることを増やしていこうと思います🙋‍

またRubyを使って自分でオレオレフレームワークを作ってみたい人がいたら下記記事に作り方とかまとめているので良かったら💻

madogiwa0124.hatenablog.com