Webアプリケーションを作るための備忘録①

当面の目標として、「Webアプリケーションを作る」ということがあります。

Javaの勉強をしているのでAndroidアプリも作ってみたいとは思いますが、現時点での最終目標はWebアプリケーションを作れるようになることです。

また、全体を見渡せるようになるために「一人で」全てのことをこなせるようになりたいと思っています

 

そこで、今回はWebアプリケーションを作るためにどのような知識が必要になるのかを洗い出していきたいと思います。

ちなみに、まだJavaの基礎を抑えて、DB(データベース)、SQLについてかじった程度なので、誤った情報が含まれていることもあると思いますので閲覧注意です。

 

 

ECサイト(Amazon,楽天市場など)やSNS(Facebook,Twitterなど)、検索エンジンなどのWebブラウザ上で稼働するサービスのことをWebアプリケーションといいます。

WebアプリケーションはWebブラウザ上にページを表示するためにHTMLという言語で記述します

今見ていることブログもHTMLで記述されていることになります。

つまり、HTMLをわからないと何もはじまらないということです。

 

そして、本屋さんなどに行ってHTMLを勉強しようとするとよく目にするCSSという言葉。

CSSは、HTMLで記述されたページの詳細な設定をするためにあります

具体的には、中央揃えにしたりするためにあります。

HTMLでもこのような調整はできるようなのですが、HTMLは情報構造を定義するための言語であるため、このような調整までしてしまっては、情報構造が崩れてしまい、検索エンジンに理解されなくなるなどの危険性があります。

また、閲覧環境の違いによっても見栄えが左右されないようにするには、CSSを活用するのがベターです。

 

ちなみにHTML5やCSS3のように数字がついていることがありますが、これはVersionを表すようです。

 

CSSと同様に、HTMLを勉強しようとするとでてくるJavaScript

JavaScriptは、HTMLやCSSで記述したページを動的なものにすることができます

ここらへんはまだ少し曖昧なので、HTMLとCSSの勉強をしなければダメですね。

 

 

実際にWebアプリケーションを作るとなると、膨大なデータを扱うことが想定されます。

そのようなデータを高速かつ安全に扱うために用意されているのがデータベースです

その中でも代表的なものがRDB(Relational DataBase)です。これは、表形式でデータを管理するデータベースです。

Oracle DBなどの有料なものから,MySQLなどの無料のものまでさまざまなデータベースがあります。

 

このデータベースの情報を取り出したり、書き換えたりするなどの指令を出すための言語がSQLです(MySQLSQLは同じものだと思っていましたが全く別のものでした・・・)

 

 

全体像を把握しようとする中で気になったのはJavaはどこで必要になるのか?ということと、HTMLやCSSで記述されたページの裏方となるもの(機能)はどのように付加していけば良いのか?ということです。

おそらくそこでJavaなどのプログラミング言語が必要になってくるのだと思いますが、そのつなげ方などがまだ明らかになっていないのでなんともいえませんね。

 

JavaSQLについては基礎レベルは身についたと思います(実務レベルかどうかは実際にやってみなければわかりませんが・・・)

 

今後身につけなければならないこととしては、

  1. HTML
  2. CSS
  3. JavaScript (←もしかしたら必要ないのかも)
  4. サーブレット&JSP
  5. Oracle DBやMySQLなどの具体的なデータベースの使い方

4のサーブレット&JSPは現在進行形で書籍で勉強しています。『スッキリわかるサーブレット&JSP入門』という書籍で勉強しています。

何のために勉強しなければいけないのかも含めて勉強中なので、これがWebアプリケーションを作るうえでなぜ必要なのかはこれからわかってくると思います。

 

5についてですが、DBを操作する言語であるSQLの書き方はどの製品を使うかによって若干異なるようです。

おそらく、就職先で扱うのは商業用として最も人気の高いOracle DBですが、自分でサービスを作るとなると商業用は高価なので、無料のMySQLあたりを使うことになると思います。(ちなみのFacebookMySQLを使っているということを聞いて、無料でもいけるんじゃね?と思いました)

 

勉強を進めれば進めるほど、勉強しなければならないところが増えてきます。

着実にステップアップしている実感があるので楽しいですね。

 

年内にAndroidアプリ、来年の春(3月)までにWebアプリケーションを作ることを目標にがんばろうと思います。