見出し画像

ECサイトをスクラッチ開発すべきか問題

こんにちは。レンティオで開発やシステム周り全般を担当している神谷です。昨晩ClubhouseのEC関連のルームに呼ばれて初めて喋ったのですが、これまでのSNSとは全く違った新しい体験でおもしろかったです。私自信は人前で喋るのが得意なタイプではないのですが、聞いてまわるのにハマりそうですw

お呼びいただいたTANPの斎藤さんはじめ、一緒にご参加いただいた皆様ありがとうございました。大変勉強させていただきました!

さて、そのルームではECサイトを新しく作るときどこに作るべきか?またスクラッチ開発を行う場合のメリデメは?みたいな話があがりまして、私もいくつかのECサイト立ち上げに関わってきた身として自身の考えの整理がてらまとめてみたいと思います。

前置き

ECサイトを作る場合、大きく3つの場所があると思います。

- モール(楽天やAmazonなど。集客もモールに任せられる。FBAなら発送やお客様対応もAmazonに任せられる)
- ASP(ShopifyやBASEなど。チェックアウトや管理画面等、コアとなる機能を作る必要がない)
- スクラッチ開発(全て自分たちで作る必要がある)

後に行くほど実費という意味での金銭的コストが安くなる反面、自由度があがり、また人手が必要になるイメージです。

どこを選択するかは、何をどうやって売るかによって正解が異なると思いますが、特別な理由がない限りは上から選んでゆく形でしょうか。

スクラッチ開発を選択すべき?

レンティオではECサイトをまるごとスクラッチ開発をしていますが、特別な理由がない限りはスクラッチ開発は選択すべきでないと思っています。開発&運用コストが桁違いだからです...

また難易度も高いです。ECは総合格闘技とはよく言った話で、SEO、サイトパフォーマンス、負荷対策、CMS機能、注文処理、在庫管理、物流と様々の機能を開発する必要があり、これらの機能のほとんどを作ってからでないとスタートできません(当社ではRailsでECサイトを作るときは着手からスタートまで半年ほどかかりました😇)

ではそれでもスクラッチ開発を選ぶのはどのような場合でしょう。基本的にはASPでは間に合わない複雑なチューニングが必要な場合かと思います。レンティオの場合はレンタル品の個品管理とそれに合わせたチェックアウトフロー&社内システムの最適化を行いたかったというのが選択の理由でした。

スクラッチ開発の3つの方針

スクラッチ開発を行うにもフレームワークを使うか使わないかという問題はあると思います。これについても正解はなく、売るものによって正解が変わるイメージです。ちなみにレンティオでは最初Solidusというフレームワークを使ってサイトを構築していました。

フレームワークを使ってよかった点としては、ECサイトのコアとなる機能(チェックアウト周りや管理画面系)があらかた実装されている点です。反面、フレームワークを用いることはフレームワークのお作法に従う必要があるため、それ自体が一定の技術的負債となります。

昨晩のクラブハウスの会話の中でも挙がりましたが、注文や決済のトランザクション管理は実装難易度が高く、そこの実装をまるっとフレームワークに乗っかれるのはメリットが大きいと思います。ただ一般的にフレームワークはオーバースペックなことも多いです。世界で使うことを想定して作られているため、関税など日本では必要ない機能が実装されていたり、代金引換といった日本では当たり前となっている機能が存在しなかったりします。

ちなみに最近では第3の選択肢としてヘッドレスコマースという選択肢が浮上してきましたね(厳密にはスクラッチでないかもしれませんが、文脈的にご容赦ください🙏)先日Twitterで教えていただいたのですが、こういうのも出てきてるらしいです。

フロントエンド側をNext.jsで自由度高く実装でき、バックエンドにはshopify等のASPを活用できるようです。すごい!

とはいえ技術情報も出揃っていないので、本番採用は慎重に判断する必要がある印象(まだshopifyは使えないのかな?)

結論

在庫管理や発送関係でASPでは対処しきれないカスタマイズをやりたい場合に限り、スクラッチ開発をするべきかなあというのが私の考えです。そして多少のチューニングだったらモールやASPでも工夫するとできちゃったりします。楽天市場とか見てると色々工夫されているお店をよく見かけますね。

ちなみにレンティオは2015年にASP(カラーミーショップ)でサイト運営をはじめて2016年にSolidus、2019年にスクラッチと遷移してきました。もちろん乗り換えるのは大仕事なのですが、スピーディーに始められるのとベストプラクティスを学びながら次のステップへ進めるため回り道をしたという認識はあまりありません。

フレームワークのメリデメ、移行についてはこの記事にもうちょっと詳しく書いていますので、もし興味があれば。

宣伝

いつもの貼らせていただきます。レンティオではエンジニアはじめ全職種積極採用中です!🙏


この記事が気に入ったらサポートをしてみませんか?