当日レポート:Ruby on Rails × Eコマース Startup night!

Client work

2015年11月30日、無料シェア会議室 PORT(VOYAGE GROUP内)にてエンジニア向けイベント「Ruby on Rails × Eコマース Startup night!(主催:株式会社スマービー)」が開催されました。株式会社Dropからは取締役CTOの神保が「Spreeの柔軟性。多言語ECから定額課金サービスまでを高速で開発する方法」をテーマに講演致しました。当日の神保の発表内容を書き起こし、公開致します。

 

rubyonrails_event2

 

初めまして。株式会社Dropの神保と申します。Dropはファッション業界において、様々なITサービス・システムを構築・提供して参りましたが、自社サービスにおいても、クライアントワーク(受託開発)においてもDropの実績を語る上で欠かすことのできないのがECフレームワークの「Spree(スプリー)」です。講演テーマでもあったこのSpreeについて、今回は簡単にご紹介したいと思います。

 

■Spreeとは?

 

Spreeは、一言でいうとRuby On Rails製オープンソースのショッピングカートです。世界中で45,000社以上が利用しており(Ruby On Rails公式情報より)、Rick Owens(リックオーウェンス)のようなデザイナーズブランドの公式ECや、EC専業のメンズアパレルブランドのBONOBOS(ボノボス)のECでも使われています。

 

Spree公式

 

Spreeの特徴は何と言ってもその柔軟性(自由度の高さ)にあります。ドラスティックなカスタマイズが容易に可能であり、特にUI/UXに特徴を保たせたいアパレルのECとはとても相性が良く、先述したような有名アパレル企業での導入実績が豊富なのです。では、具体的にSpreeではどのような開発が可能なのか、どのような機能を持たせることが可能なのか、Drop開発サービスを例に見ていきたいと思います。

 

高機能ECサイトの構築の実現を短期工数で可能に

 

ECサイトと一言でいってもその幅は様々。決済方法や配送方法が限られたシンプルタイプから、多言語対応・各種決済方法対応の高機能タイプまであり、各社・各人共に商材や想定ユーザーを検討して最適なタイプのECサイトを構築しています。

 

実績

 

Dropが創業〜2015年9月まで運営していた「KIEI Tokyo(キエイトーキョー)」は高機能ECサイトに分類されるのかな、と思っています。というのも、KIEI Tokyoは国内のファッションデザイナーが海外のエンドユーザ向けに商品をドロップシッピン型で直販出来る越境ECプラットフォームだったので、多言語対応はもちろん、数種類の決済方法を用意し、またデザイナーズブランドのアイテムといった商材に相応しいプラットフォームを用意するため、アーティスティック的な意味でもユーザー体験的な意味でも、そのUIには非常にこだわり抜いたECだったのです。

 

また、受託開発させて頂いた株式会社タナクロ様の「KASHI KARI(カシカリ)」というメンズ向け定額ファッションレンタルサービスもSpreeを利用しています。定額レンタルといった、通常のECと異なるビジネスモデルに対応できるのも、Spreeが持つその柔軟性故なのです。

 

Spreeでは、中心となる商品や注文周りの設計が既にとてもよくまとまっています。 既存クラスを簡単にオーバライドしたり、新しいクラスを追加して、元々のモデルと関連性を持たせるだけでカスタマイズ・実装することが可能です。フロントエンドの開発を含め、サクサク進めることができます。これがSpreeの持つ最大の魅力だと思っています。

 

複雑要件にも対応できるスケーラビリティ

 

柔軟性とも関連しますが、複雑なビジネス要件に対応できるスケーラビリティも兼ね揃えています。当初はミニマルなECとして、必要最低限な機能のみを実装したサービスを立ち上げておいて、のちのち、その成長に合わせてどんどんカスタマイズしていく、なんていうことが可能です。

 

言語切替え

 
税率追加等

 

例えば、スマホユーザーが圧倒的に多いということが分かれば “Spree API” というSpreeが提供するAPI群を使ってiOSアプリを開発することもできますし、SNS流入が非常に多いことがわかれば、周辺で開発されているSpree向けのgemを利用してソーシャルメディアでのログイン機能を追加することもできるのです。

 

サービスのセッションが増えてサイト規模が大きくなっていくに従って、対応タスクが都度出てくるかとは思いますが、その点も、例えばRedisを併用してフラグメントキャッシュを入れて高速化したり、画像をCDNで配信したりと、成長スピードに合わせて機能を追加していくことが可能なのです。少ないリソースでいかにサービスを展開していくかというのは、スタートアップにとっては特に重要な問題となりますが、Spreeはそうした環境でこそ真価を発揮するものなのではないかと思います。こういった柔軟性とスケーラビリティはEC CUBEには無いものでしょう。

 

Ruby on Rails製であるということ

 

これについては個人差があるかもしれませんが、Rails製というのもこういったSpreeの魅力を支える基盤の一つであると考えています。Rails自体のドキュメントが豊富にあるので、若いエンジニアやインターンを採用するといった場合でも、早めにキャッチアップをして開発を進めることができます。

 

また、Rails製であるがために、Railsで書かれた優秀なオープンソースのプロジェクトを簡単に組み込むこともでき、Spreeも、ログイン周りに「Devise」、注文のステータス管理に「state machine」、画像保存に「paperclip」、決済に「active merchant」といったようなRailsのgemを多用して組み上げられているので、Spree自体がこれらのgemを利用したサービス設計の例として、参考にすることも可能だったりします。

 

デメリットを克服できればこれ以上ないフレームワーク

 

ここまで、Spreeの魅力について存分にお伝えしてきましたが、それでもやはり100%完璧で欠点なしというわけにはいきません。

 

例えば、Spree自体は必要最低限の機能を有しただけのとてもミニマルなショッピングカートなので、それなりの機能を有したサービスを展開するには必ず開発の手を入れる必要がある点、そもそも海外市場向けに開発されているものなので、注文のステータスや住所の取り扱い方、税率や配送料の捉え方など日本の商習慣と異なる設計になっている点、そして日本語情報に乏しい点等が挙げられます。

 

Tips

 

ただ、どれも克服不可能なレベルの問題ではないと思っています。

 

総括

 

Spreeには多くの魅力があります。ですがまた、難点もあります。そうしたこれらの特徴を考慮した上で、Spreeが最も効果を発揮するケースというのは、「カスタマイズされたEC関連サービスを開発したいけれど、コストや期間的にフルスクラッチで開発するのは難しいという状況」であり、これこそが我々がSpree を利用して開発をしている所以です。

 

EC関連サービスは非常に成熟した市場の中で競争を余儀なくされており、最低限の機能を有するだけのサービスではとても太刀打ちできるものではなくなってきています。特にファッション業界ではECサイトのUI/UXの優劣は死活問題であり軽視できるものではありません。そうした市場環境の中で十分に競争優位性を持ったサービスを、しかもスタートアップの限られたリソースで作り上げていくためにはやはりSpreeの存在は極めて重要なキーワードとなってくるように思います。

 

ちなみにSpree自体はオープンソースとしての開発を終了することが発表されており、今後は「Solidus(ソリダス)」というプロジェクトがそのソースを引き継いでいきます。今後、Solidusプロジェクトにて、このフレームワークがどう進化していくのか、そして我々がその進化したフレームワークを利用してどこまで高機能なサービスを生み出すことができるのか、是非どちらにも注目していただきたいと思います。

 

 

株式会社Drop|システム受託開発の実績・詳細・お問い合わせはこちらから

 

株式会社Drop|採用情報