1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

某YoutuberのクイズっぽいSPA作ってみた。

Last updated at Posted at 2021-03-30

動機

フロントエンドの勉強のために何かSPAを作りたいと考えていました。
とはいえ、「何を作ればいいのか」思いつかない・・・
そんなことを考えながら、最近好きになったQuizKnockの動画を見ていたときに、ふと思いました。

クイズゲーム、基本的なところを網羅できて、勉強で作るものとして最適なのでは?

  • 正誤判定など、条件に応じた表示内容の変更が必要である
  • 問題ページ、結果ページなど、複数のページが必要である(→vue-router)
  • ユーザーが選択した答えを保持する必要がある(→vuex)
  • クイズの問題をサーバーから取得するようなAPIを作る(→axios)

作ったもの

https://github.com/shima-218/quiz-app

構成

quizapp.png

  • S3の静的ホスティング機能を利用し、Vueアプリをデプロイ
  • APIを叩いてDynamoDBに格納されたクイズの情報を取得
    • APIGatewayとDynamoDBの間にlambdaを介す構成が多いようですが、今回は特に複雑なデータ取得を行わないので、余計なサービスは挟まないシンプルな構成にしました。

所感など

初心者に公式ドキュメントは難易度が高い?

「Vue.jsは公式ドキュメントが分かりやすいため、公式ドキュメントで勉強すれば良い」
述べている記事をよく見かけますが、私の場合、最初は公式ドキュメントを読んでも全く理解できませんでした・・・
そんな中、救世主となったのが、大阪コード学園さんのYoutube講座
基本的な内容から分かりやすく解説されており、こちらの動画で一通り基礎を理解した後だと、公式ドキュメントの記載も理解できるようになりました。

CDN版から始めなくても良い?

「CDN版で勉強してから、Vue CLIに移行するという」というVue.jsの学習ステップがよく紹介されていますが、私の場合、「言語自体を勉強したい」というよりは「Webアプリを作りたい」という目的が強かったので、CDN版は使わず、最初からWebアプリ向きのVue CLIを用いました。
CDN版を経なかったことによる学習への支障は全く無かったため、必ずしもCDN版から始めなくても良いのではないかと感じました。

Vue3は(2021年3月時点では)まだまだ情報が少ない

Web上の情報はほとんどがVue2のものです。おおよそVue3でも当てはまることが多いのですが、細かなところでVue3とVue2で書き方が違う点があり、Webで解決策をなかなか見つけられませんでした。
また、BuefyのようなUIコンポーネントも、まだVue3に対応していないものが多く、注意が必要です。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?