Web、Windows、macOS 向けの React Native の最新情報!

公開: 2023-01-10

アプリケーション開発は、破壊的技術の出現の結果です。 それは現在、すべての製品およびサービス会社にとって主要なマーケティングの側面として注目されています. アプリ開発は当初、ハンドヘルド デバイスを対象としていました。 時が経つにつれて、サービス プロバイダーは、人口統計への最高レベルの浸透を得るには、モバイルだけでなく Web も手に入れる必要があることに気付きました。 今、議論のポイントは「アプリケーションを所有すべきか?」から変わりました。 「アプリケーションでどのプラットフォームをターゲットにする必要がありますか?」

ここで、アプリケーション開発における最も難しい問題の 1 つが発生します。 アプリ開発者は、さまざまなオペレーティング システムに対応する必要があります。 同時に、彼らはレスポンシブ Web アプリのとてつもないリーチを無視することはできません。 あらゆる側面を追求できるのは素晴らしいアイデアですが、それには莫大な開発費と維持費がかかります。 ここでの難しい質問は、「費用対効果の高いクロスプラットフォーム アプリケーションを開発するための最適なソリューションは何か?」ということです。 これらすべての目標をサポートするアプリケーション開発フレームワークを選択することが、効果的な答えになる可能性があります。 React Native 開発は、これらの理由から注目を集めています。

React Nativeとは?

React Native は、モバイル アプリケーションの開発に使用される JavaScript ベースのアプリケーション開発フレームワークです。 これは、2015 年に Facebook によってオープンソース プロジェクトとして開始されました。豊富な機能セットにより、多くの企業が React Native アプリケーション開発に参入することを余儀なくされました。 Facebook や Instagram を含む多くの大手企業が、アプリケーション開発に React Native を使用しています。

歴史

Facebook はこれまで HTML5 を使用して、すべてのデバイス向けのモバイル Web ページを開発していました。 この取り組みは、UI とパフォーマンスの面で苦労しました。 解決策は、長期的に実行可能であることが判明しませんでした。 2013 年、Facebook 開発者の Jordan Walke は、JavaScript を使用して UI 要素を開発しました。 このコンセプトは画期的でした。 ハッカソンは、JavaScript を使用したモバイル アプリケーション開発の可能性をさらにテストするために開催されました。 これによりReact Nativeが誕生しました。 最初はiOS向けにリリースされました。 Facebook は徐々に Android サポートを導入し、2015 年についに iOS バージョンをローンチしました。React Native は、ローンチからわずか 3 年で、GitHub で 2 番目に大きなプロジェクトとして登場しました。

React Native が人気の理由

React Native の絶大な人気の主な理由の 1 つは、JavaScript ライブラリの使用です。これは、React Native のリリース時にも人気がありました。 その後、React Native は自動的に開発者の間で人気を博しました。 2 つ目の理由は、React Native フレームワークが、フロントエンド開発者に愛されている UI 開発のための多くの優れた機能をもたらしたことです。 3 つ目の理由は、フレームワークとその機能です。 React Native 開発者は、コードを一度だけ書く必要があります。 Android と iOS の両方で使用できます。 これにより、開発者と組織の時間と労力が大幅に節約されました。

React Native は、以下を提供する優れたクロスプラットフォーム アプリケーション開発フレームワークです。

  • より広い聴衆
  • 異なるプラットフォーム間で一貫したパフォーマンス
  • より迅速な開発
  • コスト効率

これらは、React Native アプリケーションを非常に人気のあるものにしている機能の一部です。

私たちはどこに立っていますか?

React Native はオープン ソースであり、リリースもオープン ソースであり、誰もがアクセスできます。 GitHub の React Native リリース リポジトリにリリース トレインがあります。 2022年9月にリリースされたReact Native 0.70が最新版です。 2022 年は、React Native 0.67 のリリースで始まり、多くの改善が行われました。 その後、React Native 0.68 のリリースで、次のような画期的な変更がいくつか見られました。

  • React Native の Node 16 への更新により、React 開発者は Node 14 以降のバージョンを使用する必要があります
  • Android Gradle プラグインの追加
  • RCTBundleURLProvider という iOS API からのフォールバック リソースの削除

TurboModule システムと Fabric Renderer を備えた新しいアーキテクチャも追加されました。 React Native 0.69 には、この新しいアーキテクチャをサポートするための多くの改善が含まれています。 バンドルの Hermes と React 18 のサポートは、このバージョンの 2 つの主要な追加機能です。 c++17 のサポートや hotkeysEnabled オプションの追加など、他にも多くの変更がありました。

最新の 0.70 バージョンでは、React Native に多くの価値を追加した Hermes に焦点が当てられています。 リソースに制約のあるデバイスにメリットをもたらすように開発されました。 Hermes エンジンは、他のエンジンとは異なり、事前に JavaScript のソース コードをバイトコードにコンパイルできます。 Hermes は 0.70 バージョンでデフォルトのエンジンとしてリリースされました。 2022 年 12 月に、実験的なクロスプラットフォーム ポインター API が導入されました。 今後は、デスクトップ、VR、および Web 向けのフレームワークのパフォーマンスを向上させることに重点が置かれます。

React Native for Web

React Native はモバイル アプリケーション開発専用であるという一般的な誤解を取り除く時が来ました。 React Native Web は現実のものです。 既存のアプリだけでなく、新しいアプリにも使用できます。 ユーザーはこれを使用して、Web アプリとともにマルチプラットフォーム アプリを開発することもできます。 React DOM は、互換性のある JavaScript コードを Web ブラウザーでレンダリングするために使用され、開発者は強力な抽象化を Web に組み込むことができます。 React Native Web アプリケーションは、最新の React API を使用して構築されています。

開発者は、Web 開発用のすべての React Native コア コンポーネントを見つけることができます。 Web 用のコンポーネントには、ブラウザー互換の実装が付属しています。 たとえば、開発者は、<div> へのレンダリングに使用できる React Native の <view> コンポーネントの DOM ベース バージョンを使用できるようになります。 ReactJS 開発フレームワークは、あらゆる種類のアプリケーション開発のための 1 つのソリューションとして登場しました。 開発者は HTML タグを使用して、必要な React Native プリミティブを DOM 言語に変換できるため、Web アプリケーション開発での React Native の採用が促進されます。

React Native for the Web を使用する利点

React Native for the Web の人気が高まっている主な理由は 2 つあります。

  • React Native を使用して Web アプリを作成すると、JavaScript を使用して適応型 Web UI を開発するのに役立つ高品質の Web インターフェイスにアクセスできます。 ネイティブのようなサポート、複数の入力モード、RTL レイアウトのサポート、および React Dev との統合により、シームレスな UI 開発が可能になります。
  • React の開発者は、一度記述すれば好きな場所にレンダリングする必要があり、ネイティブ アプリケーションや Web アプリケーション用の新しいコンポーネントを書き直すことなく記述できます。

主なバグ修正と予定されている変更

React Native for the Web の 0.18 リリースでは、多くのバグ修正が行われました。 以下の修正が行われました。

  • 短い形式と長い形式の複製
  • Switch や CheckBox などのさまざまな要素のフォーカス リング表示
  • touchable と pressable の Href ナビゲーション
  • ターゲット値の Linking.OpenURL サポート

多くの新機能が追加されました

  • コンポーネントの land または dir prop を設定することによる、ローカライズされた LTR/RTL レイアウトのネスト
  • 実行時のローカライズされた LTR/RTL レイアウトの動的切り替え
  • 新しいエクスポート API としての useLocaleContext の追加
  • シャドウ ブートと複数のウィンドウのレンダリングのサポート
  • 静的CSSの抽出

React Native for Windows + macOS

先に進む前に、React Native for Windows および iOS の歴史を見てみましょう。 React Native windows + macOS は 2015 年に開発されました。それ以来、バグ修正と改善を伴う継続的なリリースが行われてきました。 React 開発者は、Windows デスクトップ アプリの開発に React Native を使用できるようになりました。 React Native ウィンドウの背後にある考え方は、React Native のツール、アーキテクチャ、言語、およびその他すべてのコンポーネントを Windows アプリケーション開発に使用することです。

React Native for macOS は、Windows と同様に、実際の React Native プロジェクト上で、Mac のデスクトップ環境を考慮して開発を開始します。 React Native for Windows + macOS フレームワークにより、開発者はクロスプラットフォーム アプリを構築できます。 Xbox や MS Office などの多くのトップ アプリケーションは、アプリケーション開発に Windows および macOS 用の React Native を使用して成功しています。 iOS 用の MacOS も、新しいリリースごとに強力なサポートを受けます。

Windows + macOS で React Native を使用する利点

モバイル アプリや Windows デスクトップ アプリの開発に React Native を使用することには、多くの利点があります。

  • React 開発者は、ネイティブ モジュールを使用して、標準の React Native コントロールとコンポーネントを呼び出すことができます。 開発者は、「ライブ リロード」などの機能を使用して、Web アプリケーションと同じように実装をテストできます。
  • 単一のコードベースを使用して、macOS と Windows オペレーティング システムの両方で実行できます。 2 つの異なるアプリケーション開発用の 2 つの React Native プロジェクトがあっても、共有 UI コンポーネントは最上位層に存在します。 これにより、両方のアプリケーションの開発と保守にかかる時間が大幅に短縮されます。
  • サポートのための大規模な開発者コミュニティは無視できません。 React および React Native コミュニティは、React Native Windows および macOS 開発のサポートを常に提供しています。

バグ修正と予定されている機能

バージョン 0.70 は新機能に関するものです。 かなりの数の修正があります。

  • 触媒の修正です
  • 新しい React JSX Transform を有効にする
  • reactnativeutilsjni の削除を有効にする

変更に加えて、多くの依存関係がアップグレードされました。 リリースの主なハイライトは次のとおりです。

  • Hermes をデフォルトのエンジンとして使用する
  • Codegen の新しい統合構成
  • Android の新しいアーキテクチャ ライブラリの自動リンク
  • Android ビルドを構成するための完全な CMake サポート

結論

React Native は、さまざまなプラットフォーム用のクロスプラットフォーム Web およびモバイル アプリケーションを開発するための優れた選択肢です。 React Native を使用すると、開発者は Web アプリケーションとネイティブ アプリケーションでコードベースとビジネス ロジックを共有できるため、視覚的な一貫性が大幅に向上します。 「高速更新」などの開発オプションにより、開発者はアプリケーションの変更を即座に確認できます。 これにより、最終的に生産性が向上し、ユーザー エクスペリエンスが向上します。 React Native は非常に進歩的な言語であり、新しいリリースでは新機能とバグ修正が次々と出てきます。 Contributor Summit 2022 は、React Native で新しく革新的なものを生み出すために、知識共有とコラボレーションの新しいチャネルを開きました。

今後の開発は、モバイルを超えた構築を目指す「多くのプラットフォームのビジョン」に基づいていると予想されます。 デスクトップ、Web、および VR への投資の増加は、ハードウェアの違いを伴うプラットフォームのサポートが向上した新しいリリースを保証するだけです。 開発の上昇グラフを見ると、アプリケーション開発に React Native を使用することは価値のある選択であると結論付けることができます。 2022 年には多くのエキサイティングな変更があり、今後数年間の新しいリリースは待つ価値があります。