Alpine.jsがなんかよさそう
Alpine.jsというUIライブラリが気になったので、試してみました。
なにこれ
UIライブラリみたいなやつです。ReactやVue、SolidやSvelte的立ち位置っぽいです。
公式サイトでは、「モダンなWebのためのjQuery」らしいです。
でも、これらのUIライブラリとはちょっと違います。
とても軽くて、とてもシンプルなんです!
私がAlpine.jsを見てめっちゃ良さそうだと思ったポイント!
です。
1. TypeScriptがない
Alpine.js、TypeScriptないです。
型を気にせず、気軽に開発できます!
2. <script>タグのCDNだけで完結
<script>
タグだけで導入できます!
<script src="//unpkg.com/alpinejs" defer></script>
をHTMLに挿入だけでいいのです。
npmなんかいりません。HTMLファイルだけで完結することもできます。
3. シンプル
めっちゃシンプルです!
<div x-data="{ open: false }">
<button @click="open = !open">Toggle</button>
<span x-show="open">
Content...
</span>
</div>
こんな感じです。x-data
が記述している要素内で、そのデータが使えます。
Vueみたいですね。
シンプルって言ってるけどx-
から始まるのいっぱいあるんでしょ、って思うかもしれません。
実際はそうではなく、使う属性などはたったの23個しかありません!
x-
から始まるのが15個、スクリプト内で使えるプロパティが6個、グローバル変数Alpine
のメソッドが2個です。シンプルですね。
これらは、Alpine.jsのトップから確認できます。
なにに使うのがいいのか
「TypeScriptがない」や「<script>
タグで完結」は、手軽ですが、保守性が低いのでは、と思われた方もいるのではないかと思います。
その通りで、私はAlpine.jsに保守性はあまりなく、大規模プロジェクトには不向きだと考えます。
しかし、手軽な時にたくさん使うことができます!
簡単なツールを作りたい時、JavaScriptをいじりたい時。
npmを使いわざわざ環境を構築する必要がなく、ライトに使えます。
それが、Alpine.jsのいいところだと思います。
まとめ
Alpine.js、ちょっとした開発にめちゃめちゃ向いています!
そんなときに、おすすめです!
Discussion