作者:上村崇 フリーランスのIT系エンジニア
twitter:@uemera facebook:uemura

【連載】Webサービス制作日記#03 プラットフォームを決める


どのツールを使って作るかを決めます。
一度使うと決めたツールは、あとから変えたいと思ってもなかなか変えられないことが多いので、ここはよく考える必要があります。
 

どの言語を使うか? プラットフォームは?

例えばプログラミング言語というツール。
Webプログラミングに適した言語で代表的なものはPHP、Perl、Ruby、Pythonでしょう。
僕はPHPが得意なのでWebアプリケーションはPHPで作っています。
 
簡単にそれぞれの特徴を書くと、
・PHP
 Webプログラミング言語としておそらく最も使われている。初心者が取り組みやすい。
・Perl
 古くから使われている言語なので、歴史のあるWebサービスで使われていることが多い。
 mixiで使われている。
・Python
 歴史は意外と古いらしいが、あまり使われてこなかった。
 Googleが推してる言語なので将来性はあるんかも。YouTubeで使われている。
・Ruby
 国産言語なのでなにかと安心? 実力はあると思うがシェアはそんなに高くないと思う。クックパッドで使われている。
 

プラットフォームを決める

どちらかというと、言語を選択するよりプラットフォームを決める方が先かも知れません。
最近はゼロからガリガリ作り始めるのではなくて、ある程度決まった型(フレームワーク)をうまく利用して作るケースが多いです。
 
今回つくるサービスにはログイン認証機能を導入したいのです。
しかし、この機構をゼロから作るのは結構骨が折れます。
実はログインって、仕組みを考え出すといろいろめんどくさいです。

 
 

上記のように、通常のログインだけでなく以下の考慮が必要です。
・ログインに失敗したらログインできないようにする。
・新規ユーザが登録できるようにする
・パスワードを忘れた人のために、パスワード再発行機能を作る
 
でもこういう処理って、会員制サイトには必ず必要な機能なので、すぐ使える仕組みが用意されていればそれを使う方が便利です。
そういう理由から、すでにログイン機能などが標準で備わっているプラットフォームやフレームワークを使えば楽できるということが分かります。
 
1つの方法としては、ブログシステムのWordPressやCMS(コンテンツマネジメントシステム)のXOOPSを使うという方法。
これらのプラットフォームには既にログイン認証の仕組みは備わっています。
この上にプラグインモジュールとして自作のプログラムを載せれば、自分はログイン機能をわざわざ作らなくても済みます。
 
WordPressはPHPで作られていますし、XOOPSもPHPです。
PHPを使用言語として選ぶ利点は、これらプラットフォームの選択肢が多いという点にあります。
 
しかし、これらはいいことばかりではありません。
CMSやブログシステムは動作が重たくて、ユーザにとって快適ではないかも知れません。
 
そこで、僕の場合はフレームワークという別の手段を使うことにしました。
これはCMSのように完成された形で提供されてはいませんが、ゼロから作るよりは楽です。
お好み焼きで例えれば、
 
CMS、ブログシステム:お好み焼き屋で注文したお好み焼き
プログラミング言語:自宅で作るお好み焼き
フレームワーク:自分で焼く方式のお好み焼き屋
 
しつこく繰り返しますが、うどんで例えれば、
 
CMS、ブログシステム:普通のうどん屋
プログラミング言語:自宅で作るうどん
フレームワーク:セルフ方式のうどん屋
て感じでしょうか… 自分で作らないといけないので完成品をすぐ食べられるワケではありませんが、
自宅で作る場合に比べて皿洗いとか材料調達の手間は省けると。
 
具体的には、
・ログイン、認証の仕組み
・フォームの作成
・データベースへのアクセス
・Javascriptの生成
などが簡単に使える形であらかじめ用意されています。
 

このフレームワークにしても種類がたくさんありますが、僕はこのへんの特徴の違いをよく知らないのでとりあえず有名どころのCakePHPを使うことにしました。
 
言語やプラットフォーム以外にも決めるべきツールがあるので、それは次回に書きます。
 
過去のエントリ
【連載】Webサービス制作日記#02 要件を決める
【連載】Webサービス制作日記#01 何を作ろうとしているか

関連記事


【連載】Webサービス制作日記#09 CakePHPのデータベースアクセスは便利
CakePHPは、PHPの開発でよく使う機能や方法論をフレームワークという形であらかじめ用意してくれていますので、1からPHPでコードを書く必要が無いことが多いです。 データベースへのアクセスは通常はSQLを使いますが、 …

【連載】Webサービス制作日記#08 グラフ描画ツールを使う
グラフ描画ツールとして、jqPlotを使うことにします。 jqPlotは、jQueryのプラグインとして動作します。     javascriptのグラフ描画ツールは最近かなり充実してきている感じがします。jQueryは …

【連載】Webサービス制作日記#07 cronでスケジュール実行
スポンサードサーチ検索ツールには、リアルタイムに検索できる機能だけではなくて、過去のデータを遡って表示したり時系列グラフ表示する機能をつけます。 そのためには、過去の順位情報を残しておかなければなりません。 毎日定期的に …

【連載】Webサービス制作日記#06 jQueryでAjaxする
スポンサードサーチ検索ツールは、一度に複数の検索を実行出来るようにしています。 ユーザがあらかじめ設定しておいた複数のキーワードごとに、一度に検索を実行して現在順位をYahooからとってきて一度に表示します。 しかしここ …

【連載】Webサービス制作日記#05 HTMLパーサを使う
順位検索ツールの処理フロー スポンサードサーチ順位検索ツールは、以下のようなデータのやりとりをすることになります。     ユーザからのリクエストをWebサーバで受けたら、それをトリガにしてYahooに検索に行きます。 …

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です