CrystalとKemalを触ってみる
こんにちわ。
kyamaです。
また、急に暑くなりましたね。雨も多くて引きこもりがちです。。
今回は気になった言語とWEBフレームワークを触ってみました。
みなさんはよく使ったり、好きなフレームワークはありますか?
最終的にできれば何でもいいとは思うのですが、
個人的には開発がやりやすく、速いものは使ってみたいです。
私はたまに https://www.techempower.com/benchmarks/ を見て参考にしています。
今回はフルスタックで気になるものとして下記を触ってみました。
まずはインストール
# yum -y install git openssl-devel
# curl https://dist.crystal-lang.org/rpm/setup.sh | sudo bash
# rpm --import https://dist.crystal-lang.org/rpm/RPM-GPG-KEY
# cat << EOS > /etc/yum.repos.d/crystal.repo
[crystal]
name = Crystal
baseurl = https://dist.crystal-lang.org/rpm/
EOS
# yum -y install crystal
CrystalのHelloWorld
# cat << EOS > sample.cr
puts "hello crystal"
EOS
# crystal sample.cr
hello crystal
ビルドもしてみます。
# crystal build sample.cr
sampleという実行ファイルができます
# ls
sample sample.cr
下記で実行
# ./sample
hello crystal
ビルド後の方は速いですね。
続いてkemalを使ってみる
# mkdir samplekemal && cd samplekemal
# cat << EOS > shard.yml
name: samplekemal
version: 0.1.0
dependencies:
kemal:
github: kemalcr/kemal
EOS
# shards install
パッケージはshardsというコマンドで管理するようです。
結晶と破片?
# cat << EOS > app.cr
require "kemal"
get "/" do
"Hello World!"
end
Kemal.run
EOS
# crystal build app.cr
# ./app
[development] Kemal is ready to lead at http://0.0.0.0:3000
http://IP:3000/ にアクセスすると "Hello World!" と表示されていると思います。
今回はひとまずインストールとちょっとした動作確認までで。
PHP/Cakeとはまた違いますね。次回は簡単なアプリを作ろうと思います。