ホームページ作成の難所となる場面
Webデザインの知識のない私が、ホームページ作成の難所を伝えます。
前書き
自分の記事の一部の、とりわけNoteの記事の数に紛れては困る記事を、レンタルサーバに移転するため、現在HTML5とCSS3の必要な機能だけを学びつつ、自分のページを作っています。
実はHTML4.01とCSS1はほんの少し知っていましたが、私が学んでいる主要なプログラミング言語は、C言語やC++やPHP等、どちらかというとC言語系列の言語なので、C言語系列でないHTML5とCSS3は実質的に無学に等しい状態です。
それで、Webサイトを作るために必要な言語について、難所となる場面について書いていきたいと思います。
PHP
Webサイトを作っていると、メニュー等共通化したい部分があったりしますが、人間の手でコピーペーストを行うと必ず間違いが発生します。それで、共通化したいHTMLコードの出力を1つのPHPファイルに任せ、それをインクルードする形で書いています。
自動化したい箇所で用いる場合、どちらかというとアルゴリズムの考案に労力を費やす形になります。プログラミングの難易度は大凡アルゴリズムの複雑さに比例すると思われます。人がどう感じるのかにもよるかもしれませんが、私はアルゴリズムが複雑でなければ、プログラミング自体は難しくないと感じます。
また、掲示板、チャット、ECサイト、コメント、問い合わせフォーム等、投稿に関わる機能になると、PHPとともにMySQLが必要になる場合があります。
MySQL
まず、MySQL使用前の選択事項があります。ストレージエンジンを「MyISAM」と「InnoDB」の2つから選び、PHPからMySQLを扱うAPIを「mysqli」か「PDO(PHP Data Object)」の2つから選ぶ必要があります。
また、MySQLはコメントや会員情報等、どんどんと増える箇所に用いられている関係上からなのか、重くなりやすく、データベースが影響する部分を最小化する等して、データベースの様子を気にしながらプログラミングする必要があると思われます。
その関係からなのか、レンタルサーバを契約する場合は高価格サーバでない限り、容量に制約があるので、容量と価格の制約のバランスを考慮する箇所になります。
JavaScript
アコーディオンメニューやドロップダウンメニューの子要素を制御する際、チェックボックスで扱うと、子要素を複数出し入れできてしまう。だからと言ってラジオボックス制御にするとOFFにできない。なので、一つしか選択できないチェックボックスが理想なのですが、それを実装するためにはJavaScriptがどうしても必要となります。
JavaScriptを使う場面となると、先ほど言及したメニューバーの排他制御や、盗作防止目的のコピー防止等、主にブラウザの機能を司っているので、JavaScriptの難易度は、JavaScriptの仕様から必要な機能を探せるかどうかにかかっていると思われます。
因みに、JavaScriptからもdocument要素を通じてHTMLのタグの読み書きが可能らしいので、Googleアドセンスの自動広告、つまりGoogleが決めた場所に自動で広告を挿入する機能も、JavaScriptで実装されているものと思われます。PHPは用いられていないと思われます。
HTML5
HTML4.01→HTML5の変更点は、新しいタグが追加されたり、無くなるタグが存在するぐらいなので、HTML4.01を知っているなら、スタイルシートの影響除く、タグのコーティング自体はそれほど難しくありません。
ただ、HTMLの仕様を確認したり、タグを解説してくれる書物やサイトを事前に確認して、HTMLの仕様が想定している、または想定していない用い方を事前に調べる必要があると思われます。
CSS3
Windowsモダンアプリが絶対座標基準であるのに対し、Webデザインは文字の並びが基準なので、思った通りにプログラミングしにくいと感じます。
Webデザインを依頼すると安くても10万~20万円程かかる理由は、絶対座標ではなく文字並び基準の座標であるが故の扱いにくさゆえ、その難易度の高い作業労力の対価が含まれているからなのかもしれません。私なら対価を払われても行いたくない作業と感じます。
まとめ
PHP:プログラミングの難易度はアルゴリズムの複雑さに比例する。
JavaScript:JavaScriptの仕様から必要な機能を見つけらるかどうか。
MySQL:データベースの制約や調子を考慮に入れる必要がある。
HTML5:HTML5の仕様準拠のための調査が必要。
CSS3:絶対座標ではなく文字並び基準なので、デザインしづらい。
記事を最後まで読んでいただきありがとうございます。サポートを頂けるなら、助けになります。