CrystalとKemalを触ってみる

CrystalとKemalを触ってみる

こんにちわ。

kyamaです。

また、急に暑くなりましたね。雨も多くて引きこもりがちです。。

今回は気になった言語とWEBフレームワークを触ってみました。

みなさんはよく使ったり、好きなフレームワークはありますか?

最終的にできれば何でもいいとは思うのですが、

個人的には開発がやりやすく、速いものは使ってみたいです。

私はたまに https://www.techempower.com/benchmarks/ を見て参考にしています。

今回はフルスタックで気になるものとして下記を触ってみました。

Crystal

kemal

まずはインストール


# 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とはまた違いますね。次回は簡単なアプリを作ろうと思います。

  • このエントリーをはてなブックマークに追加

この記事を読んだ人にオススメ