wheatandcatの開発ブログ

React Nativeで開発しているペペロミア & memoirの技術系記事を投稿してます

Peperomia v2.0.3 リリースノート

リリース日 2020年02月24日 GitHub Peperomia マイルストーン v2.0.3 対応内容 React Hooks対応 and ESLint対応 Specter導入 スケジュール画面とスケジュール詳細画面にローディングを実装 スケジュールの順番変更の処理で無駄にAPI更新の処理が走っている不…

Peperomia v2.0.2 リリースノート

リリース日 2019年12月14日 GitHub Peperomia マイルストーン v2.0.2 対応内容 react-navigation v4バージョンアップ Expo SDK 36 バージョンアップ リリース詳細 react-navigation v4バージョンアップ React Navigation v4にバージョンアップ https://react…

Peperomia v2.0.1 リリースノート

リリース日 2019年10月22日 GitHub Peperomia マイルストーン v2.0.1 対応内容 update react-native-elementをv1.2.0にバージョンアップ ダークモードに対応 Expo SDK35 バージョンアップ ローカル開発の初期設定スクリプトとガイドを追加 sentry-expoを実装…

Peperomia v1.0.5 リリースノート

リリース日 2019年07月27日 GitHub Peperomia マイルストーン v1.0.5 対応内容 Expo SDK v33にバージョンアップ デザインリニューアル & colorのconfig化 storybook v 5にバージョンアップ Firebase v6にバージョンアップ コミット時にlint & tscをチェック…

Peperomia v1.0.4 リリースノート

リリース日 2019年06月21日 GitHub Peperomia マイルストーン v1.0.4 対応内容 typescript-eslintの導入 Firebaseログインを追加する バックアップ機能を作成 リリース詳細 typescript-eslintの導入 typescript-eslintの導入してTypeScriptもLint対象にする …

Peperomia v1.0.3 リリースノート

リリース日 2019年05月22日 GitHub Peperomia マイルストーン v1.0.3 対応内容 Google Pixel 3だとヘッダーボタンがタッチできない スケジュールの色に合わせてStatusBarの部分をカラーも変更 リリース詳細 Google Pixel 3だとヘッダーボタンがタッチできな…

GoでGitHub Actionsでreviewdogを実装してみる

今までmonorepoで管理していたペペロミアのプロジェクトをリポジトリに分け始めたので、ついでにreviewdogを実装してみました github.com reviewdogとは reviewdogはPull Requestに対して指定したlinterや静的解析を行い、対象行に以下の画像みたいにコメン…

@nuxt/httpを導入する

ペペロミアのWeb版でのAPIアクセスの実装に@nuxt/httpを導入しみました。 github.com Nuxtは元々axiosを押していましたが、今後こちらの@nuxt/http標準になる流れみたいなので採用しました。 Pull Request https://github.com/wheatandcat/PeperomiaWeb/pull…

ペペロミア v2.0.4のリリースノート。Expo SDK v37、Sign in with Apple、ダークモード対応などなど

ペペロミア v2.0.4を公開したので主な変更を記載します ■ v2.0.4のマイルストーン v2.0.4 Milestone · GitHub Expo sdk v37にバージョンアップ ■ Expo sdk v37にバージョンアップ https://github.com/wheatandcat/Peperomia/pull/559 最新のExpo SDKにアップ…

React Navigation をv4→ v5にバージョンアップしてみた

こちらのPull Requestで諸々対応 ■ react-navigation v5にアップデート https://github.com/wheatandcat/Peperomia/pull/545/files ■ react-navigation v5のScreen optionにtypesを指定 https://github.com/wheatandcat/Peperomia/pull/549/files 概要 React…

NuxtでComposition API とTSとTSX + CSS Modulesの組み合わせについて考えてみる

github.com 上記のプロジェクトでComposition API とTypeScriptを組み込んでみたので、その時の考えをまとめて記事にしました。 前置き Composition API とは Composition API RFC | Vue Composition API Composition APIについては上記の公式ホームページの…

Firebase Authenticationの「This browser is not supported or 3rd party cookies and data may be disabled. 」の解決方法

今、以下のレポジトリでWeb版ペペロミアを開発中ですが、その時にハマった内容を記事にしました。 github.com はじめ Firebase Authenticationでログイン画面を作成して、いざログインしようとすると This browser is not supported or 3rd party cookies an…

DangerでPull Requestでカバレッジを通知してテストコードを書くモチベーションを上げる

そろそろもっとテストコード書いたほうが良いなーと思ったので、 モチベーションを上げるためにカバレッジを通知するようにしました。 ↓こんな感じ 通知にはdanger-jsを使用しました。 github.com カバレッジの通知は、こちらのプラグインでサクッと実装でき…

react-responsiveを使ってiPadの対応をする

アプリの審査で2回連続、iPad周りのレイアウトで落とされてたので、その辺の対応しました。 対応にはreact-responsiveを使用 github.com Expoで使用する場合は以下を参照 blog.expo.io react-responsiveを使うとReact NativeでもMediaQueryっぽい判定が使用…

GitHub ActionsでJest、ESLint、tscを実行する

今までTravis CIを使ってましたが、それをGitHub Actionsに移行しました。 github.com 元々Travis CIでは以下のことを移行しました jest実行 eslint実行 tsc実行 GitHub Actionsは.github/workflows配下にymlファイルを配置すれば実行されるようになります。…

Gatsby.js + mdxでヘルプサイトを作ってみる

ヘルプ用のサイトをGatsby.js + mdxで作ってたので紹介 www.gatsbyjs.org Gatsby.jsは、Reactベースで静的サイトを簡単に作成できるツール github.com MDXはMarkdownでJSXをimportして使用したり、JS側にMarkdownで記載 したファイルをimportしたりできるラ…

React Nativeでローディング画面を実装

今後の発展としてWeb版の実装のためログイン後のデータ管理はFirestoreで行う実装に変更しています。 で、実際にFirestoreに繋いで動かしてみたら、(当たり前ですが)SQLiteに比べるとデータ読み込みの遅いので色々と表示がチラつく部分があったので、ロー…

GoMockを使ってHTTP Requestのテストを書いてみる

backend側のコードも増えてきたのでテストコードを追加しました。 backendのテストをする時はfirestoreに接続したくなかったので、回避するためにGoMockを使って実装してみました。 github.com GoMockはテスト用のモックを実装することで、テスト時に呼びた…

【失敗談】ExpoだとCloud Firestoreのオフラインモードは使用できない

Firestoreにはオフラインモードがあって firebase.google.com これを使用するとオフラインの状態でデータ保存ができて、さらにオンラインになったタイミングでデータ同期させてくれると、良さ気だなあと前々から思っていたので、SQLiteからの移行を試してみ…

クラスコンポーネントで書いていたものReact Hooksに変換してみる

github.com ↑の対応で@react-native-community/eslint-configを導入したら、 66:5 warning Do not use setState in componentDidMount react/no-did-mount-set-state 79:7 warning Do not use setState in componentDidUpdate react/no-did-update-set-state…

Alexaスキルの開発始めました2

Alexaスキル作り始めたら、思ったより審査を通すのが大変だった。。。公開まではもう少し時間がかかりそうです。 今回はアプリへデータを送る関係で以下の機能を開発していく感じになりました。 Alexaスキル開発 Alexaスキルと外部アプリを連携させるために…

Alexaスキルの開発始めました1

前々から興味あったけど手が出せてなかったAlexaスキル開発を始めました。 最終的にはペペロミアでアカウントリンクしてAlexaから予定を作成できるところまで作成する予定 まずは、サンプルから作成していきます。 developer.amazon.com Alexaスキルの開発に…

React Nativeでカラー変更をアニメーションさせる

カレンダーUIで月毎のカラーを変更する際のアニメーションさせてみた。 デモ www.youtube.com 実装方法 React Nativeでアニメーションを使う場合は Animated を使用します facebook.github.io 実装コードは、このファイルで書いています https://github.com/…

カレンダー画面を作ってみる。その1

色々考えたが、今後の昨日拡張を考えるとカレンダー画面の作成は必須かなぁと思ったので作ってみる まずは、デザインはFigmaで作って、こんな感じ スケジュールに日付を入力できるようにして、カレンダーに当てはめる感じの予定 ってことで、さっそくコンポ…

react-native-appearanceを使ってダークモードを判定する

github.com react-native-appearanceでiOSのダークモードの判定を取得できるので、 これでアプリのダークモードのON/OFF(初期値)の設定をしてみる 対応pull request ダークモード修正 by wheatandcat · Pull Request #145 · wheatandcat/Peperomia · GitHu…

jqを使ってexpoのapp.jsonの環境毎に設定を切り替えるようにした

もともと、expoのapp.jsonですが、場合によってはdevとproductで分けたい場合があります。 docs.expo.io ぺペロミアだと以下のiosのGoogleSiginに使用するreservedClientIdと ■ app.json "ios": { "config": { "googleSignIn": { "reservedClientId": "*****…

技術書展7の入稿が終わりました。

技術書展7の入稿自体は先週にやったけど、色々合って今日もろもろ完了しました。 本の情報 wheatandcat.booth.pm BOOTHの方ではDL版を購入できるようにしました。 これの物理の本を技術書典7で販売します。 [ サークル情報 techbookfest.org 上記で委託で販…

ExpoでAndroidのstandaloneのみGoogle SignInが失敗する

気づいたら、Expoで実行時にAndroidのstandaloneのみGoogle SignInが失敗しています。 元々Expoの以下の機能を使用してGoogle SignInをしていました。 docs.expo.io 以下ではログインできました。 ExpoクライアントでAndroid起動時はログインできる iOSはExp…

技術書典7の準備中

techbookfest.org 技術書典7に出す本作成中です。 自分のアカウントでの抽選して落選しましたが、委託させて貰えそうなので作成しています。 表紙はこんな感じ ブログで掲載している内容 + αでアプリを公開するまでの色々を記載しています。 本の作成はRe:VI…

DetoxをExpo v34で動かす

Expo v33にアップデートしてから動いてなかったのでテスト出来るように修正しました。 github.com ↑に動いているサンプルがあるので、これを参考にすればいけます 変更箇所 package.jsonに以下を追加 "@types/detox": "^12.8.2", "@types/jasmine": "^3.3.14…