毎度毎度長い文章のみで申し訳ありません。
今回からは、本格的にクライアントサイドについてのお話の続きをさせて頂きます。
少し前置きで話は変わりますが、最近の業務案件で、よく耳にするのは、「クライアントサイドが実装」できる方とか、「フルスタックエンジニア」とかを耳にします。いずれも、Webアプリケーションの事を指しています。そもそも、言葉のみであれば、ネイティブで実装する事を指しますが、お客様は、そうではありませんので、注意しましょう。
最近のJavaScriptフレームワークは、フルスタックも可能となっている様ですが、私的には、あまり使いたくないという思いです。クライアントサイドにてフルスタックにすると、それぞれの役割(Role)が曖昧になり、デバッグがいずれ難しくなると思っております。これについては、クライアントサイド側から反感買いそうですが。。。
サーバ側の役割、クライアント側の役割を再度考える事が重要かと思います。以前にも投稿していますが、サーバ側の役割については、クライアント側の要求にすべて応えることなのです。クライアントサイドにてそれらを含めた場合には、運用上の不具合が色々と生じてくるはずなので。この辺は読者にてご判断ください。
話しはそれましたが、クライアントサイドのお話を再開いたします。
色々なワードが飛び交うクライアントサイドですが、基本はWebアプリケーションのクライアント、いわゆるブラウザ側のお話になります。
まずはブラウザの話しから。最近のWebブラウザには、大きく分けて3種類ありますね。一番多く使用されているブラウザはGoogle社「Chrome」、オープンソースの「FireFox」、Apple社の「Safari」です。Windowsに標準搭載されているブラウザ(「Edge」)は「Chrome」と同一になりました。ひと昔多く利用されていた「Internet Explorer」は、Microsoft社としては利用しない様呼びかけています。
なので、クライアントは、上記3巨頭を対象とした方が良いです。
ちなみに、Firefoxおよび全てのWebブラウザの源流は米NCSA大学の「Mosaic」というブラウザです(現在もあるらしいが詳しい事は分かりません)。この「Mosaic」は、NCSA大学のhttpd(サーバ側アプリケーション)と対になって開発されました。詳しくはWikiとかで調べてくださいね。
そもそも各大学の論文を閲覧したいがために開発されたものがWebブラウザなのです。さらに言うとそれぞれの大学が連携して論文の閲覧を自由にできる環境を作りたかったのですね、さすがです。現在では一般的になっていますが、当時の我々日本人にはそれまでなかった考え方なのですよ。
「Mosaic」を開発した学生たちの大半は、後に設立される「Netscape」という会社に入っています。NetScape社が開発したブラウザで実行できるスクリプトを開発しています。これが、現在のJavaScriptの源流だと思います。間違っていたらご指摘ください。
長くなりましたので、今回はこの辺にて。次回は、XXXについてお話いたします。