プログラマーだけん、がんばる

神の国、島根のプログラマー。サーバ、Rubyまわりの技術(Ruby on Rails, Rhodes etc..)やiOS, Androidなどの開発を行っていくうえで、役だったことなどを共有できればいいなと思います。

iOS7によるバックグラウンド処理 ~ 1.Backgroud Fetch編 ~

Background Fetchとは?

iOS7から新しく追加された、「Background Mode」の一つです。
では具体的にはどんなことができるのか?下記にまとめてみます。

  • iOS側が不定期に、対象のアプリを呼び起こす。

iOS側が不定期に、

- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler

というメソッドを呼び起こします。この時点で驚きです。非常に強力で賢い機能です。
しかし、なぜ不定期なのか?
それは、iOS側が日々のユーザのiPhone等の使用状況を学習して、バッテリー等の観点から適切なタイミングで呼び起こすからです。

  • メソッドを呼び起こす、最短のインターバルが指定出来ます。

いくら賢いタイミングで呼び出すとしても、結局のところ不定期ですので、困る場合があると思います。
その為、下記のメソッドの使用によって、最短のインターバルを設定出来ます。

setMinimumBackgroundFetchInterval:
続きを読む

新・3大JavaScriptフレームワークを使用して、Webアプリケーションを作る ~ knockout.js ~

Knockout.jsとは?

Knockout.jsとは3大フレームワークなんて呼ばれている?JavaScriptフレームワークです。
残りの2つは、Backbone.js, Angular.jsがあります。
その中で、今回取り上げるKnockout.jsは、MVMM(Model, View, ViewModel)のフレームワークで、双方向データバインディング、アイテムテンプレートなどの機能があります。
これを使用すると、RailsなどのWebアプリケーション開発では必須になってくるDOM要素の変更などのJavaScriptのコードを書くことがほぼ無くなります。
まぁ、用途にもよるのでこれ以上大きなことは言えません。

なので、データの更新などで発生してくるUIの更新などをKnockout.jsに任せるといった切り分けが可能になります。

続きを読む