SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Web開発者の悩みを軽減! クライアントサイドでのHTMLテンプレート管理

サーバサイドHTMLテンプレートからの脱却のススメ

Web開発者の悩みを軽減! クライアントサイドでのHTMLテンプレート管理 第1回


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

フロントエンドエンジニアが抱える問題

 簡単なHTMLであれば、多少面倒であってもサーバサイドエンジニアが修正を行うことはできました。

 しかし、フロントエンドエンジニアがプロジェクトに参加するようになると、少々事情が代わり、また新たな問題も生じます。

 フロントエンドエンジニアがプロジェクトに参加する場合には、UI/UXもこれまで以上に重視されるプロジェクトであるはずです。

 UI/UXを確認する上では、HTMLやJavaScriptなどを作成しながら実際のブラウザを使って確認していきます。そして、サーバサイドHTMLテンプレートを使う場合には、問題なく動作ができるようになったところで、サーバ側の機能をそのHTMLに組み込んでいくなど、図4のような作業工程を経る必要があります。

図4 HTMLを完成させるまでの作業工程
図4 HTMLを完成させるまでの作業工程

 すでにHTMLそのものを作ってしまっているので、テンプレート機能が持つさまざまなメリットが、逆にデメリットになってしまっています。このため、HTMLを修正する時に2つの大きな課題が発生します。

  1. HTMLからHTMLテンプレートへの変換能力
  2. サーバ側でデバッグする能力

 これら2つは、どちらも本来は必要なものではなく、作業ルールによって生まれてしまった作業とスキルということです。これらは簡単な修正であれば、それほど難しくないかもしれません。しかし、複雑なUI/UXの修正まで行うとすると、テンプレートの記述ミスにより想定したHTMLではない結果になる、または、サーバ側で動作する制御文の間違いによるサーバ側での処理エラーなど、考慮しなければいけないことはより多くなります。

 また、HTMLテンプレートへの変換をサーバサイドエンジニアが担当すると、サーバサイドエンジニアがフロントでの動作を確認する必要が生じてしまうなど、どちらか一方を立てると、もう一方には大きな負担が生まれてしまうという問題が発生します。

フロントエンドエンジニアが抱えるもう一つの問題

 まだ、あまり声として上がっているところは少ないですが、フロントエンジニアはもう一つ大きな問題を抱えています。ここまでの記述を読んでいれば、気がついている方もいるかもしれません。

 それは、複数のプロジェクトに参加する場合には、複数のHTMLテンプレートの使い方を覚える必要があるということです。

 図5のように、HTMLを生成するためのHTMLテンプレート言語は非常にたくさんの種類が存在します。

図5 HTMLを生成するためのさまざまなHTMLテンプレートエンジン
図5 HTMLを生成するためのさまざまなHTMLテンプレートエンジン

 サーバサイドテクノロジーは、言語やフレームワークによって、できることとできないことがあり、また、たとえできても得意、不得意があります。そのため、プロジェクトによって、言語やフレームワークの選択が変わってしまうこともよくあるケースです。

 その結果、HTMLテンプレートも変えなければならないことがあります。

 HTMLテンプレートを言語やフレームワークなどから分離させ、どの言語、どのフレームワークなどでも使える共通のHTMLテンプレート言語があればと思う方もいるでしょう。

 しかし、HTMLテンプレートは、その言語、そのフレームワークを使うエンジニアにとって効率的であり、利便性が高いように進化した経緯があります。そのため、そのようなHTMLテンプレートが存在することは難しいのです。もちろん、非常に似た形式のものはありますが、言語が異なれば全く同じようにはいきません。

 このように同じようなことをするために、多少異なるということを覚える必要があり、そして、そのスキルはあまり市場で評価されるものではありません。そのため、フロントエンドエンジニアがサーバサイドのHTMLテンプレートを覚えるというモチベーションはどうしても低くなってしまうのです。

次のページ
サーバサイドHTMLテンプレートから脱却してみよう

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Web開発者の悩みを軽減! クライアントサイドでのHTMLテンプレート管理連載記事一覧
この記事の著者

WINGSプロジェクト 小林 昌弘(コバヤシ マサヒロ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9594 2016/09/20 17:03

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング