Выпущена дорожная карта рефакторинга React Native

React.js Facebook Открытый исходный код React Native
Выпущена дорожная карта рефакторинга React Native

В середине июня этого года FB объявили, чтоМасштабный рефакторинг React Native, цель состоит в том, чтобы сделать React Native легче и лучше адаптируется к разработке экосистемы JavaScript. Сегодня Facebook официально раскрыл некоторые детали своих планов:

1. Сделать репозиторий RN на GitHub более работоспособным, проблемы и запросы на вытягивание будут обрабатываться своевременно;

  • Улучшить тестовое покрытие

  • Коммиты, синхронизированные с репозиторием кода Facebook, не должны нарушать принципы тестирования с открытым исходным кодом.

  • Увеличьте вклад сообщества

2. Стабильный API, облегчающий взаимодействие с зависимостями с открытым исходным кодом;

  • Facebook использует тот же общедоступный API, что и открытый исходный код

  • React Native будет следовать стандарту Semantic Versioning.

3. Чтобы сделать экосистему более динамичной, сообщество предоставит высококачественные ViewManager, нативные модули и многоплатформенную поддержку;

4. Оптимизация документации с акцентом на помощь пользователям в создании высококачественных приложений, а также новейшая справочная документация по API.

Основная цель

Цель команды RN — упростить RN, удалив неосновные и бесполезные компоненты, передать неосновные компоненты сообществу и упростить использование разработчиками, и теперь они решили передать эти компоненты в собственность сообщество:

https://github.com/react-native-community/discussions-and-proposals/issues/6

WebViewявляется примером этого:

https://github.com/react-native-community/discussions-and-proposals/blob/master/proposals/0001-webview.md

Тем временем команда RN также разрабатывает рабочий процесс, который позволит внутренним командам продолжать использовать эти компоненты после их удаления из репозитория.

Собственные инструменты разработки с открытым исходным кодом

Поскольку внутренние разработчики Facebook используют собственные инструменты разработки, опыт разработки полностью отличается от опыта разработки с открытым исходным кодом. Те инструменты, которые популярны в сообществе с открытым исходным кодом, могут не использоваться разработчиками Facebook. В некоторых случаях команды Facebook привыкли к использованию только ограниченных инструментов, используемых внутри Facebook, это внутреннее и внешнее различие может сильно повлиять на их последующие усилия по рефакторингу.

С этой целью были внесены следующие улучшения:

  • JSI с открытым исходным кодом, чтобы дать сообществу возможность использовать свои собственные виртуальные машины JavaScript для замены существующего JavaScriptCore из первоначального выпуска RN.Информация о JSI будет объявлена ​​в будущем, а сейчас вы можете узнать об этом из видео выступления на Конференция React Conf:

    https://www.youtube.com/watch?v=UcqRXTriUVI

  • Поддержка 64-битных библиотек на Android

  • Поддержка отладки в новой архитектуре

  • Улучшена поддержка CocoaPods, Gradle, Maven и новой системы сборки Xcode.

Создайте тестовую инфраструктуру

Когда инженеры Facebook выпускают код, код считается готовым к запуску, если он проходит все тесты. Эти тесты могут определить, не нарушат ли некоторые изменения React Native. Из-за различий в том, как Facebook использует React Native и внешний мир, они могут по незнанию Broken React Native в среде с открытым исходным кодом.

С этой целью Facebook будет поддерживать внутреннее тестирование, гарантируя, что они будут работать в среде, максимально приближенной к открытому исходному коду. Это поможет предотвратить публикацию сломанного кода в открытом доступе. В то же время они также будут работать над созданием инфраструктуры тестирования, чтобы лучше протестировать основной репозиторий на GitHub, чтобы будущие запросы на вытягивание можно было включить в тесты.

Использовать общедоступный API

Facebook будет использовать React Native через общедоступный API, такой как открытый исходный код, чтобы уменьшить непреднамеренные критические изменения. Их цель — включить стабильные общедоступные API и принять семантические стандарты управления версиями в версии 1.0.

укреплять связь

React Native — это один из проектов с открытым исходным кодом, в котором больше всего участников на GitHub (второе место), и в будущем Facebook продолжит работу над инициативами, связанными с участниками, такими как повышение прозрачности и открытые обсуждения. Документация будет большой проблемой для новичков, поэтому RN создаст автоматически сгенерированную справочную документацию по API, чтобы улучшить взаимодействие с пользователем.

В команде RN сказали, что эти проекты будут завершены в следующем году.Среди них проект JSI уже в работе, а некоторые другие улучшения, такие как упрощение RN, займут больше времени.Любые вопросы от разработчиков можно обсудить в предложение:

https://github.com/react-native-community/discussions-and-proposals

Ссылка на ссылку

http://facebook.github.io/react-native/blog/2018/11/01/oss-roadmap