MTI5MDM5MjM3MzQ0NDM0NjU0
Pocket

PCで我々がWebアプリを多く利用するが、モバイルにおいてアプリは全てだ。今ではモバイルを使っている時間の90%はアプリの利用に費やされている。

ここでいうアプリとはネイティブアプリの事だ。

マーク・ザッカーバーグがネイティブではなくHTML5に投資したのは最大の失敗だったと宣言して以来、モバイルWebは着実に勢いを失ってきている。

しかし皮肉なことに、フェイスブックのエンジニアたちのおかげでそれも過去の事になる。

どういうことか説明しよう。

モバイルWebをReactする

ザッカーバーグがHTML5は終わったと宣言した翌年、フェイスブックのエンジニアの一人であるジョーダン・ウォークがWeb開発の新しいアプローチであるReactJSを生み出した。

ReactJSは開発者がJavaScriptのスキルを活用し、アプリ開発をシンプルにできるようになった。しかし他にも多くあるイノベーションのうち、最も興味深いのはVirtual DOMを使っている点だ。これによりReactJSはブラウザーのDOMの更新を効率化し、パフォーマンスをあげることができる。

そして2015年、ReactJSはReact Nativeと名前を改めてモバイルに登場した。

Mozillaのジェイムス・ロングのような熱狂的なWeb支持者は「React.jsはアプリ開発の正しい方法だ。まるでネイティブアプリを書いてるのと同じ感じでWeb開発を行える」といっている。

そうなのであれば結構な話だ。Web主体の開発者は他に何を望むというのだろう?

iOS開発者がReact Nativeを使えるようになると…

マーク・シリングがReact Nativeを讃えるのに興味をおぼえる理由はここにある。アプリ開発集団のChalk + Chiselで働くシリングは、恐らくは腕のたつiOS専門のエンジニアである

React Nativeをプロジェクトで使わざるを得なくなったシリングは

アップルのエコシステムについて不満はない。React Nativeはちょっとした実験の様なものだと考えていた。だが私の中には本物のネイティブアプリはこれまで通りの”ネイティブ”な方法で書かれなければならないという考えがあった。既にネイティブアプリの開発を身につけ始めていた自分にとって、これまでやった事のないJavascriptを学んだり、新しいアプリ開発の方法を知ることは単に時間の無駄になるのではと思っていた。

と述べている。

React Nativeを試してみようと思ったきっかけは、アプリをAndroidでも動作させる仕掛けが必要だったからだ。iOSでの開発を好むシリングにとって、Androidのネイティブアプリ開発は気が乗らないものだ。理屈の上ではReactを使うことによって、一つのソースで2つの異なるプラットフォームで動作するアプリを開発することが出来る。

そしてその理屈は現実のものとなった。

Reactでの開発を学ぶのに苦労はあったが、シェリングの開発に対する考えは完全に変わった。「数ヶ月かかったが、もうObjective-CやSwiftを使ってiOSアプリを作ることはないだろうと胸を張っていえる」と彼は言っている。

もうネイティブアプリは要らないのか?

彼らが作ったDicovery VRアプリを使ってみれば、それがWebアプリなのかネイティブなのかきっと分からないことだろう。

React Nativeではその様な区別は意味の無いことだ。

Reactにはまだ改良されるべきところがある。ツールやドキュメントの充実などはその一例だ。しかしシリングが経験したことが他の開発者たちにも起こる事なのであれば、「ネイティブアプリ開発」という言葉の意味はここ数年でゴロッと変わることだろう。

トップ画像提供:Facebook

Pocket