WEBサイト
制作例はこちら...
HTML/CSS/JavaScript
WEB開発の標準としてHTML5が一般的になりました。
HTMLタグは文書構造を表すもの、ということがはっきりし、そのための十分な機能を持つようになっています。
CSSはCSS3に進化し、各方面に機能拡張されて強力な表現力を持つようになっています。
さらに、JavaScriptから利用できるさまざまな機能がAPIとしてまとめられて標準化されました。
このようなAPIは現在も拡張され続けています。
JavaScript自身もES2015規格により、洗練され柔軟で強力な言語となりました。
従来、高機能なユーザーインタフェースやさまざま機能を実現するためには、ライブラリやフレームワークを導入する必要がありました。
しかしながら上記のように、素のHTML+CSS+JavaScriptで開発可能な対象が大きく広がりました。
クライアント側の開発において、素のHTML+CSS+JavaScriptを利用することは、少なくとも典型的な開発方法の一つであると思われます。
Nginx/Node/Express
サーバー側の構成については、従来からWEBサーバー、プログラム言語、フレームワークなどについて多様な選択があります。
当方は今までは主に、Apache、PHP言語、自作またはZendフレームワークを利用してきました。
充分一般的な構成です。
しかしながら、WEB-サーバーとしてNginxサーバーや、サーバー側でJavaScriptを動作させるNodeを試してみました。
結果、使い心地の良さや、分厚い技術基盤を感じ使い続けることにしました。
このNodeにも多くのフレームワークがあります。
その中で、普及度が高い、軽量、素のNodeに近いという理由でExpressを利用しています。
模索を続ける...
今まで記したように
クライアント側: 素のHTML+CSS+JavaScript
サーバー側: Nginx+Node+Express
このような構成を当方の標準と考えています。
しかしながらWEBへの要求はどんどん高くなり、それらに対応すべく新しい技術が次々登場し利用されています。
Node上のフレームワークに限っても、従来的なフレームワークのほか、クライアント、サーバーが連携してユーザーインタフェースを構築するようなものも随分使われるようになってきています。
その中でReact+Nextは、上記の素の構成とは大分異なる作成方法をとりますが、シンプルな面と複雑さに耐える面と両方備えていて普及度が高くなっています。
当方もReact+Nextを使い始めています。
現在のところ、各構成で作例を作り続ける予定です。
WEBGL
WEBGを利用して3D表現を可能にできます。WEBGLはグラフィックプロセッサ利用のための高効率で素朴なフレームワークというべきもので、具体的な処理のためには多くのコードを記述する必要があります。反面自由度が高くプログラムの構成を柔軟に考えることができます。
WEBGLを容易に利用するためのJavascriptのライブラリも数多くあります。その中でもThree.jsは3D表現のための定型的な処理をすべて実装していて、一般的な3D表現をする場合、Three.jsを利用する方法がもっとも工数を少なくできます。
当方は制作物の内容に応じて、素のWEBGLとThrre.jsを使い分けていきます。