# 自分だけのニュースアプリを作ってみよう! 「こうだったらいいな」を考える
# この記事
- ニュースアプリが「こうだったらいいな」を考える ←⭐この記事
- ニュースアプリの画面を考える
- ニュースアプリに機能を考える
- ニュースアプリの画面をつくってみる
- ニュースアプリの機能をつくってみる
- ニュースアプリを使ってみる
# 目次
# なぜニュースアプリをつくるのか?
突然ですが、ニュースアプリを作ろうと思います。
世の中にはニュースアプリがいっぱいあるのに、「なぜニュースアプリをつくるのか?」ですが、 モチベーションは2つあります。
- 収集するニュースの「キーワード」を自分で設定したい
- ツイートするときに「定型メッセージ」を使いたい
1つ目は、ニュースアプリ側で集めてくる記事ではなく、自分が設定した「キーワード」を含む記事を収集したいです。 私の場合、「プログラミング教育」に関連する情報を集めたいと考えていました。
2つ目は、有益な情報であればTwitterで発信したいと考えています。 その際、「🔵🟡🔴プログラミン」という定型文を入れているのですが、 コピー&ペーストが手間なため自動でいれたいと考えていました。
もう1つ、こちらのほうが本当の目的です。
普段から、趣味でプログラミンをするとき、開発の進め方に悩む方がいるんじゃないかな?と思っていました。 初めての開発なら、なおさらだと思います。そこで「ニュースアプリ」を題材に開発の進め方をまとめてみようと思いました。
# 出来上がったアプリ
本当は、最後のお楽しみにしようかと思ったのですが、 完成形が見えたほうがこの後の内容もわかりやすいと思いますので、 出来上がったアプリを載せておきます。
# ニュースに必要な機能/欲しい機能を考える
# ニュースはスマホで見たい
PCで見ることもありますが、ほとんどはスマートフォンでチェックします。 そのため、スマホでニュースを見れるようにしたいです。
# キーワードもアプリで変えられるようにしたい
設定したキーワードで収集されたニュースが、いまいちだったら、別のキーワードに変えたくなります。 そのためキーワードはアプリで変更できるようにしたいです。
# 定型文/コメントをいれてツイートしたい
元々の目的の1つである「🔵🟡🔴プログラミン」という定型文を入れたいです。 またニュースに対するコメントも入れてツイートしたいです。
# ニュースを集める
ニュースを表示させるためには、ニュースを集めてくる必要があります。 紙媒体から集めるのは難しいため、インターネットから集めることにします。
# 定期的に自動で集めてほしい
アプリを開いてからニュースを収集するのではなく、 事前にニュースを集めておいてほしいです。
# 自分だけのニュースアプリに欲しい機能をまとめると
- ニュースはスマホで見たい
- キーワードもアプリで変えられるようにしたい
- 定型文/コメントをいれてツイートしたい
- ニュースを集める
- 定期的に自動で集めてほしい
# 開発ツールなどの選定
個人で開発をする際の重要なポイントの1つは、「出来るだけ自分で作らない」です。 1人で開発をするには、どうしても作業時間(工数)との闘いになります。圧倒的にリソース(人員)が足りないのです。
自分で作らないためのポイントは、
- 既に出来合いのもの(ノーコード/ローコード)を使う
- インターネットに公開されているサンプルソースを活用する
- WebAPIが提供されているなら、積極的に活用する
となります。
今回の開発では、以下の3つのツールを利用して作るようにしました。
- NewsAPI:無料で使えるニュース検索API
- glide:Google Spread Sheetからノーコードで画面生成できる
- Google Apps Script(GAS):Google Spread Sheetと親和性がよい開発ツール
# NewsAPI:ニュースはネットから集める
「クローリング/スクレイピング」などによる自力でのデータ収集も考えられますが、 自分で実装するためには知識と技術、そして時間が必要となります。
今回は「クローリング/スクレイピング」の勉強が目的ではないため、 「便利なWebAPI」を探してみます。いくつか候補はあるのですが、
今回は「NewsAPI (opens new window)」を使います。
NewsAPIの特徴は、下記の通りです。なによりAPIの設計がシンプルで、実装サンプルが比較的簡単なのが良い点です。
- 世界中のニュースソースを網羅している
- SDKやライブラリなどが提供されている
- 細かい条件設定が可能
- APIの構造がシンプル
- 無料で使えるもの(非商用)
# glide:Googleスプレッドシートからスマホアプリを作る
スマホアプリを作る選択肢は多々ありますが、今回は「glide (opens new window)」を使います。
なぜglide (opens new window)を使うのか?ですが、
理由は、
- Googleが提供している「ノーコード/ローコード」ツールで無料で利用ができる
- 一切コードを書かずに画面を10分くらいで作れる
- Googleスプレッドシートを「データベース」として利用できる
- PWA(Progressive Web App)なのでクロスプラットフォームで利用できる
ちょっとした自分用アプリであれば、glide (opens new window)はおススメです。
以下はgoogleが提供しているglide (opens new window)を使った「従業員情報管理」のサンプルアプリです。 このサンプルで実現している動作であれば、コーディングは必要ありません。
# GAS(Google Apps Script):ロジックをコーディングする
glideでアプリを作るため、ロジック部分は、親和性のよいGAS(Google Apps Script)を利用します。
- Google Spread Sheet との呼び出し/書き込みが簡単
- GASの標準機能である「トリガー」で定期的に自動実行可能
- GASスクリプトもネット上で動く前提のため、WebAPIの呼び出しも簡単