Skip to content

Posts

Firebaseでやってみる

Amplifyで挫折したお題を、Firebaseで作り比べてみる。

Firebaseでプロジェクトを作成、前回と同じリポジトリでCodespacesを起動。

「ウェブアプリへのFirebaseの追加」手順に沿ってインストール。

$ npm install firebase

src/main.js のAmplify関連で追加した部分を削除、Firebaseのコードをコピペ。

Hosting用にCLIをインストール。

Read more

MBaaSの比較

機能やSDKの対応言語をまとめようと思って始めたけれど、Firebaseが数歩リードしている印象。

AWS AmplifyやAzure App Servicesでも同じようなことはできるかもだけど、ひとつのサービスとして揃っている(既存のサービスを組み合わせて都度構築する必要がない)のが強みだと思う。

MBaaSを調べる

一月ほどAmplify触ってみて、Firebaseのほうが使い勝手よさそうだなと思った。

ほかにこのジャンル、Mobile Backend as a Service(MBaaS)はどんなのがあるのか気になったので調べてみた。

なるほど、ちょっとこの辺、比較してみようかな。

Read more

まとめ

今日で1か月。よく続いた。

アプリは完成までたどり着かなかったけど、学びは得られた。

GraphQL理解すればまた評価変わるかもしれないけど、AmplifyよりFirebaseのほうがとっつきやすいと感じた。

自分の環境ではモックがまともに使えなかったのも痛い。モックが使えなくても、pushが速ければ気にならなかったかもだけど。

Read more

GraphQLでAND条件検索

昨日の続き。

AND以外に、ORも同様のエラーでNGだった。 ANDやORを使わなければ想定通りのフィルタになるので、間違ってないと思うんだけど。

何度目かの詰み。

キャンセル処理入れる

エントリー処理ができるようになったので、同じようなノリでキャンセル処理も実装する。

同じノリなのになぜかエラーが出る、と思ったらエントリーの方もエラーが出ていた。

Variable 'id' has coerced Null value for NonNull type 'ID!'

eventIDとuserIDをキーに検索したいのに、idを指定しろと言われている。 getEventUserではなくlistEventUserにfilter指定したらいけそう。 API (GraphQL) - Fetch data - JavaScript - AWS Amplify Docs と思ったけどand指定したらなんかエラー。。

Read more

DB再作成

データがある状態でデータ構造の変更をかけたせいか、挙動が怪しくなったので一度DynamoDBのテーブルを削除した。

その後、amplify update apiapmlify pushを実行。 したらAppSyncのupdateでエラー終了してしまった。

amplify deleteで丸ごと削除してからamplify pushしたらNo Amplify backend project files detected within this folder.になった。

Read more

ここまでのまとめ

やったこと

  • Amplifyのチュートリアル
  • Codespacesでの開発
  • VSCode+WSLでの開発
  • VSCode+EC2での開発
  • VSCode+RaspberryPi4での開発

わかったこと

  • AmplifyはFirebaseみたいなもの
  • Vueはわかりやすい
  • データベースはGraphQLわからないとつらい
  • クラウド環境でAmplify mockを使うのは難しい
  • ラズパイ(32bit)ではAmplify mockを使えない
  • Surface Go 2ではこのレベルの開発作業は厳しい
  • クラウドに開発環境を移行するにはまだ壁がある

つぎにやること

  • 強いPCが欲しい
  • GraphQLを理解する