メインコンテンツへスキップ

「announcement」タグの付いた投稿52件

すべてのタグを表示

React Native for Android: 最初のクロスプラットフォームReact Nativeアプリをどのように構築したか

·2分で読めます
Facebook ソフトウェアエンジニア

今年初め、私たちは iOS向けReact Native を発表しました。React Nativeは、開発者がウェブ上でReactから慣れ親しんでいるもの、すなわち宣言的な自己完結型UIコンポーネントと高速な開発サイクルをモバイルプラットフォームにもたらしつつ、ネイティブアプリケーションの速度、忠実度、感触を保持します。本日、私たちはAndroid向けReact Nativeをリリースできることを嬉しく思います。

Facebookでは、React Nativeを本番環境で1年以上使用しています。ちょうど1年前、私たちのチームは 広告マネージャーアプリ の開発に着手しました。私たちの目標は、Facebookで広告を掲載している何百万もの人々が外出先でアカウントを管理し、新しい広告を作成できる新しいアプリを作成することでした。結果として、それはFacebook初の完全にReact Nativeで構築されたアプリであるだけでなく、初のクロスプラットフォームアプリにもなりました。この投稿では、このアプリをどのように構築したか、React Nativeがどのようにして開発を加速させたか、そして私たちが学んだ教訓を皆さんと共有したいと思います。

これは抜粋です。残りの記事は Facebook Code でお読みください。

React Native: モダンなウェブ技術をモバイルへ

·3分で読めます
Tom Occhino
Facebook エンジニアリングマネージャー

私たちは2年前に React を世に発表し、それ以来、Facebook内外で目覚ましい成長を遂げてきました。今日、誰もが強制的に使用しているわけではありませんが、Facebookの新しいWebプロジェクトは、何らかの形でReactを使用して構築されることが一般的であり、業界全体で広く採用されています。エンジニアは、製品に集中する時間を増やし、フレームワークとの格闘に費やす時間を減らすことができるため、毎日Reactを選択しています。しかし、Reactでしばらく開発を続けて初めて、私たちはその強力さの理由を理解し始めました。

Reactは、アプリケーションを個別のコンポーネントに分解することを強制します。各コンポーネントは単一のビューを表します。これらのコンポーネントにより、製品の反復が容易になります。なぜなら、一部分を変更するためにシステム全体を頭に入れておく必要がないからです。しかし、さらに重要なのは、ReactがDOMのミュータブルで命令的なAPIを宣言的なAPIでラップすることで、抽象化のレベルを高め、プログラミングモデルを簡素化することです。Reactで構築すると、私たちのコードははるかに予測可能であることがわかりました。この予測可能性により、自信を持ってより迅速に反復することができ、結果としてアプリケーションははるかに信頼性が高くなります。さらに、Reactで構築されたアプリケーションは拡張が容易になるだけでなく、チームの規模自体を拡張することも容易であることがわかりました。

Webの高速な反復サイクルと相まって、私たちはFacebook.comの多くのコンポーネントを含む、Reactでいくつかの素晴らしい製品を構築してきました。さらに、Relay のように、Reactの上にJavaScriptで素晴らしいフレームワークを構築してきました。これにより、大規模なデータ取得を大幅に簡素化できます。もちろん、Webはストーリーの一部にすぎません。Facebookには、分断された独自技術スタックに基づいて構築された、広く利用されているAndroidおよびiOSアプリもあります。複数のプラットフォームでアプリを構築しなければならないことは、私たちのエンジニアリング組織を二分しましたが、それはネイティブモバイルアプリケーション開発を困難にする要素の一つにすぎません。

これは抜粋です。残りの記事はFacebook Codeでお読みください。