次週以降に解説するアプリケーションの概要

次週以降に解説するアプリケーションの概要

本連載では、iPhoneで稼働する業務ソフトの紹介をします。今週はまず概要を説明し、次週以降、サーバ側の処理の解説、iPhone側の解説、そしてiPad対応させる場合の解説と続けることにします。テーマは「観葉植物のレンタルのセールスマン」として、レンタル可能な植物をリストから選択し、予約を入れるというところに絞った機能にします。

最初にお断りしますが、完全な業務対応の仕組みを組み込むとなると、かなりたくさんのコードを書く事になり、全体が見渡しにくくなるので、解説記事として成り立つ範囲で最低限の組み込みとしています。組み込んでいない機能については、可能な限り方針等で説明しましょう。

まず、サーバーではMySQLを稼働させて、レンタル商品やスケジュールなどを管理しています。画像はWebサーバーに登録したファイルから読み出しています。なお、認証については組み込んでいませんが、業務ソフトであれば、「設定パネル」等を用意して、ユーザー名やパスワードを記録するといった仕組みは作っておくべきでしょう。Web側で認証をかけるようにしておき、ダウンロード時に認証を行う機能をCocoa側で呼び出せばいいでしょう。

アプリケーションを起動すると、サーバーからレンタル商品の一覧を取得して、リスト表示します。画像も表示しています。ネットワークにつながっていない場合の利用を考え、サーバーからのデータの取得が成功すれば、それをiPhoneの中に記録するようにしておきます。通信エラーが発生したとき、記録したデータがあれば、それを代わりに使うようにして、オフライン動作を行っています。

レンタル商品一覧と、その個別の画面を、お客さんと見ながら検討し、レンタル可能かどうかを予約が入っているかどうかでチェックします。データベースには予約だけを入れていますが、サーバーに予約状況を確認した時、「空き」のレコードを追加してiPhoneに返しています。そしてレンタルする商品と期間が決まれば、入力画面で必要な項目を埋めて、サーバーに登録します。なお、ネットワーク接続されていないときの登録については対応していません。

iPadの登場で業務アプリ開発はどうする?

この記事を書いているときには、米国でiPadが発売され、日本では未発売なものの、さまざまな方法で入手した人が見せびらかすという状況のまっただ中です。iPhoneが320×480ピクセルに対して、iPadは1024×768ピクセルと、画素数では5倍も違っています。明白に言える事は、iPhoneとiPadで共通の画面デザインで稼働させることはあり得ないことでしょう。

iPhoneは基本的に1画面に1機能ということになり、遷移するユーザー・インタフェースが中心でした。しかしながら、iPadでは「スプリットビュー」という仕組みが追加され、メールソフトであるようなリストと内容を並行して表示するようなユーザー・インタフェースが作りやすくなっています。

iPadでは「なるべく全画面の書き換えがないような工夫」が必要であるとされており、その点からもiPhoneとの違いはあります。

iPadではキーボードもそこそこ大きく表示され打ちやすいので、iPhoneと違って、「打ち込む」という作業をなるべく避けるということはしなくても済みそうです。また、iPhone OS 3.2から、キーボード自体をカスタマイズすることができるので、入力するデータに対応した使いやすいカスタム・インプット・ビューを定義するということができます。

iPhoneでは、ポップアップ・メニューやリストといったものが原則的にはなく、Webページでそうした素材がある場合には、画面半分を使って選択を行う「ピッカー」というオブジェクトを利用します。図3にあるサンプル・アプリケーション右端の下半分に出ているものです。

しかしながら、iPadでは独特のデザインのポップアップ・メニューがあります。これは「ポップオーバー(Popover)」という名前がついてます。これらは互換性がないので、iPhoneならピッカー、iPadならポップオーバーを使うという部分は組み替えが必要になります。また、「アクションシート」という名称で、プルダウン・メニュー的な仕組みも利用できますが、これは見栄えはポップオーバーと同じような感じです。

結果的には、iPhoneとiPadではそれぞれ別々のプログラムを作るのに近い労力がかかる可能性もあります。同じOSだからと言って静観はできません。

*編集部注:「Dashcode」の名称が間違っていたため、修正しました。(2010.05.24)

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30