React Native — это возможность быть быстрым
Разработчик мобильного приложения GeekBrains Даниил Скрипник провел в офисе Mail.Ru Group открытый воркшоп по работе с фреймворком React Native. Участники за пару часов самостоятельно написали мессенджер и увидели, как технология позволяет сэкономить время и усилия программиста.
Мы попросили Даниила рассказать, как он начал работать на React Native и почему он хочет научить этой технологии коллег.
Сначала я ушел из логистики и за полгода переучился на frontend-разработчика
Программированием я занялся три года назад. До этого я жил в Сербии и работал совсем в другой сфере. У меня было два образования – экономическое и транспортный менеджмент. После вуза работал в логистической компании операционным менеджером по морским и авиаперевозкам. Но в какой-то момент вспомнил свои детские увлечения и решил сменить профессиональную сферу на IT.
Записался на онлайн-курсы в Школу-партнер Micrоsoft, занимался почти сутками и за 6 месяцев освоил тот минимум, с которым можно было найти работу или стажировку front-end разработчика: HTML&CSS, HTML5&CSS3, JavaScript, Bootstrap, JQuery, Angular.JS. Прошел стажировку в нескольких компаниях, получил от каждой из них предложения по работе. Но они работали с устаревшим стеком технологий и мне это было неинтересно.
Попробовал React Native и начал писать приложения
В результате я устроился на работу в Alpha Design. Компания занимается разработкой и дизайном для Apple, Rakuten, Amazon. Сначала я занимался только frontend-разработкой. Но в какой-то момент у нас появился заказчик – владелец глянцевого журнала, который хотел создать приложение для поиска и покупки одежды. По сути, это была соцсеть, похожая на Instagram, где ты листаешь фотографии с одеждой и можешь купить то, что тебе понравилось. В Alpha Design не было мобильных разработчиков и мы решили делать кроссплатформенное приложение на React Native.
Дальше прототипа приложение не взлетело, но это был интересный опыт разработки. Полгода я работал c React Native, технология меня очень увлекла, и я начал искать работу, на которой мог бы применить новые знания.
Мне понравилось, как быстро с помощью React Native можно сделать что-то осмысленное, продукт, который сразу начинает работать. Front-end в сравнении c мобильной разработкой показался мне более долгим и ограниченным. Меня впечатлила скорость, с которой я мог писать приложения на несколько платформ с нуля.
Написал три приложения за год
Я начал искать работу в этом направлении. Написал в чат проекта Hexlet, что умею, и спросил, где можно поработать с такими навыками. Мне ответил владелец компании Evrone, которая занимается Ruby-разработкой, и предложил присоединиться к их международной команде, которая работает удаленно. Сначала я работал на них из Сербии, а позже переехал в Москву.
За год я поработал над тремя приложениями, которые с нуля создавались на React Native: «Дневник еды», Pinpil (приложение по поиску аптек) и Криптокошелёк для стартапа Humaniq.
«Дневник еды» я написал за месяц. Это период был для меня самым сложным, потому что я писал это приложение один и ничего не понимал. Все тогда было темным лесом, приходилось постоянно гуглить, разбираться с багами. Не было понятных изданий с разбором React Native, фреймворку был всего год, сообщество разработчиков было не развито. Сейчас, с опытом, я понимаю, где какой баг может вылезти, тогда терялся, но прототип приложения все-таки сдал заказчику.
Следующее приложение, над которым я работал, — Pinpill. Я разрабатывал его для сети воронежских аптек. Это стало заготовкой на будущее, когда в России разрешат телемедицину. Прямо сейчас весь его функционал пользователи оценить не могут. Но дизайн приложения уже собрал много положительных отзывов.
Криптокошелек для стартапа Humaniq частично разрабатывался на Android, частично на React Native. Эта компания собрала на ICO 15 млн долларов и придумала приложение для людей, которые не умеют писать и читать (было нацелено на использование в африканских странах). Все управляется с помощь face id, иконок, голосовых сообщений. Было интересно работать над его прототипом.
Написал приложение для Mail.Ru Group и попробовал преподавать
Пока я работал в Evrone, я получил предложение от рекрутеров Mail.Ru Group. Они искали мобильного разработчика на React Native, чтобы написать кроссплатформенное приложение для сайта GeekBrains. Я успешно прошел собеседование и с удовольствием начал работать над этим интересным проектом. Версия под iOS и Android уже доступна для скачивания, но мы продолжаем разработку.
Став мобильным разработчиком в Mail.Ru Group, я также смог попробовать себя в качестве преподавателя. Я провел воркшоп по React Native для сотрудников Mail.Ru Group, а позже, когда получил положительные отзывы от коллег, мы провели открытый воркшоп для слушателей из других компаний. Это был интересный опыт. Я понял, что задача преподавателя – не отвечать на все вопросы подряд, тем более, что они часто одни и те же. Главное – научить студентов самостоятельно находить ответы и решения для своих задач.
Придумал свой формат для воркшопа React Native
На конференциях мне всегда не нравилось, что теоретической части уделяется слишком много времени. Поэтому воркшоп по React Native я разделил на две части. В первой – минимум необходимой теории. Во второй – практика. За несколько часов мы вместе с участниками написали мессенджер и к концу воркшопа уже могли переписываться друг с другом.
На первую встречу пришли мои коллеги — мобильные разработчики и frontend-разработчики из Mail.Ru Group. На втором воркшопе, который также прошел у нас в офисе 20 апреля, были представители Яндекса, Альфа-Банка, СберТеха, МФТИ, студенты и преподаватели GeekBrains, ВШЭ, Тинькофф, HeadHunter. Также было несколько владельцев веб-студий.
На самой встрече я не мог точно понять, насколько понятно и интересно участникам то, что я рассказывал. Но позже получил много положительных отзывов: слушателям понравился формат, в котором много практики, и особенно то, что за одну встречу мы смогли написать и запустить приложение-мессенджер.
Я понимаю, что у технологии React Native есть свои критики. Они есть и среди тех, с кем я работаю бок о бок. Но я вижу, как много времени и усилий я сейчас экономлю на мобильной разработке, как много ресурсов Facebook и другие IT-гиганты сейчас вкладывают в ее развитие. Я искренне считаю React Native очень полезным и для front-end разработчиков, и для мобильных программистов.
Почему React Native – это круто?
React Native – это фреймворк для создания кроссплатформенных приложений на языке JavaScript. Он позволяет писать приложения для IOS, Android, Windows Phone и даже VR (на React VR можно создавать приложения для шлемов и очков виртуальной реальности»).
React Native – это отличная возможность быть быстрым и пользоваться любимыми инструментами «прямо из коробки» (их не нужно настраивать, они работают здесь и сейчас): CSS, ES6, ES7, NPM, Yarn и т.д.
Создатель React Native – Facebook, лидер во front-end, компания, которая вкладывает огромные ресурсы в развитие своих технологий. Facebook активно развивает React и React Native, создает вокруг них целую инфраструктуру и мощное IT-сообщество.
Еще одно преимущество технологии – быстрорастущее комьюнити из компаний, которые используют технологию, инвестируют в нее и поддерживают ее развитие: GeekBrains, Yandex, Airbnb, Wix, Tesla, Soundcloud, Walmart.
На этом фреймворке написаны UberEats, FacebookGroups и частично Instagram и Facebook.