January 27, 2016

Hugoが使える場合、使えない場合、使わなくて良い場合

Hugoはstaticなwebsite generatorです。ローカルマシン上に用意したファイルを、指定した規則に基づいてhtmlに変換して出力するソフトウエアです。サイト構築を行ってみて思う所を簡単にメモします。

更新頻度
リアルタイムで更新したい、日に何度も更新がある、アップロード頻度を上げることは好ましくない、という場合にはHugoは適切な手段とは言えないでしょう。コンテンツの一部にスクリプトを使って外部サービスからデータを呼び出すことで動的なページを作成することは可能ですが、それならばもともと動的なシステムを使えば良いように思われます。

サイトの規模
サイトの規模があまりに大きくなってくると、ローカルでのコンテンツのレンダリング時間が長くなり
ます。また差分の規模も大きくなればアップロードする時間が長くなるため、動的にコンテンツを生成するほうがストレスがないでしょう。

コンテンツの複雑さ
仮にコンテンツがブログのように時系列の1カテゴリのデータのみで構成されている場合は、既存のブログサービスに勝るものはないように思います。一方で、サイトの部分部分で異なった機能を持たせたい場合、例えば、サイトの一部はブログだが、他の部分は静的なページで、さらに他の部分にはメインのブログとは異なるが時系列の情報がある場合(例えば、テーマAのブログとテーマBの進捗報告が同じサイトに共存している場合)、既存のブログサービスやCMSで扱うのは困難になってきます。もちろん、WordpressやMoveble Typeではかなり柔軟にウェブページを作成できるのですが、作成者にしかわからないような絡み合った設定になってしまう点で課題が大きいように思います。それなら、希望の構造に合わせて柔軟にコーディングできるHugoのようなジェネレータに軍配が上がるでしょう(大規模なシステムなら、自前でphpを書いていけば良いのですが。)

セキュリティ
動的な製作環境の問題点の一つが、セキュリティアップデートと永久に付き合わないといけない点です。サーバー上にプログラムを配置する以上、常にセキュリティリスクにさらされているといえます。一方で、静的なサイトはサーバーそれ自体のセキュリティは依然として残るものの(例えば、ファイルそのものが書き換えられる)、プログラムに起因するリスクは根本的に取り除くことができ、管理の手間を大幅に減らすことができます。

No comments :

Post a Comment