This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
今回は、F-Scriptを紹介しよう。CocoaとObjective-Cを操作する、スクリプティング言語環境だ。もちろん、動的なObjective-Cの特性を利用して、他のアプリケーションへの侵入もできる。オープンソースプロジェクトなので、ソースコードを見れるのもポイントだ。 F-Script言語とインタプリタ まず、F-Scriptでは、独自のスクリプト言語を実装している。言語仕様によれば、文法はSmalltalkをベースにしており、SelfとAPLからも影響を受けているらしい。Smalltalkのように、制御文を使わずに、論理値とブロックを使って記述を行うところが面白い。詳しくは、言語仕様を参照してほしい。 このように、文法はSmalltalkの影響を強く受けているが、ランタイムはObjective-Cと密接な関係がある。F-Scriptにはインタプリタが付属するのだが、ここからObj
nib2objcはMac OSXで作成したインタフェースファイルをObjective-Cに変換するソフトウェア。 nib2objcはMac OSX用のフリーウェア(ソースコードは公開されている。ライセンスはTHE BEER-WARE LICENSE)。iPhoneは年々進化しているが、それでもデスクトップなどに比べると速度は遅い。多少もたつく時もあるため、ストレスに感じることもあるかも知れない。より高いパフォーマンスを求めだすと、徐々に標準のやり方から脱線していく。 Interface Builderを使えばiPhone向けの画面をグラフィカルに設計ができる。だがよりパフォーマンスを求めたり、プログラムから動的にインタフェースを変更したいといったニーズがある時にはnib2objcを使って変換してみよう。 元ファイル nib2objcはXIBファイルを引数にし、Objective-Cのコード
ここのところ、サーバー側(Google App Engine)のコードはPythonで書き、クライアント側のコードはiPhone/iPad 向けはObjective-Cで、ブラウザー向けはJavaScriptで書く、という毎日が続いている私である。 それぞれの言語は難しくないのだが、さすがにこの3つを頻繁に行き来していると、pythonのコードに間違ってセミコロンを付けてしまったり、PythonとJavaScriptのどっちがTrueでどっちがtrueだか混乱したりする。 ちょうど昨日は、以前JavaScriptで書いたコード(写真をアップロードするコード)をObjective-Cに移植する機会があったのだが、とても分かりやすい結果が出たので、ここで比較してみる。 まずは元の JavaScript のコード。 SNBinder.get("/blob/create_upload", {},
この記事では C++ や Java、C♯、Rubyなどのオブジェクト指向言語の使用経験がある方のために Objective-C の特徴がさくっと簡単にわかるようにまとめてみました。 Objective-C ってどんな言語? オブジェクト指向言語は大きく「クラスベース動的型付け」「クラスベース静的型付け」「プロトタイプベース*1動的型付け」の3つにわけることが出来ます。Objective-C は「クラスベース動的型付け」に分類されるオブジェクト指向言語です*2。Objective-C を他のオブジェクト指向言語と比較して分類してみると以下の図のようになります。 クラスベース動的型付けオブジェクト指向言語の元祖といえるのが Smalltalk です。Objective-C は C言語をベースに Smalltalk 型のオブジェクト指向機能を持たせた言語です。 必要な前提知識 Objective
書こう書こうと思ってたけど忘れてたのを、PerlエンジニアのためのObjective-C Blocks入門を見て思い出した。すいませんタイトルは便乗です。 試しに書いてみる Blocksってのが何者なのかはさっきの記事なりAppleのドキュメントなりを見てもらえばいいと思うんですが、まぁウケが良さそうなので付けたタイトルにのっとってRubyと比較してみる。 f = lambda {|x| puts "#{x}のこと以外は何も考えられない" } f.call("うどん") void (^f)(id) = ^(id x) { NSLog(@"世界の全てを敵に回しても、僕は%@の味方だ", x); }; f(@"うどん"); なんだ、そっくりじゃない。似てる似てる。 上がRuby版、下がObjC版。下は普通引数にはNSString*とかを使うと思うけど、まぁRuby版と挙動を合わせるためにidに
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く