Takahiro Octopress Blog

-1から始める情弱プログラミング

今一度Webアプリ開発者を振り向かせるiOS8の新SDK

| Comments

iOS8の新機能とは?

さて、今月初めにWWDC 2014が開催されました。毎年楽しみにされているAppleファンの方、新技術大好きなエンジニアの方にとっては今回の発表はどのように映ったのでしょうか?
さて、だいぶiOS8の新機能が世の中に知れ渡ってきた昨今ではありますが、あえて私個人の切り口でiOS8の新機能について着目していきたいと思います。
難しいことは言わずに、素人目に見て、使ってみたいとか/待ってました!!みたいなことを少し書ければと思います。
では、初めに一体全体何が新しく追加されたのか見て行きましょう!!

まずは、筆者注目の一覧。
※今回紹介するのはSwiftWKWebViewに限ります。
・Swift: 言わずと知れた新言語
・Health Kit: これからは健康・医療の時代だ!そんなアプリが作れる!?
・Home Kit: もうリモコンなんて要らない!そう、iPhoneさえあれば…なんて言いたくなる!?
・Touch ID: アプリへのログインID?パスワード?そんな時間あるなら開発しようぜ!!はい、指紋認証
・Hand off: あぁ、時間がない(汗) 続きはお手元のiPhoneで!!的なファイル共有機能
・WKWebView: Webアプリの救世主!? 超高速Webを実現
などなど

では、早速、注目のSwiftから見て行きましょう。

新言語 Swiftや如何に!?

最も多くのエンジニアが注目しているのは、やはり新言語Swiftではないでしょうか?
これまで、「Objective-Cはどうしても肌に合わない」とか「今から新しく言語を覚えるにはObjective-Cは負担が…」なんて意見が多かったのではないでしょうか?
しかし、Swiftの登場により、「これからiPhoneアプリの開発を本格的に始めてみようかな」なんて意識を持った方々は確実に増えていることでしょう。では、なぜSwiftはそうも人々を魅了したのか?それは下記コードを見るだけでもおわかり頂けるだろう。

1
2
3
4
5
6
7
// 変数
var test = 15;

// 関数
func testMethod() {
  println("テストコードだよ!");
}

さて、おわかり頂けただろうか?
ぱっと見た感じ、『あれ!?これってJavaScript??』と思わなかっただろうか?筆者は元々、Web開発から入った人間であるため、初めてSwiftを見た感想はJavaScriptっぽいなぁと言うものだった。もちろん完全に書き方が同じというわけではなく、多少の癖っぽさはあるのだが、これまでのObjective-Cの書き方に比べれば、はるかに取っ付き易く触ってみようという気にさせられたのではないだろうか。
因みに上記コードをこれまでのObjective-Cで書いてみようとするならば

1
2
3
4
5
6
7
// 変数
NSInteger test = 15;

// 関数
- (void)testMethod {
  NSLog(@"テストコードだよ!");
}

といった形になります。
う〜ん個人的にはこっちの方が見慣れていて落ち着く…。

今回のWWDCではどうやら、Swiftは超高速!!なんて話がされていたらしく、ネット上では「これまで頑張ってきたiPhoneアプリ開発者の皆さん、残念でした。これまでご苦労様でした」なんて会話が踊っていたことだろう(歪んだ考えを持った筆者の予測に過ぎないが…)。
しかし、もちろんそんなことはないのだ!!なぜなら、Swiftは新言語であるがゆえ、これまで有効活用してきたGitHub上のオープンソースはまだないのだ。「自分で作るしかないのか…」と項垂れてしまうところをObjective-Cに慣れ親しんできた開発者であれば、「SwiftとObjective-c言語は共存可能だから、必要な部分はGitHubで公開されているソースを使えば良いや!」と考えられるのである。
う〜ん。Appleさん、ありがとう。まだご飯が食べられます。
とは言え、Appleが公表したように、本当にSwiftが超高速でObjective-cを使うなんて考えられない!!なんて世の中になるかもしれないので、Webアプリ開発者の勢いに負けないように頑張らなくてはと思います。

Swift言語での開発に興味がある方々は下記サイトをご覧下さい。様々な関連情報(リンク集)がまとめられているため、非常に参考になります。
Swiftを学べる記事のまとめ

iOS8からはWebアプリが超高速!?WKWebViewとは

続いて、筆者が着目している機能はWKWebViewというものです。
実はこれまでiOS上でWebアプリを開発しても、Safariと比較して、処理実行時間が約4倍多くかかると言われてきました。(どこで聞いたのか忘れましたが…)
そのため、世の中のエンジニア達は下記2つの手法に縛られてきました。
・実行速度を捨てて、Webアプリを開発する(ただし、極力重くなりそうな処理は入れない)
・実行速度を優先して、ネイティブアプリを開発する(頑張ってAndroidの対応をする)
しかし、そんな世の中にも疲れてきましたよね?
そんなエンジニアの方々に朗報です!!なんと、iOS8のSDKからはWKWebViewというクラスが利用できます!!(もちろん、これまで通りUIWebViewも利用可能です)

ベンチマークに関しては下記サイトに詳しく書かれているのでご覧下さい。筆者もとても参考になりましたし、WKWebViewを使ってみたくなりました。
ハイブリッドアプリの動作性能を飛躍的にアップさせるiOS 8の新ブラウザエンジンを検証する

これもある意味、Webアプリ開発者達をiOSアプリ開発に振り向かせるための策!?

Comments