Re:ゼロから始める文系プログラマ

未経験がプログラミングを通して人生を変える

【初心者必見】Webサービス開発の方法を解説


スポンサードリンク
 

f:id:ShotaNukumizu_1000:20210729144505p:plain

おはようございます。Shotaです。

最近、ブログやSNSのタイムラインを見ていると、企業だけではなく個人や少数のチームがWebサービスを開発して人気を博しているのを目にします。

「優秀なプログラマーだからできるんでしょ?」

「どうせプログラミングがわからない私にはできない...」

このように考えていませんか?

もちろん基礎知識はしっかりと学ぶ必要がありますが、一部の人にしか作れないのは今や昔の話です。

プログラミング初心者でもWebサービスをつくる手順とコツをしっかり掴めば、誰でもユニークなアイデアを具現化してネット上に公開できます。そこで、今日の記事ではWebサービス開発の全体像を紹介し、それに加えてやることを紹介していきます。

ぜひ参考にしてください!



Webサービスの仕組み

f:id:ShotaNukumizu_1000:20210718103738p:plain

私たちが普段なんとなく使っているWebサービスは、ユーザの操作に基づいてサーバが処理したデータをWebブラウザに表示させるという仕組みです。

  • ユーザ側に表示されるフロントエンド
  • 処理を行うサーバ
  • データの管理や再利用を行うデータベース


この3つの組み合わせで動作します。また、実際にWeb上でサービスを公開・稼働させるためにはサーバーが必要です。

動作の流れはざっくりこんな感じです。

  • ユーザがクライアントで、プログラムを通してリクエストを送信する
  • サーバがリクエストを受信し、サーバ側で処理を行い、クライアントにレスポンスを送信する
  • レスポンスがクライアント側のプログラムで処理され、結果が表示される


Webサービスの作り方

f:id:ShotaNukumizu_1000:20210718062603p:plain


STEP1:まずはラフスケッチで構想を練ろう

まず、作りたいサービスのアイデアや高層を具体的にするには「ラフスケッチ」から始めていきましょう。ポイントは次の4つです。

  • 必要な人の種類
  • 必要なタイミング
  • 解決したい課題
  • 欲しい機能


ある程度ラフスケッチができたら、それをベースに具体的な企画へ落とし込みましょう!


STEP2:企画書を作る

企画書と聞いたらなんだか堅苦しく聞こえるかもしれません。

重要なのは、

どのような顧客の問題を解決するサービスなのか?

ということです。

これがないサービスはただの自己満足のサービスに過ぎません。

この作業はWebサービスやWebアプリを開発する上ではいちばん重要な作業なので、決して怠らないようにしましょう。


STEP3:要件定義

要件定義は、Webサービスのゴールやコンセプト、必要な機能やデザイン等を明確にすることです。一人で開発をする場合は省略することもありますが、複数人のチームで開発する場合だと要件定義は必要です。チーム内での解釈のズレや誤解を未然に防ぐためです。


STEP4:基本設計

この段階になると、ある程度までWebサービスを具現化する必要があります。一般的には以下の3つを作成します。


STEP5:コーディング

プロトタイプで問題なければ、いよいよプログラムを作ります。

ただし、途中でエラーやバグが発生してうまく動作しないケースもたくさん出てきます。このようなときは要件定義の変更もありますので、特に複数人で開発している場合はSlackのようなツールで気軽に意見交換できる場所を作っておくのがベストです。


STEP6:テストの実施

基本設計が終わってからテストをするというよりも、設計の段階において各種機能が正常に動作するかどうかをテストすることのほうが多いです。

このときに、セキュリティテストやサーバの負荷テストも同時進行でやっておくと良いでしょう。


STEP7:Webサービスの公開

サービスとして提供できる段階まで到達できたら、あとはインターネット上で公開するだけです。

最近はクラウド化が進んでおりますので、小規模なサービスであればFirebaseやHerokuのようなプラットフォームを利用することでお手軽に公開できます。

また、公開したら終わりではなく、アナリティクスの結果やユーザからのフィードバックを検討しながら、より使いやすいサービスにするため日々改善を続けていく必要があります。


Webサービス開発に必要な知識・スキル

f:id:ShotaNukumizu_1000:20210728070041p:plain

これは言うまでもありませんが、Webサービス開発にはプログラミング言語Webサービスの骨組みを提供するフレームワークについての知識が必要になります。

Webサービスを開発するために学習を始める場合、作りたいサービスから言語を選択して実践的に進めていくという方法になるでしょう。

それぞれの工程のプログラミングで必要になる知識の一例をざっくりまとめてみました。


Webサービス・アプリのコンポーネント 必要な言語
フロントエンド HTML/CSS, JavaScript
サーバサイド Python, PHP, Ruby
Webフレームワーク Django, Laravel, Ruby on Rails
データベース SQL, Oracle


まとめ:Webサービスを開発する時に最初にやるべきことは「自分が欲しいもの」を作ること

f:id:ShotaNukumizu_1000:20210718063926p:plain

今日は初心者の人がWebサービスを開発するのに必要な方法や知識について解説しました。

Webサービスを開発しよう!」という気持ちがあっても、次第に気持ちが冷めていくことはよくあると思います。あと、「どのようなサービスを開発したいかわからない」と考える人も少なくないでしょう。

まず、Webサービスを開発するときに一番最初にやるべきことは「自分が欲しいもの」をつくることです。欲しいものであれば作ったあとも愛情がわきますし、長い時間に渡ってモチベーションを維持できます。

まず作りたいWebサービスがわからない人は「自分が欲しい物」を作ることを考えることから始めてみましょう。

【参考サイト】

www.sejuku.net