iPhoneアプリを作っちゃうぞ!の巻
二日前の自分はかなりの意気込みでタイトルのような心境だったのである。
連休の前日というのは、大抵テンションも高い。
オールカラオケなんかも余裕だし、普段やりたいと思うことが何でもできそうな気がする。
いわゆる負ける気がしねーというやつだ。
さて、そんな僕はたまたま本屋さんで見かけたiPhoneアプリを作る本を手に取ったのである。
これまでにもプログラミングには興味があったものの、C言語だのD言語だのよく分からないアチャラ語の乱立にめまいを覚えて、ゲームユーザーに甘んじていた。
時には現在までシリーズ化されているツクールソフトなんかをやってはみるものの、
与えられたキャラや演出を組み合わせるだけで、しょせん製作者の掌の上。しかも、自分で作った超絶につまらない中途半端な物語を動かすだけで満足し、諦めていた。
ではなぜ興味が再燃したかと言えば、
それまでのiPhoneアプリは1980年代から続くObjective-C言語で作られていたものが、2014年にアップル社が比較的簡単にプログラミングできるようにとswiftという言語を作ったらしい。
そう、まだ5年ほどしか経っていない若い言語なのである。
つまり、まだ初心者だらけ。
もちろんプログラミング言語である以上、他の言語と共通する知識も多いのは事実だが、書店に行ってもまだそんなに多くは参考書も出ていない。
さらにこの言語をプログラミングする環境はMacなのである。
まぁ、iPhoneやiPadで使用するアプリを作るのだから当たり前と言えばそうだが、大抵その手のプログラムはWindowsの環境を必要とするものが多く、もちろんMacでできなくもないのだが敷居が高い。
つまり、Macユーザーの自分にとって扱いやすいものである事が分かり、俄然やる気に火がついたのである。
さて、そうなるとまずはプログラミングの教科書が必要だ。
そこで超初心者でもできるような本を片っ端から立ち読みして、その中から自分が作りたいアプリに近いものを見つけた。
それは他の本に比べて薄いものだったので、後々のことも考え、分からないながらもう少し厚い本と合わせて二冊買ってみた。
佐藤優さんによれば、基本書は最低3冊は読んだ方がいいという。
なぜなら、共通する部分から基準が分かるからだ。基礎の部分が分からないと何を勉強すればいいが分からないし、そのテキストがどのレベルのものかも判断できない。
とはいえ、一冊3000円はするし、どれもこれも同じくらい難しい感じがして立ち読みしてもよくは分からない。
それもそのはず、プログラムはパソコンに打ち込んでみないと頭の中でいくら分かったつもりでもうまくはいかない。
そこでとりあえず二冊を読みあさってみた。
薄いその本はとても分かりやすく、丁寧に「”」を入力したい時はシフトと2番のキーを押すんだよとまで書いてくれてて、初めて読む本としては最適だった。
しかも後ろの方には実際のアプリの作り方まで載っている。
ワクワクした。
とりあえず最後までザッと読みきって自分がしたい事は何かを考え、いらないプログラムは飛ばして、Macに打ち込んでみた。
いつもはこうしてブログに文字を打ち込むかiTunesを管理するくらいしか使わないMacが急に賢いAIみたいに思えてくるから不思議である。
おお、Macは裏側でこんな事をしているのか〜なんて感心しながら、謎のプログラム言語を見よう見まねで打ち込んでいく。
ところが、である。
何度実行しても動かない。
素人がよくやりがちなスペースや半角記号などケアレスミスを何度もチェックしながら、テキストのサンプルと見比べても間違っているようには見えない。
実際は素人だから打ち間違いかもしれないが、アマゾンのレビューを見ると、どうやらヴァージョンが古いらしい。
ここがよく分からないのだが、普通古いコードは新しいものでも使えるのではないかと思う。ただレビューの中に古くて使えなかったというのもあったので、やはりそうなのだろう。
仕方ない。
けれど、基礎概念というものは何となく分かった。
もう一冊分厚いテキストをしばし読みふける。
最初の方の説明は、大体同じ。
ふむふむ。
絶対に挫折しないiPhoneアプリ開発「超」入門 第7版 【Xcode 10 & iOS 12】 完全対応 (Informatics&IDEA)
- 作者: 高橋京介
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2018/11/22
- メディア: 単行本
- この商品を含むブログを見る
しかし、分厚くてなかなか読み進められない。説明文は読みやすい。単に内容が濃いのだ。
こうして1日目はあっという間に終わってしまった。
まだプログラムもろくに書いていないのがちょっとストレス。
さらに別のストレスもある。
それは、動作環境の遅さとあまりにグロくて途中でヤメてしまったジュラシックパークめいた島でサバイバルするようなゲーム
にマインクラフトを足したゲーム
をやりたくてうずうずしているのである。
デフォルメされたレゴブロックでできたような恐竜たちがのそのそと自動生成された島で闊歩し、地面を掘り集めた土で固めたみすぼらしい家で孤独な生活に耐えながら、いつかプテラノドンの背に乗ってこの島を探索するんだと思いつつ、携帯モードの本体裏の熱さにも負けず黙々と時間を削った休日を思い出す。
ニンテンドースイッチライトなら軽いだろうから心配もないのだろうが、手首が重さで痛い。
でもその重さを忘れるくらいに黙々と無人島生活の続きがしたい。バーチャルトリップ万歳!
こうしてゲームを作りたい気持ちとプレイしたい気持ちに揺れ動きながらも、眠りについたのであった。
さて二日目。
分厚いテキストの後半はいくつかのアプリの実例が書かれていたのだが、ザッと見て自分の作りたいアプリはその中には無かった。
いくつかのアプリを作ることで勉強させようという意図は分かるものの、こちらは自分の理想のアプリを作りたいのだ。
そこで書店に足を運んで三冊目を探した。それがこちらの本。
たった2日でマスターできるiPhoneアプリ開発集中講座 Xcode 10 Swift 4.2対応
- 作者: 藤治仁,小林加奈子,小林由憲
- 出版社/メーカー: ソシム
- 発売日: 2018/10/22
- メディア: 単行本
- この商品を含むブログを見る
いかにもなタイトルだが、別に二日間にこだわったわけではない。
購入に至った一番の理由は2019年5月に第2版が出されたこと。対応ヴァージョンも新しい。
で、読んでいくと三冊目ということもあって、分かるところが増えている。
とはいえ、縄文時代だけ詳しい受験生みたいなものだが。佐藤さんの自論は正しい。おぼろげながら基礎めいたものが見えてくる。
さらに自分が作りたいアプリの土台となるようなプログラムも見つけた。
しかし、他にも買い物があったので、帰宅したのは20時すぎ。
21時くらいから始めて、悪戦苦闘の末、二時間後やっとアプリができた。
動いただけで感動!
これが実際のアプリの写真。
本当はこれにサンプルの「グー、チョキ、パー」の絵も表示するのだけど、とにかく早く完成させたくて文字だけの表示にした。
じゃんけんスタートのボタン部分を押すと、上部のグリーン色に「グー、チョキ、パー」のいずれかがランダムで表示される。
はっきり言って誰でもできるごくごく簡単なプログラムである。
ただ、いろいろと大事な要素が入っているのも事実。
写真はMac上のシミュレータで動いているのだが、なぜかiPhoneに転送ができない。
しかも自分が作りたいアプリは前回書いたような言葉遊びのもので、もっとたくさんの文字列がランダムで表示されるようなものだが、それを実現するにはまだまだ知識が足りない。
でも、でもである。
たったこれだけの単純なアプリなのに実に楽しい。
例えば、文字や背景の色を変えてみたりするだけなら簡単にできる。
「グー、チョキ、パー」ではなく、凝った文章をランダムに表示させるだけで占いアプリのようなものも作れそうだし、他にもアイデアしだいで中身は同じでも全く違うアプリになりそうだ。
文字数はいくつまで可能か?
絵はどんなデータが扱えるのか?
アニメーションさせるにはどうすればいいか?
配置できるボタンはいくつまで作れるのか?
などなど技術的な疑問は尽きないが、今できることだけでも二日前の自分よりは進歩している。
ただし、二日前の自分はもっとできてる感じだったのだけどw
ちょっとプログラムをいじってみるだけで、謎のエラーコードが表示されまくる。
おそらく、それでもこれまでの言語よりはエラーコードもアドバイス形式で分かりやすいのだろうし、よく使われるコードは入力補助表示もされる。
本来長いコードで記述するものも、シンプルなコードになっているらしい。
Apple社としては今後この自社開発の言語を推していく方針だから、公開自体も無料だし、アップデートされていく事も間違いない。
この短時間の間にもミスを繰り返しながら、少しずつ何がダメなのか分かってきた事もある。
あのテキストの説明はこれの事だったのかと分かる部分も一冊目を読む時よりは増えてきた。
どこまでできるのかは分からないが、もしプログラミングに興味がある人はちょっとだけでもかじってみるといいかもしれない。
何より令和生まれの子ども達は、何らかのプログラム授業を受けるのが当たり前で、あと10年もすればスマホを触るような感覚でちょっとしたプログラムを修正するのが当たり前になっているような気がする。
少しでも早く触れて後出しジャンケンと言われないようなおじいちゃんになろうかと思う。
こちらとらMS-DOSの時代から生きとるんどす。
なんじゃそりゃ。