ナガモト の blog

Full Cycle Developerを目指すエンジニアが有用そうな技術記事や、ポエムのようなよしなしごとを投稿するブログです。

GlideでRubyKaigi2019の非公式アプリ作ってみた

4/17 追記 Glideでアプリを作って得た知見をQiitaにも投稿しています。 https://qiita.com//ngmt83/items/5581a177d13540237623

つい先日話題になったGlide – amazing apps without codeでアプリを作ってみたので、作成の流れとGlideの使用感をお伝えします。

話題になった記事

paiza.hatenablog.com

自作アプリが一向に進んでいなかった私には渡りに船というか、やるっきゃないという感じで思い立ってそのまま徹夜の勢いで完成させました。 いつもお世話になっているRubyに僅かでも貢献できると嬉しいと思い、RubyKaigi 2019のスケジュールを一覧するアプリにしました。

(やっつけクオリティでむしろ迷惑をかけたらすみません)

成果物

アプリはこちらです。使ってもらえると嬉しいです。

rubykaigi2019.glideapp.io

PWAも簡単にできました。

作り方

所要時間は全体で4時間程度です。慣れてしまえばGlideでアプリを作るところは1時間で終えられそうです。

Schedule - RubyKaigi 2019から材料となる情報を取得

サイトに行って素直にhtmlをダウンロードしました。特に言うこともないですね。

htmlからセッション情報のマスターとなるcsvを出力するするスクリプト作成

Rubyスクリプトを書きました。CSVとNokogiriを使いました。フロントエンドに知見があってセレクタをよく使用する人であれば容易に作れます。

参考

qiita.com

googleスプレッドシートにマスターをアップロード

作成したCSVをコピペしました。定期的に更新が必要なアプリであればスクレイピングからマスターのアップロードまでGoogle Apps ScriptでCIできるように設定するとよさそうです。

ngmt83.hatenablog.com

Glideでアプリを作りながら、アプリ用に情報を並べ替えた複数シートを作成

これはただただ試行錯誤でした。ぽちぽちするだけで今時のアプリができるように見えますが、やはり自由度は高くないです。 マスターシートを元にGlideが解釈しやすいシートをいくつか作りました。アプリのためにどんどんと非正規化する形になるので醜いスプレッドシートになります。 また関数もかなり駆使するので人が作ったものは見るのは辛いでしょう。

参考までに実際に使用しているスプレッドシートを公開します。Readのみでユーザ情報が保存されるシートは非表示にしているので安心して閲覧してください。

Schedule - Google スプレッドシート

使い方は公式の動画がわかりやすいです。

www.youtube.com

Glideの感想

一言で言うと「スマホ閲覧が前提のPWA版ペライチ」です。

基本的には一覧と詳細の機能を持つのみで、どのデザインで見せるのか?という選択肢はいくらかあります。今時なグリッドデザインも選べます。基本的にクセがないデザインですが、流行ればBootstrapのように一目見ただけでGlideっぽさを感じるようになるかもしれません。

どの程度の使用に耐えるかですが、閲覧がメインのアプリであればGlideで作っても問題ないように感じます。またボタンなどにURLを設定できるので、ハッシュタグ付きのツイートなど他のSNSをうまく使って活用の幅を広げることもできそうです。(どの程度の負荷に耐えれるかは不明)

継続的に更新が必要なアプリ・サイトの場合はスプレッドシートを如何に綺麗に設計するかの勝負になります。基本的には作りっぱなしにするか、自分一人でメンテすることをおすすめします。

どんなところで力を発揮するか

幅広く活躍すると予想できます。具体的には、

  • まとめサイト(~10選みたいな列挙型サイト)
  • 商店街食べ歩きアプリ
  • 学園祭アプリ

などは簡単に実現できると思います。「学園祭のアプリをお小遣い程度の金額で作って欲しい」といった依頼もこれなら採算が取れるかもしれません。そもそもエンジニアに頼むまでもなく、スプレッドシートが得意な人がいれば実現できると思います。RubyKaigiもそうですが学園祭などイベント関連のアプリは保守期間が短く、非常に相性がよさそうです。 メールアドレスによる認証機能も備えているため、クローズドなサークル専用のアプリ・サイトとして使うのもありかもしれません。

また、スタートアップがMinimum viable productの検証に使うのにも非常に相性がよさそうです。エンジニアリング経験のないインターン生に任せたとしてもすぐに形を作ることができると思います。グーグルスプレッドシートを用いたクックパッドマートのMVP検証が記憶に新しいですが、それをより簡単に、しかも体験もリッチに作ることができるGlideは非エンジニアこそ使いこなせるようになるべきツールです。

techlife.cookpad.com

最後に

GASやIFTTT、Zapierなど機能を簡単に提供するサービスはありましたが、フロントエンド・UIを簡単に提供するサービスは新しいですね。いよいよエンジニアでなくともフルスタックにアプリケーションを作れる時代になってきたと感じます。 職業エンジニアの私としては危機感もありますが、世の中が便利になるのはワクワクしますね。