AppStoreにリリースされました。

初めてのスマホアプリのリリースが完了しました。
「ArcheryRecord」で検索すると一応出てきます。

こんなアイコンです。
本当に単純に点数管理をするだけのアプリです。
自分が最低限必要な要素だけに絞ったものなので、いろんな要素が必要な場合は他のアプリの方が良いです。私は他のアプリが要素がありすぎてストレスだったってだけなので。
何から何までAI満載のアプリになります。

このアイコンもAIですね。

Adobeで「猫にアーチェリーをさせたい」とかってお願いしたのだけど、まぁ出来ない。アーチェリーのターゲットが変だし、猫は可愛くないし。って感じだけど、ダメ出しを何回もしてこれが完成しました!でも、これも矢の向きが逆だったんだよね。自分を射るんかい!って状況。それでも、まぁ良いのです。これで。

コーディングはXCode。最初は日付の部分をどうしたらいい?って感じだったのだけど、「あれ?これは全部お願いした方が良いのでは?」に思考転換して、設計書を入れて・・・お任せしたのでした。

もう自分が何かできるとは思えないよね?でも、エラーが出たら、またスクショとってそのまま貼り付けて・・・すごいよね。それで理解して「あ、これはここが悪かったね」って正しいコードを返してきてくれて。それをまたそのままコピペする。たまに修正ポイントの解説のみとかってこともあるのだけど、「わからないから」で押し通す。そうすると全部をやり直してくれる。でも、「中の人変わった?」な感じになることがあって、いきなりレベルが上がったコーディングになったりして驚いたけど。その逆もあったけど。

そんなこんなでシンプルな入力画面のものが完成。入力は嫌だったからタッチで済むようにした。

矢ごとに1個しか選択は出来ない。(俗に言うラジオボタン)Commitボタンでトップ画面に集計されてアベレージが瞬時に表示される・・・(画面がなかなかない)

Saveすることで履歴画面で確認をすることが可能。

こんな感じで確認が可能。まぁこれはあくまでも履歴だから、その日のものは保存しなきゃここまではわからないのだけど。(左の18m大的・・・867点って1ヶ月前元気だったなぁ)

これでまず1段階クリアした。これは自分のスマホにのみデータが保存される。だから、私は自分のデータが消えちゃうのが嫌でアプリストアからダウンロード出来ない。。。

次の段階は保存先をクラウドにしてPCからでもデータが集計できるようにが目標。
今はタップだけど、スコア入力もスライドにする。ゆくゆくはAppleWatchと連携して。自分が一番欲しいを作る。それ大切。
音声入力ってリクエストもあったけど、自分の中で優先度が低いのでどうだろう?

最終目標は写真を撮影したら集計するなんだけどね。いつになることやら。

初めてのスマホアプリを作ってみた。

昨年から久方ぶりに始めたアーチェリー。30年前に初めて体験してからトータルで1年弱くらいしかしてないのだけど、下手な時から行ってたことは「記録」。アーチェリーなんてただ射ってるだけって感じになりかねないのだけど、それだと成長を感じない。だから当たらなくても記録を取るのが大切だと考えていた。

でも、瞬時に計算なんてできないから、他の人に「こんな感じです」ってお見せしたとしても反応はイマイチなわけで。上手い人は瞬時に計算して合計だけ記録しているって方もいらっしゃるけど、それも・・・無理よ。

まぁどこにどんな感じで当たっているかもグルーピングされているのか、それどころじゃないのかでかなり変わってくる。そんなこんなで半年以上経過して、今年になって「そうだ!アプリ作ろう!」ってことで仕事の合間にチャットGPTに作ってもらってみた。
初めてのアプリ開発。最初はなんかめっちゃ難しそうな言語でする流れもあったけど、まず、スマホアプリってどんなもの?を知らなきゃってことで、XCodeでの開発にしてみた。
取り急ぎ、XCodeってどんなもの?をYouTubeで勉強して1冊本を買って実際に入力して慣れてみた。

慣れたところで、サンプルは保存もないし、なんか自分がしたいことではなかったからほんと最初の部分から無理だった。

しかも最初の項目がDate Pickerにしたいとかってことで、最初はそんなパーツごとに聞いてみようと思ったら・・・ChatGPTさんに全部お任せしたらいいんじゃない?ってことに全振り。

「アーチェリーの記録を保存するアプリを作りたい」

これだけでなんとなくいい感じのコードを返してくれたんだよね。凄すぎ!ChatGPTをどう使うかが課題だけだった。そう、私の問題ね。
スコア入力部分についてはかなり要望をしてやっと使いやすいものになった。まず最初の段階としたらこれで良しとしよう!って1月末には完成して自分自身使っていたのだけど、2月から本業が忙しくなり、とてもApp申請なんて考えられなかった。
3月末に準備を始めたのだけど、手順がわからなくて、ずっと「準備中」だった。

そして、さっきやっと「審査」依頼をして、現在「審査待ち」

さてどうなることやら。

まぁこれは最初の1歩。これから先、進歩させたい方法がたくさんある。

日本語でしか作ってないのに、対象を全世界にしてしまったのだけど・・・

今やChatGPTをどう使いこなすかという時代なのかもしれない

SwiftUIの書籍を1冊分、コーディングを手入力してまぁソフトの機能を習得したら、今度は、ChatGPTにどう指示するかということだけになった。
最初の項目が日付のテキストボックスだったけど、カレンダーピッカーを追加したいとかってなって、早速、指示をしてみたら・・・なるほど!な感じで教えてくれた。
じゃあ、基本項目を作ってもらってみようか?ってことで仕様書を抜粋してお願いしたら・・・完璧。
こんなの自分では知らないよ?って感じでSwiftは知らないからそんなものを駆使したものを作ってくれた。
しかも「仕様書をくれたら」ってことでExcel形式のファイルをシート単位で渡したら、「そう、これが作りたかったんだよ」を再現してくれた。
すごいな。
慣れてきて、大雑把に要件のみにしても、それなりの形にしてくれて。すごいなしかない。

だから、要求をちゃんと伝えることが本当に大切で、人間対人間でも本当は必要だけど、そこの部分が落とし込めてなくてって部分があったんじゃないかって思う。
仕様書を読んで形にしていくけど、出来上がったら「そうじゃない」とかってなることは多々ある。まぁ自分は決定権は自分じゃないと思っているから、ニュアンスが曖昧な場合は確認はするけど。それも、結局は「経験」があってできること。
若い頃に嫌な思いをしてきたからなんだよね。結局。

そんな自分がChatGPTに依頼をして思い通りのアプリができてきて、ベースの動きは出来たから、次の段階へ行こう!ってことで、やっとGitHubにリポジトリを作成した。
GitHubって業務で使うことがほぼなく(他の手段で行っている)大体、忘れる。
9年前に初めてやった時よりは多分良いのだけど、やっぱり1時間くらいかかる。
でも、これでMainリポジトリを作ったから修正を間違えても戻れる安心はあるかな。

が、真剣に向き合いすぎてまた脳貧血状態。

足の筋肉痛はひと段落してきたら、なぜか肩が重い。もう3日経過しているんだけど。

アプリ開発をしてみよう! SwiftUIで作るためにChatGPTを導入してみた

前回はRust+Tauri2.0が主流なのか?ってことでいろいろやってみたってことだったけど、Tauri2.0はまだリリースされたばかりで参考になるようなサイトが見当たらない!?

そんなので初めてのスマホアプリ開発なんて無理〜ってことで、さっさと鞍替え。
まず、スマホアプリとは?を知ってからじゃなきゃそんな高度?な技術を覚えられるわけもなく、iPhoneだからXCodeでSwiftUIで作ることにした。

にしても、XCodeも多分ほぼ初めてなわけで、その系の動画を見てみた。
そして、書籍も買ってみた。
「iPhoneアプリ開発集中講座」
2024-2025のSwiftUI対応の最新版ね。
XCodeちょっと前の動画だと最初のプロジェクト作成画面からして違ってるし。
Use Core Dataのチェックボックスってどこよ!って思ってたらSelectBoxになってるし。
とかとか・・・まぁ一般的な要素については2日でわかるようにはなる。
が、CoreDataを使ったものになると、そこまではなくて、困った。

さて、画面作成にしても、書籍に書かれていることと自分がしたいことは違う。
そこで、「ChatGPT」を駆使して作ってみることにした。
最初は、課金もしないで要望を入れてみた。
「SwiftUIで・・・」
そうしたら、おぉ!かなり自分がしたかったような画面になってきてくれるじゃないですか!?
Excel形式の仕様書も入れたら、最初の画面と動作は理想以上!しかもエラーが出たら、それも入れたら解決してくれるという優れもの。
自分がプログラムを書く時代は本当に終わったらしい。
とりあえずChatCPTが書けるようにちゃんとした仕様書作成だけが求められているということを知ったわけで。

画面の動作がOKになり、いざCoreDataの追加になったら、うまくいかない。
うーん。そこの部分はまずCoreDataだけのサンプルで練習しないとかな。

それよりも仕様書をもう少し整えて、ちゃんと組み込んだものを作ってもらうべきか。

だからね、私はもう少しXCodeについてお勉強が必要ってことなんだよね。
SwiftUIのお勉強なのか?言えることはSwiftのお勉強は必要ないってことかな。
どう書くとかはまるで必要ない。それは仕様書に書けば良いだけだから。
ってことで、課金してChatGPT4oにした。一人だからね。Proにする必要もないかなと。

何が変わったのかもわからないけど、仕様書を書き直そうと思った。

アプリ開発をしてみよう!今時代はRust+Tauri2.0なのか?

スマホアプリの開発をしよう!と思った過去はありました。
もうかれこれ・・・8年くらい前?
でも、その時はこれと言ったコンテンツを考えられず、
コーディングだけで終了しました。
だから最後まで完成させたことはありません。
今年は、身体を動かす年ではなく、少し頭を使う年にしようかと
趣味と実益を兼ねたアプリを作ってみたい!と知人に相談。
「スマホアプリ作りたいのだけど、おすすめの書籍ってある?」
私はSwiftとかで作るものだとばかり思っていたのですが、戻ってきた
回答がまるで違いました。

Rust + Tauri 2.0でiPhone / Androidの開発

それって何ですの?なわけです。
私はWindowsで業務系のWeb開発をしておりますが、まるで違う分野なわけです。
そう、この方は私が「できる」「できない」は決めつけないのです。
誰にでもできるものとして教えてくれるのです。
それを素直に受け止めてやればいいのです。
やり始めなければ、何も始まらないのですから。

まず私は「Rustって何よ?」ってことで「Rustプログラミング」のお勉強です。
「はじめる」をポチッとな。
そうするとターミナルでのインストール。うーん。久しぶりすぎた。
でもね、もしかするとインストールはこの順じゃなかったかもしれない。

そのまま読み進めるとエディタのインストールになるので、そこで「VS Code」を選択してダウンロードをして・・・なぜか「VS Code で GitHub Copilot を使い始める」を始める。
そう、もう一つのキーワードは「Copliot」ってこと。AIで書く時代だってことで、どういうものなのか体験してみた。GitHubのアカウントもまた作っちゃった。CopliotはGitHubアカウントなきゃダメで、来月から$10/月引き落としになるらしい。

なるほど???なるほど???

うーん。使いこなすにはかなり上級プログラマにならなきゃじゃないか?パクリ技術はあるけど、ゼロをイチにするのはなぁ〜。って、アプリ開発するんだから、それをもっとサポートしてくれるんだから使いこなすしかないわけよ。

で、まぁ触りだけしてみて、「これはやっぱり本が必要なのではないか?」と「オライリーとかどうなんだろう?」と聞いたら「Rustのオライリーはきっと、読むのを諦めるくらい難解だと思う」と。。。
だよね〜。
「Qiitaでひたすら基本機能を学べ」とな。
そして一言「Tauriは出たばかり」
だから〜ギフテッドに聞くんじゃなかったよ。と若干後悔はしたものの、まぁ何が出来るのかまで学んでみるのもいいのかもしれないと思ったわけで。

最後に出てきたワード「Tauri」を見てみた。
「そもそもTauriって」ってことを書かれていた方がいて、オープンソースのWebアプリ用のフレームワークってことです。
で、頑張ってまたインストールをするわけです。なぜ「英語・フランス語・スペイン語・簡体字」しかないんだ?Googleの勝手に翻訳で読み始めたのだけど、翻訳しちゃダメなやつまで訳すから意味がわからなくなる・・・。

この辺りは英語のままじゃないとほんとわからない。。。まぁ英語でもわかんないけど。

そして、それでも、macOS向けのインストールを進める。

iOSの部分のインストールの部分で、JAVAのランタイムのインストールが前もって必要とかってあって、そこの部分がなかなか大変だった。
さらにJAVAのインストールも一筋縄じゃなかったし。まぁエラーを検索したらそれなりに出てくるからまた探そう。備忘録で残そうかと思ったけど、もう忘れてしまったわ。
そう、順序としたら、まずこのフレームワークのインストールからした方が良いような気がしました。homebrewはきっとどこでも必要とされるのだろうけど、流れが良かったと思う。

さてと。
何から学んだらいいんだろう?