「個人開発でWEBアプリ開発をしてみたい」「WEBアプリを作るのに必要な知識を知りたい」という方へ。この記事では、WEBアプリを個人開発していくにあたって、求められるスキルや知識をまとめました。
個人でWEBアプリ開発というと、ハードルが高く感じる方もいるかもしれません。しかし、実は、必要なスキル、知識を整理していくことで、個人開発というものは案外簡単にできたりします。
僕は、今までWEBアプリを3本(価格比較サイト・LINE Bot・ツイッターアプリ……)ほど作ってきました。ここでは、それをもとに、一体どのような知識が必要となるのか、をまとめています。
【初心者向け】WEBアプリの個人開発に必要なスキル・知識まとめ
結論から言うと、WEBアプリの個人開発に必要な要素は大きく3つに分けられます。1つ目は、「プログラミング」、2つ目は「デザイン」、3つ目は「運営・サーバー関連」です。では、それぞれ順番に見ていきたいと思います。
①プログラミング
アプリの開発では、どんなアプリでも、プログラミングが重要となってきます。というのも、このプログラミングで、自分の思い描いた機能をどの程度作ることができるかがアプリ全体の価値、使いやすさに影響していくるからです。
WEBアプリの場合、プログラミングをする部分は、主に「サーバー側処理」と「クライアント側処理」の2つです。
サーバー側処理
サーバー側処理というのは、クライアント(利用者)のパソコンやスマホなどからのリクエストを受け取り、HTMLなどを返す処理のことです。
この処理では、PHPやRuby、Pythonの他、最近では、JavaScriptが使われたりしています。主に、「フレームワーク」というWEBアプリのテンプレートを使うことが多いです。代表的なフレームワークには、PHPのLaravelやRuby on Rails、PythonのDjangoなどがあります。僕はRailsを使っています。
フレームワークには、WEBアプリ作成で必須とも言えるような機能が搭載されているので、最低でもフレームワークを1つはマスターしておきましょう。
特に注意しなければいけないのが、PythonやRubyの場合、単純なプログラミングとはかなり異なったものになってしまうということです。「WEB」アプリということを必ず頭に入れておいたほうがよいです。
クライアント側処理
こちらは、サーバー側処理とは逆の方でして、ユーザーのパソコンやスマホで行われる処理となります。具体的には、サーバーから受け取ったデータを表示したり、ユーザーの入力補助などになります。
クライアント処理は、JavaScriptで実装するのですが、こちらもサーバー側処理と同様、フレームワークが使われます。JQueryやVue.js、React.jsなどがあります。
クライアント側の処理は、必須ではなく、サーバー側で生成するHTMLだけでWEBアプリの機能を十分に実装できるのであれば、不要となります。また、サーバー側のプログラミングで使うフレームワークが自動的に追加してくれたりもするので、初めてWEBアプリを作る場合には、あまり気にしなくてもいいと思います。
実際、僕も今まで作った3つのアプリでクライアント側の処理は、ほとんどしていません。
②デザイン
次に、デザインについてです。これは、文字通り、WEBアプリのデザインです。見た目は、ユーザーのWEBアプリに対する第一印象なので、重要性が高いです。
このデザインには、特に難しい技術ではないのですが、HTML、CSSというマークアップ言語を使うことになります。HTML、CSSはPHPやJavaScriptといったプログラミング言語よりも簡単なので、比較的かんたんにできる分野だと思います。
こちらもフレームワークがあります。Bootstrapが有名でして、簡単に見やすいデザインを作ることができます。配色に関しては、あまりサポートされていないので、配色ツールなどを使う必要があります。
僕も、配色ツールを使い、WEBアプリのデザインをしました。
③運営・サーバー関連
最後に、WEBアプリの運営・サーバー管理についてです。ここに関しては、作ったWEBアプリをどうやって公開して、どのように運営していくのかという話になります。
運営
運営に関しては、コミュニティ型のWEBアプリ(SNSや掲示板)でない限り、宣伝が中心になるので、難しいくはないと思います。僕の場合は、ツイッターやブログを通して、宣伝をしています。
また、startapp.jpなど、できたばかりのWEBアプリを紹介してくれるサイトもあるので、まずはそれらを活用することになると思います。
一方、コミュニティ型の場合は、ユーザー数が多くないと機能しない場合があるので、作者がいかに投稿をするかがポイントです。
サーバー関連
当然、作ったアプリを公開するには、サーバーが必要です。ですから、WEBアプリの公開を自分でできるレベルのサーバーの知識は必須となります。
WEBアプリを公開するサーバーには、いろいろあるのですが、PHPでない場合は使えるサーバーが限られてくるので、あらかじめどのサーバーを使うのかを考えておくのが無難です。
有名所としては、AmazonのAWS、GoogleのGCPなどのIaaS、または、HerokuといったPaaSがあります。
僕は、作ったアプリは基本Herokuで公開しています。理由は、アプリを公開するための環境があらかじめ用意されており、サーバー構築に時間を掛けなくて済むからです。ただ、アプリの種類や規模によっては、AWSやGCPなどのサーバーを使う必要が出てくることもあると思います。
自前でサーバーを用意するという選択肢もなくはないですが、メリットは少ないと思います。僕自身も、自宅に業務用のラックサーバーがあります。しかし、騒音と電気代のためにほとんど使用していません。また、WEBアプリを公開する場合、メンテナンス等の対応も一人でやる必要があるので、かなり大変だと思います。
まとめ
WEBアプリを個人開発で作る上で必要な知識・スキルの紹介でした。初めのうちは、覚えることが多く、大変かもしれませんが、WEBアプリというのは作り始めると意外に面白いです。
今回は、具体的な方法論ではなく、大まかな知識やスキルについて紹介しました。ぜひ気になる方は、深く調べてみてください。
コメント