まえがき
第1章 Netlify入門
第2章 Netlify Functions入門
第3章 LINE Bot開発
第4章 Slack App開発
第5章 この本の後に取り組むべきこと
付録A Functionsの便利イディオム
付録B TypeScript対応
あとがき
本書を手にとっていただきありがとうございます。
この本は「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の基本を理解した入門者が、次に何をすべきかについて筆者の考えを示しています。
本書のサンプルコードはGitHubにホスティングしています。
・第2章/付録A
─https://github.com/mottox2/netlify-functions-examples
・第3章
─https://github.com/mottox2/netlify-line-bot
・第4章
本書ではNode.js v10系を導入されている前提で解説をしています。
すでにNode.jsをインストールしているかの確認は、次のコマンドをターミナル(コマンドプロンプト)に入力することで確認できます。インストールされていない場合、バージョン表記は出力されません。
$ node -v
v10.13.0
Node.jsがインストールされていない方は、公式サイト2からインストールを行ってください。Macユーザーの方はhomebrewでのインストールもできるので、そちらも検討してください。
インストール後に先程のコマンドを再度実行し、バージョンが出力されればインストール成功です。
本書に記載された内容は、情報の提供のみを目的としています。したがって、本書を用いた開発、製作、運用は、必ずご自身の責任と判断によって行ってください。これらの情報による開発、製作、運用の結果について、著者はいかなる責任も負いません。
本書に記載されている会社名、製品名などは、一般に各社の登録商標または商標、商品名です。会社名、製品名については、本文中では©、®、™マークなどは表示していません。
本書籍は、技術系同人誌即売会「技術書典5」で頒布されたものを底本としています。