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