Slide 1

Slide 1 text

つべこべ言わずにwebア プリをつくろう! 山下智矢 株式会社Inner Resource

Slide 2

Slide 2 text

何をするか web アプリを作りたいと思ったら、何を考える かの話をします web アプリとは、インターネット上に公開され ているブラウザで動作するアプリのことを指し ます

Slide 3

Slide 3 text

やらないこと 設計や実装の仕方などの細かい話

Slide 4

Slide 4 text

アジェンダ 何を考えるか どのように構築するか どのように公開するか

Slide 5

Slide 5 text

何を考えるか なぜ作るのか 目的は? 何を作るか どんなアプリ? 何を使いたいか 使いたい技術は? いくらかけれるか 予算は?

Slide 6

Slide 6 text

何を考えるか - 目的は? 今後の考え方、モチベーションや技術選定に大 きく関わるので、しっかり固めておきましょう 学習のため 身近な問題を解決するため お金を稼ぐため

Slide 7

Slide 7 text

何を考えるか - どんなアプリ? 整理したり計算したりするだけの ツール 電卓、同期機能のないToDoリストなど データの保存はしないか、デバイス上で完結 ビジネスロジックがあれば良い

Slide 8

Slide 8 text

何を考えるか - どんなアプリ? あなたがコンテンツを提供しユー ザーは閲覧する ブログ、ニュースなど 単一方向のCMS DBと、コンテンツを閲覧しやすいUIが必要

Slide 9

Slide 9 text

何を考えるか - どんなアプリ? ユーザーもコンテンツをCRUDする 掲示板、SNS など インタラクティブなCMS コンテンツのCRUDをしやすくするバックエン ドロジックも必要 誰がコンテンツを作ったのかを管理するため に、認証の機能なども

Slide 10

Slide 10 text

何を考えるか - 使いたい技術は? 言語は? フレームワークは? アーキテクチャは?

Slide 11

Slide 11 text

何を考えるか - 予算は? 無料で? 趣味の範囲内で課金できる? 採算がとれる目処がある? 出資者がいる?

Slide 12

Slide 12 text

どのように構築するか バックエンドのロジックが必要な場合、サーバ を用意して構築することが必要です フレームワークに頼ってある程度自分で構築 する SaaSに頼ってサーバーレスで構築する

Slide 13

Slide 13 text

どのように構築するか  - サーバーレス 目的や予算によっては、車輪の再開発をせず に、 提供されているサービスや公開されているAPI を有効活用しましょう

Slide 14

Slide 14 text

サーバーレスサービスの一例 CMS フルスタック CMS Wordpress Headless CMS Contentful FaaS 独自のAPIのエンドポイントとなる AWS Lambda Google Cloud Functions

Slide 15

Slide 15 text

サーバーレスサービスの一例 DB (BaaS) Firebase Supabase 認証・認可 多様化する認証フローをすべて自分で作るのは大変 なので Firebase Authentication Amazon Cognito Auth0

Slide 16

Slide 16 text

サーバーレスサービスの一例 メール送信 Sendgrid Mailchimp 決済 セキュリティとか担保できないなら、自分で構築す るのは避けましょう Stripe Square Pay.jp

Slide 17

Slide 17 text

サーバーレスサービスの一例 ストレージ 画像やファイルの保存、画像の加工なども Cloudinary Amazon S3 Firebase Storage 各種公開API 公開されてるAPIをうまく使えば、自分で開発する ことはほとんどなかったりする

Slide 18

Slide 18 text

どのように公開するか インターネット上に公開する以上、インター ネットに繋がっているサーバにアプリを設置す る必要がある 自宅サーバ IaaS PaaS

Slide 19

Slide 19 text

どのように公開するか - 自宅サーバ 停電や通信切断のリスクを取れて、セキュリ ティやネットワークの知識に自信があれば取 りうる 主なコストは電気代

Slide 20

Slide 20 text

どのように公開するか - IaaS Amazon EC2, レンタルサーバなど ミドルウェアやランタイムの導入、デプロイ は自分でやる スペックにこだわらなければ安価に利用でき るものが多い

Slide 21

Slide 21 text

どのように公開するか - PaaS Netlify, Heroku, Vercel など 自分の使いたい言語のランタイムに対応して いるか ソースコードをプッシュするだけで簡単にホ スティングできるものが多い ファンクションやストレージ機能を提供して くれるものも 無料で使えたり、少額のサブスクで使える