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

React Nativeマンスリー #5

·4分で読めます
Tomislav Tenodi
Speck 創設者

React Nativeの月例ミーティングは続きます!各チームの取り組みを見てみましょう。

Callstack

  • 私たちはReact NativeのCIに取り組んできました。最も重要なこととして、TravisからCircleに移行し、React NativeのCIパイプラインを1つに統一しました。
  • 私たちはHacktoberfest - React Native版を企画し、参加者とともにオープンソースプロジェクトに多くのプルリクエストを送ることに挑戦しました。
  • 私たちはHaulの開発を続けています。先月は、webpack 3のサポートを含む2つの新しいリリースを提出しました。CRNAExpoのサポートを追加し、より良いHMRに取り組む予定です。私たちのロードマップはIssue Trackerで公開されています。改善提案やフィードバックがありましたら、ぜひお知らせください!

Expo

  • Expo SDK 22(React Native 0.49を使用)をリリースし、それにあわせてCRNAを更新しました。
    • 改善されたスプラッシュスクリーンAPI、基本的なARKitサポート、「DeviceMotion」API、iOS11でのSFAuthenticationSessionサポート、その他が含まれています。
  • あなたのSnackで複数のJavaScriptファイルを持てるようになり、画像やその他のアセットをエディタにドラッグ&ドロップするだけでアップロードできるようになりました。
  • iPhone Xのサポートを追加するためにreact-navigationにコントリビュートしてください。
  • Expoで大規模なアプリケーションを構築する際の課題に注力しています。例えば、
    • ステージング、プロダクション、任意のチャンネルといった複数の環境へのデプロイを第一級にサポートします。チャンネルは、ロールバックや特定のチャンネルでアクティブなリリースを設定する機能をサポートします。早期テスターになりたい方は、@expo_ioまでご連絡ください。
    • また、スタンドアロンアプリのビルドインフラを改善し、OTA(Over The Air)でのアセット更新機能を維持しつつ、スタンドアロンアプリのビルドに画像やその他の非コードアセットをバンドルするサポートを追加する作業にも取り組んでいます。

Facebook

  • RTLサポートの改善
    • 方向を意識したスタイルを多数導入しています。
      • Position
        • (left|right) → (start|end)
      • Margin
        • margin(Left|Right) → margin(Start|End)
      • Padding
        • padding(Left|Right) → padding(Start|End)
      • Border
        • borderTop(Left|Right)Radius → borderTop(Start|End)Radius
        • borderBottom(Left|Right)Radius → borderBottom(Start|End)Radius
        • border(Left|Right)Width → border(Start|End)Width
        • border(Left|Right)Color → border(Start|End)Color
    • Position、Margin、Padding、Borderスタイルにおいて、RTLでは "left" と "right" の意味が入れ替えられていました。数ヶ月以内に、この動作を削除し、"left" は常に "left" を、"right" は常に "right" を意味するように変更する予定です。この破壊的変更はフラグの下に隠されています。この変更をオプトインするには、React Nativeコンポーネントで `I18nManager.swapLeftAndRightInRTL(false)` を使用してください。
  • 社内のネイティブモジュールをFlowで型付けし、それらを使用してJavaのインターフェースやObjCのプロトコルを生成する作業に取り組んでいます。これらはネイティブ実装が実装しなければならないものです。このコード生成は、早ければ来年にオープンソースになることを期待しています。

Infinite Red

  • React Nativeや他のプロジェクトを支援するための新しいOSSツールです。詳細はこちら
  • 新しいボイラープレートリリース(コードネーム:Bowser)のためにIgniteを刷新しています。

Shoutem

  • Shoutemの開発フローを改善しています。アプリ作成から最初のカスタム画面作成までのプロセスを効率化し、非常に簡単にすることで、新しいReact Native開発者の参入障壁を下げたいと考えています。新機能をテストするためにいくつかのワークショップを準備しました。また、新しいフローをサポートするためにShoutem CLIも改善しました。
  • Shoutem UIはいくつかのコンポーネントの改善とバグ修正が行われました。また、最新のReact Nativeバージョンとの互換性も確認しました。
  • Shoutemプラットフォームにはいくつかの注目すべきアップデートがあり、新しい統合機能がオープンソース拡張機能プロジェクトの一部として利用可能になりました。他の開発者によるShoutem拡張機能の活発な開発を目の当たりにして、大変嬉しく思っています。私たちは彼らと積極的に連絡を取り、拡張機能に関するアドバイスやガイダンスを提供しています。

次回のセッション

次回のセッションは2017年12月6日(水)に予定されています。ミーティングの成果物をどのように改善すべきかについて提案があれば、Twitterで私にお気軽に連絡してください。