今回からタイトルの通り「独習 ASP.NET Webフォーム(第6版)」を
読んで学んだことを少しずつ記事にまとめていきたいと思います。
読んで学んでインプットするだけではなく、
ブログ記事にまとめてアウトプットして理解を深めていきたいと思います!
ASP.NETとWebアプリケーション
Webサイトには、静的なページと動的なページの2種類があります。
サーバーに用意されたコンテンツをそのままクライアント側に返すページは静的なページです。
一方、ユーザ側の要求(フォーム入力送信、アカウント情報の変更など)があり、
それに対応するためにサーバー側でコンテンツを生成するための仕組みや処理を用意しておくページは動的なページです。
ASP.NETは、マイクロソフト社が提供しているWebサイト開発用のフレームワークであり、
C#やVB(Visual Basic)といった開発言語で記述できる動的なページを作成するための技術です。
動的なページと言っても、クライアントサイド技術ではなく、サーバーサイド技術となっています。
クライアントサイド技術とは、JavaScriptなどで実現されており、
クライアント側にスクリプトと必要なデータをダウンロードしてもらいブラウザー上のみで実行する仕組みとなっています。
サーバーサイド技術とは、プログラムの処理などはサーバー側で実行し、
その結果をHTMLとしてクライアントに返すという仕組みとなっています。
サーバーサイド技術とASP.NET
ASP.NETとは、サーバーサイド技術の代表的なものですが、ASP.NET以外にも様々なものがあります。
例えば、Spring Boot(Java)やLaravel(PHP)といったWebアプリ開発向けのサーバーサイド技術がありますが、
それぞれで得意なことや実現可能なことが違ってきます。
別技術と比較したときのASP.NETの優位性については以下になります。
①高機能なコントロール部品と開発高生産性
コントロールとは、ページのデザインに利用できる定型的なレイアウト部品のことです。
例えば、テキストボックスやボタンのような単純な部品から、
グリッド表やカレンダーのような複雑な部品まで約80種類のコントロールがASP.NET Webフォームでは用意されています。
それらを使用することで開発者は一からコードを書かずにWebページのパーツを設定することが可能になります。
また、マウスのドラッグ&ドロップなどのGUI操作で簡単にコントロールの配置や設定を行うことが可能な点も開発の生産性を高くしてくれる要因の一つのようです。
②マイクロソフトのドキュメントの充実
ASP.NETの開発元「マイクロソフト」からMicrosoft Docsという開発者向けの情報サイトが公開されています。
ASP.NETに限ったものではないですが、
このサイトでは上記のコントロール一つ一つに対する使用方法や使用例、設定方法など膨大な機能について細かく情報が載っています。
そのため開発で困った時はこちらのサイトがとても役に立ちます。
※英語を日本語訳したものなので、少し読みづらい箇所があります・・
③環境構築の簡易性
どんな開発でもまず最初は開発環境の構築から始めなければなりません。
そこでASP.NETでは、統合開発環境であるVisual Studioをインストールすることでまとめて導入することが可能で
プログラミング初心者には開発環境が簡単に用意することができて安心して開発を始めることができると思います。
また、クラウドプラットフォーム「Azure」というツールがあり、
ASP.NETで開発したアプリケーションをネットワーク上に公開することが可能で、
こちらもマイクロソフトが提供しているサービスであり、
ASP.NETやVisual Studioとの親和性が高く利用しやすいというのもメリットの一つであると思います。
(Azureについても別記事で詳細をまとめたいと思っています)