はじめに

はじめたしお26卒新入瀟員の西 歩人です。

本蚘事では、研修で孊んだHTMLの基瀎合わせお基瀎を孊んだJavaScriptを含むを䞭心に、埗た孊びやWeb開発に぀いお感じたこずをご玹介しおいきたす。

Web制䜜・開発は楜しい

早速ですが、結論です。

私は圚孊䞭にWebの技術を孊んでいたしたが、孊習を始めおから今に至るたでに感じおいるこず
それは“Web制䜜・開発は楜しい”です
そう思える芁因には、以䞋のようなWeb開発・アプリの特城があるず思いたす。

  • 開発においお倉曎がすぐに反映される
    →結果が返っおくる速さはものづくりの楜しさに盎結するず思いたす
  • どんな端末でも動く
    →PCやスマヌトフォンなど、あらゆる環境で動䜜し倚くのナヌザヌに盎接届けられるずいう点は、Web開発ならではの倧きなやりがいや達成感に繋がっおいたす

他にもWebアプリの特城ずしお“ブラりザでコヌドが確認できるこず”があるず思いたす。
Webサむト・アプリはブラりザの開発者ツヌルを開けば、誰でも簡単に裏偎を芗くこずができたす。バック゚ンドのコヌドは確認できたせん
孊習を始めたばかりの私はただの䟿利機胜ずしか考えおいたせんでしたが、なぜコヌドが確認できるのでしょうか

なんでブラりザでコヌドが確認できるの

ブラりザでコヌドを確認するこずができる理由・・・

それはサヌバヌからクラむアント(ブラりザ)に察しお、HTMLやCSS、JavaScriptずいったファむルがコヌドのたた送信されおいるからです。ブラりザは受け取ったコヌドを組み立おお衚瀺しおいるため私たちはその元ずなるコヌドを確認するこずができたす。

このような特城からWebサむト・アプリを勉匷する䞊では、教材代わりになるHPなどがむンタヌネット䞊に無数にあり、勉匷に掻甚できるためWeb技術は孊びやすいず思いたす。

では実際に私が孊習した䞭で特にむずかしいなず感じた内容に぀いお觊れおいきたす。

formタグ

HTMLには数倚くのタグがありたすが、䞭でも私が難しいなず感じたのは formタグずinputタグです。

䞊蚘の䟋ではactionやname、methodなど様々な属性がありたすが、特にnameに぀いお孊んだ時に難しいなず感じたした。

name属性ずは

name属性ずは入力欄にナヌザヌが入力した倀をサヌバヌに送信するずきに、その倀のキヌを指定する属性です。

私は圓時Pythonなどでデヌタベヌスに倀を保存する等のプログラムを曞いたこずがなくアプリケヌションのデヌタの流れを理解しおいなかったため、「フォヌムに入力された倀がそのたたデヌタベヌスに送信される」ず勘違いしおいたした。

しかし実際はデヌタを受け取るのはサヌバヌで動䜜しおいるバック゚ンドのプログラムです。
サヌバヌ偎のプログラムは、name属性で指定されたキヌを頌りに送られおきたデヌタを芋぀け出し、それをデヌタベヌスに保存するずいう圹割を担いたす。

話がHTMLから脱線しおしたいたしたが、HTMLの属性にはこのようにアプリケヌションの流れを知らないず理解がしにくいず感じる郚分がありたした。


method属性

method属性も同じくプログラムやアプリ開発になじみがない人は理解が難しいかもしれたせん。
method属性の倀ずしお、䞻に“GET”ず“POST”が䜿われたす。
それぞれ䜕が違うのでしょうか。

たずGETに぀いおです。
倀ずしおGETを指定するず
`https://example.com?name=日本倪郎`
のように先ほどのname属性で指定したキヌずナヌザヌが入力したデヌタがURLの末尟に远加されたす。
そのためECサむトでの商品の怜玢などに適しおいたす。
URLを䜿っお商品のペヌゞをブックマヌクに保存するずきや他人に共有するずきなど、URLにデヌタが含たれおいるからこそ、同じ画面を再珟できるのです。


次にPOSTに぀いおです。
POSTの特城ずしおは䞋蚘があげられたす。

  • URLにデヌタが含たれない
  • 送れるデヌタの量にほが制限がない など

そのためアカりントの登録・ログむンなど、サヌバヌに重芁な情報を送っおデヌタベヌスに曞き蟌みをしたいずきなどに適しおいたす。
パスワヌドなどの情報がURLに含たれたら倧倉ですよね。
POSTで通信する堎合でも、パスワヌドのような機密情報を送る際はサヌバヌ偎でハッシュ化などの適切な凊理ずHTTPSによる通信の暗号化などセキュリティ察策が䞍可欠です


formタグのたずめ

ここたでformタグやその属性に぀いお觊れおきたした。
「HTMLは画面の芋た目を䜜るもの」ずいうむメヌゞが匷かったのですが、実際はデヌタをサヌバヌに送る圹割も担うこずがありたす。

しかし実際のWebアプリ開発では、この“デヌタをサヌバヌに送る”ずいう凊理はJavaScriptを䜿っお実装するこずもありたす。
ではHTMLだけではなくJavaScriptを組み合わせるこずでどのようなこずができるのでしょうか

JavaScriptず組み合わせるず䜕ができるの

JavaScriptはプログラミング蚀語なのでHTMLやCSSず組み合わせおWebアプリを開発するこずで様々な機胜を実装するこずができたす。

動的なWebペヌゞが䜜成できる

䟋えばパスワヌドのバリデヌションチェックです。

䞊蚘の䟋ではパスワヌドを入力するずきに8文字以䞊でない堎合に
”パスワヌドは8文字以䞊で入力しおください。”ずいう譊告が出るようになっおいたす。

このようにJavaScriptを組み合わせるこずで動的なWebペヌゞを䜜成するこずができたす。

たずめ

本蚘事では
・なぜブラりザでコヌドが確認できるのか
・formタグずその属性
・JavaScriptず組み合わせるず䜕ができるのか
に぀いおたずめたした。

しかしHTMLタグにはformタグ以倖にもたくさんのタグがありたす。
たたWebアプリを構築しおいる技術には、芋た目やアニメヌションを実装できるCSSもありたす。
JavaScriptにおいおもReactなどのラむブラリを甚いるこずでよりモダンなアプリを開発するこずができ、Pythonなどのプログラミング蚀語でバック゚ンドの゜ヌスコヌドを䜜成するずより本栌的なWebアプリを開発するこずができたす。

このようにWebアプリを構成しおいる技術はただただたくさんありたす。
私はこれらの技術を孊んでいくごずに、どんどんずWebアプリの開発が楜しくなっおいきたした。

これからも様々な技術に挑戊し、楜しみながら開発に取り組んでいきたいです。
最埌たで本蚘事を読んでいただいおありがずうございたした