В середине июня этого года 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