今回はカベウチサイトの作成思考、NoCodeを利用した開発の話を致します。
NoCodeとはどういったものなのか?
それは、簡単にいうと、コードを書かずにサービス開発を行う思考です。
NoCodeには色々なサービスが有ります。
例えばこれは私が作成した、スタートアップイベント表示サービスです。
https://concerned-kittens-9549.glideapp.io/
こちらはGlideというサービスで、非常にお手軽にスマホアプリに近い物 (PWA : Progressive Web Apps) が作成出来ます。
さて、では実際今回のカベウチサービスのシステム関連図の概要を表示します。
大体こんな感じです。
これは全てコードを書いていません。
カベウチは、優れたプラットフォームのつなぎ合わせてサービスを作ることで、短期間でサービスを作成しました。
・大枠2日で作成・稼働
・動かしながら細かい調整3日程
勿論、今でも細かい追加を少しづつやっています(ブログの追加など)、ですがサービスのメイン部分はほぼ2日、バグ取り調整含め5日といったところです。
もしこれらのことを、自力で開発していたら少なくとも数か月、特に自動スケジュールの肝となるCalendlyの機能は、まともに作成しようとしたら、半年以上はかかると思います。
さて、ここでかなり重要となるのが、IPaaS(ここでは zapier)です。
ある意味、このIPaaSが高機能化して実用に耐えうるレベルになったことで、わざわざコーディングを必要とせず、NoCodeが活躍出来る流れを作った、とも言えます。
簡単に言ってしまえば、IPaaSは「プラットフォーム同士を繋いでサービスを作る為のサービス」です。
このIPaaSが高性能化することで、「既存の優れたサービスを連携するだけで、新たなサービスを簡単に提供出来る。」という変化がおこりました。
これで、今まで弱点だった2点が解消されました。
・今まではNoCodeの単一のプラットフォームでは、やれることが限られていて、実用に耐えない
→ やりたいことを実装しているプラットフォームを連携すればよい。拡張性の増大!!
・今まではプラットフォームを連携するコスト(API連携など)が大変
→ 連携自体もNoCodeで可能。連携コストの減少!!
例えば、今まではこのIPaaSの部分は何が行っていたかというと、いわゆるAPサーバーです。
これはクラウド化したもの(AWSやGoogleCloud、Microsoft Azure)と置き換えても可能です。
いわゆるバックエンドともいえるかもしれません。
この辺りは、今までは必ずコーディングを行う必要がありました。(アルゴリズムの実装、API接続、etc)
この部分がコーディング不要になり、開発のスピードが爆発的に向上しました。
さて、ここまではIPaaSを利用した、NoCodeの開発の良いことを上げてきましたが、弱点も書いておきます。
・トランザクション当たりの料金が高い。
これは、Zapierなどのサイトを見ていただければわかると思いますが、クラウドサーバーを使うよりは、明らかに高くなります。
もちろん、サービス序盤は、開発費とは比べならないぐらい安いので、通常用途やBizDev段階では圧倒的に有利です。
ですが、例えばToCサービスが順調に成長し、1日何万というトランザクションに増えてきた処理は、他の方法(クラウドサーバーなど)を利用した方が良いでしょう。
・データ構造がプラットフォーム側に依存する
色々なプラットフォームを繋げることでサービスを作れますが、やはり一部細かいデータ構造は調整が効かない所が有ります。
例えば、1つのデータにある属性を複数持たせたいにも関わらず、プラットフォーム側では 1:1 の持ち方しか許してない場合は、面倒な回避策を考える必要が出てきます。
・一部目的は無理。
本格的なゲーム開発、特殊なアルゴリズムAIなど。
まあ、この目的をNoCodeで作ろうとする方は居ないと思います。
あきらめて C#なり、Javaなり、Pythonなりを選んでコーディングしましょう。
今回は、カベウチの例を取りながら、NoCodeによる開発全体の私なりの私見を書かせていただきました。
多少の弱点も有りますが、少し前とくらべNoCodeの機能・利便性・拡張性・開発速度、が爆発的に増加しています。
特別な用途でなければ、
とも言えます。
今後も、NoCodeのことも含め、カベウチに関する詳しい開発の雑感を書いていきたいと思います。