自作Webアプリを作る!その5 - 言語やフレームワークの選定

システム開発

こんにちは、いちのです!

前回のDB設計までで、作りたいアプリケーションの大体の形がぼんやり完成しました。

ここからは開発を始めるための環境準備に入っていきます。
今回はどの言語で、どのフレームワークを使うかを決めていく作業です。

私は今回アプリケーション全体の仕様をまとめる作業を先にしていますが、もちろん先に言語やフレームワークが決まっている場合もあると思います。
先にフレームワークまで決まっていると、画面やDBの設計段階での考え方が変わってくる場合もあるかと思います。(自作する必要がない機能があったりとか)
そのへんは臨機応変に、色々調べながらやると良いと思います。

言語の選び方

自作Webアプリシリーズその1でも書いた通り、HTML、CSS、Javascriptあたりはフロントエンドの開発で必須になってきます。

今決めたいのは、バックエンドをどの言語で作るかです。

決めるための基準は色々あると思います。

  • 得意な言語にする
  • 流行っている言語にする
  • 作りたいものの特性に合った言語にする
  • 勉強したい言語にする

などなど・・・。

効率よく素早く作りたいなら得意な言語・特性に合った言語。
時間がかかっても良いから勉強したい・新しいものに触れたいなら流行りの言語・勉強したい言語・・・というかんじに決めていくことになるかと思います。

私の場合、効率を考えればJava一択です。←今まで作ってきたもの9割Javaの人

でも今回は急いでないし、せっかくだから新しい言語を勉強したいと思っています。

まずは調査

プログラミングの世界は常に新しいことが増え続ける世界です。

最近この言語・このフレームワークしか使ってないなーという期間が続いて、ふと別の言語に手を出そうと調べると知らない言葉がたくさん出てくる、なんてこともよくあります。
そうやって置いてけぼりにならないように、いつもアンテナをはって色々調べたりしている人は本当に尊敬します。私はそういうの無理です苦手です(この世界向いてない

そんなわけで、まずはググります

まあ、よく使われる言語そのものはそんなに頻繁に増えるものではないですね。

Webアプリケーションなら、

  • Ruby - 日本人が開発した言語。コードの記述が短い。
  • PHP - 動的にWebページを生成できる。WordPressでも使われている。
  • Python - AI開発や統計・分析が得意。

このあたりですね。
Scalaとかもアリか・・でもなんかあんまり流行ってない印象。(個人の感想です)

決める

実はプライベートでちょっと前にPythonはチラッといじりました。
面白かったけど個人的にはしっくりこなかったです。でも今後伸びそうな言語なので次何かやるならPythonいいなーと思ってます。

Rubyもすごくよく使われてるみたいだけど、私としてはやっぱり大学時代から興味があったのになぜか全く手を付けてこなかったPHPがやってみたいかな・・・。今勉強し始めてるWordPressでもPHPを使ってるし。最近は求人の数とかもPHPが多いみたいです。

ということで、今回はPHPに決定です。わくわくしてきました。

フレームワークの選び方

基本的に、フレームワークはその言語で最も使われてるものが良いと思います

初心者で勉強したいなら特に。

よく使われているということは解説サイトもたくさん見つかるし、うまくいかないときの解決方法も探しやすいです。

というわけでググります

まあLaravelですかね。次点でCakePHPというかんじでしょうか。

決める

今回はLaravelに即決します。
まあPHPくらいメジャーだと他のフレームワークでも十分色んな情報が探しやすくなっていると思うので、特徴を調べて気に入ったものを使うのも良いかと思います。

まとめ

ここで決めた言語・フレームワークによって開発のしやすさもスピードもかなり変わってくると思います。

どれくらい知っているか、どれくらい情報が調べやすいか、どれくらい相性が良いか。色んな事が影響しあって、ここからの開発を大きく左右する大事な選択です

仕事などで急ぐ場合でなければ、モチベーション維持のために楽しめるものを選べると良いですね。