ポートフォリオ作り ②
今回は、要件定義や使用言語とフレームワークの選定です。
【要件定義】
作ろうと思っているメディア系の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のメリットを挙げておきます。
・コードが分かりやすい
・ライブラリが豊富
・簡単なアプリケーションを自動生成できる
・学習コストが低い
今回はここまで。