React Native:最新のWeb技術をモバイルにもたらす
2年前にReactを世に送り出して以来、Facebook内外で目覚ましい成長を遂げてきました。今日では、誰も強制されていないにもかかわらず、Facebookの新しいWebプロジェクトは、何らかの形でReactを使用して構築されるのが一般的であり、業界全体で広く採用されています。エンジニアは、製品に集中する時間を増やし、フレームワークとの格闘時間を減らすことができるため、毎日Reactを使用することを選択しています。しかし、Reactでしばらく構築してみて初めて、Reactがそれほど強力である理由を理解し始めました。
Reactは、アプリケーションをそれぞれ単一のビューを表す個別のコンポーネントに分解することを強制します。これらのコンポーネントにより、製品の反復が容易になります。なぜなら、システム全体を頭に入れておく必要なく、一部を変更できるからです。しかし、さらに重要なのは、ReactがDOMの可変的で命令的なAPIを宣言的なAPIでラップしていることです。これにより、抽象化のレベルが上がり、プログラミングモデルが簡素化されます。Reactで構築すると、コードの予測可能性がはるかに高くなることがわかりました。この予測可能性により、自信を持ってより迅速に反復処理を行うことができ、その結果、アプリケーションの信頼性がはるかに向上します。さらに、Reactで構築するとアプリケーションのスケールアップが容易になるだけでなく、チーム自体の規模のスケールアップも容易になることがわかりました。
Webの急速な反復サイクルと合わせて、Facebook.comの多くのコンポーネントを含む、Reactで素晴らしい製品を構築することができました。さらに、Reactの上にJavaScriptで素晴らしいフレームワークを構築しました。例えば、Relayは、大規模なデータフェッチを大幅に簡素化することができます。もちろん、Webは物語の一部に過ぎません。Facebookには、広く使用されているAndroidおよびiOSアプリもあり、これらはばらばらの独自のテクノロジスタックの上に構築されています。複数のプラットフォーム上にアプリを構築する必要があるため、エンジニアリング組織が二分化されていますが、それはネイティブモバイルアプリケーション開発を困難にするものの1つに過ぎません。
これは抜粋です。投稿の残りの部分はFacebook Codeで読んでください。