就活生のブログ

就活中の理系大学生のブログです

ポートフォリオ作り ②

今回は、要件定義や使用言語とフレームワークの選定です。

 

 

【要件定義】

作ろうと思っているメディア系のWEBサービスに必要な機能は

・記事一覧表示機能

・記事詳細表示機能

・記事投稿機能

・管理ユーザ登録機能

・管理ユーザログイン機能

・画像ファイルのアップロード機能

・ページネーション機能

のため、記事情報やユーザ情報を保存できるデータベースと動的な機能が必要です。

 

【使用言語】

動的言語の候補としては開発者(情報)が多く、需要も高いPHPまたはRubyを使用することを考えています。それぞれのメリットとデメリットを調べました。

 

PHPのメリット

・開発者人口が多く、情報が豊富

・需要が高い(Word Press等でも使用)

フレームワークも充実

・学習コストが低い

 

PHPのデメリット

・暗黙の型変換を許容してしまうため、バグが内在しやすい

・上記と関連してチーム開発には向かない

 

Rubyのメリット

・日本語情報が豊富

・案件が多い

Ruby on Railsが便利

・スタートアップ界隈で人気

 

Rubyのデメリット

PHPよりも学習コストが高い

・世界的には人気が右肩下がり(将来的には日本も)

 

個人的に意外だったのがRubyの学習コストがPHPよりも高いらしいことです(逆だと思ってた)。

今までRubyは勉強したことがなかったため、今回採用しても良かったのですが、Rubyは今後衰退するであろうプログラミング言語5選に選ばれており、わざわざ学習するメリットが感じられませんでした。

 

というわけで、PHPを採用することにしました。

 

フレームワーク

PHPフレームワークは「ZendFramework」や「CakePHP」、「Laravel」が有名ですが、将来性はLaravelの一人勝ちらしいので、Laravelを使用したいと思います。

以下にLaravelのメリットを挙げておきます。

・コードが分かりやすい

・ライブラリが豊富

・簡単なアプリケーションを自動生成できる

・学習コストが低い

PHPフレームワークとして最も人気があり、情報も多い

 

今回はここまで。