先月の続きで投稿いたします。ここからが本題となってきます。
クライアントについては、専用アプリとWebアプリがある説明しました。
今回は、Webアプリについてのお話になります。専用アプリについては、開発ツールが充実していますので、詳細は不要と考えており、Web関連のお話を中心にしていきます。
さて、Webアプリとは、どういう事でしょうか、説明できるなら本投稿項を読む必要は無いので読み飛ばして構いません。
以前にもお話しましたが、C/S(Client/Server)方式のシステムが主流です。その中でもクライアントは専用アプリケーションからHTMLベースのWebアプリに移行しております。強いて言うならクライアントは全てHTMLベースのWebアプリに収束それています。クライアント側で処理できる事のほとんどがWebベースで可能になってきている事が主な理由です。では、どのように処理されているかと言うと、全ては、Webブラウザ搭載(性格には少し違いますが)のHTML解析機とJavaScriptによって行われています。
JavaScriptについては、あくまでもスクリプトなので、コンパイル型には劣りますが利用勝手が非常に良いのでかなり発展してきました。各社仕様が異なったため、先人の解析により発展してきました。しかし、各社バラバラに実装されていたことから、共通仕様作成に世界が動いており、いくつかの仕様が策定され、各社統一に向けでパーサ(解析機)の開発に取り組んでいます。
これまで、JavaScript界隈では、色々な言語が創設され淘汰していきました。変化の速い業界なので仕方がないのですが、最近ホットになりつつある言語としてTypeScriptという言語があります(まあ型定義を厳密化する言語だけど)。元々はMicrosoft社が開発したものです。最近の言語に備わっているオブジェクト指向で考えられている言語であり、厳密な型チェックができる事で有名です。
型チェックが特徴なのは、少し勉強すると分かると思いますが、JavaScriptのスーパーセットという位置づけなので、その特徴が世間に知れ渡っています。ですが、それだけではないところもあります。。そもそもJavaScriptにはプリミティブ型しか存在しない事と他の言語に無いUndifiend(いわゆるNullPointerですが)や特殊演算子も存在しています。
なにが言いたいかというと、送受信(ファイルシステムとの通信も同意)するデータのそれぞれのの型が定義されていないと使う側にとって不都合が大きい、バグを生み出しやすいといった問題を開所することができるようななることなのですね。なんでも受入可能な言語体系と決まった型のみのやり取りが可能になり事は、非常に大きいことなのです。
JavaScript初心者については、理解が難しい事でしょう。他の言語に精通している方々からは、理解に苦しむ事このうえありません(笑) かくいう私も同様でした。来月からはもっと詳しく投稿していきますので、よろしくお願いいたします。