PCがあれば何でもできる!

へっぽこアラサープログラマーが、覚えたての知識を得意げにお届けします

開発言語について簡単に調べてみました

今回も概念だけのメモレベルです^^;
まずは広く浅く。それにしてもテクノロジーが多いですね。

 

■HTML+CSS

基本的にはこの2つでWebページを構成する。
HTMLには段落、見出し、箇条書き等の文書の構造を記述し、CSSには色、サイズ、配置等の文書の装飾を記述する。この切り分けに関しては、HTML5やCSS3にバージョンアップして表現力が上がっても、基本的には変わっていないっぽい。

HTMLの歴史とHTML5のレベルアップについては↓のサイトがわかりやすかった。
HTML5+CSS3 入門 | yoppa org

 

■JavaScript :クライアントサイド

HTMLに埋め込むスクリプト言語。クライアント上で動作し、DOMを操作できるため、静的なHTMLに対して動的な動作を加えることができる。HTMLの表現内容をリアルタイムで書き換えている感じかな。

特別な環境はいらず、ブラウザ一本で動作するので開発者もユーザも手軽な上に、できることも多いので、Webプログラミングでの基本となっている。

→・jQuery

JavaScriptのライブラリで、JavaScriptの複雑な処理をシンプルに書けることが売り。.NETでいうと「Linq to Object」のような感覚で、オブジェクトを操作できる仕組みっぽい。JavaでもLinqが実装されたらしいが流行りなのかな?
自分もC#でLinqの恩恵を受けているので、流行るのはわかる気がする。

 

■Flash :クライアントサイド

ブラウザ上でリッチな表現ができるソフトウェア。かなり昔から存在しているが、当時のHTMLの弱かった部分(ベクタグラフィックスによるアニメーション、音声・動画再生等)をカバーしていた上に、自由度が高く、Webページと同等の処理も行えることから人気となり、今でも現役として活躍している。専用の言語で開発したファイルをHTMLに埋め込み、専用のプラグイン(FlashPlayer)上で実行される。

弱点としては、クライアントにプラグインをインストールしないといけない点。

しかし逆に、プラグインをインストールすれば、ブラウザに依存せずに表現できるため、クロスブラウザ対応が大変なWeb業界では、それが強みとなっている。

Appleのジョブズが敵対心を燃やしていたこともあり、HTML5への乗り換え案が出つつも、各ブラウザの、HTML5の対応状況やパフォーマンスが安定しないことから、まだうまくいっていない様子。

 

■PHP、Perl、Python、Ruby :サーバサイド

いずれもJavaScriptと同様にスクリプト言語だが、JavaScriptはクライアント上(クライアントサイド)で実行されるのに対し、こちらはサーバ上(サーバサイド)で実行される。サーバ側で生成したHTMLを、クライアントに送って表示しているイメージかな。

動作させるにはWebサーバに実行環境を作る必要がある。

Perlは歴史的にもっとも古いため、コードの仕様や構想が古くなってきており落ち目。

PHPはコードの仕様が簡単なため、初心者にやさしい上にできることも多い。上級者からは開発速度面でも評価されている。利用される頻度が高いため、有識者も多い。

PythonとRubyはコードの仕様としてはどっこいどっこいな感じ。PHPに比べると利用者は少ない。

PythonとRubyの比較(Comparison of Python and Ruby)   −空風.info−

ただPythonはコードを書く人によって書き方に差が出ないように、できることを最小限にするという構想でできているらしい。

Python - Wikipedia

※余談ですが、自社パッケージの基盤を扱っている私としては、この考え方には感動しました。やはりモジュール毎の差を生まずに、ソースコードを保っていくには、そもそも「差を生ませない作りにする」という考えが一番近道だなと思います。

 

 

■その他の用語について

■クライアントサイド、サーバサイド

プログラムの処理が、クライアントとサーバのどちらで行われるかを、切り分ける言葉として使われている。クライアントサイドで動作する場合は、リアルタイムに処理が可能なため、画面上で動的に見せることが可能である。対して、サーバサイドで動作する場合は、サーバの処理結果(ページ)をクライアントが受けて、画面遷移を行うという流れになるため、静的な表現になる。

 

■AJAX

httpでの非同期通信技術の総称。古いサイトではちょこちょこ見る言葉だが、非同期通信が当たり前になった現在では、あまり積極的に使われてなさそう。
Ajaxとは - 意味/解説/説明/定義 : IT用語辞典

 

 ■DOM(Document Object Model)

W3Cから勧告されている HTML文書やXML文書をアプリケーションから利用するためのAPIとのこと。
Document Object Model - Wikipedia
つまりは、これがHTMLを読んでブラウザ上に表現しているAPIで、ブラウザ毎にそのAPIの実装方法が異なるので、ブラウザ毎に表現が変わってしまうということか。

 

 

HTML、CSS、JavaScript、PHPあたりに触れておけば、基礎としては良さそうな感じ。開発前にフレームワークについても、調べておいた方が良さそう。どのくらい開発が楽になるかが気になるのと、ブラウザ間の挙動の違いをどのくらい埋めてくれるのか。

 

それにしても本を買わなくても、インターネットで検索するだけで、大量の情報出てくる…。ほんとにいい時代になったものです。