Mint という名前のプログラミング言語がありますので、ご紹介します。
公式サイトは、https://www.mint-lang.com/ になります。
ググラビリティめっちゃ低いやんけ
Mint
で検索すると、Googleなら葉っぱのミントやLinux Mint、地元のなにかしらの店舗などが上位にヒットします。
そこでmintlang
で検索すると、ようやくトップに出てきます。なんでこんな名前にしたのやら。
また Qiita 内では探した限り、「Mint - SPA に特化した言語」という一記事しか見つかりませんでした。
おいおい、出遅れとるやんけ
先の記事は2018年7月に書かれています。2019年12月現在、Mintのバージョンは0.7.0で、まだまだ開発中という状態です。
一年半出遅れていて今さら何を紹介するのかと言ったら、もうちょっと深く掘り下げるしかありませんね。
ざっくり特徴いうたろやないけ
MintLangには以下のような特徴があります。
- 強い静的型付け言語
- Mint言語自体がCrystal言語で作られていて、そのためコンパイル速度が爆速
-
mint
コマンドにコンパイル、サーバ機能、テストランナー、フォーマッタが全部含まれている - ほかにもいろいろ組み込まれている
- スコープが限定されたCSSスタイリング
- 状態管理
- ルーティング
- 変数はイミュータブル
- 同期・非同期処理をかんたんに使える
- すべてが表現(詳細はのちほど)
小ネタを出したろやないけ
ちなみに、先ほどご紹介した公式サイト自体も、Mint言語で記述されています。https://github.com/mint-lang/mint-website
インスコしよやないけ
インストールは簡単です。https://www.mint-lang.com/installから実行バイナリをダウンロードして、適切なPATHに置くだけです。
Windowsでは今のところDockerなりなにがしかの仮想環境で使用することを推奨します。WSLでは、罠があります(後述)。
使こてみよやないけ
init
コマンドで、新規プロジェクトを作成します。
mint init my-app
以下のようなファイルが生成されます。
my-app
├── source
│ └── Main.mint
├── tests
│ └── Main.mint
├── .gitignore
└── mint.json
my-appディレクトリ内で、mint start
でサーバが起動します。1
言語としてどないやっちゅー話やんけ
mint init
で作成されるScaffoldは、以下のようなコードです。
component Main {
style base {
font-family: sans;
font-weight: bold;
font-size: 50px;
justify-content: center;
align-items: center;
display: flex;
height: 100vh;
width: 100vw;
}
fun render : Html {
<div::base>
"Hello Mint!"
</div>
}
}
Styleとタグがひとつのコンポーネントとしてまとまっていることが分かるかと思います。
で、VueとかReactと比べたらどないやねん
いや、それはもちろん色々ライブラリが揃っているという意味でVueやReactの方が現時点では使い勝手や表現の豊富さでは勝っています。
その分、コントリビュートのチャンスはMintの方が余地が残っていると言えます。
Mintの今後にご期待ください!!
-
WSL上ではサーバが起動しないというKnown Issueがあります。v0.7.1(2019/12/15)時点では、Windows環境の方はDockerかvagrantか、何かしらの仮想環境で実行する必要があります。 ↩