quarkusを使う(テンプレートエンジン編)

こんばんは、エキサイト株式会社中尾です。

今回はテンプレートエンジンについて説明します。

quarkusにはQUTEがあります。

ja.quarkus.io

特徴として

  • ネイティブビルドに対応(間違っているかもしれない)
  • テンプレートファイルを変えたら、リロードすれば反映される
  • @CheckedTemplate でテンプレートの整合性チェックが可能

基本的なif文、for文は以下で実装ができます。

    {#for sample in samples} 
      <h2>{sample.name ?: 'Unknown'}</h2> 
      <p>
      {#if sample.valid}
        {sample.data}
      {#else}
        <strong>Invalid sample found</strong>.
      {/if}
      </p>
    {/for}

renderAsync で非同期でレンダリングすることも可能です。

template.data("name", "neo").renderAsync();

apiサーバーとして利用することが多いと思うので詳しく試しませんが、htmlごと返すようなAPIがあったら使えるかもしれません。※そんなことはないと思いますが。