Так вам нужен React или все же React Native разработчик?

Количество клиентов, которые выбирают React Native для своего продукта однозначно растет. Такой вывод можно сделать заглянув и на фриланс платформы, и в разделы поиска работы. Но если в мире фриланса есть более четкое понимание какими навыками должен обладать React Native разработчик, то у большинства компаний наблюдается некое размытие понятий. Как результат, в перечне обязательных навыков помимо React Native, числиться ReactJS, JavaScript, HTML, CSS. В свою очередь опыт в iOS/Android SDK либо не требуется вообще, либо в качестве “будет плюсом".

Если коротко о React Native.


Принцип работы в основном такой же как и ReactJS за исключение того, что он не манипулирует DOM через VirtualDom. React Native вообще никак не связан с HTML, все написано на JavaScript и зависит от нативных SDK iOS & Android. Нет CSS, но есть CSS-like полифилы. 
Это означает, что разработчик должен иметь в арсенале непосредственно React Native, а также iOS или Android SDK.

А как же JavaScript, ReactJS, HTML и т.д.?


Во-первых, нельзя знать React Native и не знать JavaScript и React на определенном уровне. Это становиться понятным, если вернутся к описанию технологии выше. Во-вторых, если нужен действительно разработчик мобильных приложений, то требование знаний уровня Web Front-End на практике — излишне. Конечно нанимая разработчика хочется, что бы он знал не только то как реализовать фичу, но и то как она работает “под капотом” и еще чуть больше. Но это полезно для определения уровня разработчика и на собеседовании, а не в описании вакансии, да еще в списке строго необходимых навыков.
В качестве примера можно посмотреть на вакансии Native iOS. Крайне редко, и весьма для специфических задач, встречается требование знания языка С. А ведь Objective-C построен на его основе.

Зачем знание Native SDK?


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

Почему требования не соответствуют и к чему это приводит?


Проблема кроется в том, что требования пишутся устами Tech Lead’а, а в данном случае устами Teah Lead’а из мира Web. А мы помним, что React Native разработчик разрабатывает софт для мобильных приложений. Ему не нужно быть Web Rock Star. В результате, разработчик и компания не могут найти друг друга по долгу.

Заключение


В итоге идеальный разработчик это React Native + iOS + Android. В реальном мире, это зачастую отдельно React Native + Android и отдельно React Native + iOS. Может показаться, что тогда нет смысла использовать React Native, если все равно нужны разработчики iOS и Android. Но на практике экономия бюджета, даже при наличии двух отдельных разработчиков составляет 1.5х: 2х, но это уже совсем другая история.
Метки:
hr, react native, iOS, android
Похожие публикации