Я хочу работать, но в какой сфере?
Начну с того, как я пришел в IT. После окончания школы поступил на специальность "информационные технологии". Со второго курса проходил стажировки. Пытался как-то устроиться, зацепиться… запомниться. Но в то время у меня не было понимания, с чем я хочу работать, в какой сфере IT.
Учил Java. Не пошло. Пробовал GameDev. Проработал около двух лет, разрабатывая игры на Unity. Но каким бы заманчивым не был этот мир, шаблонность задач приедается. И дело не в самом GameDev, скорее в компании, которая не планировала развивать разработку, например, тех же 3D игр. А мне хотелось именно этого! Развития.
Совпал момент, пригласили на собеседование на позицию фронтендера. Решил попробовать. И в принципе, получилось. Начал узнавать новое, параллельно занимаясь мобильной разработкой, то есть React Native.
Генетическая предрасположенность
С преподаванием получился интересный путь. Еще в универе помогал однокурсникам разобраться со сложными темами. Потом первая работа была связана с обучением детей программированию. Сразу это был Scratch, после верстка (HTML + CSS) и потом JS.
Это не были углубленные, скорее базовые вещи. Но скилл объяснять сложное на простом, понятным для детей языке в будущем очень пригодился. К слову, работал я в этой школе до прошлого года.
Не знаю, важный это факт или не очень, но у меня отец — преподаватель, мама тоже работает с детьми. Возможно и у меня присутствует генетическая предрасположенность к обучению.
Ближе к вопросу
Вероятно, ты читаешь этот текст, с желанием узнать, что такое React Native? Давай разбираться.
React Native — кроссплатформенный фреймворк, позволяющий разрабатывать сразу под несколько платформ, например, Android, iOS и Windows. Приложения, написанные на RN, можно запустить практически на любой операционной системе. Поэтому он настолько популярный.
React Native от React отличается тем, что второй — это все таки библиотека. Кстати, многие путают, называя React фреймворком. Это не так.
Во время разработки React Native накладывает определенные ограничения. Чтобы не пугать, поясню. Ограничения, которые накладывает фреймворк при работе, — это всего лишь обязательства использовать какие-то нативные компоненты. Условно React Native диктует нам правила того, как мы должны им пользоваться. Если в React можно любую часть перевести в чистый JavaScript код. То React Native дает указания, с помощью которых мы должны писать код. Например, для прокрутки списка в React мы будем использовать функцию map и рисовать все элементы. RN предлагает взять flat list, в который нужно лишь загрузить данные, а то, как под капотом он реализовывает прокрутку этих списков, нас не интересует.