tsux.me 現役京大生エンジニア精進の日々

WEBサービス開発をはじめるために知っておきたいこと【WEB開発のススメ】

プログラミングを始めたい!どうやらWEB開発がいいらしい!ってのはわかったけど

ナニソレ、オイシイノ? ナニカラハジメルノ?

って人のために、

僕が実際に現場で働いてきた上で思う、

最速でWEBサービス開発をはじめるために知っておきたいこと

を紹介します!

これから勉強すべきことを知って最短ルートでできるようになりましょう!

WEBの仕組みを知る

WEBサービスを開発していく以上、WEBというシステムの仕組みを最低限知っておく必要があります。

ここでいうWEBシステムは ”WorldWideWeb” と呼ばれるシステムを指しています。(URLの一部でもよく見られる ”www” です。)

インターネットとは厳密には違うもので、 コンピュータとコンピュータをつなぐ繋がり(ネットワーク)がインターネット だと思ってください。

WEBシステムの基本的な機能は 情報にアクセスすることができる 、というものです。

ここでWEBシステムを作った ティム・バーナーズ・リーさん の昔話を簡単にすると、

ティムさんはスイスのCERNというところで働いていて、色々なコンピュータ上ところにあるデータに簡単にアクセスできる仕組みを作ってくれと頼まれました。そこでデータを1つのコンピュータに集め、データとデータをつなぎ、簡単にアクセスできるような仕組みを作りました。

これが今のWEBシステムの始まりです。

先ほどデータをある1つのコンピュータに集めた、と言いましたが、このようにデータを保持し、インターネットで提供するコンピュータ、これを今では サーバ と呼びます。

データとデータをつなぎ、と言いましたがこれは皆さんも知っているであろう、 リンク 、と呼ばれる機能です。

このリンクをはじめとした様々な機能を実現するために作られたのが、皆さん聞いたことがあるかもしれませんが、 HTML 、というものなのです。

HTMLは

Hyper(すごい)Text(文書)Markup(印をつける)Language(言語)

の頭文字で、テキストにマークしていくことでリンクなどすごい機能をつけていける言語ってことになります。

つまり、WEB開発を行うにあたってこれから皆さんが勉強していくのは、このHTMLと、HTMLの機能をもっと豊かにしていくためのもの、ということになります。

WEB開発に最低限必要な技術を知る

先ほどの、 HTMLと、HTMLの機能をもっと豊かにしていくためのもの 、を具体的に紹介していきます。

とはいったものの、正直これは色々なものがありすぎて、仕事でやる人ってのは自分の会社が使ってるものを勉強して使えるようになる、ってのが定石なんです。

でもそのうち、これは外せない、という必須なものもあります。

ここでは、その、必須なものと、最低限できるようになれば(もっと便利なものもあるかもしれないけど)大抵のWEBサービスは作れるようになるもの、を紹介します。これを勉強していきましょう。

先に列挙してしまうと以下になります。

  • HTML
  • CSS
  • JavaScript
  • WEBアプリケーションフレームワーク(Django, Ruby on Rails など)

これが最低限の知識で、でもしっかり動くWEBサービスをパパッと作りたい人にとって必要な技術になります。これらをちょっと詳しく説明します。


HTML

先ほども説明した、 データそのものでもありながら、他のデータにアクセスしやすくする、すごいテキスト です。

ちょっと触ったことがある人などは勘違いしている人も多いのですが、WEB開発でのHTMLの役割は、 「構造をつくる」 だけです。見た目(デザイン)にはあまり関係ありません。

CSS

カスケーディング・スタイル・シート の略称です。

HTMLで構造化されたテキストや情報に スタイルを指定してデザインするための言語 です。

JavaScript

ようやくここで初めてちゃんとしたプログラミング言語になります。

JavaScriptはプログラムによってHTML(WEBページ)に動きをつけることができます。jQuery, TypeScript, React など様々な改良版がありますが、基本のJavaScriptができていればどれにでもすぐ対応できるので、これを学んでいきましょう。


さて、ここまでの3つは フロントエンド と呼ばれ、サーバーではなく、私たちがいつも使うような WEBページを見る側のコンピュータ(クライアント) で動く機能になります。

しかし、データはサーバー上にあるのでサーバー上でそれらを提供する必要があります。その機能を簡単に実現するものが、最後の1つ、

WEBアプリケーションフレームワーク

になります。

サーバサイドの開発は、望み通りのデータのやり取りができるようにプログラミングを行います。

しかし一から全てプログラムするのは流石に大変すぎます。

そこで、それらのプログラムやデータ、さらには先ほどのHTML、CSS、JavaScriptなどを比較的簡単に管理し、簡単なプログラミングで機能を実現することができるよう作られたのがWEBアプリケーションフレームワークです。

これは様々な言語のものがあって多種多様ですが、ググった時に情報も多くて、機能も豊富で、初心者にもとっつきやすい、

  • Django
  • Ruby on Rails

などがオススメです。

僕のオススメは Python 言語による Django というフレームワークです。これは正直僕の好みです笑

Ruby言語による Ruby on Rails というフレームワークは日本では人気でよく使われます。

以上が、これから勉強していくべき必須・最低限のものになります。

中には、 PHPLAMP をわかってないとお話にならない、という方もいるかもしれません( PHP はWEB開発のための言語といえる存在で、 LAMP はサーバーを構築する上で基本の考え方です)。が、とりあえずは無視しても問題ないでしょう。

他にも、作成したアプリなどを公開するにはまた多少勉強すべきことがあります。

また、WEBエンジニアの仕事でがっつり食っていけるようになるにはさらに学ぶべきことがあります。

それを学ぶことになったときに、PHPやLAMPは学んでいきましょう。
(もちろん最初から挑戦しても構いません)

プログラミングをする上での心構えを知る

さあ、いよいよ学び始める時です。

しかし、WEB開発など、プログラミングを始めると様々な困難にぶち当たります。

それは、乗り越えられなければ、多くの人が 「挫折」 という結果になりますが、 乗り越えてしまえば次の日には「何だこんなことか」ってなってるもの です。気楽にいきましょう。

その上で、困難が立ちはだかった時の 「心構え」 について話したいと思います。

まず、WEB開発じゃなくても、一番大切なのは、 「自分で調べる能力」 です。

プログラミングをしているとエラーはつきものですが、エラーが出たらこの世の終わりのように見えてくる時期もあるでしょう。

でも、このことは頭に入れておいてください。

どんなにプログラミングにつよつよで、有名企業に勤めていたとしても、エンジニアは誰でも、ほぼ毎日エラーを排出しています。

大切なのは エラーを出さないことよりも、エラーに対処すること です。

また、そのような問題にぶつかった時、考えまくる、ってのも頭を使ってていいと思うんですが、早く結果を求めたいなら、

「現状を適切に表現してググる能力」

が一番大事です。

特にプログラミングは大抵のことは正しくググれば出てきます。

どこの、何が問題でどんなエラーなのか?

読んでいる記事と自分では何が違う状態なのか?

最初はすぐにエラーの原因はわかりません。問題を把握して検索し、原因を探れるようになれば駆け出しエンジニアとしては十分です。

エラーにぶち当たっても、負けずに、冷静にググる、そんな心構えを持っていてください。

では頑張っていきましょう!!!!

COMMENT

コメントはありません