From 71de056b81bda4647998deea98e5be6ab261ef83 Mon Sep 17 00:00:00 2001 From: DmitryMarkov Date: Sun, 17 Feb 2019 09:25:16 +0100 Subject: [PATCH 01/23] =?UTF-8?q?WIP:=20=D0=9F=D0=BE=D0=BB=D0=B8=D1=82?= =?UTF-8?q?=D0=B8=D0=BA=D0=B0=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=BE=D0=BD?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/docs/faq-versioning.md | 48 +++++++++++++++++----------------- content/docs/nav.yml | 2 +- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index b51ea4895..4b1f18f01 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -1,48 +1,48 @@ --- id: faq-versioning -title: Versioning Policy +title: Политика версионирования permalink: docs/faq-versioning.html layout: docs category: FAQ --- -React follows [semantic versioning (semver)](https://semver.org/) principles. +React следует принципам [семантического версионирования (semver)](https://semver.org/). -That means that with a version number **x.y.z**: +Это значит, что для номера версии вида **x.y.z**: -* When releasing **breaking changes**, we make a **major release** by changing the **x** number (ex: 15.6.2 to 16.0.0). -* When releasing **new features**, we make a **minor release** by changing the **y** number (ex: 15.6.2 to 15.7.0). -* When releasing **bug fixes**, we make a **patch release** by changing the **z** number (ex: 15.6.2 to 15.6.3). +* Когда мы выпускаем **несовместимые изменения**, мы делаем **мажорный релиз** изменяя цифру **x** версии (например, с 15.6.2 до 16.0.0). +* Когда мы выпускаем **новую функциональность**, мы делаем **минорный релиз** изменяя цифру **y** версии (например, с 15.6.2 до 15.7.0). +* Когда мы выпускаем **исправления ошибок**, мы делаем **патч-релиз** изменяя цифру **z** версии (например, с 15.6.2 до 15.6.3). -Major releases can also contain new features, and any release can include bug fixes. +Мажорные релизы также могут содержать новую функциональность, и каждый релиз может содержать исправления ошибок. -### Breaking Changes {#breaking-changes} +### Несовместимые изменения {#breaking-changes} -Breaking changes are inconvenient for everyone, so we try to minimize the number of major releases – for example, React 15 was released in April 2016 and React 16 was released in September 2017; React 17 isn't expected until 2019. +Несовместимые изменения are inconvenient для всех, поэтому мы стараемся минимизировать количество мажорных релизов – например, React 15 был выпущен в апреле 2016-го года, а React 16 был выпущен в сентябре 2017-го года; React 17 ожидается не раньше 2019-го года. -Instead, we release new features in minor versions. That means that minor releases are often more interesting and compelling than majors, despite their unassuming name. +Вместо этого мы выпускаем новые фичи в минорных релизах. Это значит, что минорные релизы зачастую более интересны, чем мажорные, несмотря на порядковый номер версии. -### Commitment to Stability {#commitment-to-stability} +### Ответственное отношение к стабильности {#commitment-to-stability} -As we change React over time, we try to minimize the effort required to take advantage of new features. When possible, we'll keep an older API working, even if that means putting it in a separate package. For example, [mixins have been discouraged for years](/blog/2016/07/13/mixins-considered-harmful.html) but they're supported to this day [via create-react-class](/docs/react-without-es6.html#mixins) and many codebases continue to use them in stable, legacy code. +Когда мы меняем React, мы стараемся минимизировать усилия, необходимые для использования новых фич. Когда возможно, мы стараемся сохранить работу старых API, иногда для этого их требуется вынести в отдельный пакет. Например, [миксины были осуждены несколько лет назад](/blog/2016/07/13/mixins-considered-harmful.html) но они до сих пор поддерживаются [через create-react-class](/docs/react-without-es6.html#mixins) и многие проекты продолжают использовать их в стабильном, легаси коде. -Over a million developers use React, collectively maintaining millions of components. The Facebook codebase alone has over 50,000 React components. That means we need to make it as easy as possible to upgrade to new versions of React; if we make large changes without a migration path, people will be stuck on old versions. We test these upgrade paths on Facebook itself – if our team of less than 10 people can update 50,000+ components alone, we hope the upgrade will be manageable for anyone using React. In many cases, we write [automated scripts](https://github.com/reactjs/react-codemod) to upgrade component syntax, which we then include in the open-source release for everyone to use. +React используют больше миллиона разработчиков, поддерживая миллионы компонентов. Только в кодовой базе Facebook более 50 000 React компонентов. Всё это обязывает нас делать обновления до новых версий как можно проще. Если мы не предоставим возможности для обновления, люди застрянут на старых версиях. Мы тестируем наши upgrade paths прямо в Facebook - если наша команда из менее чем 10 человек может обновить более 50 тысяч компонентов, мы думаем, что с этим справятся и другие разработчики на React. Во многих случаях мы пишетм [скрипты автоматизации](https://github.com/reactjs/react-codemod) для обновления синтаксиса компонентов, которые мы выкладываем в открытый доступ для всеобщего использования. -### Gradual Upgrades via Warnings {#gradual-upgrades-via-warnings} +### Постепенное обновление через Предупреждения {#gradual-upgrades-via-warnings} -Development builds of React include many helpful warnings. Whenever possible, we add warnings in preparation for future breaking changes. That way, if your app has no warnings on the latest release, it will be compatible with the next major release. This allows you to upgrade your apps one component at a time. +Режим для разработчиков в React включают множество полезных предупреждений. Когда возможно, мы добавляем предупреждения для будущих несовместимых изменений. Таким образом, если ваше приложение не показывает предупреждений в консоли на последней сборке, значит оно готово к следующей мажорной версии. Это позволяет вам обновлять ваше приложение компонент за компонентом по одиночке. -Development warnings won't affect the runtime behavior of your app. That way, you can feel confident that your app will behave the same way between the development and production builds -- the only differences are that the production build won't log the warnings and that it is more efficient. (If you ever notice otherwise, please file an issue.) +Предупреждения в режиме разработчика не показываются в рантайме вашего приложения. Таким образом, вы можете быть уверены, что ваше приложение будет вести себя одинаково в режиме разработчика и режиме продакшн. Единственная разница в том, что продакшн сборка не будет показывать предупреждения в консоли, что, к тому же более производительно. (Если вы вдруг заметили предупреждение в продакшн сборке, откройте ишью.) -### What Counts as a Breaking Change? {#what-counts-as-a-breaking-change} +### Что считается несовместимым изменением? {#what-counts-as-a-breaking-change} -In general, we *don't* bump the major version number for changes to: +Как правило, мы *не* повышаем мажорную версию для следующих изменений: -* **Development warnings.** Since these don't affect production behavior, we may add new warnings or modify existing warnings in between major versions. In fact, this is what allows us to reliably warn about upcoming breaking changes. -* **APIs starting with `unstable_`.** These are provided as experimental features whose APIs we are not yet confident in. By releasing these with an `unstable_` prefix, we can iterate faster and get to a stable API sooner. -* **Alpha and canary versions of React.** We provide alpha versions of React as a way to test new features early, but we need the flexibility to make changes based on what we learn in the alpha period. If you use these versions, note that APIs may change before the stable release. -* **Undocumented APIs and internal data structures.** If you access internal property names like `__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED` or `__reactInternalInstance$uk43rzhitjg`, there is no warranty. You are on your own. +* **Предупреждения для разработчиков.** Поскольку они не затрагивают поведение на продакшене, мы можем добавлять или изменять существующие предупреждения между мажорными версиями. На самом деле, это позволяет нам надежно предупреждать о новых мажорных изменениях. +* **API с приставкой `unstable_`.** Они поставляются как экспериментальные фичи, в API которых мы не до конца уверены. Выпуская такие фичи с приставкой `unstable_` мы можем iterate быстрее и прийти к стабильному API быстрее. +* **Alpha и canary версии React.** Мы предоставляем alpha версии React как способ как можно скорей попробовать новую функциональность. Но нам нужна гибкость (возможность) вносить изменения на основе обратной связи, полученной в период альфа-тестирования. Если вы используете такие версии, то имейте ввиду, что API могут поменяться в стабильной версии. +* **Недокументированные API и внутренние структуры данных.** Если вы полагаетесь на внутренние переменные типа `__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED` или `__reactInternalInstance$uk43rzhitjg`, вы не получаете никаких гарантий. Это ваша ответственность. -This policy is designed to be pragmatic: certainly, we don't want to cause headaches for you. If we bumped the major version for all of these changes, we would end up releasing more major versions and ultimately causing more versioning pain for the community. It would also mean that we can't make progress in improving React as fast as we'd like. +Эта политика была создана быть прагматичной: безусловно, мы не хотим, чтобы у вас болела голова. Если бы мы поднимали мажорную версию каждый раз в вышеперечисленных случаях, мы бы выпускали их столь часто, что доставили бы кучу боли всему сообществу. И вряд ли бы мы не смогли улучшать React столько быстро, как нам хотелось бы. -That said, if we expect that a change on this list will cause broad problems in the community, we will still do our best to provide a gradual migration path. +В любом случае, если мы думаем, что изменения могут иметь далекоидущие последствия в сообществе, мы постараемся сделать всё возможное, чтобы предоставить плавный пошаговый переход от старой версии к новой. diff --git a/content/docs/nav.yml b/content/docs/nav.yml index f6587e288..eb6c8d308 100644 --- a/content/docs/nav.yml +++ b/content/docs/nav.yml @@ -148,6 +148,6 @@ - id: faq-structure title: File Structure - id: faq-versioning - title: Versioning Policy + title: Политика версионирования - id: faq-internals title: Virtual DOM and Internals From 158528caf79a55b48330db3995f3f58945521d82 Mon Sep 17 00:00:00 2001 From: DmitryMarkov Date: Wed, 20 Feb 2019 09:48:29 +0100 Subject: [PATCH 02/23] =?UTF-8?q?=D0=A4=D0=B8=D0=BD=D0=B0=D0=BB=D1=8C?= =?UTF-8?q?=D0=BD=D1=8B=D0=B5=20=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=20PR?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/docs/faq-versioning.md | 36 +++++++++++++++++----------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index 4b1f18f01..8326bad30 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -6,43 +6,43 @@ layout: docs category: FAQ --- -React следует принципам [семантического версионирования (semver)](https://semver.org/). +React следует принципам [семантического версионирования (semver)](https://semver.org/lang/ru/). Это значит, что для номера версии вида **x.y.z**: -* Когда мы выпускаем **несовместимые изменения**, мы делаем **мажорный релиз** изменяя цифру **x** версии (например, с 15.6.2 до 16.0.0). -* Когда мы выпускаем **новую функциональность**, мы делаем **минорный релиз** изменяя цифру **y** версии (например, с 15.6.2 до 15.7.0). -* Когда мы выпускаем **исправления ошибок**, мы делаем **патч-релиз** изменяя цифру **z** версии (например, с 15.6.2 до 15.6.3). +* Когда мы выпускаем **обратно несовместимые изменения**, мы делаем **мажорный выпуск** изменяя цифру **x** версии (например, с 15.6.2 до 16.0.0). +* Когда мы выпускаем **новые возможности**, мы делаем **минорный выпуск** изменяя цифру **y** версии (например, с 15.6.2 до 15.7.0). +* Когда мы выпускаем **исправления ошибок**, мы делаем **патч-выпуск** изменяя цифру **z** версии (например, с 15.6.2 до 15.6.3). -Мажорные релизы также могут содержать новую функциональность, и каждый релиз может содержать исправления ошибок. +Мажорные выпуски также могут содержать новые возможности, и каждый выпуск может содержать исправления ошибок. -### Несовместимые изменения {#breaking-changes} +### Обратно несовместимые изменения {#breaking-changes} -Несовместимые изменения are inconvenient для всех, поэтому мы стараемся минимизировать количество мажорных релизов – например, React 15 был выпущен в апреле 2016-го года, а React 16 был выпущен в сентябре 2017-го года; React 17 ожидается не раньше 2019-го года. +Обратно несовместимые изменения неудобны всем, поэтому мы стараемся минимизировать количество мажорных выпусков – например, React 15 был выпущен в апреле 2016-го года, а React 16 был выпущен в сентябре 2017-го года; React 17 ожидается не раньше 2019-го года. -Вместо этого мы выпускаем новые фичи в минорных релизах. Это значит, что минорные релизы зачастую более интересны, чем мажорные, несмотря на порядковый номер версии. +Вместо этого мы выпускаем новые возможности в минорных выпусках. Это значит, что минорные выпуски зачастую более интересны, чем мажорные, несмотря на порядковый номер версии. ### Ответственное отношение к стабильности {#commitment-to-stability} -Когда мы меняем React, мы стараемся минимизировать усилия, необходимые для использования новых фич. Когда возможно, мы стараемся сохранить работу старых API, иногда для этого их требуется вынести в отдельный пакет. Например, [миксины были осуждены несколько лет назад](/blog/2016/07/13/mixins-considered-harmful.html) но они до сих пор поддерживаются [через create-react-class](/docs/react-without-es6.html#mixins) и многие проекты продолжают использовать их в стабильном, легаси коде. +Когда мы меняем React, мы стараемся минимизировать усилия, необходимые для использования новых возможностей. Когда возможно, мы стараемся сохранить работу старых API, иногда для этого их требуется вынести в отдельный пакет. Например, [примеси были объявлены "вне закона" несколько лет назад](/blog/2016/07/13/mixins-considered-harmful.html) но они до сих пор поддерживаются [через create-react-class](/docs/react-without-es6.html#mixins) и многие проекты продолжают использовать их в стабильном или неподдерживаемом коде. -React используют больше миллиона разработчиков, поддерживая миллионы компонентов. Только в кодовой базе Facebook более 50 000 React компонентов. Всё это обязывает нас делать обновления до новых версий как можно проще. Если мы не предоставим возможности для обновления, люди застрянут на старых версиях. Мы тестируем наши upgrade paths прямо в Facebook - если наша команда из менее чем 10 человек может обновить более 50 тысяч компонентов, мы думаем, что с этим справятся и другие разработчики на React. Во многих случаях мы пишетм [скрипты автоматизации](https://github.com/reactjs/react-codemod) для обновления синтаксиса компонентов, которые мы выкладываем в открытый доступ для всеобщего использования. +React используют больше миллиона разработчиков, поддерживая миллионы компонентов. Только в кодовой базе Facebook более 50 000 React компонентов. Всё это обязывает нас делать обновления до новых версий как можно проще. Если мы не предоставим возможности для обновления, люди застрянут на старых версиях. Мы тестируем наши *пути обновления* прямо в Facebook -- если наша команда из 10 человек может обновить более 50 тысяч компонентов, мы думаем, что с этим справятся и другие React-разработчики. Во многих случаях мы пишем [скрипты автоматизации](https://github.com/reactjs/react-codemod) для обновления синтаксиса компонентов, которые мы выкладываем в открытый доступ для всеобщего использования. -### Постепенное обновление через Предупреждения {#gradual-upgrades-via-warnings} +### Постепенное обновление через предупреждения {#gradual-upgrades-via-warnings} -Режим для разработчиков в React включают множество полезных предупреждений. Когда возможно, мы добавляем предупреждения для будущих несовместимых изменений. Таким образом, если ваше приложение не показывает предупреждений в консоли на последней сборке, значит оно готово к следующей мажорной версии. Это позволяет вам обновлять ваше приложение компонент за компонентом по одиночке. +Режим для разработчиков в React включает множество полезных предупреждений. Когда возможно, мы добавляем предупреждения для будущих обратно несовместимых изменений. Таким образом, если ваше приложение не показывает предупреждений в консоли в последнем выпуске, значит оно готово к следующей мажорной версии. Это позволяет вам обновлять ваше приложение компонент за компонентом по одиночке. -Предупреждения в режиме разработчика не показываются в рантайме вашего приложения. Таким образом, вы можете быть уверены, что ваше приложение будет вести себя одинаково в режиме разработчика и режиме продакшн. Единственная разница в том, что продакшн сборка не будет показывать предупреждения в консоли, что, к тому же более производительно. (Если вы вдруг заметили предупреждение в продакшн сборке, откройте ишью.) +Предупреждения в режиме разработчика не показываются во времени выполения вашего приложения. Таким образом, вы можете быть уверены, что ваше приложение будет вести себя одинаково в режиме разработчика и продакшен-режиме. Разница лишь в том, что продакшен сборка не будет показывать предупреждения в консоли, что, к тому же, более производительно. (Если вы вдруг заметили предупреждение в продакшен-режиме, откройте ишью.) -### Что считается несовместимым изменением? {#what-counts-as-a-breaking-change} +### Что считается обратно несовместимым изменением? {#what-counts-as-a-breaking-change} Как правило, мы *не* повышаем мажорную версию для следующих изменений: -* **Предупреждения для разработчиков.** Поскольку они не затрагивают поведение на продакшене, мы можем добавлять или изменять существующие предупреждения между мажорными версиями. На самом деле, это позволяет нам надежно предупреждать о новых мажорных изменениях. -* **API с приставкой `unstable_`.** Они поставляются как экспериментальные фичи, в API которых мы не до конца уверены. Выпуская такие фичи с приставкой `unstable_` мы можем iterate быстрее и прийти к стабильному API быстрее. -* **Alpha и canary версии React.** Мы предоставляем alpha версии React как способ как можно скорей попробовать новую функциональность. Но нам нужна гибкость (возможность) вносить изменения на основе обратной связи, полученной в период альфа-тестирования. Если вы используете такие версии, то имейте ввиду, что API могут поменяться в стабильной версии. +* **Предупреждения для разработчиков.** Поскольку они не затрагивают поведение в продакшен-режиме, мы можем добавлять или изменять существующие предупреждения между мажорными версиями. На самом деле, это позволяет нам доходчиво предупреждать о новых мажорных изменениях. +* **API с приставкой `unstable_`.** Они поставляются как экспериментальные возможности, в API которых мы не до конца уверены. Выпуская такие возможности с приставкой `unstable_` мы можем обновлять их быстрее и прийти к стабильному API быстрее. +* **Alpha и canary версии React.** Мы предоставляем alpha версии React как способ как можно скорей попробовать новые возможности, но нам нужна гибкость для внесения изменений на основе обратной связи, полученной в период альфа-тестирования. Если вы используете такие версии, то имейте ввиду, что API могут поменяться в стабильной версии. * **Недокументированные API и внутренние структуры данных.** Если вы полагаетесь на внутренние переменные типа `__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED` или `__reactInternalInstance$uk43rzhitjg`, вы не получаете никаких гарантий. Это ваша ответственность. -Эта политика была создана быть прагматичной: безусловно, мы не хотим, чтобы у вас болела голова. Если бы мы поднимали мажорную версию каждый раз в вышеперечисленных случаях, мы бы выпускали их столь часто, что доставили бы кучу боли всему сообществу. И вряд ли бы мы не смогли улучшать React столько быстро, как нам хотелось бы. +Эта политика создана быть практичной: безусловно, мы не хотим, чтобы у вас болела голова. Если бы мы поднимали мажорную версию каждый раз во всех вышеперечисленных случаях, мы бы выпускали их столь часто, что доставили бы кучу боли всему сообществу. И вряд ли бы мы не смогли улучшать React столь быстро, как нам хотелось бы. В любом случае, если мы думаем, что изменения могут иметь далекоидущие последствия в сообществе, мы постараемся сделать всё возможное, чтобы предоставить плавный пошаговый переход от старой версии к новой. From d671518ae256f691547ee53e106eca8d7407813e Mon Sep 17 00:00:00 2001 From: DmitryMarkov Date: Fri, 22 Feb 2019 08:11:56 +0100 Subject: [PATCH 03/23] =?UTF-8?q?=D0=97=D0=B0=D0=BC=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB=20"=D0=B2=D1=8B=D0=BF=D1=83=D1=81=D0=BA"=20=D0=BD=D0=B0?= =?UTF-8?q?=20"=D1=80=D0=B5=D0=BB=D0=B8=D0=B7"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/docs/faq-versioning.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index 8326bad30..4246b4215 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -10,17 +10,17 @@ React следует принципам [семантического верси Это значит, что для номера версии вида **x.y.z**: -* Когда мы выпускаем **обратно несовместимые изменения**, мы делаем **мажорный выпуск** изменяя цифру **x** версии (например, с 15.6.2 до 16.0.0). -* Когда мы выпускаем **новые возможности**, мы делаем **минорный выпуск** изменяя цифру **y** версии (например, с 15.6.2 до 15.7.0). -* Когда мы выпускаем **исправления ошибок**, мы делаем **патч-выпуск** изменяя цифру **z** версии (например, с 15.6.2 до 15.6.3). +* Когда мы выпускаем **обратно несовместимые изменения**, мы делаем **мажорный релиз** изменяя цифру **x** версии (например, с 15.6.2 до 16.0.0). +* Когда мы выпускаем **новые возможности**, мы делаем **минорный релиз** изменяя цифру **y** версии (например, с 15.6.2 до 15.7.0). +* Когда мы выпускаем **исправления ошибок**, мы делаем **патч-релиз** изменяя цифру **z** версии (например, с 15.6.2 до 15.6.3). -Мажорные выпуски также могут содержать новые возможности, и каждый выпуск может содержать исправления ошибок. +Мажорные релизы также могут содержать новые возможности, и каждый релиз может содержать исправления ошибок. ### Обратно несовместимые изменения {#breaking-changes} -Обратно несовместимые изменения неудобны всем, поэтому мы стараемся минимизировать количество мажорных выпусков – например, React 15 был выпущен в апреле 2016-го года, а React 16 был выпущен в сентябре 2017-го года; React 17 ожидается не раньше 2019-го года. +Обратно несовместимые изменения неудобны всем, поэтому мы стараемся минимизировать количество мажорных релизов – например, React 15 был выпущен в апреле 2016-го года, а React 16 был выпущен в сентябре 2017-го года; React 17 ожидается не раньше 2019-го года. -Вместо этого мы выпускаем новые возможности в минорных выпусках. Это значит, что минорные выпуски зачастую более интересны, чем мажорные, несмотря на порядковый номер версии. +Вместо этого мы выпускаем новые возможности в минорных релизах. Это значит, что минорные релизы зачастую более интересны, чем мажорные, несмотря на порядковый номер версии. ### Ответственное отношение к стабильности {#commitment-to-stability} @@ -30,9 +30,9 @@ React используют больше миллиона разработчик ### Постепенное обновление через предупреждения {#gradual-upgrades-via-warnings} -Режим для разработчиков в React включает множество полезных предупреждений. Когда возможно, мы добавляем предупреждения для будущих обратно несовместимых изменений. Таким образом, если ваше приложение не показывает предупреждений в консоли в последнем выпуске, значит оно готово к следующей мажорной версии. Это позволяет вам обновлять ваше приложение компонент за компонентом по одиночке. +Режим для разработчиков в React включает множество полезных предупреждений. Когда возможно, мы добавляем предупреждения для будущих обратно несовместимых изменений. Таким образом, если ваше приложение не показывает предупреждений в консоли в последнем релизе, значит оно готово к следующей мажорной версии. Это позволяет вам обновлять ваше приложение компонент за компонентом по одиночке. -Предупреждения в режиме разработчика не показываются во времени выполения вашего приложения. Таким образом, вы можете быть уверены, что ваше приложение будет вести себя одинаково в режиме разработчика и продакшен-режиме. Разница лишь в том, что продакшен сборка не будет показывать предупреждения в консоли, что, к тому же, более производительно. (Если вы вдруг заметили предупреждение в продакшен-режиме, откройте ишью.) +Предупреждения в режиме разработчика не показываются во времени выполнения вашего приложения. Таким образом, вы можете быть уверены, что ваше приложение будет вести себя одинаково в режиме разработчика и продакшен-режиме. Разница лишь в том, что продакшен сборка не будет показывать предупреждения в консоли, что, к тому же, более производительно. (Если вы вдруг заметили предупреждение в продакшен-режиме, откройте ишью.) ### Что считается обратно несовместимым изменением? {#what-counts-as-a-breaking-change} From 1879fa6e95f4034b58ef62f3000837d68de838f3 Mon Sep 17 00:00:00 2001 From: DmitryMarkov Date: Sat, 23 Feb 2019 10:11:28 +0100 Subject: [PATCH 04/23] =?UTF-8?q?=D0=97=D0=B0=D0=BC=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB=20"=D1=86=D0=B8=D1=84=D1=80=D1=83"=20=D0=BD=D0=B0=20"?= =?UTF-8?q?=D1=87=D0=B8=D1=81=D0=BB=D0=BE"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/docs/faq-versioning.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index 4246b4215..e40f2dd46 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -10,9 +10,9 @@ React следует принципам [семантического верси Это значит, что для номера версии вида **x.y.z**: -* Когда мы выпускаем **обратно несовместимые изменения**, мы делаем **мажорный релиз** изменяя цифру **x** версии (например, с 15.6.2 до 16.0.0). -* Когда мы выпускаем **новые возможности**, мы делаем **минорный релиз** изменяя цифру **y** версии (например, с 15.6.2 до 15.7.0). -* Когда мы выпускаем **исправления ошибок**, мы делаем **патч-релиз** изменяя цифру **z** версии (например, с 15.6.2 до 15.6.3). +* Когда мы выпускаем **обратно несовместимые изменения**, мы делаем **мажорный релиз** изменяя число **x** версии (например, с 15.6.2 до 16.0.0). +* Когда мы выпускаем **новые возможности**, мы делаем **минорный релиз** изменяя число **y** версии (например, с 15.6.2 до 15.7.0). +* Когда мы выпускаем **исправления ошибок**, мы делаем **патч-релиз** изменяя число **z** версии (например, с 15.6.2 до 15.6.3). Мажорные релизы также могут содержать новые возможности, и каждый релиз может содержать исправления ошибок. From d4a3e86dce735aff07829a8b777e9c43ea5a481e Mon Sep 17 00:00:00 2001 From: Anton Ahatov Date: Mon, 25 Feb 2019 07:11:10 +0100 Subject: [PATCH 05/23] Update content/docs/faq-versioning.md Co-Authored-By: DmitryMarkov --- content/docs/faq-versioning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index e40f2dd46..faff4d099 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -10,7 +10,7 @@ React следует принципам [семантического верси Это значит, что для номера версии вида **x.y.z**: -* Когда мы выпускаем **обратно несовместимые изменения**, мы делаем **мажорный релиз** изменяя число **x** версии (например, с 15.6.2 до 16.0.0). +* При выпуске **обратно несовместимых изменений**, мы делаем **мажорный релиз**, изменяя число **x** (например, с 15.6.2 до 16.0.0). * Когда мы выпускаем **новые возможности**, мы делаем **минорный релиз** изменяя число **y** версии (например, с 15.6.2 до 15.7.0). * Когда мы выпускаем **исправления ошибок**, мы делаем **патч-релиз** изменяя число **z** версии (например, с 15.6.2 до 15.6.3). From df70fa2719e24a9273916c49ad7d44fff384d343 Mon Sep 17 00:00:00 2001 From: Anton Ahatov Date: Mon, 25 Feb 2019 07:11:28 +0100 Subject: [PATCH 06/23] Update content/docs/faq-versioning.md Co-Authored-By: DmitryMarkov --- content/docs/faq-versioning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index faff4d099..db97b4655 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -11,7 +11,7 @@ React следует принципам [семантического верси Это значит, что для номера версии вида **x.y.z**: * При выпуске **обратно несовместимых изменений**, мы делаем **мажорный релиз**, изменяя число **x** (например, с 15.6.2 до 16.0.0). -* Когда мы выпускаем **новые возможности**, мы делаем **минорный релиз** изменяя число **y** версии (например, с 15.6.2 до 15.7.0). +* При выпуске **новых возможностей**, мы делаем **минорный релиз**, изменяя число **y** (например, с 15.6.2 до 15.7.0). * Когда мы выпускаем **исправления ошибок**, мы делаем **патч-релиз** изменяя число **z** версии (например, с 15.6.2 до 15.6.3). Мажорные релизы также могут содержать новые возможности, и каждый релиз может содержать исправления ошибок. From 1788c0b68a647759bece93458c02ae6273cd5464 Mon Sep 17 00:00:00 2001 From: Anton Ahatov Date: Mon, 25 Feb 2019 07:11:44 +0100 Subject: [PATCH 07/23] Update content/docs/faq-versioning.md Co-Authored-By: DmitryMarkov --- content/docs/faq-versioning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index db97b4655..a6d03b244 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -12,7 +12,7 @@ React следует принципам [семантического верси * При выпуске **обратно несовместимых изменений**, мы делаем **мажорный релиз**, изменяя число **x** (например, с 15.6.2 до 16.0.0). * При выпуске **новых возможностей**, мы делаем **минорный релиз**, изменяя число **y** (например, с 15.6.2 до 15.7.0). -* Когда мы выпускаем **исправления ошибок**, мы делаем **патч-релиз** изменяя число **z** версии (например, с 15.6.2 до 15.6.3). +* При выпуске **исправлений ошибок**, мы делаем **патч-релиз**, изменяя число **z** (например, с 15.6.2 до 15.6.3). Мажорные релизы также могут содержать новые возможности, и каждый релиз может содержать исправления ошибок. From 980c5cbe92671b32bd96fd7c8036bf5d0648ae06 Mon Sep 17 00:00:00 2001 From: Anton Ahatov Date: Mon, 25 Feb 2019 07:12:16 +0100 Subject: [PATCH 08/23] Update content/docs/faq-versioning.md Co-Authored-By: DmitryMarkov --- content/docs/faq-versioning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index a6d03b244..7f15cf222 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -14,7 +14,7 @@ React следует принципам [семантического верси * При выпуске **новых возможностей**, мы делаем **минорный релиз**, изменяя число **y** (например, с 15.6.2 до 15.7.0). * При выпуске **исправлений ошибок**, мы делаем **патч-релиз**, изменяя число **z** (например, с 15.6.2 до 15.6.3). -Мажорные релизы также могут содержать новые возможности, и каждый релиз может содержать исправления ошибок. +Мажорные релизы могут содержать новые возможности, также каждый релиз может содержать исправления ошибок. ### Обратно несовместимые изменения {#breaking-changes} From 6d98acbd7499c0cd68d40a93563975773fc136d7 Mon Sep 17 00:00:00 2001 From: Anton Ahatov Date: Mon, 25 Feb 2019 07:12:40 +0100 Subject: [PATCH 09/23] Update content/docs/faq-versioning.md Co-Authored-By: DmitryMarkov --- content/docs/faq-versioning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index 7f15cf222..3d3b29bfc 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -18,7 +18,7 @@ React следует принципам [семантического верси ### Обратно несовместимые изменения {#breaking-changes} -Обратно несовместимые изменения неудобны всем, поэтому мы стараемся минимизировать количество мажорных релизов – например, React 15 был выпущен в апреле 2016-го года, а React 16 был выпущен в сентябре 2017-го года; React 17 ожидается не раньше 2019-го года. +Обратно несовместимые изменения неудобны для всех, поэтому мы стараемся минимизировать количество мажорных релизов. Например, React 15 был выпущен в апреле 2016, а React 16 в сентябре 2017. React 17 ожидается не раньше 2019-го года. Вместо этого мы выпускаем новые возможности в минорных релизах. Это значит, что минорные релизы зачастую более интересны, чем мажорные, несмотря на порядковый номер версии. From c1da797529c2a417246168915fe0aa4e89b869e6 Mon Sep 17 00:00:00 2001 From: Anton Ahatov Date: Mon, 25 Feb 2019 07:14:07 +0100 Subject: [PATCH 10/23] Update content/docs/faq-versioning.md Co-Authored-By: DmitryMarkov --- content/docs/faq-versioning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index 3d3b29bfc..8a7ca041f 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -24,7 +24,7 @@ React следует принципам [семантического верси ### Ответственное отношение к стабильности {#commitment-to-stability} -Когда мы меняем React, мы стараемся минимизировать усилия, необходимые для использования новых возможностей. Когда возможно, мы стараемся сохранить работу старых API, иногда для этого их требуется вынести в отдельный пакет. Например, [примеси были объявлены "вне закона" несколько лет назад](/blog/2016/07/13/mixins-considered-harmful.html) но они до сих пор поддерживаются [через create-react-class](/docs/react-without-es6.html#mixins) и многие проекты продолжают использовать их в стабильном или неподдерживаемом коде. +Изменяя React, мы стараемся упростить изучение новых возможностей. Кроме этого, мы стараемся сохранить работу старых API, даже если требуется их перенос в отдельный пакет. Например, [мы отказались от примесей несколько лет назад](/blog/2016/07/13/mixins-considered-harmful.html), но они до сих пор поддерживаются [через create-react-class](/docs/react-without-es6.html#mixins) и многие проекты продолжают их использовать в стабильном, устаревшем коде. React используют больше миллиона разработчиков, поддерживая миллионы компонентов. Только в кодовой базе Facebook более 50 000 React компонентов. Всё это обязывает нас делать обновления до новых версий как можно проще. Если мы не предоставим возможности для обновления, люди застрянут на старых версиях. Мы тестируем наши *пути обновления* прямо в Facebook -- если наша команда из 10 человек может обновить более 50 тысяч компонентов, мы думаем, что с этим справятся и другие React-разработчики. Во многих случаях мы пишем [скрипты автоматизации](https://github.com/reactjs/react-codemod) для обновления синтаксиса компонентов, которые мы выкладываем в открытый доступ для всеобщего использования. From 04855a3e43b12bacb4ee9495d2033f8b51894e3f Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Sat, 2 Mar 2019 12:07:18 +0100 Subject: [PATCH 11/23] Update content/docs/faq-versioning.md Co-Authored-By: DmitryMarkov --- content/docs/faq-versioning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index 8a7ca041f..a0a849257 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -26,7 +26,7 @@ React следует принципам [семантического верси Изменяя React, мы стараемся упростить изучение новых возможностей. Кроме этого, мы стараемся сохранить работу старых API, даже если требуется их перенос в отдельный пакет. Например, [мы отказались от примесей несколько лет назад](/blog/2016/07/13/mixins-considered-harmful.html), но они до сих пор поддерживаются [через create-react-class](/docs/react-without-es6.html#mixins) и многие проекты продолжают их использовать в стабильном, устаревшем коде. -React используют больше миллиона разработчиков, поддерживая миллионы компонентов. Только в кодовой базе Facebook более 50 000 React компонентов. Всё это обязывает нас делать обновления до новых версий как можно проще. Если мы не предоставим возможности для обновления, люди застрянут на старых версиях. Мы тестируем наши *пути обновления* прямо в Facebook -- если наша команда из 10 человек может обновить более 50 тысяч компонентов, мы думаем, что с этим справятся и другие React-разработчики. Во многих случаях мы пишем [скрипты автоматизации](https://github.com/reactjs/react-codemod) для обновления синтаксиса компонентов, которые мы выкладываем в открытый доступ для всеобщего использования. +React используют больше миллиона разработчиков, поддерживая миллионы компонентов. Только в кодовой базе Facebook более 50 000 React-компонентов. Всё это обязывает нас делать обновления до новых версий как можно проще. Если мы не предоставим возможности для обновления, люди застрянут на старых версиях. Мы тестируем наши *пути обновления* прямо в Facebook -- если наша команда из 10 человек может обновить более 50 тысяч компонентов, мы думаем, что с этим справятся и другие React-разработчики. Во многих случаях мы пишем [скрипты автоматизации](https://github.com/reactjs/react-codemod) для обновления синтаксиса компонентов, которые мы выкладываем в открытый доступ для всеобщего использования. ### Постепенное обновление через предупреждения {#gradual-upgrades-via-warnings} From b73c58500ca6e3bb46b7ba87c18dcd6dcfc806b0 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Sat, 2 Mar 2019 12:07:36 +0100 Subject: [PATCH 12/23] Update content/docs/faq-versioning.md Co-Authored-By: DmitryMarkov --- content/docs/faq-versioning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index a0a849257..cc46ab9e5 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -32,7 +32,7 @@ React используют больше миллиона разработчик Режим для разработчиков в React включает множество полезных предупреждений. Когда возможно, мы добавляем предупреждения для будущих обратно несовместимых изменений. Таким образом, если ваше приложение не показывает предупреждений в консоли в последнем релизе, значит оно готово к следующей мажорной версии. Это позволяет вам обновлять ваше приложение компонент за компонентом по одиночке. -Предупреждения в режиме разработчика не показываются во времени выполнения вашего приложения. Таким образом, вы можете быть уверены, что ваше приложение будет вести себя одинаково в режиме разработчика и продакшен-режиме. Разница лишь в том, что продакшен сборка не будет показывать предупреждения в консоли, что, к тому же, более производительно. (Если вы вдруг заметили предупреждение в продакшен-режиме, откройте ишью.) +Предупреждения в режиме разработчика не показываются во времени выполнения вашего приложения. Таким образом, вы можете быть уверены, что ваше приложение будет вести себя одинаково в режиме разработчика и продакшен-режиме. Разница лишь в том, что продакшен-сборка не будет показывать предупреждения в консоли, что, к тому же, более производительно. (Если вы вдруг заметили предупреждение в продакшен-режиме, откройте ишью.) ### Что считается обратно несовместимым изменением? {#what-counts-as-a-breaking-change} From 4dfe102814fef9d512c038886683cff7db7deb93 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Sat, 2 Mar 2019 12:08:10 +0100 Subject: [PATCH 13/23] Update content/docs/faq-versioning.md Co-Authored-By: DmitryMarkov --- content/docs/faq-versioning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index cc46ab9e5..196bbef4f 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -40,7 +40,7 @@ React используют больше миллиона разработчик * **Предупреждения для разработчиков.** Поскольку они не затрагивают поведение в продакшен-режиме, мы можем добавлять или изменять существующие предупреждения между мажорными версиями. На самом деле, это позволяет нам доходчиво предупреждать о новых мажорных изменениях. * **API с приставкой `unstable_`.** Они поставляются как экспериментальные возможности, в API которых мы не до конца уверены. Выпуская такие возможности с приставкой `unstable_` мы можем обновлять их быстрее и прийти к стабильному API быстрее. -* **Alpha и canary версии React.** Мы предоставляем alpha версии React как способ как можно скорей попробовать новые возможности, но нам нужна гибкость для внесения изменений на основе обратной связи, полученной в период альфа-тестирования. Если вы используете такие версии, то имейте ввиду, что API могут поменяться в стабильной версии. +* **Альфа и канареечные версии React.** Мы предоставляем альфа-версии React как способ как можно скорей попробовать новые возможности, но нам нужна гибкость для внесения изменений на основе обратной связи, полученной в период альфа-тестирования. Если вы используете такие версии, то имейте в виду, что API могут поменяться в стабильной версии. * **Недокументированные API и внутренние структуры данных.** Если вы полагаетесь на внутренние переменные типа `__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED` или `__reactInternalInstance$uk43rzhitjg`, вы не получаете никаких гарантий. Это ваша ответственность. Эта политика создана быть практичной: безусловно, мы не хотим, чтобы у вас болела голова. Если бы мы поднимали мажорную версию каждый раз во всех вышеперечисленных случаях, мы бы выпускали их столь часто, что доставили бы кучу боли всему сообществу. И вряд ли бы мы не смогли улучшать React столь быстро, как нам хотелось бы. From f4b2385aa092511a5bf2026766a87caf523b000b Mon Sep 17 00:00:00 2001 From: Anton Ahatov Date: Sun, 3 Mar 2019 08:51:02 +0100 Subject: [PATCH 14/23] Update content/docs/faq-versioning.md Co-Authored-By: DmitryMarkov --- content/docs/faq-versioning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index 196bbef4f..456fbfa60 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -14,7 +14,7 @@ React следует принципам [семантического верси * При выпуске **новых возможностей**, мы делаем **минорный релиз**, изменяя число **y** (например, с 15.6.2 до 15.7.0). * При выпуске **исправлений ошибок**, мы делаем **патч-релиз**, изменяя число **z** (например, с 15.6.2 до 15.6.3). -Мажорные релизы могут содержать новые возможности, также каждый релиз может содержать исправления ошибок. +Мажорные релизы могут содержать новые возможности. Каждый релиз может содержать исправления ошибок. ### Обратно несовместимые изменения {#breaking-changes} From 251f2a4e92762edd6bbc9f78177d76f0b50b221f Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Sun, 3 Mar 2019 08:51:32 +0100 Subject: [PATCH 15/23] Update content/docs/faq-versioning.md Co-Authored-By: DmitryMarkov --- content/docs/faq-versioning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index 456fbfa60..3b7f3b20e 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -18,7 +18,7 @@ React следует принципам [семантического верси ### Обратно несовместимые изменения {#breaking-changes} -Обратно несовместимые изменения неудобны для всех, поэтому мы стараемся минимизировать количество мажорных релизов. Например, React 15 был выпущен в апреле 2016, а React 16 в сентябре 2017. React 17 ожидается не раньше 2019-го года. +Обратно несовместимые изменения неудобны для всех, поэтому мы стараемся минимизировать количество мажорных релизов. Например, React 15 был выпущен в апреле 2016 года, а React 16 — в сентябре 2017 года. React 17 ожидается не раньше 2019 года. Вместо этого мы выпускаем новые возможности в минорных релизах. Это значит, что минорные релизы зачастую более интересны, чем мажорные, несмотря на порядковый номер версии. From 73ee6b2c63e42ce9b39d4937bf25a47db47f4f3c Mon Sep 17 00:00:00 2001 From: Anton Ahatov Date: Sun, 3 Mar 2019 08:52:04 +0100 Subject: [PATCH 16/23] Update content/docs/faq-versioning.md Co-Authored-By: DmitryMarkov --- content/docs/faq-versioning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index 3b7f3b20e..2a6be1955 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -38,7 +38,7 @@ React используют больше миллиона разработчик Как правило, мы *не* повышаем мажорную версию для следующих изменений: -* **Предупреждения для разработчиков.** Поскольку они не затрагивают поведение в продакшен-режиме, мы можем добавлять или изменять существующие предупреждения между мажорными версиями. На самом деле, это позволяет нам доходчиво предупреждать о новых мажорных изменениях. +* **Предупреждения для разработчиков.** Поскольку они не затрагивают поведение в продакшен-режиме, мы можем добавлять или изменять существующие предупреждения между мажорными версиями. Это позволяет нам заранее предупреждать о новых мажорных изменениях. * **API с приставкой `unstable_`.** Они поставляются как экспериментальные возможности, в API которых мы не до конца уверены. Выпуская такие возможности с приставкой `unstable_` мы можем обновлять их быстрее и прийти к стабильному API быстрее. * **Альфа и канареечные версии React.** Мы предоставляем альфа-версии React как способ как можно скорей попробовать новые возможности, но нам нужна гибкость для внесения изменений на основе обратной связи, полученной в период альфа-тестирования. Если вы используете такие версии, то имейте в виду, что API могут поменяться в стабильной версии. * **Недокументированные API и внутренние структуры данных.** Если вы полагаетесь на внутренние переменные типа `__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED` или `__reactInternalInstance$uk43rzhitjg`, вы не получаете никаких гарантий. Это ваша ответственность. From 9fd048d5fce0c36b941387a4887d7eb9d9c1486c Mon Sep 17 00:00:00 2001 From: Anton Ahatov Date: Sun, 3 Mar 2019 08:52:37 +0100 Subject: [PATCH 17/23] Update content/docs/faq-versioning.md Co-Authored-By: DmitryMarkov --- content/docs/faq-versioning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index 2a6be1955..1a6ae6e27 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -39,7 +39,7 @@ React используют больше миллиона разработчик Как правило, мы *не* повышаем мажорную версию для следующих изменений: * **Предупреждения для разработчиков.** Поскольку они не затрагивают поведение в продакшен-режиме, мы можем добавлять или изменять существующие предупреждения между мажорными версиями. Это позволяет нам заранее предупреждать о новых мажорных изменениях. -* **API с приставкой `unstable_`.** Они поставляются как экспериментальные возможности, в API которых мы не до конца уверены. Выпуская такие возможности с приставкой `unstable_` мы можем обновлять их быстрее и прийти к стабильному API быстрее. +* **API с приставкой `unstable_`.** Они добавляют экспериментальные возможности, в API которых мы не уверены до конца. Выпуская такие возможности с приставкой `unstable_`, мы можем их обновлять и переходить к стабильному API быстрее. * **Альфа и канареечные версии React.** Мы предоставляем альфа-версии React как способ как можно скорей попробовать новые возможности, но нам нужна гибкость для внесения изменений на основе обратной связи, полученной в период альфа-тестирования. Если вы используете такие версии, то имейте в виду, что API могут поменяться в стабильной версии. * **Недокументированные API и внутренние структуры данных.** Если вы полагаетесь на внутренние переменные типа `__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED` или `__reactInternalInstance$uk43rzhitjg`, вы не получаете никаких гарантий. Это ваша ответственность. From 5b15639169873ef9f7a01d723b4c239afd516f00 Mon Sep 17 00:00:00 2001 From: Anton Ahatov Date: Sun, 3 Mar 2019 08:53:16 +0100 Subject: [PATCH 18/23] Update content/docs/faq-versioning.md Co-Authored-By: DmitryMarkov --- content/docs/faq-versioning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index 1a6ae6e27..7689dc268 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -40,7 +40,7 @@ React используют больше миллиона разработчик * **Предупреждения для разработчиков.** Поскольку они не затрагивают поведение в продакшен-режиме, мы можем добавлять или изменять существующие предупреждения между мажорными версиями. Это позволяет нам заранее предупреждать о новых мажорных изменениях. * **API с приставкой `unstable_`.** Они добавляют экспериментальные возможности, в API которых мы не уверены до конца. Выпуская такие возможности с приставкой `unstable_`, мы можем их обновлять и переходить к стабильному API быстрее. -* **Альфа и канареечные версии React.** Мы предоставляем альфа-версии React как способ как можно скорей попробовать новые возможности, но нам нужна гибкость для внесения изменений на основе обратной связи, полученной в период альфа-тестирования. Если вы используете такие версии, то имейте в виду, что API могут поменяться в стабильной версии. +* **Альфа и канареечные версии React.** Альфа-версии React позволяют попробовать новые возможности раньше. Мы можем вносить в них изменения на основе обратной связи, полученной в период альфа-тестирования. Если вы используете такие версии, имейте в виду, что API может измениться в стабильной версии. * **Недокументированные API и внутренние структуры данных.** Если вы полагаетесь на внутренние переменные типа `__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED` или `__reactInternalInstance$uk43rzhitjg`, вы не получаете никаких гарантий. Это ваша ответственность. Эта политика создана быть практичной: безусловно, мы не хотим, чтобы у вас болела голова. Если бы мы поднимали мажорную версию каждый раз во всех вышеперечисленных случаях, мы бы выпускали их столь часто, что доставили бы кучу боли всему сообществу. И вряд ли бы мы не смогли улучшать React столь быстро, как нам хотелось бы. From 66db14cc6627fb476d36e4244332573c5d203701 Mon Sep 17 00:00:00 2001 From: Anton Ahatov Date: Sun, 3 Mar 2019 08:57:31 +0100 Subject: [PATCH 19/23] Update content/docs/faq-versioning.md Co-Authored-By: DmitryMarkov --- content/docs/faq-versioning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index 7689dc268..a805be467 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -43,6 +43,6 @@ React используют больше миллиона разработчик * **Альфа и канареечные версии React.** Альфа-версии React позволяют попробовать новые возможности раньше. Мы можем вносить в них изменения на основе обратной связи, полученной в период альфа-тестирования. Если вы используете такие версии, имейте в виду, что API может измениться в стабильной версии. * **Недокументированные API и внутренние структуры данных.** Если вы полагаетесь на внутренние переменные типа `__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED` или `__reactInternalInstance$uk43rzhitjg`, вы не получаете никаких гарантий. Это ваша ответственность. -Эта политика создана быть практичной: безусловно, мы не хотим, чтобы у вас болела голова. Если бы мы поднимали мажорную версию каждый раз во всех вышеперечисленных случаях, мы бы выпускали их столь часто, что доставили бы кучу боли всему сообществу. И вряд ли бы мы не смогли улучшать React столь быстро, как нам хотелось бы. +Эта политика создана, чтобы помочь на практике. Мы не хотим, чтобы у вас болела голова. Если бы мы поднимали мажорную версию слишком часто, то доставили бы множество проблем всему сообществу. И это бы не позволило улучшать React так быстро, как нам хотелось. В любом случае, если мы думаем, что изменения могут иметь далекоидущие последствия в сообществе, мы постараемся сделать всё возможное, чтобы предоставить плавный пошаговый переход от старой версии к новой. From 3bacbec71ba56627cd181a96604ac01e537ec5db Mon Sep 17 00:00:00 2001 From: ANOTHER GUY Date: Mon, 4 Mar 2019 14:28:52 +0100 Subject: [PATCH 20/23] Update content/docs/faq-versioning.md Co-Authored-By: DmitryMarkov --- content/docs/faq-versioning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index a805be467..5c6b20ffb 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -43,6 +43,6 @@ React используют больше миллиона разработчик * **Альфа и канареечные версии React.** Альфа-версии React позволяют попробовать новые возможности раньше. Мы можем вносить в них изменения на основе обратной связи, полученной в период альфа-тестирования. Если вы используете такие версии, имейте в виду, что API может измениться в стабильной версии. * **Недокументированные API и внутренние структуры данных.** Если вы полагаетесь на внутренние переменные типа `__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED` или `__reactInternalInstance$uk43rzhitjg`, вы не получаете никаких гарантий. Это ваша ответственность. -Эта политика создана, чтобы помочь на практике. Мы не хотим, чтобы у вас болела голова. Если бы мы поднимали мажорную версию слишком часто, то доставили бы множество проблем всему сообществу. И это бы не позволило улучшать React так быстро, как нам хотелось. +Наша политика разработана, чтобы быть практичной. Мы не хотим создавать вам головную боль. Если бы мы поднимали мажорную версию слишком часто, то доставили бы множество проблем всему сообществу. И это бы не позволило улучшать React так быстро, как нам хотелось. В любом случае, если мы думаем, что изменения могут иметь далекоидущие последствия в сообществе, мы постараемся сделать всё возможное, чтобы предоставить плавный пошаговый переход от старой версии к новой. From 9634477af91d238f363f68485c68f78d0c6ce585 Mon Sep 17 00:00:00 2001 From: ANOTHER GUY Date: Mon, 4 Mar 2019 14:29:51 +0100 Subject: [PATCH 21/23] Update content/docs/faq-versioning.md Co-Authored-By: DmitryMarkov --- content/docs/faq-versioning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index 5c6b20ffb..f6190ce14 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -32,7 +32,7 @@ React используют больше миллиона разработчик Режим для разработчиков в React включает множество полезных предупреждений. Когда возможно, мы добавляем предупреждения для будущих обратно несовместимых изменений. Таким образом, если ваше приложение не показывает предупреждений в консоли в последнем релизе, значит оно готово к следующей мажорной версии. Это позволяет вам обновлять ваше приложение компонент за компонентом по одиночке. -Предупреждения в режиме разработчика не показываются во времени выполнения вашего приложения. Таким образом, вы можете быть уверены, что ваше приложение будет вести себя одинаково в режиме разработчика и продакшен-режиме. Разница лишь в том, что продакшен-сборка не будет показывать предупреждения в консоли, что, к тому же, более производительно. (Если вы вдруг заметили предупреждение в продакшен-режиме, откройте ишью.) +Предупреждения в режиме разработки не влияют на то, как исполняется ваше приложение. Таким образом, вы можете быть уверены, что ваше приложение будет вести себя одинаково в режиме разработки и продакшен-режиме. Разница лишь в том, что продакшен-сборка не будет показывать предупреждения в консоли, что, к тому же, более производительно. (Если вы вдруг заметили предупреждение в продакшен-режиме, откройте ишью.) ### Что считается обратно несовместимым изменением? {#what-counts-as-a-breaking-change} From 0151a00da71563c4ec55649bb183ac5db3f90339 Mon Sep 17 00:00:00 2001 From: ANOTHER GUY Date: Mon, 4 Mar 2019 14:30:37 +0100 Subject: [PATCH 22/23] Update content/docs/faq-versioning.md Co-Authored-By: DmitryMarkov --- content/docs/faq-versioning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index f6190ce14..8d461d475 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -26,7 +26,7 @@ React следует принципам [семантического верси Изменяя React, мы стараемся упростить изучение новых возможностей. Кроме этого, мы стараемся сохранить работу старых API, даже если требуется их перенос в отдельный пакет. Например, [мы отказались от примесей несколько лет назад](/blog/2016/07/13/mixins-considered-harmful.html), но они до сих пор поддерживаются [через create-react-class](/docs/react-without-es6.html#mixins) и многие проекты продолжают их использовать в стабильном, устаревшем коде. -React используют больше миллиона разработчиков, поддерживая миллионы компонентов. Только в кодовой базе Facebook более 50 000 React-компонентов. Всё это обязывает нас делать обновления до новых версий как можно проще. Если мы не предоставим возможности для обновления, люди застрянут на старых версиях. Мы тестируем наши *пути обновления* прямо в Facebook -- если наша команда из 10 человек может обновить более 50 тысяч компонентов, мы думаем, что с этим справятся и другие React-разработчики. Во многих случаях мы пишем [скрипты автоматизации](https://github.com/reactjs/react-codemod) для обновления синтаксиса компонентов, которые мы выкладываем в открытый доступ для всеобщего использования. +React используют больше миллиона разработчиков, поддерживая миллионы компонентов. Только в кодовой базе Facebook более 50 000 React-компонентов. Всё это обязывает нас делать обновления до новых версий как можно проще. Если мы не предоставим возможности для обновления, люди застрянут на старых версиях. Мы тестируем наши *пути обновления* прямо в Facebook -- если наша команда из 10 человек может обновить более 50 тысяч компонентов, мы думаем, что с этим справятся и другие React-разработчики. Во многих случаях для обновления синтаксиса компонентов мы пишем [скрипты автоматизации](https://github.com/reactjs/react-codemod), которые выкладываем в открытый доступ для всеобщего использования. ### Постепенное обновление через предупреждения {#gradual-upgrades-via-warnings} From 89868e8b4f83877efcf80313c8d5c4e94703cbd3 Mon Sep 17 00:00:00 2001 From: DmitryMarkov Date: Mon, 4 Mar 2019 19:37:42 +0100 Subject: [PATCH 23/23] =?UTF-8?q?=D0=9F=D0=BE=D1=81=D0=BB=D0=B5=D0=B4?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20?= =?UTF-8?q?=D1=81=20=D1=83=D1=87=D0=B5=D1=82=D0=BE=D0=BC=20=D0=B2=D1=81?= =?UTF-8?q?=D0=B5=D1=85=20=D0=BF=D1=80=D0=B5=D0=B4=D0=BB=D0=BE=D0=B6=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/docs/faq-versioning.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index 8d461d475..1b32e8afa 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -26,11 +26,11 @@ React следует принципам [семантического верси Изменяя React, мы стараемся упростить изучение новых возможностей. Кроме этого, мы стараемся сохранить работу старых API, даже если требуется их перенос в отдельный пакет. Например, [мы отказались от примесей несколько лет назад](/blog/2016/07/13/mixins-considered-harmful.html), но они до сих пор поддерживаются [через create-react-class](/docs/react-without-es6.html#mixins) и многие проекты продолжают их использовать в стабильном, устаревшем коде. -React используют больше миллиона разработчиков, поддерживая миллионы компонентов. Только в кодовой базе Facebook более 50 000 React-компонентов. Всё это обязывает нас делать обновления до новых версий как можно проще. Если мы не предоставим возможности для обновления, люди застрянут на старых версиях. Мы тестируем наши *пути обновления* прямо в Facebook -- если наша команда из 10 человек может обновить более 50 тысяч компонентов, мы думаем, что с этим справятся и другие React-разработчики. Во многих случаях для обновления синтаксиса компонентов мы пишем [скрипты автоматизации](https://github.com/reactjs/react-codemod), которые выкладываем в открытый доступ для всеобщего использования. +Больше миллиона разработчиков React используют, поддерживая миллионы компонентов. Только в кодовой базе Facebook более 50 000 React-компонентов. Всё это обязывает нас делать обновления до новых версий как можно проще. Если мы не предоставим возможности для обновления, люди застрянут на старых версиях. Мы тестируем наши *пути обновления* прямо в Facebook -- если наша команда из 10 человек может обновить более 50 тысяч компонентов, мы думаем, что с этим справятся и другие React-разработчики. Во многих случаях для обновления синтаксиса компонентов мы пишем [скрипты автоматизации](https://github.com/reactjs/react-codemod), которые выкладываем в открытый доступ для всеобщего использования. ### Постепенное обновление через предупреждения {#gradual-upgrades-via-warnings} -Режим для разработчиков в React включает множество полезных предупреждений. Когда возможно, мы добавляем предупреждения для будущих обратно несовместимых изменений. Таким образом, если ваше приложение не показывает предупреждений в консоли в последнем релизе, значит оно готово к следующей мажорной версии. Это позволяет вам обновлять ваше приложение компонент за компонентом по одиночке. +Сборки в режиме разработки в React включают множество полезных предупреждений. Когда возможно, мы добавляем предупреждения для будущих обратно несовместимых изменений. Таким образом, если ваше приложение не показывает предупреждений в консоли в последнем релизе, значит оно готово к следующей мажорной версии. Это позволяет вам обновлять приложение компонент за компонентом по одиночке. Предупреждения в режиме разработки не влияют на то, как исполняется ваше приложение. Таким образом, вы можете быть уверены, что ваше приложение будет вести себя одинаково в режиме разработки и продакшен-режиме. Разница лишь в том, что продакшен-сборка не будет показывать предупреждения в консоли, что, к тому же, более производительно. (Если вы вдруг заметили предупреждение в продакшен-режиме, откройте ишью.) @@ -41,8 +41,8 @@ React используют больше миллиона разработчик * **Предупреждения для разработчиков.** Поскольку они не затрагивают поведение в продакшен-режиме, мы можем добавлять или изменять существующие предупреждения между мажорными версиями. Это позволяет нам заранее предупреждать о новых мажорных изменениях. * **API с приставкой `unstable_`.** Они добавляют экспериментальные возможности, в API которых мы не уверены до конца. Выпуская такие возможности с приставкой `unstable_`, мы можем их обновлять и переходить к стабильному API быстрее. * **Альфа и канареечные версии React.** Альфа-версии React позволяют попробовать новые возможности раньше. Мы можем вносить в них изменения на основе обратной связи, полученной в период альфа-тестирования. Если вы используете такие версии, имейте в виду, что API может измениться в стабильной версии. -* **Недокументированные API и внутренние структуры данных.** Если вы полагаетесь на внутренние переменные типа `__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED` или `__reactInternalInstance$uk43rzhitjg`, вы не получаете никаких гарантий. Это ваша ответственность. +* **Недокументированные API и внутренние структуры данных.** Мы не гарантируем работоспособность кода в случае использования `__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED`, `__reactInternalInstance$uk43rzhitjg` или других внутренних переменных. Наша политика разработана, чтобы быть практичной. Мы не хотим создавать вам головную боль. Если бы мы поднимали мажорную версию слишком часто, то доставили бы множество проблем всему сообществу. И это бы не позволило улучшать React так быстро, как нам хотелось. -В любом случае, если мы думаем, что изменения могут иметь далекоидущие последствия в сообществе, мы постараемся сделать всё возможное, чтобы предоставить плавный пошаговый переход от старой версии к новой. +Если мы думаем, что изменения могут вызвать проблемы в сообществе, мы постараемся сделать всё возможное, чтобы предоставить плавный переход от старой версии к новой.