16.iPhoneアプリ開発
本テーマが第40回目と切りのよい段階を迎えながらも、更新間隔がえらく空いてしまいました。
それは、出張で忙しかったという表向きの言い訳があるのですが、実はアプリ開発においての目標感が弱まったという現実です。
アプリ開発スクールでの企画案プレゼンを行いながら、己だけでプログラムの完成が見込めないレベルだと自覚しました。
ただ同時に開発回避策が出現したため、学習の機会をそこへと位置づけたのです。
ですから、いまはビジネスのノマド・ワーキング化を進めて、効率的なタスクマネジメントを行い、プログラム開発の時間を捻出する基盤づくりを進めています。
まぁ、いわばiPadの環境づくりに精を出しているんですな。
たとえば先日の広島出張では、東京からの新幹線においてこんな感じの作業空間を構築しました。
マイ・オフィスな状態です。↓
いやぁ~、実に快適でした。
iPad本体とBluetoothキーボードのコラボレーションには、ワークを行う上で何のストレスも感じさせません。
お薦めです!
今更ながらN700系のWiFi接続と電源装備は、ビジネスにとてもよいですね。
せっかくの移動時間を有効に使えることが、飛行機ではなく新幹線を選択させてしまいます。……JRの思う壺ですな。
では次回、iPadを使ったプレゼンに関するあんなこと、こんなことをまとめます。
第39回目は、いままでの日誌をまとめて、オープニング画面開発の総括を行いましょう。
まず、ロゴマークのフェードアウトに関するプログラム設計です。
【ヘッダファイル編】
画像データとプログラム内の変数とを結びつけます。
ボタン操作としてのアクションを指定します。
【メソッドファイル編】
プログラム中に潜む"-(void)viewDidLoad{"を見つけたら、文頭にある"/*"と文末の"*/"のコメントアウトを外します。
そう、初期設定ではなぜか"viewDidLoad"が仮死状態になっているんですな。
その後は、以下のような処理を展開していきます。
画像データが表示されたら、それを画面上で動かす準備です。
そして、"NSTimer"を使って変化の繰り返しを行います。
変化内容は新たな定義を組み、"NSTimer"で呼び出します。
以上、当方が最初に作ったiPhoneアプリの骨格です。
では次回、キャラクターを歩かせるためのプロミングな勘所をまとめましょう!
はい、第38回目。
アプリ開発の出来映えに影響してしまう画像データについてまとめます。
アプリを一見し、「お、これはプロの仕事だ!」と感じさせる要素に、画像の用い方やその仕上がりレベルがあります。
でも最近は素人画でも味わいがあって、思っているほど見劣りしないものです。
ですからできる限り、自分で画像データを作ってアプリへ反映させましょう。
開発環境が提供しているライブラリーをそのまま使っていると、あまり代わり映えしませんからね。
……ということで、ロゴやキャラクター、ボタンなどの画像をグラフィックソフトを用いて作成してみます。
まず、iPhone3GSの画面サイズは"480×320ピクセル"です。
その中に収まるように画像データを設計しておきます。
当方の場合は、画像データのリスト表を作り、それぞれの縦横サイズを記述しておきます。
保存する時は、".png"が拡張子となるフォーマットにするのが定石なんだとか……。
できあがった画像データは、Xcodeの"Resource"フォルダへ放り込んでおきます。
"images"という子フォルダを作って、そこへ登録しておくと整理されますな。
そして"InterfaceBuilder"を使って、画像を画面配置していきます。
その際は、それぞれの画像ファイルにあるHiddenをチェックして非表示扱いを忘れずに。
そうそう、画像データのリスト表にはプログラムで宣言する変数も記しておくと後々便利ですね。
……と、画像に関してはこんな具合ですか……な。
ちなみに今月末に発売されるiPHone4は"960×640ピクセル"です。
だからそれだけ、繊細な画像が表示できるという訳ですな。
iPhone4専用のアプリなら画像データにもっと凝れそうですが、当分はiPhone3ユーザーとの互換性を考えて、"480×320ピクセル"でよろしおまっしゃろ。
では次回、プログラムの組み立てに関して、過去の研究日誌を振り返ったり、新たに情報を付け加えたりしていきます!
第37回目。しばらくぶりの更新となってしまいました。
前回の日誌で動画配信したオープニング画面は、下図のようなプロセスでプログラムを設計しています。
① あらかじめ、グラフィックソフト等で画像データを用意
② 画像ファイルを『Xcode』の"Resources"フォルダ下へインポート
③『InterfaceBuilder』上で画像を配置。ボタンにも画像を取り込み
④ ヘッダファイル内で変数を宣言し、『InterfaceBuilder』で連結
⑤ メソッドファイルでロゴ&キャラクター表示とそのアニメ処理設定
⑥ 次の画面へ遷移するボタンを表示させて、ユーザー操作まで待機
こんな具合で、オープニング画面を組み立てています。
たったこれだけのことでも、いろいろと試行錯誤しました。
それをこうして不十分ながらも描きながら説明することで、自己理解の度合いを深めようとしています。
それがこのブログのコンセプトなので……ね。
では次回、画像データを作る際の留意点をまとめます。
あっ、iPadのKeynoteで扱うプレゼンデータの変換について新たな発見が……!
さて第36回。
iPad騒動にうつつを抜かしていましたが、ここからもう一度アプリ開発の振り返りを行いたいと思います。
こうした検証を重ねることによって、知識は定着してくれるものですから......。
まず仕上がったオープニング画面を見てみましょう。
以下のYouTube動画を再生してください。
(フォーカスが甘くてお見苦しい点をお詫びします)
アプリの動作としては、以下の流れです。
1. ロゴマークがフェードアウトして消える
2. のうくんがトコトコと歩いてやってくる
3. のうくんが立ち止まってポーズを決める
4. しばらくして吹き出しセリフとスタートボタンが表示される
こんな具合でした。
絵コンテ通りです……ね。……ちょっと違うな。
(これがその絵コンテ)
オープニング画面といっても特にどうってことはありませんが、当方としたら頑張った結果なんです。……お許しを!
さて次回からは、これらのプログラムをその構造設計からまとめ直していきたいと思います。
第35回は、ここ2週間アプリ開発をほっぽり出させた張本人iPadについてです。
いったい何が、大事なアプリ開発の時間を犠牲にさせたかというと、まぁ~いわゆるお絵描きなんですな。
iPadの大きな画面では、絵を描くという行為にストレスを感じさせませんから……。
ここがiPhoneと最大に違うポイントだといえます。
そんな当方が気に入って使ったのは、『Draw for iPad』という無料ソフト。
筆種にバリエーションがなく、ただ同じ太さの色鉛筆があるだけ。
色の種類もたった9色。そして大雑把な消しゴムが並びます。
色を選び、描いては消す。……ただ、それだけです。
そんなシンプルなアプリでも、ツイッターと連動させられる仕組みには驚かされました。
描いたイラストをすぐにネット上へ公開できるのです。
そして早速、NHK大河ドラマ『龍馬伝』の登場人物を描き始めたのでした。
以下に並ぶのが『Draw for iPad』で描いたイラストです。
( ↓ 絵をクリックしたら原寸のデータが表示されます)
吉田東洋 | 岩崎弥太郎 | 河田小龍 | 山内容堂 | 望月亀弥太 |
平井収二郎 | 岩崎弥次郎 | 坂本乙女 | 徳川慶喜 | 近藤勇 |
沢村惣之丞 | 岡田以蔵 | 平井加尾 | 三条実美 | 勝塾の塾頭 |
……と、これからも続けます。
新作は出来次第、当方のツイッター(http://twitter.com/happy1hirata)でお知らせしています。
なかなか楽しい遊びでありながら、皆さんからの反応もいただけて嬉しいもんです。
さらにリクエストも頂戴している次第です。
ちなみに、坂本龍馬や武市半平太はまだ登場させていません。
半平太はともかく、龍馬を描く時がこの楽しみのラストになるでしょうから……。
ねっ!
そりゃ、アプリ開発という五里霧中な行為をおざなりにしてしまいますよね。
さて次回は、そうはいってももう少し主題に戻ってアプリ開発の続きをまとめていこうと考えています!
どうにかこうにかの第34回目。
とうとうiPhoneアプリ開発講座の最終日となり、自作アプリのプレゼン機会がラストになりました。
進行役の方の「アプリができあがっていなくても、企画だけでOKですよ!」の呼び声に、無謀にもそのプレゼンへ立候補しました。
何もできていないのに……。
いつものように講座にはメディアの取材があったので、某国営テレビのカメラが捉える中、自作「i脳アプリ」をお披露目したのです。
この日誌の進行具合からご承知の通り、現時点ではオープニング画面しか仕上がっていません。
したがって、自社のロゴマークがフェードアウトし、その向こうから"のうくん"というキャラクターがトコトコ歩いて来て、ひと言セリフを吐くだけの動きを、えらそうに見せびらかしたのでした。
しかし、それだけではミカンの皮が飛んでくる虞があるので、以前FLASHで制作した診断画面も実演しました。
これはちゃんと大脳生理学的な診断ロジックで作られており、まともに動きます。
(なお、現在は公開しておりません)
その上で、アプリ開発に対する気持ちだけを高らかと語り尽くしたのでした。
そうして締めくくりに、
「この10回の講座で学んだことは、自分ではアプリ開発ができないという事実。そこで、一緒にコラボレーションしてくださる方を募集します!」
というメッセージを伝えました。
ま、せっかくアプリ開発の勉強をしているのです。このままでは中途半端。
誰かと組んで、その方々から技術を吸収していくというのが、当方には適しているという見解なんですな。
ダメ元気分のメッセージを残して、プレゼンを終了した次第です。
でもそのあと、お声かけしてもらったりで、少し前進できるかも……といった状況になっております。
次回は、当方がはまっているiPadネタを一発、まとめます。
第33回は、アプリ開発の時間に多大なる損害を与えたiPadについてです。
先日、iPadだけで企業研修の講師を務めました。
先方はIT企業であり、当方とも長くお付き合いいただいているので、iPad講義第1号として取り組ませていただきました。
その節はありがとうございました。……ペコリ!
いつもは窓ノートでパワーポイントを用いながら講義を行うのですが、今回はその講義データをKeynoteに変換し、iPadのVGA変換ケーブルで出力するという、ずっと夢に描いていたスタイルで挑んだのです。
まずは準備。
MacBookへパワポのデータを放り込み、Keynoteでそれを開きます。
ここまでは問題ないのですが、起動させると様々な表示がオリジナルのままとはいきません。
たとえば、以下の具合。
・フォント
(MacBookにインストールしていないのは、同じように表示されません)
・縦書き表示
(Keynoteはテキストの縦書きに対応していないのか……?)
・アニメーション設定
(互いのアプリケーションが持つトラジションが異なります)
そこで、MacBookのKeynote上で、パワポデータをせっせと加工したのです。
そして想定していた通りの表示やアニメーションが整いました。
……で、その加工済みデータをiTunes経由でiPadへ移したのです。
しかし!
アニメーションに関しては、Macbookで設定したとおりにはiPadのKeynoteで動いてくれません。
なんじゃ、そりゃ!
同じアプリケーションのデータなのに、Mac用とiPad用とでは動作に違いがあるとは、「オイオイAppleさん!」とツッコミを入れてしまいました。
でも、よく調べていないので、もう少し突っ込んで取り組んでみます。
ただ研修における効果としては、講義の休憩中に受講者から「iPad見せてください」と声を掛けられたことですかね。
単なるデバイスなのに、デジカメで撮影するなど、なんだか盛り上がる皆の衆でした。
さて次回は、とうとうiPhoneアプリ開発講座が終了し、当方が自作をプレゼンした状況をお伝えします。
……えっ、アプリはできたの?
第32回目は、タイマーを動かしている間に実行するメソッドです。
"-(void)logo_move:(NSTimer*)timer"と指定し、その次の"{"からは以下のような処理が続きます。
1.ロゴマークの"Hidden"を"No"として、非表示から表示へ切り替え
2.画像の倍率を"0.04"落とすための変数セット
3.画像の単位行列を生成し、そこへ縮小倍率を掛け算
4.ロゴマークのデータに単位行列を適用し、再描画
5.1~4までの動きを画像が消える時点まで繰り返し
6.カウンターの設定値に到達すれば、次のアニメ処理へ移行
……とまぁ、こんな具合です。
さて正直、このところプログラム開発が停滞しています。
それはヤツの存在……そうiPadって野郎です。
手に入れて10日経ち、はじめて仕事先でも利用しました。
次回からは、そのあたりの活用ドキュメントをご報告します!
とうとうこの第31回目で、プログラムが動き出す入口までやってきました。
いやぁ、プログラミングの理屈はよくわかりませんが、参考書ベースで試行錯誤しながら、思うようにアプリが動くと嬉しいものです。
その最初の動きが、ロゴマークをフェードアウトさせるプログラムでした。
まずヘッダファイルに、タイマーから一定間隔で呼び出す速度を宣言しておきます。NSTimerを用いるので、次のように定義するそうです。
"-(void)move:(NSTimer*)timer;"と、@endの上くらいに記述します。
そしてメソッドファイルに移り、"-(void)viewDidLoad{"と"}"の間にタイマーのクラスメソッド"NSTimer scheduledTimeWithTimeinteval"を記述します。
実行における秒単位での時間間隔、呼び出すメソッドの指定、そして繰り返していくという意思を示してください。
すると、"selector:@selector(○○○○:)"で呼び出されたメソッドに処理が飛び、プログラムが指定の間隔で処理されるという仕組みです。
その○○○○メソッドには、ロゴマークが次第に小さくなる仕掛けを設定しておきます。
前回の記事でいうと、”scale_x”と”scale_y”の変数になります。
これを”scale_x -= 0.04:,scale_y -= 0.04:”などとしておくと、その値ずつ画像が小さくなります。
そこでの縮小間隔が、先ほど設定した秒単位に基づくのですな。
(上図の例では、0.5秒ずつ減っていく具合となってま~す)
ここではソースコードの詳細を記述していないので、なんとなくプログラム処理の理屈だけを認識しましょう。そんなもんです、このブログは……。
でもまぁ次回は画像を小さくするメソッドについて、もう少し詳しくまとめるかもしれません。
いやいや、iPadの使い方についてお知らせするかも……、です。
えっ、第30回目。……よく、引っぱった。
ずっと、デザインとプログラムの関連をつける準備ばかりでしたが、ついにアプリに動きを与える時が来ました。
まずは、オープニング画面。
ロゴマークをズームアウトしていくアニメです。
それを『そのまま使えるiPhoneゲームプログラム』のサンプルコードをひな形にしながら、作業を進めました。
ヘッダファイルには、" IBOutlet UIImageView *logomark;"と記述してロゴマークの画像を当てています。
次にロゴマークを表示する座標と、それを縮小させる倍率を得る変数の宣言を行うんです。
表示する場所を決める変数を、"int logo_x,logo_y;"と宣言します。
これは、ロゴマーク表示のX座標とY座標に値を入れるための変数となります。
別途作成するメソッドファイルで、その変数に具体的な数値を代入します。
この値は整数なので、"int"とするんでしょうな。
次に、ズームアウトする時に画像を徐々に縮小させますので、その倍率を設定します。
これは"float scale_x,scale_y;"と、小数型の"float"で変数を宣言しています。
この変数へ"0.9"→"0.8"→"0.7"という具合に、倍率を下げる値を放り込んでいけばいいのです。
さて、こうした変数の準備ができると、次は縮小するための繰り返しを制御するタイマー機能が必要です。
それを"NSTimer"という命令が受け持ってくれます。
このコマンドを使えば、一定時間毎に処理を繰り返すことができるのです。
その連続処理の中で、画像を動かしたりするとアニメになるんですね。
では次回は、そのあたりをチョッコリと……!
なんだかんだで、第29回目です。
アウトレットで設定された画面上のパーツは、形を変えたり、場所を移動したりと忙しいヤツらですが、静かに自分の出番を待っているクールなヤツも存在します。
それが、アクションという部品。
たとえば『登録』や『終了』などのボタンが、それにあたります。
プログラムによって画面へ表示されたボタン類は、ユーザーの指示を待っている状態です。
いわばクリックなどのユーザー操作を反映させて、プログラムへ新たな進行を促す命令系統が、"アクション"なのです。
アクションは、"-(IBAction)○○○○;"と記述します。
格納場所はアウトレットと違って、"interface○○○○ViewController : UIViewController"に続く" {"と"}"の外になります。
そんなこんなで変数の準備を済ませた後は、確実にヘッダファイルを保存して、"Interface Builder"を起動します。
ほんでディスプレイ上のパーツと、ヘッダファイルの変数とをマウスで結びつけていくのですな。
→【手順はこちら:5月15日記事】
さぁ、こうしてオープニング画面のプログラム準備が整いました。
次回はアニメーションのプログラムをどう記述するのか、まとめてみましょう!
なんだかプログラマーっぽい作業に入りましょう!
画面上に貼り付けた画像データを、プログラムと連結させる働きに"アウトレット"という定義づけを行います。
今回のアプリ開発に関しては、"○○○○ViewController.h"なるヘッダファイル内に、アウトレットを宣言する形を取りました。
ヘッダファイルをエディタで開き、
"@interface ○○○○ViewController : UIViewController"に続く" { "と" }"の間へ記述していくのです。
まずは、"IBOutlet"と記述。
これは「画面上のパーツと結びつける処理をここに宣言します!」ってな具合です。
そこに半角スペースで間を取って、"UIImageView"と続けます。
これは「画像を画面に表示するんだ!」という意思表示。
そしてその表示対象として、"*"のあとに任意の変数を設定します。
ラストは";"でコマンドを終了させます。
まとめると以下の通り。
IBOutlet UIImageView *noukun_1;
こういうのをヘッダファイルへどんどん設定していくのです。
IBOutlet UIImageView *noukun_2;
IBOutlet UIImageView *fukidasi_1;
IBOutlet id appliStart;
・
・
・

......それは変数を持つインスタンス(オブジェクト?)になります。
たとえば、形が動く、色が変わるなど、変化させる対象となるパーツを"IBOutlet"で宣言するのです。
では、ボタンをクリックするなど、変数が不要な一度きりの処理に対しては、どのように宣言すればいいのか?
次回はそのあたりについてまとめましょう!
6月となり、一ヶ月続いたこの研究日誌。
本日で第27回目となります。
実は今朝、Podcast番組『Apple News Radio ワンボタンの声』の"371回 A.N.Radio : iPadを持って会社へ行こう の巻"で二度目となるコメントを読んでいただきました。
さらにそのトップページには、このブログが画像と共にリンクされており、番組の1ファンとして喜んだ次第です。
そんなこんなで勇気づけられながら、iPadではもっぱらお絵描きをしております。
無料スケッチソフト「Draw」を使い、NHK「龍馬伝」の登場人物をiPadでサクッと描きなぐっています。
その落書きデータはこんな具合でまとめました。→【ここをクリック】
......ということで、本日のテーマです。
"Interface Builder"上に、準備したアニメーション用の画像を貼り付けていきましょう。
手順は、5月13日から14日の記事がおおまかな流れです。
メインキャラクターである"のうくん"をパラパラ漫画のごとく、動作を変化させるので複数のデータを貼り付けるのですが、ただディスプレイ上に並べるだけでは画像が重なってしまいます。
こんな場合は、"Inspector"の左タブにある"View"下の"Drawing"に設けられた"Hidden"のチェックボックスをクリックしておきます。
そうすると、起動時には複数の画像が表示されません。
あとはプログラムによって、必要なタイミングで表示をon-offさせればいいのです。
続いて、貼り付けた画面上のパーツをプログラムへ反映させていきましょう。
その手順は次回にてまとめます。
第26回目。いよいよプログラム開発のディテールに突入! といきたいところですが、「何から手ぇつけたらええのやろか」と悩みました。
やはりここはアイキャッチとなるオープニング・アニメやんけと、画像データを駆使した動画を作ることから着手したのです。
まずは絵コンテです。
こんな感じで画面の動きを走り書きしたら、あとはプログラミング。
……さぁ、困った!
あらかじめテキストがあれば、それに沿って作業すればいいのですが、自分で一から作るとなれば「どないしたらええんやぁ」と固まってしまいました。
やはりここは、本屋へ行くべきです。
そこで、自分が作りたいプログラムに近いソースを提供する参考書を買おうと急ぎました。
やはりアニメ関係のプログラム・サンプルは、ゲーム開発の参考書が適切です。
表紙に踊る"ゲームプログラム"というフレーズが、五十近い男の買い物としてはきわどく、レジの処理が長く感じられました。
そうして『そのまま使えるiPhoneゲームプログラム』という、まさに求めていたタイトルの参考書を買って帰ったのでした。
さて、次回はちょっこりプログラムを作る手順をまとめます。
第25回目は急遽、アプリケーション開発を阻害するヤツについて語っておきます。
それは何を隠そう『iPad』です。
5月28日の発売初日に、予約なしで並びました。
その当日は月曜からの福岡出張の最中。
手に入れることは無理だとあきらめていました。
しかし前日の27日に宿泊先のとなりにあるビックカメラを覗いたところ、iPad発売の店内準備がされていました。
店の人に伺うと当日分があるということと、午前8時から売り出すということで、一挙に手に入れる現実味が増したのです。
テレビ報道では東京銀座は長蛇の列。したがって、当方も早々に就寝し、翌朝は夜が明け切らない頃から店の前へ。
何せ午前8時10分にホテルへタクシーを呼んでいるので、開店後7~8分で手に入れなければならず、一番目に並ばねばなりません。
現地に着くと……誰もいない。
1時間しても、誰も来ない。
午前8時の開店時には、8名くらいしか列にいませんでした。
そんなこんな具合で予約を終え、すぐに仕事へ復帰したのです。
これがアップルストアだったら、行列が多くてあきらめていたでしょうね。
さて、こんな強力なデバイスを手に入れてしまうと、興味はそこに集中してしまいます。
アプリ開発とは自分の有限な時間と引き替えに行うものなので、コヤツの存在がプログラミング活動を阻みます。なので、ほどほどに……。
次回は前回の予告通り、オープニング画面のアニメーション仕様です。
いわゆるどのようにこのアプリが動作するのかを、画面遷移ってヤツを描きながら設計していくのです。
まずはオープニング画面をアニメーションで処理。
その後、はじめての起動であれば自己診断画面に移り、質問(選択肢)に答えていく。
その選択内容を元に計算を行い、診断結果が画面表示される。
続いて、詳細内容も見ることができる。
......と、自己診断のパートだけをチョコチョコっと描き出しました。

では次回、オープニングにおけるアニメーションの動きをまとめます。
ご存じのように開発力ゼロな当方が、どのようなアプリケーションを創作すればいいのか?
それは決して、新しい技術やギミックを生み出し、iPhoneアプリ業界に革命をもたらすなど、夢物語を描いてはいけません。
できることは、一日の長であるアドバンテージに頼る。そう......、過去の資産(コンテンツ)で勝負するのです。
......で、自分を棚卸ししてみると、ありました。ありました。
約2年前に本まで出した『八脳スタイル』です。
早い話、このメソッドをiPhoneアプリ化すればええのんです。
そんな大それた技術は不要だし、利用できるデータも揃っている。
「よぉし!」と膝をたたき、早速企画案をまとめました。

ユーザーが大脳生理学に基づいた自己診断を行い、その分析結果をビジュアルで表現。
続いて、気になるアイツ(彼、友達、上司、同僚、後輩)を想定した他者分析。
それらのアウトプットとして、自分と相手の相性度や対応方法が表示され、脳的につながりやすい相手のベスト10がランキングされるという内容なのだ。
......できるのか、オレ! ......まっ、いい。
それよりもここで発見した事実は、『儲からん!』という計算上の印象です。
iPhoneアプリの単価って缶コーヒー代ほどしかなく、どうバラ色の結果を目論んでも、微々たるリターンしか得られないのです。
労働生産性、悪っ!
でもまぁ、今回は卒業制作なんだと割り切り、まずはアプリケーションの動作フローを設計することにしました。
その内容は次回にて公開いたします。
いままさに自作アプリに取り組もうとする意欲の向上には、週に1回のペースで通っているアプリ開発講座が大いに影響しています。
実は第10回目の最終講座までに、卒業制作を仕上げなければなりません。
一応、卒業課題は用意されていますが、せっかくだからオリジナルなものを創作したいのが人情。
そのうえ完成度が高いと、「アプリ自慢」というプレゼンの機会が与えられるのです。

集合教育のいいところは、同じような境遇ながら頑張り合える機会や仲間、情報が得られることでしょう。
特にこのスクールには出版社やテレビ局の取材が入ったりして、世間におけるiPhoneアプリ開発への期待や熱気が押し寄せてきます。
さらにいえば、ここの主催者の方が、我々受講者をあおる、あおる〜。
......ということで、6月10日の夜にはオリジナル・アプリを完成させようと、いま焦っている最中です。
では次回、当方はどんなアプリを開発するのか?
その企画部分を紹介します。
第21回目となり、一度振り返ります。
5月1日の第1回を、iPhoneアプリ開発の動機付けから始めました。
そして第7回までが、開発環境準備編です。
マシンの調達やアプリ開発講座の受講、そして仲間づくりとモチベーションをキープするお膳立てでした。
第8回からはいよいよ、iPhoneアプリ開発の基礎学習です。
第13回までで"Interface Builder"を紹介し、第16回までが"ヘッダファイル"です。
続いて第18回まで、"メソッドファイル"を簡単にまとめました。
第19回を"iPhoneシミュレータ"、そして第20回が"アイコン"の作成と登録です。
こんな具合にノンビリと進んできました。
一応、サイドバーの『よりぬき研究日誌』には、トピックとしてカテゴリー化しています。
(記事は降順なので、下から上へと時系列です)
では次回より、オリジナル・アプリケーションの開発へ挑戦する過程を追ってみます。
なんやかんやで第20回目。
プログラムが完成していなくても、iPhoneを接続して"ビルドとデバッグ"を行うと、ディスプレイにはアイコンが登録されます。
初心者の当方としては、この瞬間がなんだか嬉しいもんです。
しかし残念なのは、アイコンを画像ファイルとしてXcode内に追加しておかないと、そこにはただの白い四角形が表示されるしかありません。
やはりオリジナルなアイコンが欲しいところです。
では、その方法。
まずアイコン用の画像データを作成します。
もちろんグラフィック作成ソフトのお世話になるわけです。
当方が得意なソフトのは、、窓XPにおける「Fireworks」です。
しかしiPhoneアプリ開発はMacOSなので、「Fireworks」が使えません。
したがってフリーソフトの「GIMP」を用いました。
……いま慣れずに苦労しております。
57ピクセル角で画像を作成し、形式をpngファイルとして保存します。
それを、Xcodeの"Resources"フォルダに追加し、同じフォルダ内の『○○○○-info.plist』へ登録するのです。(○○○○はプロジェクト名)
『○○○○-info.plist』内の"icon file"の右欄をクリックし、そこへアイコン画像のファイル名を入力すると登録完了。
あとはXcodeのメニューから「ファイル」→「保存」でokeyです。
~ちなみに上図の画像は、当方が開発しようとしているアプリのアイコン(仮)です~
もうあとは、ビルドすればiPhone画面に自分が作ったアイコンが勝手に並ぶのです。
プログラムなんか作らずに、どんどんアイコンだけを作成&登録を繰り返し、ディスプレイ一面をオリジナル・アイコンで染めるのも一興でしょうな。
では、次回はちょいと今までを振り返ってみます。
iPhone画面をレイアウトしたら、プログラムと関連づける準備をし、ユーザー操作を命令として記述する――こうしたアプリ開発における一連の作業途中で、ふと、大きな不安に包まれます。
それは、
「これでホンマに動くんかしらん?」
という疑念です。
そこで登場するのが、『ビルドとデバッグ』です。
"Xcode"や"Interface Builder"の各メニューには、トンカチとスプレー(?)のアイコンがあり、これをクリックすると、いままで作ってきたプログラムをコンパイルしてくれます。
そして、画面の右下に「問題なく完了しました」という表示が出ると、プログラム上の記述ミスはないというお知らせ。
しばらくすると、開発マシンのモニター上にiPhoneの画面が登場し、プログラムが走り出すのです。
おそらく多くの開発者は目の前で思った通りの動作を確認するや、ニヤリと口元を緩めていることでしょう。

そう、iPhone画面に並ぶ"Evernote"や"iTunes"のアイコンの隣に、自分で作ったアプリが恐縮しながらも鎮座してくれるのですよ。
この醍醐味が、まさにiPhoneアプリ開発の中毒性なのか......?
ただこの段階でiPhone画面に並んだ我がアプリのアイコンは、単なる白い正方形でしかありません。
では次回、iPhoneアプリのアイコンの作り方と登録方法をまとめてみます!
……でもって、第18回目となりました。
アプリを動かす"メソッドファイル"の構造について、チャチャッとまとめます。
"Interface Builder"で画面配置した各ライブラリー(ボタンや画像、文字など)を、プログラムにてコントロールするためには、ヘッダファイルでそれらの存在を宣言します。
そして画面上の操作、たとえば「OKボタンをタッチすれば登録の処理が行われる」などを、メソッドファイルに書き込んでいくのです。
上図では、
-(IBAction)☆☆☆☆をヘッダファイルで宣言し、
それを"Interface Builder"にセットした『はい』ボタンと関連づけて、
メソッドファイルで、"-(IBAction)☆☆☆☆ {"と"}"間に処理プログラムを記述する。
そんな具合となります。
これらファイルに用いるプログラム言語は、"Objective-C"というやつになります。
この"Objective-C"については、いずれまとめます。……いや、まとめなければなりません。
まぁ、いろいろと複雑な処理をこのメソッドファイルが受け持つため、上図のような記述方法は最もシンプルな例だといえるでしょう。
さて、メソッドファイルで操作内容のプログラミングができたとしたら、次は何を行うのか。
それは、iPhone上で動作するかどうかの確認・検証です。
その方法は次回にて……。
そんなこんなで、第17回目。
初歩的なiPhoneアプリを開発する手順としては、"Interface Builder"で見かけを作り、"ヘッダファイル"により見かけと中身のつながりを設定しました。
そしていよいよ、それらに動きを与えてやらなければなりません。
そんな重要な役割を、"メソッドファイル"が受け持ちます。
ザックリ、このような関係性だと考えますが、いかがっしょう?
さて先日このブログに対して、『続けて行けばわかりやすい解説書になりそうですね。RT @happy1hirata: 【本当に0=ゼロ=からのiPhoneアプリ開発】』というTwitterでのつぶやきをいただきました。
お褒めの言葉、ありがとうございます。
実は、このように絵を描いて知識や手法をまとめていくのは、自分の理解を深めるためにやっていて、皆様方に解説をしているなどとは口が裂けても言えません。それほど烏滸がましいレベルなのです。
したがって、間違った理解や不十分な情報があると思いますので、そのあたりをご注意いただければ幸いです。
でも本当の課題は、このブログを『続けて行けば~』という条件なんでしょうね。
う~ん、見事なご指摘です!
では次回、プログラムの要となる"メソッドファイル"の構造にちょこっと迫ります。
第16回にもなってくると、いよいよ『プログラムを打ち込む!』という表現に近いことをしなければならなくなりました。
よくわからない領域のでなるべく避けていたのですが、ここへ踏み込まないとiPhoneアプリは生まれないのですねぇ……。
専門用語について理解が必要なので、参考書を紐解きますしょうか……ね。
……フム、フム。
なんらかのプログラム的な処理をするためには、その設計図が必要で、これを『クラス』って誰かが決めたようです。
そしてそのクラスの中に、いろんな部品が必要なので、それらを『インスタンス』と名付け、その部品の仕様となる値なんかを『インスタンス変数』って、これも誰かが決めてくれました。
……で、このクラスにはファイルってのがあり、"○○○~.h"という『ヘッダファイル』と"○○○~.m"なる『メソッドファイル』が肩を並べています。
でもって、"Interface Builder"で作成した画面デザインとプログラム連動させるためには、このヘッダファイルをいじらなければならないのです。
画面と関連する"○○○~ViewController.h"をダブルクリックすると、モニター上にエディタが起動します。
そこへ直接入力していけばいいのですって。
画面連動で注目する部分は、"@interface ~~~ {"の表示です。
これから下の行にある"}"の間に、インスタンス変数を宣言します。
その後、"@end"までの行内にアクションとなるメソッドを宣言するのです。
まぁ、やり方だけはわかりました。
でも、インスタンス変数とかメソッドとか、いったいどのような役割をするのか、いまだにピンときていません。
とにかく、まだ宣言の段階なので、なんの動作もしてくれませんしね。
ということは、『メソッドファイル』で宣言した各要素を動かす理屈を知らなければならない……のか。
さぁこのあたりを、いま自分が理解する限りで、のんびりとまとめてみます。
では次回!
では第15回目をお届けします。
"Interface Builder"でつくった画面デザインに、動作を行うプログラム部分へつなぐにはどうしたらいいのか。
それにはまず、"Xcode"の"Classes"フォルダ内にある『○○○○ViewController.h』というファイルを見つけることです。
これがヘッダファイルです。
そのファイル内へ、画面上に設定した各パーツに対して、プログラムで実行させるアクションや変数などを登録していくのです。
絵的には簡略していますが、こんなイメージですね。
では次回、どうやってヘッダファイルにアクションや変数を書き込んでいくのか?
そのあたりの具合を、サクッとご紹介します!
さぁて、第14回目のはじまりぃ!
"Interface Builder"は顔を作りますが、表情は作れません。
いわばディスプレイ上に部品が整っても、無表情なiPhone画面でしかないのです。
そこで"Xcode"で宣言する変数やアクションらとつなぎ合わせが必要になります。
"xibウインドウ"という管理画面上にある"File's Owner"のアイコンをクリックし、"Inspector"の左から二つ目のタブを指定します。
するとそこには"Outlet"なるアクションや変数が並ぶので、"View"上に置いたパーツとマウス操作でグイッとつなぐのです。
ではなんで、"Outlet"にアクションや変数があるのかって……?
それは"Xcode"であらかじめ設定しておいたからです。
そう、この作業を行う前に、あるファイルの中へそれらを宣言するのです。
……ということで、次回はいよいよ、"Interface Builder"から離れて、"Xcode"のファイル操作に移っていきましょう!
第13回目となりました。
引き続き、"Interface Builder"についてです。
(その構成は第11回目に掲載)
"View"というディスプレイ部へ、"Library"に用意されたボタンやコントロール部品、外部データなどを貼り付けていきます。
iPhone画面の仕上がりをイメージして、パーツを並べていくのですね。
そして、そこからです。
それらを自分好みに変更していかねばなりません。
例えば"Label"というパーツは、画面に文字を表示するものです。
それをディスプレイにドラッグしたら、"Inspector"というウィンドウの上部左端にあるタブをクリック。
ウィンドウ内には、いろいろと文字を制御する項目が表れるのです。
あとはその項目から、文字入力やそのフォントを変更したり、大きさや色を変えたりと、自由に化粧を施していきます。
その他のパーツを試すなど、ルンルンな感じで楽しみましょう。
自分が思うような画面に仕上がっていくと、俄然鼻息が荒くなります。
そしてすぐにでもiPhone上で動かしたい衝動に駆られるのですが、実はこの"Inspector"だけでは全くプログラム制御ができません。
さぁ、これからが本番なのです。
では次回、どうやって画面上のパーツにプログラムを連動させていくのか、そのあたりをまとめてみます!
第12回目で~す。
"Interface Builder"の醍醐味は、"Library"にあるパーツを"View"といわれる画面上へ貼り付けるところです。
iPhoneアプリを使っているとよく見かける操作部品がディスプレイに並ぶだけで、なんだか立派なアプリケーションになっていくように思えます。
さぁ、これらを思い存分に貼り付けたら、それぞれの表示や色などを自由に変更したいのが人情ですね。
その方法は次回にてご説明!
では、第11回目。
いよいよプログラミングを始めるのです。
Xcodeで画面設計を任されている"Interface Builder"というツールは、Resources内の"~ViewController.xib"というファイルをダブルクリックすると起動します。
下図のように、一挙に4画面が表示されます。絵で示す(A)~(D)です。
iPhoneアプリのデザインを画面から直接設計できるので、これを使っていると開発している気分になって、楽しいです。
上の絵でいえば、(A)のデザインを施すディスプレイ画面上に、(D)に並ぶライブラリー部品をマウスでドラッグしながら置いていきます。
(A)上の部品をクリックで指定し、(C)の中にあるコントローラーで形や大きさなど調整していきます。
そんなことを繰り返しながら、画面デザインをブラッシュアップするのです。
(B)は、のちにXcode上で記述する変数などを、(A)にあるライブラリー部品と関連づけしたりするヤツですかな……。
以上がいま、当方が知る限りの"Interface Builder"情報です。
「嗚呼、なんだか自分にでも作れそうかも……」と、思い込むことが大事ですね。
では手始めに、何を作ればいいのか……?
なぜか最初に作るプログラムは「Hello World」が習わしらしく、多くの参考書やWeb情報に、その手順が記載されています。
ギターでいえば、1弦を開放でポロ~ンと弾くようなもんでしょう。
……ということで、別に意欲が沸かなくても、目的がなければこの「Hello World」をつくるしかないのです。当方もその類でした。
では次回、もう少し詳しく"Interface Builder"を解説します!
さぁ、第10回目。
毎週iPhoneアプリ開発セミナーへ通っていてのメリットは、常に1週間に1本のアプリをつくる機会があるということです。……ほぼ、コピペですが。
でも、新規プロジェクトの登録から開発終了という過程を繰り返すことで、1回切りで忘れがちな操作を記憶に定着させてくれますね。
昨日も次回テーマの『玉転がしゲーム』をこさえました。そこで思い出したのです。
昨日の日誌に書いた内容には"抜け"があるということを……。
それは新規プロジェクト名を登録するまえに、開発するアプリのテンプレートを選択しなければならないという意思決定でした。
なんとなく作り始めるのではなく、まずどのようなアプリを開発するかイメージしておかねば、この段階でのテンプレート選択は行えません。
でもとりあえずXcodeを試したいのなら、最も単純な"View-based-Application"を選べばいいらしいです。(参考書やWeb情報より)
それでは次回、このひな形の上に部品を貼り付けて画面デザインを設計する"Interface Builder"について、当方の理解の範囲で説明いたします。
さて、第9回。
プログラム開発で最初にお付き合いする"Xcode"について始めましょう。
「よっしゃ、アプリ開発するぞ!」と、大きな目標なのは結構なことですが、すぐにそれが適うはずもありません。
「俺は世界一のロックン・ローラーになるんだ!」と意気込んでも、まずはギターでコードのひとつも押さえられなければならないのと同じです。「あ、これEマイナーね」ってな具合に、小さな発見と地道な継続が必要なのです。
……ということで、Xcodeの場合はその操作画面を理解することから始めました。
最初に新規プロジェクトの登録があるので、任意のプロジェクト名を入力します。
やはり"test"という単語を含むネーミングをつけてしまいますね。
そして操作を進めると、Windowsでいうところのエクスプローラーのごとき、ファイルマネージャ風のインターフェイスが表れます。
これがXcodeのメイン画面です。だから説明なくても、画面の構成はすぐにわかります。
しばらく、Xcode画面とにらめっこ。
……さぁて、何からいじればよいのか?
このXcodeは開発者向けのツールですから、当方のような初心者がすべてを知ろうとしてはいけません。
今の段階では知らなくてもよいことを排除して、残る必要最低限な操作から取り組んでいこうと決めました。
参考書やセミナーから得た情報は、まず”Classes”フォルダにある"任意プロジェクト名+ViewController"の”.h”と".m"。
そして"Resources"内にある"任意プロジェクト名+ViewController.xib"の計3ファイルを知れば、簡単なアプリならつくれるということです。
こうして絞られてくると、なんか取り組めそうな気がしてくるから不思議ですな。
何事も最初の一歩が簡単に踏み出せそうなレベルまで分解してしまえばいいのです。
では、それぞれのファイルについて、次回より説明をいたします!
無事にアプリ開発が可能な環境(家庭含む)を手に入れたら、いよいよプログラミングのお道具を使いましょう。
そのためには、Appleが無償で提供しているプログラム開発ツールとは何かを知る必要があります。
まずは一番、お世話になるであろうツール。
その名は、"Xcode"!
プログラミングを始めるまでは、この"Xcode"が開発する上で何を意味し、どう役立つのかがよくわかりませんでした。
Mac系の開発参考書をAmazonで検索すると、"Cocoa"や"Objective-C"などの書籍が提示されて、それらの違いすらピンときません。
中高年である当方は、『マニュアルなんか読まない族』です。
さらに技術者でもないので小難しい理論や歴史はスルーしながら、とにかく楽しんでプログラミングする姿勢を貫くべく、以下のように最低限の知識として開発環境をまとめ描きました。
このように、"Xcode"はアプリの動作を生みだすボディ部分です。そして見た目の良さは、"InterfaceBuilder"が受け持つのです。
さらに"Objective-C"が物事を考えたり表現したりする言語となって、"Cocoa"という舞台装置をどんどん使うことができるのです。
……わかります?(合ってます?)
ま、雰囲気だけでも伝わればokeyです。
では最初にやるべきことです。
それは、この"Xcode"と"InterfaceBuilder"のアイコンを、画面下にあるドックへドラッグすることです。
これでいつでも開発ツールは呼び出せます。
また第三者にデスクトップをのぞき見されても、「えっ、アプリつくってんの?」と嬉しい反応が返ってきます。
もうこの行為だけで、気分は充分にアプリ開発者なんです!
さぁ、あとは"Xcode"を起動すれば、何かが始まるのです。
それは次回にてお伝えします。
マシンやツールなどの開発環境を準備し、学ぶ機会が整ったとしても、これだけは避けられないファクターがあります。
それは、家族の理解です。
特にライフ・パートナーが抱く抵抗感には、相当なものがあります。
いつもいつもこうした諍いが起こるのには、そこにあるメカニズムが潜んでいるからです。
互いの論点が違うのです。
何かをはじめる側の者にとって、見えている視野は未来です。
そう、未来輝く投資なんです。
しかし、それを受け止める側の視点は現在なのです。
したがって浪費にしか見えません。
相手はその現在を攻めてくるのです。
投資する側にとっては、現時点って全くのウイークポイントですからね。
家庭におけるアプリ開発などという浮世離れした行為は、家族の暖かな支援がないと続きませんから、こうした現実にはしっかりと対処しておきましょう!
……ということで、次回はいよいよ開発ツールである"Xcode"についてお伝えいたします!
ハードやソフトウェアによるアプリ開発環境が整うと、次にはプログラミングを始めなければなりません。本来、これがメインテーマですから……。
多くの人は、学習を始めるために参考書を用います。
当方は前述の『iPhone SDK 3 プログラミングの基礎』で始めました。
しかしどんなに単純なプログラムでも、一発でうまく動くとは限りません。
タイプミスがあるのか、画面と処理のひも付けがうまくいっていないのか、デバッグには悪戦苦闘が待っています。
これはひとえに知識や経験値が少ないためです。
であれば、知識や経験値が豊富な人と接点を持つことが上達の近道です。
そして、その実践には習い事が効果的なのです。
早速、iPhoneアプリ開発講座なるものをサイトから探しました。
いろいろとWeb情報を収集しながら、東京でないとセミナーは充実していないという事実に改めて気付かされました。
そんなこんなで結局、近場であり開発内容の豊富な講座を選びました。
それが「iPhone アプリ2ヶ月開発マスターコース」への受講となったのです。
3月30日から始まった講座に、Mr.IDEと共に臨みました。
午後7時からスタートは、いきなり開発ツールを起動させ、サンプルコードのコピペを中心にプログラムづくりが始まります。
そして講師はその手順をロジカルに解説していくのです。
サイトでは「初心者でも受講できる」と謳われていますが、"受講できる"のであって"理解できる"のではありません。
事前に開発ツールを起動し何か操作をして、少なくとも開発インターフェースの構造や見方を知っていないと、講義にはついていけないでしょう。
やはり習い事はその場だけで力が付くのではなく、その場に向けて自らがどれくらい取り組んでおくか、その地道な活動でスキルが伸びるのだといえます。
したがって当方も、次週の課題を事前に組み立てておき、疑問点を本番で尋ねることにしました。
ちなみにこのセミナーはマスコミ取材が入ります。
雑誌やテレビ番組に取り上げられ、講義中に撮影があったりするので刺激的ですよ。
そのセミナーの具体的な内容は、今後アプリ開発の進捗と共にお伝えする次第です。
さぁ、あとはじっくりMacと付き合っていけばいいのかと思いきや、最も重要なファクターが残っていました。それは次回、サクッと紹介!……。
Macbook Proのメモリ増設やSSD換装を行い、OSやアプリケーションのアクティべートも無事に済ませ、想定していたマシン環境を整えました。
いよいよiPhoneアプリの開発環境を設定することになります。
お手本としたのが、SCCの『iPhone SDK 3 プログラミングの基礎』です。
アプリケーション開発を行うにあたって、絵を描いてプログラム・デザインしているところが気に入ったから買いました。
『紙上インターフェイスビルダー』というアプローチがGoodです。
技術的な解説内容のレベルはわからなかったので、こうした「これええやん!」的な直感に頼るしかありません。
さてその本に倣って、まずはAppleへのデベロッパー登録を行います。これはアプリ開発環境をダウンロードするための準備です。
すでに持っている"Apple ID"を用いて基本情報を入力します。実はこのIDが、後で厄介なことになります。それは後述します。
それから『iPhone SDK』をダウンロードします。
このファイルは、アプリの開発環境パッケージそのものです。
それをダブルクリックでインストール。画面にしたがって操作していきます。
この作業は特に問題なし。
ここまでは、すべて無料です。
開発環境を無料提供するAppleの姿勢には、ユーザーとしての有り難さとビジネスとしてのしたたかさを感じさせますね。
さぁこれで、Mac本体におけるプログラム開発は可能となりました。
しかし、iPhoneでアプリを動かすためにはまだ準備不足です。iPhone実機へのプログラム転送処理が必要なのです。
そしてそのためには、"Apple Developer Program"への登録が求められます。
いやぁ、これが複雑でした。なんどもサーバーとやり取りしてようやく承認となるのですが、それがサクッといかないのです。
特に難儀するのが、事前に登録していた"Apple ID"です。その日本語データ部分がAppleの自動登録を阻害するようで、結局はサポートへ連絡して手動で認証をしていただきました。
この登録完了でiPhone実機へアプリが転送でき、さらには"Apple Store"での販売の可能性が生まれます。
そのお代として、年間99ドルの支払いとなるのですが……。
こうして半日かけた開発準備は完了。
さて次回は、当方が申し込んだアプリ開発講座についてお伝えしますす!
何事も新しく始めるには、初期投資がつきものです。
当方の場合、iPhoneアプリ開発にはどうしても開発マシン環境の構築が必要でした。
過去を振り返ると、PC8001→88→98→Windows3.1~XPに至る窓側の人間でした。
そんな歴史を踏むPCライフの中で、はじめてのMac購入となったのです。
さてそこで最初のアクションは、雑誌やWebなどの媒体で情報収集です。
候補としていたアプリ開発講座の受講条件として"MacBook持ち込み"必須だったので、マシンの選択肢は絞られます。
ホワイトかProか、はたまたAirか!
開発マシンとしては搭載するメモリ量が必要と思い、その増設ができないAirは断念。
素人がよろこぶ"Pro"という称号に憧れ、MacBook Pro 2260/13.3 MB990J/A購入を決意しました。
それからというもの、価格.comで値動きをみるのが日課となり、3月初めにいよいよ購入となったのです。
買ったのは本体だけでなく、操作の体感スピードを上げるためにメモリを4GBへ増設。そしてHDDからSSD128GBへ換装することにしました。
大手電機量販店にでかけ、ポイント狙いで本体購入。
値札にあった17%ポイントを20%にならないかと相談をしたところ、快く対応してもらいました。
そうこうして、我が家にはじめてApple社のマシンがやって来たのです。
さぁ、物質的な準備はこれで終了。あとはアプリ開発するための設定です。
その詳細は、次回にて紹介します!
若い頃に比べると、重い腰が上がらなくなる五十代手前。
そこで必要になるのは、モチベーション・キーパーとなるお仲間の存在です。
しかし今回、同年代でIT機器へのリテラシーが高く、さらにはプログラム開発を嗜好する人物なんぞ周りにいるのかと思いきや……。
いた、いた。いたぞ。
それは、Mr.IDEだ。
(このリンクサイトでは、氏がかっこよくスポットを浴びて羨ましい)
シリコンバレーで有名な音楽ソフトの制作に携わっていた元開発者なので、これは適任!
早速、アプリ開発セミナーを一緒に受けないかと打診すると……
喜んで受講すると即答してくれました。
やはり仲間ができると、俄然、意欲は沸きます。
わからないことがあったら、Mr.IDEのサポートも受けられるし。
……しめしめ。
ということで、アプリケーション開発に必要なのは、仲間の存在です。
こんな当方でもランニングが継続できているのは、同志の存在が大きいからです。
そうしたメンバーシップによって、アプリケーション開発への前向きな影響が生まれて、互いに盛り上がれるでしょう。ちょっとしたシナジー効果ですね。
さぁ、次に必要なのが開発マシン環境です。
その内容については、次回へとつづく……
当方のパーソナル・コンピュータ所有の歴史は、約30年前にさかのぼります。
生まれて初めて手に入れたパソコンは、NECのPC8001。それに普通のテレビをつなぎ、データカセットが記憶装置でした。
キャットジャパンという通販会社で購入し、生まれて初めてのローンを組んだのです。
これらマシンを手に入れると、ハドソンのゴルフゲームを買いました。
ホールめがけて座標を入力すると、画面にドットのボールが"ピッ、ピッ、ピッ"と表示されます。
おかげで、locateコマンドを学ばせていただきました。
その後はもっぱらN-BASICでゲームを作りました。といっても、雑誌に載っているプログラムソースをひたすら機械的に打ち込むだけです。
しかし、プログラムのバグを自分で見つけ出せるようになったのが進歩でしたね。
それからは35歳でシステム開発会社を興したりしたのですが、プログラミングはもっぱら開発者に任せていた具合です。
VusialBasicなどの開発ツールを用いて、簡単な処理プログラムをつくったりしました。そういえば、AccessとExcelを連動した某社の予算管理システムも構築しましたね。
しかしそんなものです。ちょこっとパソコンをかじっているユーザーレベルなのです。
本格的にオブジェクト指向やC言語を学んだ訳ではありません。
……なので、『本当に0=ゼロ=から』と名付けたのです。
そして、"五十を目前にゼロリセットして取り組む"という生きる姿勢も表現している壮大なタイトルなんですな。これが。
では次回、「iPhoneアプリ開発講座の受講に向けて何を用意したのか」をアップします。
四十代ラストイヤーなのに、少年のような気持ちになって過ごしています。
それは、iPhoneアプリの面白さを知り、iPadなる新たなデバイスへの可能性に刺激されてしまったからです。
そのハマリ方は、まず3月初めにMacBook Proを購入。そして3月末からはiPhoneアプリ開発講座(10回コース)受講とまっしぐら。
……なんだか男の子です。
最初は訳がわからなかったアプリ開発も、セミナー受講が半分の5回を終え、ようやく自分でオリジナル・アプリを開発しようという野望に燃えはじめました。
そこでこの研究日誌のテーマである『描く』というスキルを活用して、アプリケーション創造開発力を自分のものにすべき、と思い立ったのです。
……あれ? それって以前にも同じようなことを……
そう『奈良学』というテーマで、同様の取り組みをしました。
まぁ、あれはあれで……。
1300年の歴史はそう簡単には……ね。
さて、今回の挑戦に向けての取り組みとしては、当研究日誌で掲載していくだけでなく、FacebookやTwitterにも連動させます。
Facebook ユーザー名: Kouichi Hirata (平田幸一)
Twitter アカウント:happy1hirata
では、そのアプリケーション開発とは、いったい何をモチーフにするのか?
それは……、
←コイツです。
(この画像は、昔つくった図書カード)
約2年間封印されていたキャラクターを使って、ある目的のiPhone用アプリケーションを創り出します。
そうして、その開発ドキュメンタリーを『本当に0=ゼロ=からのiPhoneアプリ開発』として当ブログへ掲載。アプリ開発の取り組み経過や将来展望などを随時アップしていきます。
「iPhoneアプリの開発ってこうやってはいけないのか!」という反面教師的にご覧ください。
……ということで、次回はアプリ開発講座受講以前をまとめて掲載します。