【第十三話】右往左往でしたけど。


はじめてのiPhoneアプリ開発 〜新米エンジニアの苦悩の日々〜

『type』の運営会社、キャリアデザインセンターが発行する 就職情報誌『就活type』(2010年10月1日発売)のiPhoneアプリ版が 先日リリースされました。
当社初の試みとなった、このiPhoneアプリ開発。 その舞台裏では、日々いろいろな事件(?)が起こっていました。
開発担当の新米エンジニア・ムラが体験した 驚きと苦しみと喜びに満ちたiPhoneアプリ開発記をお届けします。

【第十三話】右往左往でしたけど。


  • ニックネーム  ムラ
  • 使っているPCやガジェット
  • Mac book、iPad、iPhone3GS、ガラケー(モバゲー用)、EMobile, Apple信者、仕事ではWindowsXPを使用
  • 好きなサイト
  • Apple、はてな、ロックンロールニュース、ポテン生活
  • プロフィール
  • 『type』を運営するキャリアデザインセンターの システム部門に在籍する新米エンジニア。 システム開発・保守担当だが、実作業は社外の開発会社に依頼している。 たまにプログラミングやサーバー構築も手掛けるが、実務経験は浅い。
    温厚な性格ながら、時に鋭い毒舌を披露することも。 技術については独学で学ぶのが好き。 技術の参考書を集めることが趣味だが、読了しているものはほとんどない。

今回、筆者が制作したiPhoneアプリ

何のための就職か、その本質を伝える情報誌「就活 type」。各界のトッププレーヤーに聞くリアルな会社の情報や、働くとは何か等、自分のキャリアを深く考えるヒントが掲載された、就活生必見の情報誌。今回は、その就活typeをiPhoneアプリとして再編集しました。


どもども、ムラです。

いままでこの開発日誌でいろいろと書いてきました。
読み返すと、そんなに深い話はしてないなぁと実感。

そもそも、深い話をできるほどの知識はついていないのですが、
少しは覚えた専門用語についてちょろっと僕、書いてみます。

まず、ミーティングの際に困ったのは、iPhone特有の英単語?というのでしょうか。
もともとiPhone使いの僕ですが、直感的に使えるデバイスのため、
自分の行っている操作にどんな名前ついているかとかわからなかったんです。

調べていくうちにわかっていきましたけど、
ピンチアウト(2本の指で拡大する操作)とかフリック(はじく感じの操作)とか、よくわかりませんでした。
ピンチアウトにいたっては、操作の名前ではなく、フリーズしたときの緊急回避方法だと思ったくらいです。

よくよく調べてみるとぜんぜん違うじゃん!って思ったことが多かったです。
あと、あれですね。テーブルビュー。htmlのテーブルをどうしても想像してました。
なので自由自在にレイアウトができる仕組みなのかと思っていたら、全然違ってました。

そのほかにもウェブビューとか、タブビューとかいろいろと単語出てきましたけど、
なんとなくでも覚えられたのは収穫だったと思います。

今公開しているアプリでやりきれなかったこともあります。
たとえば、記事の一括ダウンロード。

複数の観点から、1コンテンツごとにダウンロードをするように作ったのですが、
ユーザーの方からはまとめてダウンロードできないと使いづらいというお声もいただいてます。
確かに、オフラインでの閲覧ができるのはダウンロード済みのコンテンツだけなので、
そこは不便だなぁと反省してます。
これからのアプリ開発に活かしたいと思っています。

あとはApple関連の手続き。
予想はしていたものの、結構手続きをするのに調べることが多かったので、
時間を結構使ってしまいました。
特に英語の読解が必要な箇所については時間がかかりました。
英語力必要だなぁと思いました。

世の中英語、必要なんだねぇ・・・。

パートナーさんは、しっかりと開発をサポートしてくれて、
いろいろと教えてくれたのでとても感謝しています。

ソースコードをいただいたので、がんばって読んでいます。
2〜3日くらいで1ファイル。

なかなか仕組みを理解するのは難しいですが、
細かな修正くらいならできるかなぁといったところです。

---

Webと開発環境で違うところをちょっと考えてみたいと思います。

僕の中で良くも悪くも目立ったのが、完全に開発環境が定められていたこと。
基本的には言語や開発環境は開発者が選べるのがWebだと思っているのですが、
iPhone アプリは Objective-C と Xcode でしか開発できないようです。
Objective-C自体はApple環境以外でも使えるのでしょうが、
実際のところあまりみかけません。求人でもあまり見かけませんね。

なので、必死で覚えても Apple プラットフォーム以外ではあまり使えないのかなと思っています。
(間違ってるかもしれませんが)

逆に、Android は Java を採用してますので、勉強した知識はむだにならなそうだなと、
安易ですが思いました。

これからさきはスマートフォン!って世の中で騒がれていますし、
iPhone対応は必要なので、しばらくはObjective-Cの需要もあるのでしょうね。

でも個人的にはライトウェイト・ランゲージか、Java がいいかなって思ったりしてます。

Java で開発できるようになるといいのに!

カップでコーヒー飲んでるムラ

(次回に続く)
※毎週金曜日更新