先日、元素記号の早押しアプリをGoogle Play Storeに出しました。
こんな感じです。
※レベルマックスを自分でやってみたらH見つけるのにめっちゃ時間かかりました笑
作成期間:1ヶ月
作業工数:10日(1日に3時間~5時間程度作業) ※学習時間含め
使用言語:React Native
利用ライブラリ:react-redux,redux-persist,expo-ads-admob,react-navigation
学習参考教材:Udemy,expo公式,ReactNative公式
作ってみて
難しい機能は入れないなどしていたため、想像していたより作成するの自体はそこまで時間はかかりませんでした。
もちろんNavigationのやり方がわからなかったり、stateがうまく更新されなかったり、想定した位置にViewが表示されなかったり色々ありましたが、まぁいつもどおりです。
ただ、作成を完了してから数日たって、
「なんでもっとちゃんと考えを練ったアプリを作らなかったのだろうか、、、」
という感情がでてしいました笑
もちろん、初めて自分のアプリをリリース出来て嬉しい気持ちはあるのですが、それ以上に頑張る方向だいぶ間違えたな感が半端ないです笑
あぁ、なぜ元素記号の早押しなんてものを作ったのだろうか。
誰か教えてほしい…
作成してよかったこと
自分で好きな実装ができるので、思考の幅が広がった感じがしました。
会社で機能を実装するとなると、他のすごい人達が先に色々考えた上でこうやって実装したらいいよとかのアドバイスをしてくれるので、自分でライブラリとかを調べることが少なかったです。
ただ、ReactNativeは全く周りに教えてくれる人がいないので、自分でこういうライブラリないかなぁとドキュメントなどに情報を探しに行くのが楽しかったです。
次にアプリを作る時に気をつけること
アプリを作っている時に色々やらかしたので、次回以降ミスらないように注意点をメモっておきます。
flexのstyleについてはいちいち調べないように暗記する
時間をちゃんと図ったわけでは無いのですが、flexについて調べる時間が結構ありました。
あれ、どっちがrowでどっちがcolumnだ?っていう自問自答を何回もやりました。
ReactNativeを触っている限りは必ず書くものなので、もう調べないレベルで体に叩き込みます。
一人で作ってるからってコメントをサボらない
色々な本に書いてある、「明日の自分は別人」を肌で体験しました、、、、
私すごく真面目(?)なので、仕事で書くソースにはめっちゃ丁寧にコメントを残すんですが、今回は自分しか見ないし、毎日やるし、なんなら時短でやりたいからとコメントを結構はしょりました。
そしたらどこまでやったか不明なまま表示される赤いエラー画面、、、
絶望でしかなかったのでコメントはちゃんと書きます、、、
むやみにReduxに処理を丸投げしない
これが今回一番やらかしたなぁと感じたもの。
1 |
スクリーン → action → reducer |
というような流れで処理を進めていましたが、これだとスクリーンに計算の処理を書いたり、reducerに書いたりしてどこになんの処理があるのかすっごく分かりづらかったです。
おそらく、一般的なフレームワークとかの処理と同じように、
1 |
スクリーン → (計算処理だけをするなんか) → action → reducer |
みたいな流れで全体を構成するべきだったなと後で気が付きました。
どうやって計算処理だけのファイルを作るかはまた考えますが、次は絶対これで行きます。
スプラッシュ画像は背景を白にして作成
スプラッシュ画像のサイズが公式だと、with:1242 wide:2436とあったので、そのサイズで設定していたのですが、色々な画面サイズには対応出来ませんでした、、、
そこで、他のアプリを見てみると、大体のアプリはそもそも全画面のスプラッシュ画像を設定しておらず、おそらくアイコンに使っている画像をそのまま使っているようなものばかりでした。
確かにそっちの方が簡単だし、なんかカッコよく見えますよね。
次から迷わずそれで行きます。
データは最初から別ファイルで作って置く
元素記号のデータ、お恥ずかしいですが、現在Reduxのファイルに直で全定義(名前とか記号)を書いています、、、
普通に考えて、再利用とか別画面でも使うこと考えたら別ファイルにしておいて、インポートしたほうがいいですね。。。
データいっぱい作りそうなときは速攻別ファイルにします。
最後に
次に作成するアプリは、ツール系で私自身が仕事をする時にいつもやっていることを簡略化してくれるようなアプリを作るつもりです。
今回みたいな何に使うかよくわからないアプリではなく、、、
内容とかは元素記号のアプリを作成した時にやっていたように作業経過を載せていこうと思います(思ってるだけで、載せるとは言ってない)。
また、ツイッターで色々絡んでくれていた方たち(少数)と連絡取れなくなててしまうのは寂しいですが、頑張るためにアプリが完成するまではツイッター等のSNSは絶ちます。
皆さんのお役に立てるようなアプリを全力で作るので、応援よろしくお願いします!!
コメント