[iShoot by Ethan Nicholas: written in six weeks. Mostly while holding a baby…]
iPhone 3.0 イベントをみて俄然 iPhone プログラミングに対する興味が湧いてきた。
少し前になるが、たいへん興味深い記事があるので紹介しておきたい。
Guardian: “How to become an iPhone developer in eight easy steps” by Keith Stuart: 10 February 2009
* * *
余暇で作った iShoot
サンマイクロシステムズのプログラマーが余暇を利用して作った「iShoot」の話はきっと知っているだろう。このシューティングゲームは今年初めに App Store チャートをトップまで駆け上がり、何週間もトップの座にいた。おかげで作者の Ethan Nicholas はたっぷり稼げたので昼間の仕事をやめてプロの開発者に転向したのだ。
You’ve probably heard all about iShoot. Written by a programmer at Sun Microsystems in his spare time, this Worms-style artillery shooter blasted to the top of the App Store charts earlier this year and stayed there for weeks earning its creator enough money to pack in his day job and become a professional developer.
* * *
9歳の子供でも・・・
また9才の神童 Lim Ding Wen[林鼎文]が iPhone のお絵描きプログラムを書いたという話も聞いたことがあるに違いない。そのソフト「Doodle Kids」は結構な成功を収めた。たった2週間の間に 4000 回もダウンロードされ、国際的なニュースにもなったのだ。
You may also have seen the news this week about nine-year-old programming prodigy Lim Ding Wen who has developed his own simple painting app for the iPhone. Doodle Kids is doing reasonable business, attracting 4,000 downloads in less than a fortnight and gaining its author international news coverage.
* * *
みんなのプラットフォーム
今や iPhone は間違いなくみんなのプラットフォームになった。もちろん PC がインディーゲームソフトの主戦場であることに変わりはない。しかし参入の敷居が低く、ひっきりなしに消費者が買ってくれることから、いまやアップルのケータイは文字通り無一文から大金持ちになれるマシンとなった。ひと月もあれば世界のマーケットに届くアプリを開発でき、熱心な消費者がせっせとダウンロードしてくれるのだ。
There’s no question about it, iPhone has become the people’s platform. While the PC maintains a healthy indie development scene, Apple’s handset, with its low barriers to entry and seamless consumer purchasing system, is the real rags-to-riches machine. In practically a month, you can develop an application that will be available to a global market of enthusiastic downloaders.
* * *
ではそんなデベロッパになるにはどうしたらいいか。
いろいろなデベロッパから取材したガーディアン紙の Keith Stuart が8つのステップを踏めば誰でもそうなれるといっている。
* * *
誰でもできる8つのステップ
1)まずマックを買うこと
2)SDK(ソフトウェア開発キット)をダウンロードする
3)Objective C を学ぶ
4)実際に何か書いてみる
5)正規のデベロッパとして登録する
6)アプリを作ってみる
7)出来たアプリをアップルに出す
8)マーケットで勝ち抜くための手段を講じる
1. Buy a Mac
2. Down the SDK (software development kit)
3. Learn Objective C
4. Start writing something!
5. Sign-up as an official developer
6. Prepare for a few weeks of work…
7. Submit your app to Apple
8. Adapt, market and survive!
このうち初心者や門外漢にとってはプログラミングの実際が問題だろう。3) と 4) をもう少し詳しく見てみよう。
* * *
Objective C を学ぶ(Learn Objective C)
iPhone プログラムの開発に使う主たる言語は Objective C だ。Varrall[Stuart Varrall:Fluid Pixel の Creative Director]によれば、「(Objective C は)オブジェクト指向の C の拡張言語だ。スクリプトは大変取っ付きやすく、プログラミング言語を学んだことがあれば誰でも簡単に移行できる。」
This is the primary programming language for iPhone development. “It’s an extension of C to include object-orientated principles,” says Varrall. “It has scripting elements to it, so is easier to pick up than some languages and anyone with programming experience should be able to transfer their skills.”
「Objective C の簡単な歴史はつぎのようなものだ」と Scott[Peter Scott:Connect2Media の CTO]はいう。「Objective C はゼロックスの PARC 研究所で開発された初期のオブジェクト指向言語 Smalltalk から生まれた。ウインドウやマウスを使うコンピュータはここから始まった。アップルで使われたのは Lisa の時代に遡る。Smalltalk は C に大変よく似ている。」
“Here’s a short history of Objective C,” offers Scott, “It was born out of Smalltalk which was a very early Object Oriented Programming language developed in Xerox PARC (where Window/Mouse computing really begun) and as a consequence was heavily adopted by Apple since as early as the Lisa. Smalltalk is very similar to C.”
「Objective C は実際には Steven Jobs が所有していたネクストコンピュータで作られた。Jobs がアップルに復帰したときネクスト社はアップルに売却され、Objective C はマックの主たる開発環境となった。Java が好まれるのによく似て、プログラミングの際に生じる問題の多い部分をうまく処理することができるのだ。Objective C はナイスでシンプルだ。開発者の目からハードウェアの込み入った部分を隠し、C や C++ でプログラムする際に起きるメモリー・リークという問題点におおむねうまく対処できる。」
“Objective C was actually created by Next Computing owned by a certain Steven Jobs. When Jobs returned to Apple, he sold Next to the company and so Objective C became the main development environment for the Apple Mac. It is liked because in similar ways to Java, it deals with many of the problematic parts of programming…. It’s nice, simple, hides the complexities of the hardware away from the developer and deals with (on the whole) the major cause of programming issues in C and C++ which is memory leaks.”
* * *
実際に何か書いてみる(Start writing something!)
理論のことなんか忘れてしまえ。Objective C を一発でマスターしようなんてことは忘れてしまえ。とにかく何かプロジェクトをスタートさせることが肝要なのだ。Ethan Nicholas もつぎのように認めている。「iShoot を作りはじめたとき私は Objective C のことを何も知らなかった。Cocoa だって OpenGL だってそうだ。もちろん C のことはおぼろげには知っていた。しかし 10 年以上も触っていなかった。この 12 年間私は Java のプログラマーだったのだ。Java のような安全で快適な言語で仕事をしていたものにとって、移行はかなりの大事だった。Objective C ではたった1バイトのミスでプログラムがすぐにクラッシュしてしまうのだから。」
Forget theory; forget mastering Objective C with your first attempt. Just set yourself a project and start working. “I knew nothing about Objective C, Cocoa, or OpenGL prior to starting iShoot. In fact I barely even knew C,” admits Ethan Nicholas. “I hadn’t really touched it in a decade. I was a Java programmer for twelve years and it was quite an adjustment moving from a nice safe language like Java to one where a single misplaced byte can instantly crash your program.”
* * *
リバース・エンジニアリングのすすめ
もしオリジナルプロジェクトを立ち上げることができなくても、既存のものを変更することから始めたらいいと Varrall はいう。「SDK には開発の様々な問題を扱ったサンプルプロジェクトがごまんと入っている。どれかひとつを選んで、それがどうやって動くのかリバース・エンジニアするのがとっかかりとしては一番いい。それに新しい機能を追加してビルドすれば、あっという間にあなたのゲームが出来上がる。」
If you can’t face starting out on an original project, however, Varrall suggests a couple of modification tasks. “The SDK actually comes with a whole host of sample projects that cover most aspects of development. So the best place to start would be to take one of those and reverse engineer it and work out how it has been constructed. You can then build on these by adding new features and create your very own game very quickly.”
* * *
なんだかムズムズしてこないだろうか。
閉ざされた日本から広い世界に打って出る絶好のチャンスだ・・・
世界中のデベロッパが雪崩を打って殺到している。この機を逃してはなるまじ。
なお、原文のほんの一部しか紹介していないので、興味のある方はぜひ原文をご覧ください。
★ →[原文を見る:Original Text]
* * *
[iPhone デベロッパになりたいひとのための参考リンク]
・The KamiCrazy development blog
・The official iPhone development site
・Idevgames – a developers site
・Iphonedevsdk – a community development forum
・Mobile Orchard – information and useful blog posts
・148apps – an app review site
こんばんは
ほんと iPhoneにはわくわくしまね!
私は、プログラミングも、英語もさっぱりでだめです。
プログラミング本の翻訳をしながらプログラミング
う〜
それを、ブログにしてもらえたら最高です。
Objective C lalala ” へん かな
う〜 end
> fu さん
つい筆が滑ってしまいましたが どうもプログラミングは 敷居が高そうで・・・
[…] あなたも iPhone デベロッパになれる! [iShoot by Ethan Nicholas: written in six weeks. Mostly while holding a baby…] iPhone 3.0 […] […]