HTMLはWebアプリの開発に必要?アプリ開発の工程や必要な知識
Webサイトを作るための基礎プログラミング言語である「HTML(Hypertext Markup Language)」は、Webアプリ開発にも使われます。どのように用いるのかを開発工程と共に見ていきましょう。開発の基礎も解説します。
簡単なWebサイトの改修の内製化を目指すフロントエンド(HTML・CSS・JavaScript)入門5日はこちら
目次[非表示]
- 1.Webアプリの仕組みを解説
- 1.1.Webアプリとは「ブラウザから使うアプリ」
- 1.2.ネイティブアプリと何が違うの?
- 2.Webアプリケーションの活用例
- 2.1.検索エンジン
- 2.2.SNSやブログに
- 2.3.宿泊や食事の予約サイトに
- 3.Webアプリ開発に必要なプログラミング言語
- 3.1.フロントエンドで使われる言語
- 3.1.1.HTML
- 3.1.2.CSS
- 3.1.3.JavaScript
- 3.2.バックエンドで使われる言語
- 3.3.データベースの扱いに必要な言語
- 4.Webアプリ開発の工程
- 4.1.アプリの内容を考える
- 4.2.要件定義、基本設計
- 4.3.フレームワーク、開発言語の決定
- 4.4.開発を行う
- 4.5.アプリを公開する
- 5.Webアプリ開発に必要なスキル
- 5.1.プログラミング言語を扱える
- 5.2.Webに関する知識
- 5.3.さまざまな分野や市場の知識
- 6.HTMLやCSSなどさまざまな言語を駆使して開発する
Webアプリの仕組みを解説
アプリケーションと言えば、地図検索、ゲーム、買い物など、私たちの生活のさまざまな場面で使われています。もはや生活やビジネスで必須とも言えるLINEやFacebookもアプリの機能が活用されています。
ただ、一言でアプリと言っても、実に多彩な種類があります。今回は「Webアプリ」に注目し、他アプリとの違いや定義について、まずは見ていきましょう。
学歴、学部による「IT知識」「基礎知識」の格差を無くす個別指導の新人研修プロエンジニア育成コース(Java2・3ヶ月コース)はこちら
Webアプリとは「ブラウザから使うアプリ」
Webとはそもそも「クモの巣」に由来し、インターネットを使って世界中のどこにいても情報を獲得できるシステムのことを指します。Webサイト、Webアプリなどは、インターネットさえつながっていれば、どこにいても世界中にアクセスして情報を得ることができる機能のことです。
情報獲得の手段として用いられるのが『Google Chrome』や『Firefox』などのブラウザです。このブラウザを通じて利用するアプリのことを、一般的には「Webアプリ」と呼びます。
ネイティブアプリと何が違うの?
Webアプリはブラウザを介してアプリを使用するため、ダウンロードやインストールの作業が必要ありません。ネイティブアプリとはそれとは反対に、スマホやパソコンにダウンロードして利用するアプリのことです。
そのため、Webアプリの本体はインターネット上にあるのに対し、ネイティブアプリの場合は、データは自分のパソコン上にあるという違いがあります。
■関連記事
Webアプリケーションの活用例
Webアプリケーションは、具体的に私たちの生活のどのようなシーンで使われているのでしょうか。開発する上で基礎コンセプトとなり得る要素ですので、覚えておきましょう。
全国の若手~ベテランエンジニアが受講している個別指導のオンライン・リモート講座(入門5日・基礎10日)はこちら
検索エンジン
検索エンジン大手の『Google』は、インターネットを使ったことがある人なら知らない人はいないでしょう。Googleにも、Webアプリは活用されています。
地図上の特定スポットとそこに着くまでのルートを検索する『Googleマップ』、スケジュールを記入・共有できる『Googleカレンダー』、メールのやりとりをする『Gmail』もWebアプリです。
『Yahoo!』も同様のWebアプリが活用されています。検索エンジンにとって、Webアプリの存在は欠かせません。
SNSやブログに
TwitterやLINEなどのSNSは、Webアプリ、スマホアプリの両方があります。このうちブラウザを使って他人の投稿を見たり、自分から情報を発信したりするのがWebアプリです。
また、LINEから買い物やイベントの予約をする、マップを表示して行き先を表示するのも、Webアプリが担っています。
ブログやブログ形式のサービスも、Webアプリで開発されていることがあります。『note』は音楽や記事などの検索、作品購入ができるほか、SNSとの連携ができるプラットフォームです。開発言語はJavaScriptやRubyが使われています。
宿泊や食事の予約サイトに
店舗予約や口コミ評価、マップの閲覧ができる『食べログ』も、Webアプリの一つです。開発にはRubyというプログラミング言語が使用されています。
その他には、ホテルや旅館の予約機能、Googleマップと連携して場所を表示するといった機能も、Webアプリの有効活用と言えるでしょう。
■関連記事
Webアプリ開発に必要なプログラミング言語
Webアプリの開発には、どのようなプログラミング言語が用いられているのでしょうか。役割ごとにプログラミング言語の種類を紹介しましょう。
全国の若手~ベテランエンジニアが受講している個別指導のオンライン・リモート講座(入門5日・基礎10日)資料ダウンロードはこちら
フロントエンドで使われる言語
Webアプリを開発する際、Web上のボタンや入力フォームなど、ユーザーが見えている部分の機能を「フロントエンド」と呼びます。
HTML・CSS・JavaScriptは、このフロントエンドの開発に使われるアプリです。
それぞれ、次のような役割を担っています。
HTML
Webページの構造や装飾を決定している、ベースとなっているプログラム言語です。文書の配置場所や、文章の文字の色、大きさなど、また画像や動画の挿入はHTMLによって決定されています。
CSS
CSS(Cascading Style Sheets)は、HTMLと同様にWebページの構造に関わる言語です。こちらは主にWebページのデザインを作るのに利用されています。HTMLとは合わせて使われることが多いです。
JavaScript
JavaScriptは、Webページ上で自動的に画像をスライドしたり、文字にカーソルを合わせると細かい説明が現れたりといった、ユーザーのアクションに対して反応する動的な表現をするために使われています。
フロントエンド(HTML・CSS・JavaScript)を使用して開発した家事アプリ「家事シェアボーード」
バックエンドで使われる言語
フロントエンドとは逆に、ユーザーの見えない部分での処理を行う作業を「バックエンド」と呼びます。例えば、ネット上で買い物をする際の合計金額の計算式は、ユーザーには表示されません。これはバックエンドの働きです。
バックエンドは、次のような言語によって開発されています。
PHP
問い合わせフォームやショッピングカートの生成など、動的なWebページの要素を作るのに使われている言語です。JavaScriptと似ていますが、JavaScriptがユーザーから見える部分の要素を作るのに対し、PHPはユーザーから見えない部分の処理を担います。
Ruby
日本人のまつもとゆきひろ氏によって1995年に開発された言語です。フレームワーク「Ruby on Rails」が利用できるのが最大の恩恵と言えるでしょう。多くのパッケージやAPIがありますが、オブジェクト指向の言語で、初心者が使うには難易度はやや高めです。
Python
YoutubeやEvernoteなど、世界的に利用されているアプリがPythonによって開発されています。読み書きがしやすくコードの記述量が少ないので、初心者にも学びやすい言語です。Webアプリ以外にも、デスクトップアプリや人工知能の開発などさまざまな用途に使われています。
データベースの扱いに必要な言語
Webアプリをデータベースと連動して動かすことがあります。例えば、「ユーザーの会員情報をデータベースで管理する」という場合です。このデータベースの管理には、データベース言語を用います。
有名なものだとSQLが挙げられるでしょう。データベースから情報を抽出したり、操作したりするために必要な言語です。
■関連記事
Webアプリ開発の工程
Webアプリをどのように開発するのか、開発のプロセスについて構想から公開まで順を追って解説します。
問題解決力を身に付ける若手、新人SE・PG向けの通年Java研修(1~3ヶ月コース)はこちら
アプリの内容を考える
まずは、アプリの内容を考えるところからスタートします。どんなユーザーをターゲットにして、ユーザーのどんな悩みを解決するのかなどを考慮した上で、方向性やゴールを決定していきます。
特に初心者のうちは、「他のサービスにはない機能」などを求めてしまいがちですが、開発難易度が上がってしまうので、まずは身近な問題や、シンプルなアプリ開発から初めてみると良いでしょう。
要件定義、基本設計
方向性がある程度決まったら、どんな画面構成やデザインにするか、どんな機能をどこに表示するかといった要件定義や、基本部分の設計を行います。
例えば予約サイトであれば、予約日はカレンダーにするのかプルダウンにするのか、予約コースはどのように選択してもらうかといった、操作性についても決める必要があるでしょう。
こうした基本的な部分を決めていきます。
フレームワーク、開発言語の決定
使うプログラミング言語の選択を行う必要もあるでしょう。
WebアプリであればHTMLやCSS、JavaScriptが基本になりますが、その他に言語を使うかどうか、バックエンドの言語は何にするかなどを決めていきます。
企業エンジニアであれば、社内やプロジェクトごとに言語を統一して、他のメンバーに承諾を得る必要があります。
言語が決まったら、フレームワークも決定していきましょう。フレームワークの選択も、開発の効率化において重要です。
開発を行う
設計や言語の選択、フレームワークの選択などの準備が整ったら、開発に移っていきましょう。エディタやIDE(統合開発環境)を使ってコードを記述していきます。
まずは、色々な機能や外側のパーツから作るのではなく、骨子となる基本的な機能や仕様から作っていきましょう。付けたい機能などが開発中に出てきても、ひとまずは作り切ってから考えることをおすすめします。
途中から要件や設計を変更すると、他のメンバーとの意思疎通がうまくいかなくなってしまったり、かえって使いにくくなってしまったりすることがあります。
アプリができたら、実際に動かしてみてバグ取りなどを行いましょう。想定していた動きと異なる場合もありますので、修正しつつ改良を重ねていきます。
アプリを公開する
アプリが完成したら、実際に公開します。ドメインを取得してサーバーを立ち上げ、実際にサーバーにアップロードすれば、公開です。
開発者や開発チーム以外のユーザーから寄せられた意見を元に問題点をピックアップし、修正とバージョンアップを行いましょう。
アプリ開発の多くは、公開して終了ではなく、ユーザーの要望やより使いやすさを求めて機能を追加したり、操作性を変更したりすることでユーザビリティーを向上させていきます。
■関連記事
Webアプリ開発に必要なスキル
Webアプリの開発には、どのようなスキルが必要なのでしょうか。次のスキルを身に付けられるような計画を立ててから学習を始めると、より効率的な学習が見込めるようになります。
貴社の希望日に合わせて受講できる個別指導型の短期Java講座(入門5日・基礎10日)はこちら
プログラミング言語を扱える
Webアプリ開発を行おうと思うのなら、プログラミング言語の習得は必須スキルです。
上記に挙げた開発言語を全て覚える必要はありませんが、Webアプリを開発するなら、HTMLとCSSは最低限必要な知識です。プラスしてJavaScript、バックエンドの言語を何かしら使えると、開発がスムーズにできるようになります。
併せて、その言語のフレームワークについても学ぶと良いでしょう。プログラミング言語はスキルを証明する資格も多いため、資格取得を目指して勉強してみるというのも有効です。
Webに関する知識
Webアプリを作る上では、Webに関する理解も必要です。例えばユーザーがアプリ上でボタンを押す操作をしたとします。「ボタンを押しました」というメッセージの表示についても、サーバーにデータを送り、サーバーからデータを返してまたユーザーに見せるという動作をしています。
このように、実際の開発に当たっては単に表面だけではなく、内部についても詳しくなっておく必要があります。加えてサーバーの設置やデータベースの仕組みなどもあわせて知識として身に付けるとスムーズです。
さまざまな分野や市場の知識
Webアプリの開発には、プログラム以外の知識も必要になります。
例えば、旅館の予約アプリを作るとしましょう。この場合、「旅館に泊まるユーザーがどんな情報を入力すれば良いか」「予約を増やすためにはどんな情報をユーザーに対し表示すれば良いか」といった、旅館の宿泊についての知識もある程度必要になります。
こうした要件定義や設計については、クライアントとなる旅館側の人間に入ってもらうことである程度はできますが、プログラムの開発者や設計者がまったく知識のない状態ではクライアントと話のすり合わせができず、失注やコミュニケーションにコストが生じてしまいます。
Webアプリとは、人の生活を便利にしたり問題点を解消するために作られます。そのため「利用者がどんな悩みを持っているか」「どんなアプリがあればもっと便利に生活できるか」といった、利用者側の関心や知識もある程度必要になります。
■関連記事
HTMLやCSSなどさまざまな言語を駆使して開発する
Webアプリの開発には、Webの知識、プログラミングに関する知識が求められます。特にWebとの親和性が高いHTMLやCSSに関する知識は、およそ必須とも言える環境になっています。
HTMLは比較的簡単で初心者向けの言語です。参考サイトや書籍も多く、学習はしやすいといえます。Webアプリを作るためプログラミング言語を学びたいという方は、まずはHTMLから作成してみても良いのではないでしょうか。
また、Webアプリは生活や仕事に関わるため、開発者は普段からアプリ開発やWeb以外の分野のトレンドやニーズについても、情報収集を行うことが求められます。