---
# System prepended metadata

title: 技術選定
tags: [技術検証, リサーチ]

---

# 技術選定

###### tags: `リサーチ`, `技術検証`

>本ページの目的: 利用技術のリサーチを行い、本プロジェクトにおける妥当な技術の洗い出しを行うこと

## :memo: 
* ### LINE
    * 所感
    LINE自体がユーザーとのインターフェースになるのは良さそうで、以下のサービスを組み合わせれば、通知やメッセージなどはもろもろ完結できそう。LIFF自体はただのFEフレームワークでいろんなことができるわけでなない。イメージとしては、始めにLINEボット追加して、属性情報とかを入力してもらい、災害発生時にLINEから通知。位置情報取得して避難情報の詳細を表示してあげる。必要であればLIFFで地図まで表示する。くらいの流れがよさげかも？
    * ユースケース例
        * https://lineapiusecase.com/ja/usecase/govtech.html
    * ### LIFF
        >LINE Front-end Framework（LIFF）は、LINEが提供するウェブアプリのプラットフォームです。このプラットフォームで動作するウェブアプリを、LIFFアプリと呼びます。
        * できること
            * LIFFブラウザ（LINEアプリから開かれる専用のブラウザ）からログイン無しでLINEユーザー情報へアクセスすることが可能
            * LIFFアプリを共有したり、友達にメッセージを送るなどが可能
        *  動作環境
            *  iOS
            *  Android
    * ### LINE Notify
        https://notify-bot.line.me/
        LINEで通知を送ることができる
    * ### LINE Messaging API
        ボットを通してユーザーとメッセージできる

* ### Front-end
    * React/TypeScript
    生産的で開発体験がいい。ただ学習コストがややあることと構築に少し時間がかかる。（個人的にはこっちでやりたい)
    * jQuery/JavaScript
    小規模アプリであれば構築の手軽さと学習コストの低さというメリットあり。コードが多くなるととたんにメンテ辛くなる。
* ### Back-end
    * Python
    Python書けるメンバーが居ることから、開発分業という意味ではPythonがいいかも？DjangoとかはちょっとFatなので、FastAPIとかの軽量フレームワークがちょうどよさそう。あとはエンドポイント多くないと思うので、小さなコードをAWS lambdaやCloud functionsで実行するのも手。
    * その他
    GoやRuby/Railsも選択肢としてあるっちゃある。Goとかポータビリティの観点からありではある。小さなサーバサクッと立てるとかであれば、部分的に使ってもいいかも。

* ### Infra
    * Netlify：静的ファイルのホスティングでは手軽でいい。Front-endのデプロイにはこｔれがいいかも
    * GCP/Cloud Run:Dockerでバックエンド動かすならこれかな？
    * GCP/Cloud functions:シンプルなサーバーであればこれで十分感
