iOS SDKの各クラスの完成度について雑感

iOS SDK (Cocoa touchフレームワーク) のAPI群についての勝手な感想。 根拠はなくはないけど基本的に経験からくる主観による。異論その他ツッコミ歓迎。 まだ途中だけど続きがあるかどうかは。。。
Apple iOS COCOa iPhone
7635view 3コメント
53
kishikawa katsumi @k_katsumi
UIKitをはじめ、Cocoa Touchのフレームワークはかなり完成度高いんだけど、その中で比べるとアレなクラスとかイマイチ信用できないフレームワークとかはやっぱりあるからそういうのまとめたら役に立つかなあとふと思った。
kishikawa katsumi @k_katsumi
例えばUIScrollViewとUITableViewは超名作で特にiOS 3以降は普通にクラスを使うだけでほとんどの要求仕様は満たせる、とか。
kishikawa katsumi @k_katsumi
@shachi @cqa02303 @singo405 @hitoriblog ただですねえ、一般的な文章にするのはすごい難しいんだなあ。少人数の勉強会とかで話すってのとかだとそんなに難しくないんだけど。
Daisuké Nishioka @ReplicantNexus6
@k_katsumi Address book APIはちょっとなーと思ってます。
kishikawa katsumi @k_katsumi
@cqa02303 そういう形式がいちばん助かりますね。
kishikawa katsumi @k_katsumi
.@ReplicantNexus6 Address book APIはとっつきにくくて、コードも冗長になりがちだけど、ほぼすべてのデータに自由にアクセスできるし、挙動におかしな点はあまりない(データ構造がOpaqueだから構造に依存してると変わって困ったりするけど)ので、
kishikawa katsumi @k_katsumi
.@ReplicantNexus6 僕としてはあれは普通ですね。ドキュメントはあるし、強いて言うなら正しく動くサンプルとかがたくさんあれば解決する問題かなあと。とっつきにくい原因はSQLiteで可変のカラムを実現してるから、が大きいと思うし、その辺がつかめればそんなには。
kishikawa katsumi @k_katsumi
3.2で追加されたiPad専用のクラスはどれもイマイチ。具体的にはUIPopoverControllerとか、UISplitViewControllerとか。あとひとつくらいあった気がするけど思い出せない。
深津 貴之 / THE GUILD @fladdict
@k_katsumi iPad専用パーツの実装はショボイのが多いイメージです・・・
kishikawa katsumi @k_katsumi
@fladdict iPadを担当したひとはスクロールビューを作った人ほどのレベルじゃなかったんでしょうねえ。。。
akisute/Masashi Ono @akisutesama
@k_katsumi @fladdict popoverはそんなに悪くない感じですよ。split view controllerはなんかの冗談みたいなダメ実装ですけれど><
深津 貴之 / THE GUILD @fladdict
@akisutesama @k_katsumi 個人的には、スクロールビューも挙動がブラックボックス化されすぎてるし、ディフォでは左上からズームの基準点動かせなかったりと僕は色々不満があったり・・・ 最近は無問題ですが 。
kishikawa katsumi @k_katsumi
@akisutesama Popoverはダメでしょ。保持しとかないといけないとか、回転対応とか、モーダル表示とかサイズ変更とか。そういう挙動のコントロールをどこでするかってのがバラバラで、いちいちデバイスで確認して、アドホックな対応を入れていかないといけない、みたいな。
akisute/Masashi Ono @akisutesama
@k_katsumi そう言われると俺がまともにpopover使ってないのがバレバレですな
kishikawa katsumi @k_katsumi
@fladdict スクロールビューはプロパティの値と載せるビューの組み合わせでかなりのカスタマイズができて、InputからOutputがきちんと予測可能なのです。だからできるできないの判別が容易でそこからはみ出る要求についてはしょうがない、ですね。。。
kishikawa katsumi @k_katsumi
@fladdict ズームについては少なくとも3からはピンチした指の中央からズームされると思うんですけど違います?
深津 貴之 / THE GUILD @fladdict
@k_katsumi あれ? ズームアウトしてくと、ディフォでセンターでなく左上が基準点になる挙動って治ってましたっけ? あれはWebViewを前提に実装されてて、写真のズームするときにいつもキモイなーと思ってたのですが
kishikawa katsumi @k_katsumi
スクロールビューは普通にプロパティでカスタマイズできる余地が豊富で(要するに機能が豊富で)それだけで大抵のことは高いレベルで実現可能で、それらはキチンと予測可能なとこが完成度高い。それ以上に高度だったり複雑は要求は作るしかないですネ。
kishikawa katsumi @k_katsumi
@fladdict お、ズームアウトっすか。。。どうだったかな、と思って試してみましたけどピンチした指の真ん中は固定されてズームアウトする、という挙動になってます。
kishikawa katsumi @k_katsumi
Popoverはいちいち動きを確認して、おかしな挙動が見つかったらそれを抑えこむコードを書くということをする、要はバッドノウハウが多い。スクロールビューはこれはこうすればOK、これは無理、ってちゃんとわかる、みたいな。
残りを読む(30)

コメント

E-WA/いーわ @ewa4618 2011年8月9日
個人的に目下の悩みの種はCore Text。俺は開発者じゃないんだけどねー(苦笑)。http://wp.me/pI6gu-Kx
kishikawa katsumi @k_katsumi 2011年8月9日
CoreTextにはいずれ触れなければならないと思っていたけれど、あれはフレームワークとして設計とかコンセプトはちゃんとしてる。 ただCJKの部分の実装状態がマチマチで変な動きをするのもあれば単に無視されるだけだったりとか、そういう合ってるのかどうかわからない状態が困るのは確か。 だから完成したらすごいんだけど、まだ途中だから、、、って感じ。
kishikawa katsumi @k_katsumi 2011年8月9日
ただCoreTextはここに挙げたAddressBookやらUIKitの基本クラスと違って代替手段はあるし、別に使わなければいけないものではないので、(英語圏のDeveloperがそれを判断するのは非常に難しいことだけど)そのアーキテクチャは茨の道だったという。
ログインして広告を非表示にする
ログインして広告を非表示にする