Developer's Blog

Mac 開発 アーカイブ

Snow Leopard に対応しつつ、Lion の API を叩く

こんにちは、Sleipnir 3 for Mac 開発担当の宮本です。

OS X Lion では、スワイプ(スクロール)によるページ切り替えやフルスクリーンなど、魅力的な新機能が追加されました。 Sleipnir 3 for Mac では、これらの新機能をいち早く取り入れています。

ただ、これらの機能は10.7以降の API が必要なので、Snow Leopard では使えません。かといって切り捨てられないので、Lion だけ新しい API を使うようにしたいですね。 また、Lion では新しい API を使ってもビルドできますが、Snow Leopard ではできません。 Snow Leopard でも開発をしているので、これは問題です。

そこで、今回は Lion と Snow Leopard どちらでも動作して、なおかつどちらの OS でも開発できる方法を紹介します。

続きを読む

Lion の新しいスワイプジェスチャー API を試す

こんにちは、Sleipnir for Mac でジェスチャー機能を担当しました宮本です。

Lion では標準のページ切り替えジェスチャーが変更されました。
Snow Leopard までは左右のスワイプでパッとページが切り替わっていましたが、Lion からは iOS と同じように指の動きについてくるなめらかなページ切り替えができます。

タッチイベントを自前で処理して実装するとかなり大変ですが、10.7以降には便利な API があって実は簡単に実現できます。 今回は、この API の使い方を紹介したいと思います。 ちなみに、Sleipnir for Mac でもタブ切り替えジェスチャーにこの API を使っています。

続きを読む

PyObjC で Python から Cocoa にアクセスしてみよう

iOS/Mac アプリ開発担当の松本です。
全部 Python で書けたら良いのにと妄想しながら、毎日 Objective-C 書いてます。

さて今回は PyObjC を使って Cocoa オブジェクトに Python からアクセスしてみたいと思います。PyObjC は名前の通り Python と Objective-C の双方向ブリッジで、PyObjC を使うと Objective-C で書かれたオブジェクトを Python から使ったり、その逆も可能になります。

PyObjC は Leopard 以降の Mac OS X にインストールされている Python にバンドルされているので、最近の Mac を使っていれば特に別途インストールは必要ありません。また PyObjC のサイトを見ると最新リリースが 2009年11月となっていてメンテナンスされていないような印象を受けますが、リポジトリを見ると、ひっそりとメンテナンスが続けられているようです。

続きを読む

Objective-C のルーツ! Smalltalk で純粋オブジェクト指向環境を体験しよう

Hello Squeak Smalltalk

 

こんにちは。オブジェクト指向な開発担当、金内です。

名著「達人プログラマー」では年に1つは新しいプログラミング言語を覚えることが推奨されています。たしかに新しい言語に触れると、慣れ親しんだ言語で凝り固まったアタマによい刺激になります。

嬉しいことに、世の中には既に数えきれないほどのプログラミング言語があり、新しい言語もどんどんどんどん生まれているので、「もう学ぶべき言語がないっす」ということは起こりませんね。

みなさんは「次に学ぶ言語」としてどんな言語に興味を持っているでしょうか?

今回は「次に学ぶ言語」としてもぴったりな Smalltalk をご紹介します。Smalltalk は、数あるプログラミング言語の中でも純粋なオブジェクト指向プログラミング環境の手本として高く評価されていて、最近では iPhone / iPad アプリの開発に欠かせない Objective-C のルーツとしても脚光をあびています。どうですか? 興味がわいてきましたか?

続きを読む

Clang の構文解析インターフェースを Python から叩いてみようという話

iOS App 開発担当の松本です。
Sleipnir for Mac をお試しいただいた皆様、ありがとうございます。まだの方は是非!

さて、先日の記事にもあるように、Apple は LLVM を基盤とした開発環境を着々と整備してきています。今日は LLVM 関連ツールの中でも特に注目されている Clang で少し遊んでみたいと思います。

Clang は LLVM をバックエンドとした C/C++/Objective-C のコンパイラです。GCC に比べてコンパイルが速かったり、生成されたバイナリがより最適化されてたりと、色々と優れているのですが、中でも面白いのがコンパイル途中で生成される構文木に、アクセスする為のインターフェースが用意されている点です。Xcode ではお馴染みの「コード補完」や「リファクタリング」などの機能が、このインターフェースを利用して実装されていて、方法次第でかなり強力なツールを作れる事がわかります。今回はこのインターフェースを叩いて構文解析を少しだけ行います。

続きを読む

NSArray のサブクラスでコードをシンプルに

Cocoa / Objective-C プログラミングをしていると、NSArray や NSSet、NSDictionary あたりはよくお世話になりますよね。これらオブジェクトの集合を扱うクラスは一般に「コレクション」と呼ばれています。Cocoa / Objective-C に限らず、コレクションをうまく扱うとコーディングのスピードもプログラムの実行スピードも大きく改善できます。

今回は、既存のコレクションクラスを使うのではなく、独自のコレクションクラスを作る方法とそのメリットを、NSArray のサブクラスを例として紹介します。

続きを読む

利用シーンの大切さ

アプリケーションの企画提案をおこなう際、一番重要な要素に「利用シーン」の絞り込みがあります。

アプリケーションには、必要最低限の機能はもちろんのこと、ユーザーがよりスマートに利用できる機能を検討/実装する必要があります。本当に使いやすいアプリケーションをつくるためには、企画の段階で「ユーザーがどのような状況でアプリケーションを利用するか」を明確にして、それらにマッチした機能や構成を検討しないといけません。

続きを読む

Copyright © 2019 Fenrir Inc. All rights reserved.