目次

まえがき

この本の前提知識・ターゲット
本書の扱っている内容
本書の構成
サポート
サンプルコード
対応環境
免責事項
表記関係について
底本について

第1章 Netlify入門

1.1 はじめてのNetlify
1.2 Netlifyとは?
1.3 サーバーレスアプリケーションとは

第2章 Netlify Functions入門

2.1 FaaSとは
2.2 Functionsにハローワールド
2.3 netlify-lambdaを使った関数
2.4 Netlify Functionsの用途
2.5 Netlify FunctionsとAWS Lambda

第3章 LINE Bot開発

3.1 LINE Botの仕組み
3.2 Developer登録とチャネル登録
3.3 Webhookを受け取る
3.4 Reply APIでメッセージに返信する
3.5 LINE Bot開発実践

第4章 Slack App開発

4.1 事前準備
4.2 メッセージのフォーマット
4.3 Slash Commands
4.4 Events APIの利用
4.5 Web APIの利用

第5章 この本の後に取り組むべきこと

5.1 Netlifyでのサーバーレス開発
5.2 Netlify以外のサーバーレス開発

付録A Functionsの便利イディオム

A.1 event引数の中身
A.2 逆引きシチュエーション

付録B TypeScript対応

B.1 ボイラープレートの紹介

あとがき

まえがき

 本書を手にとっていただきありがとうございます。

 この本は「JavaScript初心者」または「サーバーレス初心者」のために執筆しました。サーバーレスの中でも、処理内容だけ書けば動くFaaSという関数の実行環境に特化した内容になっています。

 FaaSで有名なものは、AWS LambdaやGCP Cloud Functionsがあります。「これらのサービスを使いたいけどまだ触れていない」という方は多いのではないでしょうか?

 本書ではNetlifyという無料でFaaSを提供するサービスを利用し、このサービスの使い方を理解しつつ、具体的なアプリケーションとして簡単なLINE BotやSlack Appを作っていきます。

この本の前提知識・ターゲット

 本書では、実際にLINE BotやSlack Appを作っていきます。次の内容については、学習をすでに終えているとスムーズに理解が進むでしょう。

 ・Git/GitHubを使ったことがある。

 ・JavaScriptを触ったことがある。

 Gitを扱ったことがない方は、湊川あいさんの「わかばちゃんと学ぶ Git使い方入門」(C&R研究所刊)が親しみやすくてよい解説書だと思います。

 また、JavaScriptに不安を感じる方は「JavaScriptの入門書1」の第1部(基礎文法)を並行して読み進めるといいでしょう。「ECMAScript 2018時代のJavaScript入門書」と謳って執筆が進められているので、近年のJavaScriptがわからないという方にもピッタリでしょう。本書にはそれほど難しいコードが出てくるわけではないので、今からJavaScriptも学ぶ方でも問題ありません。

本書の扱っている内容

 次のような内容を取り上げます。

 ・Netlifyのサービス紹介、静的サイトのホスティング

 ・Functionsの利用方法

 ・LINE Botの開発方法

 ・Slack Appの開発方法

 本書は「サーバーレス入門」と名乗りつつ、FaaSを中心に取り扱っています。また、FaaSとして一般的に使われているAWS LambdaやGCP Cloud Functionsについては、ほぼ取り上げず紹介のみにとどめています。そのかわり、FaaSのメリットや手軽さを実感できる内容にしています。

本書の構成

 本書では前半でNetlifyを通じてFaaSを理解し、後半でLINEやSlackという身近な題材を使ってFaaSの利用をする、という構成になっています。

 前半の第1章ではNetlifyというサービスが何者なのか、どのように利用するのかを説明します。第2章ではFaaSのメリットなどを説明した上で、NetlifyのFaaSサービスであるNetlify Functionsを利用してシンプルな関数を実装してデプロイまで行います。

 後半の実践部分である第3章ではLINE、第4章ではSlackといった身近にある題材を使ってNetlify Functionsと組み合わせる実装を行います。

 最後の第5章では、Netlify FunctionsでFaaSの基本を理解した入門者が、次に何をすべきかについて筆者の考えを示しています。

サポート

 本書の正誤表などの情報は、次のURLで公開しています。

 https://github.com/mottox2/netlify-book-support

サンプルコード

 本書のサンプルコードはGitHubにホスティングしています。

 ・第2章/付録A

  ─https://github.com/mottox2/netlify-functions-examples

 ・第3章

  ─https://github.com/mottox2/netlify-line-bot

 ・第4章

  ─https://github.com/mottox2/netlify-slack-app

対応環境

 本書ではNode.js v10系を導入されている前提で解説をしています。

 すでにNode.jsをインストールしているかの確認は、次のコマンドをターミナル(コマンドプロンプト)に入力することで確認できます。インストールされていない場合、バージョン表記は出力されません。

$ node -v

v10.13.0

 Node.jsがインストールされていない方は、公式サイト2からインストールを行ってください。Macユーザーの方はhomebrewでのインストールもできるので、そちらも検討してください。

 インストール後に先程のコマンドを再度実行し、バージョンが出力されればインストール成功です。

免責事項

 本書に記載された内容は、情報の提供のみを目的としています。したがって、本書を用いた開発、製作、運用は、必ずご自身の責任と判断によって行ってください。これらの情報による開発、製作、運用の結果について、著者はいかなる責任も負いません。

表記関係について

 本書に記載されている会社名、製品名などは、一般に各社の登録商標または商標、商品名です。会社名、製品名については、本文中では©、®、™マークなどは表示していません。

底本について

 本書籍は、技術系同人誌即売会「技術書典5」で頒布されたものを底本としています。

試し読みはここまでです。
この続きは、製品版でお楽しみください。