エンジニアtype - エンジニアのシゴト人生を考えるWebマガジン
  • TOP
  • キーパーソン
  • 旬ネタ
  • コラボ
  • ノウハウ
  • 女子部
  • キャリア

[スゴ腕の妙技 2/2] 「汎用フレームワークは遅すぎる」『ヒルカツ』開発者が独自フレームワークを作る理由

タグ : Comicab, Toksy, Web, Webアプリ, アジャイル, オンザボード, スタートアップ, スマートフォン, ソーシャル, ヒルカツ, フレームワーク, 開発 公開

 

 << [スゴ腕の妙技 1/2]  1サービス40時間でローンチ!『ヒルカツ』開発者が語る「超高速でWebサービスを生み続ける方法」

―― 一般的に、フレームワークを作るタイミングってどんな時なんでしょう?


山下 例えば会員数が何10万、何100万規模になったサイトや、マネタイズができているサービスなどを開発している会社が、長年の仕様変更によって汚くなってしまったソースをキレイに置き換える必要性に迫られたり、これまでのノウハウを活かして新サービスを作るっていうタイミングで行うのが一般的だと思います。

また、その場合でも、オリジナルフレームワークというよりは既存フレームワークの導入が多いように思います。目的は開発の効率化だったり、開発者間のスキルのバラつきを平準化するためだと思うんですが、僕らくらいの会社の規模でオリジナルのフレームワークを持っているって話は……。

小原 あまり聞いたことがないですね。

山下 僕らは2010年から今年にかけて7つのサービスをリリースしていますけど、そもそもベンチャーであれば一つのサービスをじっくり育てていくのが普通ですからね。

なので、事例としては特殊かもしれないですけど、少人数でたくさんのサービスを作るような場合にも、フレームワークの活用は有効だと思います。

汎用フレームワークは起動に数10秒。独自フレームワークなら5秒

――汎用フレームワークを使わなかった理由とは?


山下 汎用フレームワークだと、僕らには不要な機能が多くて使いづらいんですよ。

小原 何でもできる代わりにとても重い。

「」

「汎用フレームワークを使えば何でもできるけど、Webサービスにそこまで必要ない」(山下氏)

山下 小さいものもあるにはあるけど、僕らが作るのはだいたいソーシャル系のWebアプリがほとんどなんで、それ以外の機能は不要なんです。不要な機能が多くなれば、ビルドやアプリケーションの起動に時間も掛かります。

これは、なかなかサービスを止められないWebアプリという特性を考えると、デプロイが大変面倒だし、単純に開発上のストレスにもなる。Javaの大規模な汎用フレームワークだと、ビルドや起動に数10秒掛かっちゃうものもあったりします。

二人で『Comicab』を作った時は、まず最初に「汎用フレームワークはデカすぎるし使うのはよそう」というのを申し合わせたほどです。そのサービスがきっかけで、オリジナルのフレームワークができたというのも、妙な巡り合わせだとは思いますけど(笑)。

今、僕らの独自フレームワークは、MacBook Proのローカル環境でも5秒と掛からず起動しますよ。

小原
 確かに(笑)。いくつか前提条件があるにはありますけど、自分たちがやろうとしてることにフィットしてるって意味では、オリジナルの方が使い勝手が良いんです。

――そもそもサービスの企画から開発までの流れはどんな感じですか?

山下 僕は自分が不満に思ってることを解決するために作ることが多いので、一人でやるときは、思いついたら「まず作る」が基本ですね。

『Pictionary』

PC、スマホ、ガラケーおよび4カ国語に対応する『Pictionary』。このサービスは3日で作られた

小原 もし二人で開発するとしたら、軽く2~3時間アイデアを話し合ってすぐ作り始め、ある程度形になった時点で調整するという流れですね。以前リリースした『Pictionary』だと、面白い画像をアップするサイトで、ユーザー投票によって単語に合う写真を決める「見る」辞書というのがコンセプト。

それさえ理解できれば、あとはどんな画像登録機能や投票機能が適切なのかを判断して、実装していくだけですよね。機能自体は、ほかのサービスにもあるものだから特に悩むこともありません。

山下 エンジニアにとって何より悲しいのは、とにかく使われないものを作ることなんですよ。なので、開発に入ったら極力シンプルな形で実装することを心掛けるし、使われない可能性のある機能は必要性が分かるまで作らない。

そういうスタンスだからこそ、自分たちに最適化されたフレームワークの効果が最大限に発揮できるわけです。それに、技術的にチャレンジングなことをしたところで、ユーザーに使われなければ意味がないとも思っているので、新しい技術や難しい技術に固執することもありませんしね。

小原 お互い技術的に相当細かい部分で「ここの処理はどうしよう?」って話したりすることはありますが、基本的にはそういうことって、すぐになくてもいいものだったり、ユーザーにとって大きな問題ではなかったりするもの。「もし必要になったらその時考えよう」っていう結論になることが多いですね。

ニーズ次第でフレームワークは公開。もっと洗練させたい

――この独自フレームワークは、将来的に公開するようなことも考えてますか?

大きくなります「スゴ腕エンジニアの開発がやたらと早い6つの理由』※クリックすると拡大して表示されます

山下 考えてます。われながらよくできてるとは思うんですけど、今は二人だけでしか使っていませんからドキュメントもそろってないし、もしかしたらどこかにバグが隠れているかもしれません。

もし公開して、たくさんの人に使ってもらうことで洗練されるなら、それはそれでありなのかなと思っています。うちらはサービスが作りたいだけで、フレームワークを作りたいわけじゃないですから。

具体的な日程も内容もまだ決めてはいませんが、おそらく勉強会からスタートさせていくことになると思います。まずは参加者に使ってもらって、徐々に事例やドキュメントを増やしていき、どこかのタイミングでオープンソースとして一般に公開できたらいいですね。

小原 ただし、開発環境を含めて自分たちにとっての使い勝手のよさに特化しているので、普通のWeb向けのフレームワークと性格が違う面はあります。それでもよければ、ぜひ使ってもらいたいですね。もしこの記事で反響があったらすぐやりましょうよ。

山下
 そうだね。連絡があったら考えましょう。そもそも僕らはニーズのないことは一貫してやりませんから!

<<現在、オンザボードはエンジニア&デザイナーを熱烈募集中とのこと。興味がある方は同社のHPまで!>>

取材・文/武田敏則(グレタケ)、撮影/桜井 祐(編集部)

 1  |  2 

<< [スゴ腕の妙技 1/2]  1サービス40時間でローンチ!『ヒルカツ』開発者が語る「高速でサービスを生み続ける方法」




人気のタグ
業界有名人 スタートアップ 開発 SE 転職 エンジニア プログラマー Web スキルアップ ソーシャル アプリ シリコンバレー キャリア プログラミング Android 起業 えふしん スマートフォン アプリ開発 SIer 技術者 UI btrax Webサービス クラウド Apple スペシャリスト CTO Twitter Brandon K. Hill ギーク 英語 村上福之 Facebook Google デザイン IoT SNS ツイキャス 世良耕太 モイめし IT 30代 採用 赤松洋介 コーディング 20代 UX 勉強会 プロジェクトマネジメント Ruby ITイベント Webエンジニア 中島聡 ビッグデータ 法林浩之 ウエアラブル iOS 五十嵐悠紀 LINE ドワンゴ ひがやすを ロボット 受託開発 モノづくり IT業界 コミュニケーション イノベーション ハードウエア MAKERS tips ゲーム 女性 ソーシャルゲーム Webアプリ SI インフラ iPhone 女性技術者 高須正和 マイクロソフト 研究者 UI/UX トヨタ 自動車 ノウハウ チームラボ 息抜き システム ソニー プラットフォーム Java メイカームーブメント オープンソース 和田卓人 エンジン グローバル 開発者 教育 イベント サイバーエージェント ソフトウェア 女子会 コミュニティ メーカー 家入一真 スーパーギーク 増井雄一郎 GitHub 人工知能 IPA 40代 日産 テスト駆動開発 ソフトウエア 音楽 TDD ニュース モバイル PHP TechLION

タグ一覧を見る