Home > Tags >

ObjectiveC 2.0を読みながら周辺状況を確認

ObjectiveC 2.0 を読みながら、一応現状も見ておこうと、OSX や iPhone で目的となるデータを操作するにはどうすればいいのかという事を調べてみる。

iPhone Dev Center はログインしないと読めないしいろいろ制約つきなので、とりあえず Apple ID を関連付けておいてログイン。

ざっと見たところ、例えばカレンダーは OSX 上で iCal と連携するには CalCalendar Class を使えばいいらしい。しかし、iPhone のリファレンスを一通り眺めてみたところ、素直にはいかず苦労しそうな感じ。

標準的な機能として iCal と iTunes 経由での連携ができるはずなので、標準で連携がとれておりデータの保持形式も決まっているクラスを使うのが本来は一番楽なはず。これは実際に App Store が出来て、プログラム関連の情報が公表され出揃うのを待つしかないか。現在は Agreement の壁で色々と書くのも読むのも難しすぎる。

安全なウェブサイト運営入門

情報処理推進機構 安全なウェブサイト運営入門

友人知人に強者が多いのであまり私が紹介しても意味が薄いかもしれないが。一応。

専門家としては、宣伝ウェブやウェブ店舗をある程度メインにして商売をやっているならば、最低限こういうリスクはあるとふまえておいてもらいたいラインが学べるゲーム。Windows 専用。インストール必須。

実際に作る側ならばそれこそ 知っていますか?脆弱性 (ぜいじゃくせい) 安全なウェブサイトの作り方 でも見た方が良いのだろうけど、リスクを認識するためのとっかかりとして見てみたり、発注側として「このあたりは大丈夫だよね?」と契約に入れておくために学ぶあたりが丁度良いのかもしれない。

Cocoa づくし

雨で外出する気にならないのを幸い、ウェブ上の特集を漁って Cocoa などの周辺状況を学んでみる。こういうチュートリアルとリファレンスの間にある概略的な所は、OSX の構成と言語とフレームワークががっつり噛み合ってできているので、登場時に詳しく解説されている記事を読んだ方がわかりやすい。

【特集】TigerのCocoaにみるMVCの完成 - スマートなデータモデルを実現するCore Data

これを読み終えたら、次は ObjectiveC 自体をそろそろ体系的に学んでみるか。

Objective-C 2.0プログラミング言語

Cocoa はやっぱり ADC

iPhone を買うかもしれないし、そろそろ OSX で不満な点も見えてきたので自作ツールを投入したい。ということで Mac OSX でのプログラミングもやってみようかと、 Apple Developer Connection (ADC) の 日本語翻訳 から Cocoaアプリケーションチュートリアル を試してみる。

どうせ慣れてくれば英語でも問題が無いことは今迄のプログラミング言語体験からわかっているものの、最初のとっかかりから英語は流石にきつい。そういう意味でもリファレンスは訳してくれないけれどもとっかかりは訳してくれているアップル日本の姿勢はまあ悪くはない [1]。本当は Microsoft のように全部訳してくれるのが一番だが、まあシェアの問題もあるしね。ただ、iPhone まわりの開発を考えるとそろそろ充当して欲しい翻訳はいっぱいある。

さて、私はC/C++の基本的な所は一通りわかるものの、Objective Cの文法は ダイナミックObjective-C の連載で軽く見た程度。実践していないのでわからないに等しい。

そこでついでとばかりに、 Xcodeスレ を参考に荻原本こと 詳解 Objective-C 2.0 と、ヒレガス本こと Cocoa Programming for Mac OS X も注文しておく。これでしばらくは遊べるはず。

「Currency Converterウインドウの作成」で Text Field と間違えて Text Field Cell を使おうとしてしまい「あっれー、ドラッグで配置できない」と無駄に悩みまくる。勘が働かない新しい環境だと仕方がない範囲の無駄作業というところか。

しかし、インタフェースの配置で推奨インタフェースに沿ったガイドライン線が出るのは有り難い。自然と配置が整列できるので、自然と見た目も美しくなるし、ユーザインタフェースにおけるボックス配置とアライメントを考える良い機会になる。デザインの基本となるベースラインによる整列と近接配置の概念さえおさえておけば使える便利さが素晴しい。

「コントローラとビューの相互接続」の箇所が微妙に罠。

ライブラリで、オブジェクト項目をMainMenu.nibウインドウへドラッグします

これが「ライブラリ」の「Object」の事だったとは…訳すなら統一して欲しい。ConverterController.h を読みこませても目に見える反応が無いのにも騙された。

インタンスメソッドの宣言が - で初まるのにとまどってバグの素にしてしまったりしながら、なんとか最後までビルド完了。確かにGUIな基礎部分はほとんど Interface Builder でできることがよくわかった。しかし、IB からコードを触るようなパラダイムではないので、そういう意味ではしっかりと MVC を意識しまくらないと辛いようだ。

あえて比較するならば、Ruby On Rails では命名規約で Controller と Model, View の繋りを暗黙のうちに規定できるようにしているが、Cocoa では流石にウェブと違い適用範囲が広いのでそんなに甘くはなく、宣言だけコード側ですませておいてから IB で繋げまくる必要がある。まあ、それもGUIですっきりはっきりできるのが利点か。

とりあえず、Objective C のメッセージによる通信と、実行時の型確定によりかなり色々できそうな雰囲気はよくわかった。次あたりは何か小規模なものを一つ習作として作り潰してみて、それから本題に行くとしよう。

  1. OSX の起動時に Unix 系のデーモン1つつっこもうとするだけで、英語と格闘になるけどねっ orz []

Windows Live プラットフォーム日本語公開

Windows Live デベロッパー センター

ちょっと興味深かったのでメモ。

Windows Live ほにゃららを利用するために、以下のようなフレームワークが用意されている。

  • インフラストラクチャ
    • Silverlight™ Streaming by Windows Live: リッチメディアのストリーミング等の利用
    • Windows Live Admin Center:独自ドメインでのLiveサービスの利用
  • ユーザー データ:
    • Windows Live Spaces: ブログやSNSサービスを、ウェブに組込める
    • Windows Live Contacts: Messenger や Hotmail のコンタクトリストを、ウェブに組込める
    • Windows Live Photos: Windows Live スペースの写真の読み出しや書き込みが行える
    • Application-Based Storage: ユーザ毎の状態や設定情報を Live サービスにまかせられる
  • メッセージング:
    • Windows Live Messenger: メッセンジャーの組込みや、オンライン状態の確認など
    • Windows Live Alerts: メッセンジャーと連携した通知サービスを作れる。GYAOでの配信などがある様子
    • Windows Live Agents: 自然言語処理に対応したエージェントが作れる…って要するにボットか。
  • 地図および検索
    • Virtual Earth: 地図を組込み利用できる
    • Live Serach: 検索できる
  • 認証
    • Windows Live ID: Windows Live の認証やプロファイルの管理を行う

興味深いのは、C# で書かれた上で、Script# を用いて JavaScript にコンパイルした、というSDKが含まれていること。.NET Framework と結合させて C# で書いてもいいし、完全に独立させて JavaScript だけで書いてもいい、ということのようだ。複数のインタフェースを用意するのはあることはあるが、完全に同じものをコンパイルだけでそう見せているのはなかなか独特だ。

Home > Tags >

Return to page top