2016-12-04 3 views
2

React Native - отличная платформа для создания приложений, работающих под iOS и Android. Замечательно, что я могу подтолкнуть новый пакет своим клиентам, не отправляя новую версию для просмотра.React Native Bundle Compatibility

Одна вещь, которая меня волнует, - это новые версии для коренных жителей. На GitHub я вижу в среднем три новые версии в месяц. Новые родные версии часто включают важные исправления ошибок, но мой вопрос заключается в том, что они нарушат совместимость с моим javascript-пакетом (фактическое приложение React)?

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

Что-то, как это будет быстро стать беспорядком:

  • расслоения 1.0 родного приложением 1.0 (с React Native 0,37)
  • свертка 1.1 для родного приложения 1.0 (с React Native 0,37)
  • свертка 1.2 для родного приложения 1.0 (с React родной 0,37)
  • расслоения 1.0 для родного приложения 1.1 (с React родной 0.37.1)
  • расслоения 1.1 для родного приложения 1.1 (с React Native 0.37.1)
  • расслоение 1.2 для родного приложения 1.1 (с React Родной 0.37.1)
  • расслоения 1.1 для родного приложения 1.2 (с React Native 0,38)
  • свертка 1.2 для родного приложения 1.2 (с React Родной 0,38)
+0

Это похоже на запись в блоге, а не на вопрос, связанный с кодированием. Я смотрю на это неправильно? – zipzit

+0

Возможно, вы не прочитали первую алинею. Позвольте мне изменить свой вопрос: является ли пакет React Native 0.37 совместимым с React Native 0.38 (и т. Д.)? А если нет, то как я могу предотвратить адское управление версиями (как проиллюстрировано в моем вопросе)? – Zyphrax

ответ

1

Новые версии являются общими, но они обычно не нарушают интерфейс. В разработке программного обеспечения API-интерфейсы прерывания обычно разрешаются только в версиях основных версий, а не в младших версиях.

Кроме того, вещи не просто удаляются. Если произойдет изменение api-break, оно часто будет помечено как «устаревшее» и не будет ДЕЙСТВИТЕЛЬНО удалено до нескольких версий позже. Это дает вам время внести изменения в ваше приложение в случае некоторых изменений.

Короче говоря, да, React-native быстро получает новые версии, но интерфейс не должен изменяться настолько часто, что он будет столь же серьезной проблемой, как и в вашем примере.

Отказ от ответственности: Я не разработчик в React-native или contributor, поэтому я не могу сказать, насколько они строгие с их политиками управления версиями. Тем не менее, я свяжусь с несколькими документами от реагирования и реагирую как источник.

Вы также можете отслеживать собственный журнал изменений на своем github releases page.

Официальная документация по действию ссылки here в отношении их семантики верности. Вы можете видеть, что это связано, и больше рекомендаций по руководству here. Из этого следует, что реакция-родная будет следовать аналогичной политике.

Редактировать: Я нашел response-native's contribution document, и кажется, что они на самом деле немного менее строги относительно семантики верности, чем сам Реакт.Существует не какие-либо связи или специальный раздел о версионности, но есть эта цитата

Мы сделаем все возможное, чтобы довести эти изменения и версии надлежащим образом, так что вы можете заблокировать в определенную версию при необходимости

Таким образом, я думаю, что можно смело предположить, что они будут (в основном) следовать тем же принципам, что и «Реагировать», особенно учитывая, что большинство участников из самой Facebook.

+0

Благодарим вас за ответ. Я надеялся на ответ непосредственно от команды React-Native, так как это довольно беспокоит мой выбор для использования React-Native или аналогичной платформы. Однако я ценю ваш ответ! – Zyphrax

Смежные вопросы