初心者が個人でそれなりのWebサービス開発する最小限の技術
「言語もフレームワークも選択肢が多すぎてどれを選べばいいのかわからない…」
「それなりのものが作れる最小限の技術を知りたい!」
プログラミングを始める動機として個人でWebサービスを開発したいという方も多いかと思います。
いざ始めようとしたら、選択肢が多すぎて何を学べばいいかわからないとなりがちです。
それにいかにも素人が作ったようなサイトではなくそれなりの出来上がりにしたいものです。
そこで今回は「初心者が個人でそれなりのWebサービス開発する最小限の技術」を紹介します。
Contents
フロントエンドの選択肢
必須の3技術
以下の3つは必須です。
- HTML
- CSS(スタイルシート)
- JavaScript
デザインをかんたんにそれらしくする方法
ずばりCSSフレームワークを使うことです。
CSSフレームワークを使うとデザインのセンスがなくても、なんとなくそれなりに見栄えのするサイトになります。
CSSフレームワークには有名なものだと、
- Bootstrap
- Foundation
- Materialize
などがあります。
おすすめはBootstrapです。理由は、
- CSSフレームワークの中で最もメジャー
- サンプルコードや使い方を説明しているサイトがたくさんある
つまりは学習コストが低いんです。
デザインをそれなりにしたら、今度は操作性です。
使い勝手をそれなりに良くする方法
JavaScriptライブラリ・フレームワークを使うとそれなりに操作性の良いサイトを比較的かんたんに作れます。
- JQuery
- React.js
- AngularJS
- Vue.js
他にもたくさんありますが、この中でおすすめはJQueryです。理由は、
- JavaScriptライブラリの中で最もメジャー
- JQueryのサンプルコードや使用方法を解説しているがたくさんある
- ECMAScriptやTypeScriptからのトランスパイルなしで使えるのでかんたん。
まずはかんたんなものを使う意義
2010年くらいまではJavaScriptライブラリと言ったらJQueryという状況でした。現在はJQueryをやめて、React.jsやAnbularJSに移行している企業も多くなってきました。
ですが、初心者が個人でサービスを開発するという用途ならJQueryを使うのが一番かんたんです。
まずはかんたんな技術を選んで完成まで持っていくことが重要です。難しいものはその後必要に応じて学べばいいでしょう。
サーバーサイドの選択肢
言語
Webのサーバーサイドでよく使われる言語としては
- LL系(PHP, Ruby, Python, Perl, Node.js)
- JavaVM系(Java, Scala, Kotlin)
- .NET系(C#, VB.NET)
- ネイティブ系(Go, Rust)
があります。
おすすめはLL系言語のPHPです。
文法などは他の言語に比べて特別かんたんなわけではないのですが、環境構築が抜群にかんたんです。
Webサービスを開発するにはPCに開発環境を構築する必要があります。PCに、
- 言語のランタイム
- Webサーバソフトウェア(Apache, nginx等)
- DBサーバソフトウェア(MySQL, PostgreSQL等)
をインストールしてセットアップします。
これは初心者には少々大変ですが、PHPならば、XAMPPというソフトウェア・パッケージをインストールするだけで
- PHPのランタイム
- Apache(Webサーバ)
- MySQL(DB)
がインストールされます。セットアップもほぼ不要で、ボタンを押すだけでApache、MySQLを起動できます。PHPのコードを書いてファイルを特定の場所に置くだけでWebサービスとして動作します。
- Apacheよりもnginxのほうが性能が高いのでは?
- MySQLよりPostgreSQLの方が高機能では?
とも考えられますが、これまたまずはかんたんなものを使って覚えるのが良いと思います。Apacheとnginx、MySQLのPostgreSQLの共通点は多いので、必要に応じて後で学べばすぐ覚えられますからね。
フレームワーク
フレームワークを使うと、それなりのものを比較的かんたんに作れます。
それにフレームワークを正しく使えば、
- SQLインジェクション
- クロスサイトスクリプティング
などのセキュリティホールを塞ぐことが出来ます。
PHPのフレームワークで有名なものには、
- Laravel
- Symfony
- CakePHP
- CodeIgniter
などがあります。この中で今一番勢いがあって人気なのはLaravelです。
日本ではこれまで、
- CakePHP
- CodeIgniter
- FuelPHP(海外に比べてなぜか日本での人気が高かった)
が人気でしたが世界的にLaravelがぐんと伸びて、遅れて日本でもLaravelが人気となっています。
人気が上がり、使い方の解説記事も豊富になったので学習しやすさとしても良い選択です。
サーバの選択肢
- レンタルサーバ
- VPS
- クラウド
があります。
この中では費用の安さとセットアップのかんたんさから、レンタルサーバがおすすめです。
レンタルサーバは契約するだけで、すぐにプログラムを動かせる状態にセットアップされたサーバを使えます。WebサーバやDBサーバを自分でインストール・セットアップする必要がありません。
一方、VPSやクラウドは自分の手でサーバをセットアップしなければなりません。
レンタルサーバでもPHPであれば、フレームワークを使った開発ができます。
大抵のレンタルサーバはPHP、Ruby、Python、Perlの動作をサポートしていますが、PHP以外の言語はCGIモードでしか動かせません。CGIモードではリクエスト毎にプロセスが起動されるため、フレームワークのように大量のプログラムをロードするのに不向きで、動作が非常に重くなります。
PHPであれば、Apacheの内部モジュールとして動かせるレンタルサーバがほとんどなのでフレームワークもばっちり使えます。
まとめ: それなりのものを作るため最小限の組み合わせはこれ!
- HTML
- CSS(スタイルシート)、CSSフレームワークはBootstrap
- JavaScript、ライブラリはJQuery
- サーバーサイド言語はPHP、フレームワークはLaravel
- サーバはレンタルサーバ(WebサーバはApache、DBはMySQL)
これらを選べば、比較的かんたんに学習、開発、サービス公開ができると思います。ぜひトライしてみてください!