HTTPサーバーとWeb開発

108. HTML や JavaScript の上位互換性の注意

IBM i の RPG/COBOL プログラムの多くは上位の i5/OS 上でも再コンパイルなしで
動作する。
このことを上位互換と呼ぶのだが IBM ユーザーの多くは RPG や COBOL などが
上位互換であるため、他のプラットフォームも上位互換であると錯覚しがちであるが
実際はそうではない。
Windows の exe プログラムなどは Win64 ビットでは動作しないことは
珍しくないし、Microsoft は企業法人ユーザーではなく個人ユーザー対象のためか
Win10問題に見られるように互換性を気にしている様子すらない。

Windows プラットフォームでは上位互換性がないことは多くのユーザーが
認識しているが、同じように認識してもらいたいのが HTML や JavaScript である。
現在は多くの多種多様なブラウザが出回っており
JavaScript だけでなく HTML すらブラウザ同士の互換性は保たれていない。
Microsoft の IE の中でもバージョンが違えば互換性は保たれていない。
つまり IE6.0では正常に動作していた HTML や JavaScript が IE11.0などでは
動作しなくなる。

そのような非互換性は知っていたなら HTML や JavaScript を自動生成するような
海外からの輸入製品や、国内製品でも CGI で HTML を生成するような製品を
選択することは非常に危険である。
もしその製品が生成する HTML ソースが IE6.0用であって
HTML5 にも対応していないとする。
その製品を使う限りは IE11.0対応は無理である。
またそのメーカーが特殊なスクリプトによって HTML や JavaScript を生成するのであれば
そのメーカーが対応してくれるのを待つしかない。
つまり特殊なスクリプトや特殊な開発言語を必要とする製品は HTML の進化からは
常に遅れているか取り残されていまうかも知れない運命にあると言えるだろう。

テンプレートをカスタマイズするだけで最新の技術を吸収できるような
柔軟な構造の製品を採用すべきだろう。

Web 化のためにわざわざ特殊な言語を学習したりするような製品の採用は
避けることをお勧めする。
後後の保守や将来の社内の技術継承が容易な製品にすべきであることは
いうまでもない。
あえて複雑な道を選ぶ必要はない。
Web 化においてもこのシンプルな道を選ぶべきだろう。