LINE Front-end Framework(LIFF)でアプリケーションを開発したい - 3日目

今日から5月ですね。
引き続きテキストを見ながら、昨日の疑問点を解決しつつ学習を進めていきたいと思います。

フォルダ/ファイル構成について

昨日の疑問は主にフォルダ/ファイル構成に関するものだったのですが、一気に解決できそうな感じがしてきました。
テキストと同時にHerokuのマニュアルも見るようにしたのですが、そのチュートリアルに出てくるサンプルアプリケーションの構成が、LIFFスターターアプリの構成と同じでした。これが一般的なものなのか、それともHeroku独自のものなのか分かりませんが、とりあえず「Herokuで動かすならこの構成にしておこう」と思いました。
テキストとスターター(とHerokuのサンプル)を見比べて、なんとなく分かったことを書き留めておきます。

・「bin」フォルダがない
・「app.js」ファイルがない
・「index.js」「 Procfile」ファイルがある

テキストによると、「bin」フォルダには「www」というファイルがあり、プログラムを実行すためのコマンドの役割をしているとの記載があります。ファイルの中身も記載されていたので見てみると、ポートの設定、サーバの実行、待ち受け(listen)などを行っているようです。
同様に「app.js」の中身を見ると、expressオブジェクト(app)を作成し、「app.set」「app.use」によって各種設定を行っています。
一方、スターターの「index.js」を見ると、上記のいずれの処理もここで行われています。また、アプリの起動コマンド(?)は「Procfile」に記載されていました。
このことから、「bin」「app.js」に相当するものが「index.js」「Procfile」であると理解しました。

テキストを読破してみて

Chapter5 値とデータをマスターしよう!まで本文を読み、Chapter6以降はデータベースの話だったり応用編だったりしたのでさらっと流し、一応テキストすべて目を通しました。※データベースをさらっと流した理由は後述。
結果として分かったのは、

テキストは「Node.js」に重きを置いているため、主にサーバサイドの説明。
スターターアプリは「LINE Front-end Framework」のサンプルのため、主にフロントエンドの実装を充実させている。

ということで、スターター側にテキストのようなファイルが存在しないのは、サーバサイドを充実させる必要がない(必要最低限のものしかない)から、と理解しました。

データベースの選定

作成しようとしているアプリはデータベースが必要です。候補は3つ。
SQLite:とにかくお手軽なので。
MySQL:テキストの説明に使われていたので。
PostgreSQL:Herokuがサービスとして提供しているので
結果、Heroku上に構築する前提で検討してPostgreSQL(Heroku Postgres)にしました。行数(テーブルの行数?)が10,000行以下なら無料、と読み取れる記載もありました。本当かな?

明日からアプリを開発していきますが、サーバサイドはテキストとHerokuのドキュメント、フロントエンドはスターターの実装やLIFFのドキュメントを参考にしたいと思います。

本日はここまで!

余談:英語について
HerokuやLIFFのドキュメントを読むのに、Google翻訳がないと挫折しているところでした。所々で「フリープラン」を「自由計画」と訳してくれたり、コマンドまで訳されていたりといったこともありますが、ほとんど違和感なく読み進めることができました。
以前会社で強制的にTOEICを受けさせられた時は、345点というスコアでした。調べてみたら「中学卒業程度」の英語力のようです。一応大卒(ただし入試に英語がないところ)なのに…。高校の時に英語の成績が悪すぎて留年しかけたことを思い出します。
高校当時、もっとも印象に残っていることは、英語の先生から定期テストの結果を返される時に、「なんでこんな点数なのか分かるか?定期テストの問題は教科書の文章から出題されているんだ。他の生徒は予習で1回、授業で1回、復習で1回、テスト前の見直しで1回、テスト前までに計4回この文章を読んでいるんだ。○○(私の名前)の場合、予習はしない、授業は聞かない、復習はしない、テスト前に見直さない。テスト時に初めてこの文章を読んでいるんだ。テスト時間内に理解できるわけないだろう。」と言われたこと。

この記事が気に入ったらサポートをしてみませんか?