Nativeの勉強を兼ねて、いくつかアプリを作成しました。気になるものがあったらダウンロードしてみてください。どれもまだAndroidのみなのですが、ゆくゆくはiOSにも対応させる予定です。Nativeを使っていますので、対応は簡単にできるつもりです。学んだ点や躓いた点など紹介していこうと思います。これからも引き続き色々作ってみようと思います。Play私が住んでいる石川県野々市市のコミュニティバスの時刻表アプリです。んキーの時刻表も確認出来ます。乗り換えアプリのほうが便利かもしれませんが、せっかく住んでいるので作ってみました。誰かの役に立っていれば嬉しいです。難しい機能はないのですが、タブナビゲーションとスタックナビゲーションを使ってページ遷移をしています。お気に入りを登録する機能を実装する予定です。Playタスクを登録するアプリです。更新していないので使いにくいです。stateの管理とか学ぶことが出来ました。その後もいくつか作っているうちに、Reactのライフサイクルや再描写のタイミングなども理解してきたので、ちゃんと作ろうと思います。フォームで入力した内容をAsyncStrageでローカルに保存したりしています。チェックボックスで完了状態にしたり、削除したりといった挙動を画面に反映するのがちょっとややこしかったです。前にビルドしたので、まだ64bit対応されていないアプリです。8月1日までに64bitでビルドして更新するつもりです。Playオンラインでじゃんけんするアプリです。普通のじゃんけんなのですが、グーチョキパーのそれぞれの手に名前を付けることが出来ます。オリジナルの必殺技を手に付けて遊んでほしいです。Firebaseを利用してバックエンドを用意しました。FirestoreとFunctionsを利用してます。FunctionのonCallとかの関数の定義法、ReactNativeアプリでのfunctionの呼び方などマスターできました。functionを実行しているサーバはUSとかにあるので、時間が日本と異なります。Date()とかでちょっとつまづきました。FirestoreはNoSQLです。効率的な使い方がまだわかっていない気がします。RDBなら設計も実装も得意なのですが、NoSQLはまだわからないことばかりです。簡単に実装できますがこれが最適化されているのか自信が無いです。ReactNativeのアニメーションも使ってみました。setState時の画面表示の簡単なアニメーションならこれで出来ました。こったアニメーションを実装する方法もある様子ですので、試そうと思っています。Play現在地の緯度経度を端末のGPAを利用して取得し、メモ付きで記録できるアプリです。使いみちは無いと思いますが、ローカルアプリの開発時に、チェックポイントの位置なんかを記録するために作成しました。これを使ってローカルのお出かけアプリなんかを作れたらなあと考えています。端末のGPSの利用と、それに伴う権限の取得なんかを実装しました。データの一覧を表示する画面があるのですが、作成したメモがその画面に反映されない問題がありました。setStateしたときと、画面をマウントしたときはrenderが走りますが、それ以外では基本renderされないので発生しました。PlayシンプルなQRコードリーダです。QRコードの読み取りと、読み取ったデータの履歴を確認出来ます。複雑な機能はありません。QRコードリーダもExpoSDKに用意されていたので、それを利用して実装しています。読み取るためのカメラの領域が小さいのがちょっと悩んでいます。画面いっぱいに大きくしたいのですが、やり方がわからず。Playみんなの投稿によって物語を作るアプリです。お題と導入だけはこちらで作成していますので、その後の物語をみんなで作っていってもらったら、面白い作品ができる。しれないというものです。インストール数が少ないので全く盛り上がりませんが、いつの日か盛り上がってくれたら嬉しいです。こちらもFirabaseを利用しており、データをFirestoreに保存しています。今は1日1回しか投稿できないので、広告をみるとかで再投稿できるようにしようと考えています。過去の作品を静的コンテンツ化してWebで見れるようにすることで、Firebseへのリクエストを軽減するつもりです。キーボードを表示したときに入力フォームの位置を調整するKeybordAvoidingViewというのがあるのですが、いまいち挙動が掴みきれていません。それらしい実装は出来ていますが、ちょっとやりたいようには出来ていない状態です。正常に位置が動かない場合があることと、逆に上に行き過ぎてしまう現象を解決したいです。開発環境Expoを利用しています。ビルド等もサーバにやってもらえるので、とてもラクです。何よりもテストが簡単になります。Expoクライアントアプリをテスト端末にインストールする必要がありますが、プログラムの変更をビルド無しで反映できるホットリロードが簡単に実現できるので便利です。キャッシュからアプリが立ち上がり、ホットリロードが効かなくなるときがあります。端末のキャッシュやデータを消して治ることもありますが、原因は調査中です。わかったらまとめようと思います。ビルドもExpoを利用していますので、ejectはしていません。ネイティブモジュールを特に利用するものは作っていないので、今のところは問題ないです。ejectして自分でビルドもやってみたいと思っています。非同期通信によるassetのロードいろんな広告パターンを試すログイン機能おわりにReactNativeとExpoを使えばとても簡単にアプリの開発が出来ます。こった作りや、ネイティブの処理などは難しいところがありそうですが、さくっと作って見るという点においては、ほっとリロードなどの機能あとても便利です。ビルドもサーバにお願いすることができるので、時間も節約できます。何が出来て何が出来ないのかといったことがまだ把握しきれていないので、もう少し触ってみようと思います。editerマークダウン特化エディタアプリマークダウンのプレビュー・よく使う記号を入力するボタンが利用できます。野々市市コミュニティバスのっティ時刻表アプリルートとバス停を選択して時刻表が確認できます石川県野々市市に住むフリーランスエンジニア。応用情報とDBスペシャリストの資格を保有。Webシステムの構築、スマホアプリ、プログラミングメンターなどの依頼に対応できます。