Claude Codeを使い始めてから、いくつもアプリを作るようになった。
最初の頃は、とにかくアプリができること自体が面白かった。プログラミングの専門家ではない自分でも、AIに手伝ってもらえば、仕事に使うアプリが作れてしまう。
でも、作ったアプリって、そのあとどうするんだろう?
自分のパソコンだけで使うのか。それとも、インターネットに公開するのか。
私はたまたま最初から「ほかの人にも使ってもらいたい」という目的があったので、初めてアプリを作ったときにVercelを使い始めた。
ところが、あとになって、自分だけで使うならローカルのままで十分なアプリもあると分かってきた。
今回は、そんな自分の経験と、VercelやCloudflareなどのサービスについて、初心者目線で書いてみようと思う。
最初に作ったのは、在庫管理アプリだった
Claude Codeを使って最初に作ったアプリは、在庫管理のアプリだった。
私は物販の仕事をしていて、商品の梱包や発送を外注スタッフにお願いしている。
だから、在庫管理アプリを作ったら、自分だけでなく、そのスタッフにも使ってもらいたかった。
しかも、別々の場所にいても、2人で同じ在庫状況をリアルタイムに確認したい。
そうなると、自分のMacの中だけでアプリが動いていても困る。
そこでChatGPTに相談したところ、紹介されたのが Vercel(バーセル) だった。
最初は「Vercelって何?」という状態だったけれど、AIに手伝ってもらいながら、ローカルで作ったアプリをインターネット上で使えるようにした。
ちなみに、アプリをネットに公開する作業は「デプロイ」と呼ばれている。
この言葉も、アプリを作り始めるまでは、ほとんど意識したことがなかった。
ただし、2人で同じ在庫データを扱うには、アプリを公開するだけでなく、データの保存先やアクセス権限も必要になる。
最初は単に「ほかの人も使えるようにしたい」と思っていたけれど、その裏側にもいろいろな仕組みがあるんだな、と少しずつ分かってきた。
でも、全部のアプリを公開する必要はなかった!
その後も、AIを使っていろいろなアプリを作った。
すると、あることに気づいた。
あれ? 自分しか使わないアプリなら、わざわざインターネットに公開しなくてもいいんじゃない?
そう。ローカルで動かせば十分なものもある。
例えば、自分のMacで作業するときだけ使う管理ツールや、個人的な作業を効率化するためのアプリ。
そういうものは、必ずしもVercelなどにデプロイする必要はない。
逆に、ほかの人にも使ってもらいたいものや、外出先からアクセスしたいものなら、ネット上で動かせるようにする意味がある。
私は最初が在庫管理アプリだったので、いきなり共有する方向から入った。でも、ほかの初心者の話を聞くと、まずローカルで作って、あとから「これ、どうやって人に見せるの?」と気づく人もいるらしい。
順番は人それぞれなんだね。
ちなみに、ローカルのアプリでも、設定によっては同じWi-Fiにつながったスマホなどからアクセスできる場合がある。
なので、「スマホで使うなら絶対にネット公開が必要」というわけでもない。
大切なのは、誰が、どこから、そのアプリを使いたいのかということだと思う。
次に使ったのがCloudflare。きっかけは占いみたいなアプリ
私が次に使い始めたのは、Cloudflare(クラウドフレア) だった。
きっかけは、参加したセミナーのようなイベント。
そこで、いくつかの質問に答えると結果が表示される、占いのような診断アプリを作った。
質問は4つくらいだったと思う。
その仕組みが役立つと思ったので、作ったものをもとに、自分のビジネス向けに改良してみた。
そして完成したのが、「あなたにおすすめのアイテム」診断アプリ。
つけまつげ編とピアス編の2種類を作った。
これをCloudflareで公開し、アクセス用のQRコードをフライヤーに載せて、実際の商品と一緒にお客様へ届けるようにした。
考えてみると、ちょっと面白い。
セミナーで作った小さな診断アプリが、自分の商品の購入者に使ってもらうツールになったんだから。
AIでアプリを作るということが、単なる勉強ではなく、実際の仕事につながった経験でもあった。
そもそもVercelって、どんなサービス?
私はChatGPTに紹介されるまで、Vercelを知らなかった。
ざっくり言うと、WebサイトやWebアプリをインターネット上で動かすためのサービス。
例えば、こんな使い方ができる。
- 作ったWebアプリを公開して、URLから使えるようにする
- GitHubなどと連携して、コードの更新を公開サイトに反映する
- 本番公開する前に、変更内容をプレビューする
- 必要に応じて、サーバー側で動く処理を実行する
私にとっては、ローカルで作ったアプリを、ほかの人も使える場所に置くためのサービスだった。
今はブログの公開にもVercelを使っている。
ただ、Vercelがすべてのデータを保存してくれるという意味ではない。アプリによっては別のデータベースなどと組み合わせることもある。
最初は全部を理解しなくてもいいけれど、アプリを公開する場所と、データを保存する場所は別の場合がある、と知っておくだけでも少し整理しやすくなる。
Cloudflareは、アプリを公開するだけじゃなかった
CloudflareもWebサイトやアプリを公開するために使えるサービス。
私は診断アプリを公開するために使っていたので、最初はその程度の理解だった。
でも、あとから知って驚いた。
Cloudflareには、アプリを公開する機能だけでなく、プログラムを動かす Workers、データベースの D1、ファイルなどを保存する R2 といったサービスもある。
さらに、Webサイトへの通信を高速化したり、セキュリティを強化したりする機能もある。
つまり、思っていたよりずっと幅広いサービスだった。
以前、AWSについて話を聞いたことがあるけれど、Cloudflareも一部ではAWSと似た役割を担えるらしい。
もちろん、AWSとCloudflareがまったく同じというわけではない。
それでも、単に「アプリをアップロードする場所」だと思っていた自分には、ちょっとした発見だった。
ほかにもNetlifyやRenderがある
そして、アプリの公開先はVercelとCloudflareだけじゃない。
調べてみると、ほかにもいろいろなサービスがある。
Netlify(ネットリファイ)
Vercelと同じように、Webサイトやアプリを公開するために使えるサービス。
GitHubなどと連携して更新を反映したり、公開前のプレビューを作ったりすることもできる。
そういえば私も、以前Netlifyを使おうとしたことがある。結局そのまま使い続けているのかどうかは、ちょっと確認しないと思い出せないけれど(笑)。
Render(レンダー)
こちらもWebサイトやアプリを公開できるサービス。
静的なWebサイトだけでなく、PythonやNode.jsなどを使ったサーバー側のプログラムを動かすこともできる。
私は今のところRenderを実際に使った経験はないけれど、こういう選択肢もあるんだね。
もちろん、このほかにもAWSをはじめ、さまざまなサービスがある。
それぞれ特徴や得意なことが違うので、どんなアプリでも同じように動かせるとは限らない。
でも、初心者のうちから全部を覚える必要はないと思う。
VercelとCloudflare、両方使っていても大丈夫?
これも、ほかの初心者の人たちと話したときに出てきた疑問。
「VercelとCloudflareの両方を使っているけれど、どちらかにまとめた方がいいの?」
そんな質問をしている人がいた。
それに対して、無理に統一しなくてもいいんじゃないか、という意見もあった。
私も、そう思った。
だって、問題なく動いていて、使い分ける理由があるなら、今すぐ全部を同じサービスに移す必要はないと思うから。
もちろん、管理するサービスが増えると、それぞれの設定や料金、セキュリティなどを把握する手間も増える。
将来、管理が複雑になったり、費用が大きくなったりしたら、整理した方がいい場合もあるはず。
でも、統一すること自体が目的になるのも、ちょっと違う気がする。
私の場合、最初にVercelを使ったのも、次にCloudflareを使ったのも、最初から両者を比較して最適なサービスを選んだからではない。
そのときの目的と、出会ったきっかけが違っただけ。
結果として、今はVercelを使うことの方が多いけれど、Cloudflareで公開した診断アプリもある。
それで困っていなければ、当面はそのままでいいかなと思っている。
アプリを作る前より、作ったあとに分かることが増えた
Claude Codeを使い始めた頃は、AIにお願いしてアプリが完成するだけでも驚きだった。
でも、作ってみると、次の疑問が出てくる。
誰が使うの?
自分のパソコンだけでいいの?
ほかの人と同じデータを使いたい?
スマホからもアクセスしたい?
ネットに公開するなら、どのサービスを使う?
アプリを作ることと、作ったアプリをどう使うかは、また別の話なんだね。
私は最初、外注スタッフと共有する在庫管理アプリから始まったので、Vercelを知った。
その後、セミナーで作ったアプリを自分の商品向けに改良して、Cloudflareでも公開した。
そして、いろいろ作るうちに、ローカルで十分なアプリもあると分かってきた。
今振り返ると、最初から全部を理解していたわけじゃない。
むしろ、作りながら必要になったことを、一つずつ覚えてきたという感じ。
AIを使って初めてアプリを作る人も、最初からサーバーやクラウドサービスの専門家になる必要はないと思う。
まずは作ってみる。
そして、自分だけで使いたいのか、誰かと共有したいのかを考える。
そのとき初めて、公開先を調べても遅くない。
私自身、まだまだ知らないことだらけ。
でも、こうやって一つずつ分かることが増えていくのも、AIでアプリを作る楽しさの一つだと思っている。