濃縮還元オレンジニュース
FoursquareがScala製Webフレームワーク「lift」に移行
2010年4月27日
初出:WEB+DB PRESS Vol.56(2010年4月24日発売)
この記事を読むのに必要な時間:およそ 0.5 分
Foursquareという位置情報系サービスが海外だけでなく日本でも人気です。iPhoneアプリなどを通じて GPSを利用して現在いる場所やお店などをマーキング(check in)し,常連を表す称号を得たりユーザ同士で情報交換を行ったりします。そして,このFoursquareがScalaベースのWebフレームワーク「lift」で書き直されたことが,Scalaのブログ記事にて発表されました。
記事のコメントに,開発リーダーのHarry Heymann氏が自ら自身のプレゼン資料へのリンクを提示してくれています。その資料を参照すると,当初FoursquareはLAMP構成でできており,エンジニアではない人がPHPで書いていたためコードがキレイではありませんでした。そのため,Javaのバックグラウンドを持つHarry氏は,RailsやDjango,Wicketなどいろいろなフレームワークを検討した結果liftを選びました。主要ページは3日で出来上がり,9割のコードは90日ほどで書き換えられました。残りの1割であるiPhone対応は少し難航したようで60日ほどかかったようです。書き換えたことによりコードがキレイになりバグが少なくなった一方,liftがステートフルであることやORマッピング部分が未成熟なことなど,移行に際していくつか課題もあったようです。
全体のコード量としてScalaコードは14000行,マークアップ部分は6000行ほどのようです。Scalaを利用した事例として今まではTwitterが有名でしたが,これでまた一つ強力な実績ができたと言えるでしょう。
濃縮還元オレンジニュース
- プログラミングの「初心」の在りか
- Webコミック「21日でC++を習得する方法」
- 「完全な6」の数式パズル
- Joel Spolsky氏,分散バージョン管理システムの良さを認める
- 仕事でLispを使うこと
- FoursquareがScala製Webフレームワーク「lift」に移行
- 並行実行を制御できない言語は実システムには向かない
- Data-Intensive Text Processing with MapReduce
- Google,日本語教材「Google App Engine Code Lab for Java」を公開
- 分散データベースの「Cassandra」,Apacheのトップレベルプロジェクトに昇格