4/30、ステイホーム週間(アプリ開発勉強)6日目。4月も最終日。すごい年になったもんだなー。誰がこんな2020年を想像しただろうに。
そんな中、昨日少しつまづいていた電卓アプリ、朝からさくさく進み遂に完成!!初めてのiPhoneアプリが完成!!やったー!
というわけで、今日やったことと、初めてのアプリ開発での気付きの振り返り。
x10の謎
昨日のブログで、こんなことを書きました。
appendIntegerPart()とappendDecimalPart()でx10してるのも全然理解できず
電卓を触っていたら、ふと気が付きまして。昨日は、5+3 という一桁の世界で脳内が回転していたけど、よくよく考えると計算する数字はもっと桁数が多い(一桁の計算に電卓なんてむしろ使わないよね)ことを想定しているのね。
というわけで、打ち込む数字を「213」と想定して、変数の動きを見てみた。
ターゲットになる式は、intPart = intPart *10 + number という一文で、numberに電卓で押した数字ボタンが格納されてくるイメージ。intPartの初期値は0。そうすると、
[式] intPart = intPart *10 + number
まず、213の 2を押したとき、intPart = 0、number = 2 で処理が動きだし、
intPart = 0 *10 + 2 となり、intPart = 2 となる。
次に1を押す。このとき先の計算で intPart = 2、そして打ち込んだnumber = 1 で、
intPart = 2 *10 + 1 となり、intPart = 21 が結果。だから21と表示される。
最後に3を押す。intPart = 21、number = 3 なので、
intPart = 21 *10 +3 となり、intPart = 213 が結果。これで213と表示される。
分かってしまえばなんてことはないのだけど、いきなりソースコードだけ見ると混乱する。人のソースコードを見たり、レビューするっていうのは相当の経験と想像力がいるんだって痛感。
あと、いろいろ調べる中で、このサイトが参考になった。感謝感謝。
Labyrinthe Noir > こども工作教室 > 電卓のソースと解説
完成へ
悩んでいるうちに、だいぶ処理の流れが頭に入ってきて、引き算、掛け算、割り算の処理も作り、ついでにACボタンを押したら、いつ押してもクリアされて0に戻るようにまで作れた。
最後に、少しだけhtmlやcssを整えて、ついに完成!!
ビルドをしてみようとしたが・・・
せっかくなので、ビルドをしてみて、iPhoneにインストールしてみよう!
・・・と思ったんだけど、
Apple Developer Programに登録されたデベロッパー証明書とDevelopmentプロビジョニングプロファイルが必要です。
とのことで出来ないんですね・・・。がっかり。(右にあったシミュレータービルドっていうのは出来たけど、iPhoneには持っていけなかった)
Apple Developer Programなどについてはあとで調べてみる。
振り返り(マジ初心者にとっての最初の一歩)
サンプルにしたコードを使って動くアプリを一つ作っただけとはいえ、この数日(まだ一週間も経っていない!)で、学んだことが本当に多くてびっくり。根詰めてやっているわけではなく、仕事と並行しながらやっているレベルだったけれど、それでも違う。
初心者が始めてiPhoneアプリを作っていくための最初の一歩を振り返ると、この3つなんじゃないかと思う。
・まず、やってみる
・Docsやブログは理解出来なくても飛ばさず読む
・自分なりのアウトプットをする
とにかく、いつかやってみよう!だとやらない。少なくともここまではPCとiPhoneがあるのは前提としても、初期投資0円で出来た。やらない理由がない。
Docsとか先人の諸先輩のブログは、正直レベルが違い過ぎて読み飛ばしたくなる。初めて読むときは理解できない。暗号。外国語。だけど分からない単語をメモしたりしながら何度か読んだり、同じ検索ワードでひっかかった別のサイトをいくつか読んでみるとなんとなく理解できるときがある。だから、まずは分からなくて当たり前と割り切った上で、飛ばさずに読むが大事。
学んだことを自分の中に定着させるためには、自分の言葉で発信することが大切。なので、浅い内容でも多少間違った内容でも気にせずアウトプット。私はこのブログを作ってみたけれど、正直読み返しても記事と言えるレベルじゃないものだらけ。だけど、自分がそこまでしか理解出来ていないのだから仕方ないし、理解が進んだら更新していけば良いだけの話だと思う。恥ずかしがるものでもない。
もう一点。Monacaで簡単に作るアプリは、WEBサイトを作ることと同じと思った。
今回はhtmlファイルもcssファイルもjsファイルも各1つだったけれど、結局はこれが複数になっていき、データを入れたり出したりとやり取りしながら、ページ遷移していくのがアプリなのではないかと。
そしてそこからの気付きとして、もしかしたら、世に言うWEBアプリケーション(ここではPCのブラウザで見ているのを想像)というのもやはり同じなのではないかと。そう思うと、今更ながらHTMLとCSSを改めて学習して、そこにJavaScriptを理解していけば良いのかもしれない!この気付きは、アプリケーション開発にポジティブに向き合える気がするし、なんならやってみたいという次のきっかけにもなっている気がする。
とりあえず、ステイホーム週間は引き続きiPhoneアプリ開発を続けようと思う。次はデバイスの機能(カメラとか)にアクセスするAPIの使い方や、入力データの保存や保存データの表示をするデータまわりを学んでいきたい。
コメント