119 тысяч рублей за то, чтобы делать приложухи — это справедливо?

Мобиль­ная раз­ра­бот­ка — это когда вы пише­те про­грам­мы для смарт­фо­нов. Вот что это за рабо­та, кто и как ей зани­ма­ет­ся и сколь­ко на ней мож­но заработать.

Откуда взялась

Лет 10 назад, если нуж­но было что-то купить дистан­ци­он­но, люди захо­ди­ли на сай­ты. Сай­ты про­да­ва­ли това­ры, через сай­ты мож­но было ино­гда зака­зать еду, на сай­тах были зара­бот­ки и инфо­про­дук­ты. Это было не очень удоб­но, но аль­тер­на­тив не было: смарт­фо­ны были в зача­точ­ном состо­я­нии. Зато у мно­гих были ком­пью­те­ры с бра­у­зе­ра­ми, и там всё было удоб­но, кра­си­во и быстро.

Потом смарт­фо­ны нача­ли рас­про­стра­нять­ся всё шире, и уви­де­ли люди, что это хоро­шо: мож­но было поку­пать това­ры, сидя на уни­та­зе; зака­зы­вать суши, стоя в проб­ке; запи­сы­вать­ся на ного­точ­ки, лёжа в мас­саж­ном крес­ле. Но что­бы всё это сде­лать, нуж­ны были какие-то интерфейсы.

Даль­ше про­изо­шло две вещи: ком­па­нии ста­ли адап­ти­ро­вать свои сай­ты для экра­нов смарт­фо­нов; и они же ста­ли делать при­ло­же­ния, кото­рые заме­нят эти сайты.

Кому нужна

В ком­мер­че­ском смыс­ле мобиль­ная раз­ра­бот­ка нуж­на трём типам компаний:

    • Тем, для кого смарт­фон — это вит­ри­на: все­воз­мож­ным мага­зи­нам и мар­кет­плей­сам, ресто­ра­нам, служ­бам достав­ки, так­си и т. д. Огром­ный рынок роз­нич­ных това­ров и услуг нуж­да­ет­ся в мобиль­ных при­ло­же­ни­ях, пото­му что это для них канал реа­ли­за­ции. При­ме­ры: «Озон», «Тану­ки», «Беру», «Яндекс.Такси», «Гетт».
    • Тем, у кого сотруд­ни­ки исполь­зу­ют в рабо­те смарт­фо­ны — напри­мер, те же курье­ры в служ­бах достав­ки. Он при­ез­жа­ет, отда­ёт товар, нажи­ма­ет у себя кноп­ку — вот эту кноп­ку дол­жен кто-то раз­ра­бо­тать и под­дер­жи­вать. При­ме­ры: DHL, все­воз­мож­ные систе­мы управ­ле­ния скла­дом, инфор­ма­ци­он­ные систе­мы для полиции.
    • Тем, кто рабо­та­ет толь­ко в «циф­ре»: элек­трон­ным кур­сам, онлайн-играм и т. д. У них в прин­ци­пе весь про­дукт — это пик­се­ли на экране, и для них мобиль­ное при­ло­же­ние может быть одним из глав­ных спо­со­бов рас­про­стра­не­ния. При­ме­ры: соци­аль­ные сети, онлайн-кинотеатры, учеб­ные плат­фор­мы, любые мобиль­ные игры.

Рынок доволь­но боль­шой, спрос на раз­ра­бот­чи­ков есть.

Какие языки нужны для разных платформ

Android. Так как это откры­тая опе­ра­ци­он­ная систе­ма, то есть мно­го язы­ков, кото­рые мож­но исполь­зо­вать в мобиль­ной разработке:

  • Java — зара­бо­та­ет вооб­ще на любом андроиде;
  • Kotlin — почти так же, но есть нюансы;
  • С# — берё­те Xamarin и начи­на­е­те программировать;
  • HTML+CSS — дела­е­те сайт, заво­ра­чи­ва­е­те его в про­грам­му с помо­щью Cordova или Phonegap и полу­ча­е­те гото­вое приложение;
  • React Native — зна­ко­мый JavaScript в новой упаковке.

iOS. Здесь всё проще:

  • Swift — род­ной язык для iOS-приложений;
  • Objective-C — если вам по каким-то при­чи­нам не нра­вит­ся Swift (или вы ретроград);
  • С# — да, на нём мож­но писать одно­вре­мен­но для раз­ных систем, но нуж­но учи­ты­вать раз­ли­чия в интер­фей­се и встро­ен­ных функциях.

Ого­во­роч­ка: самые быст­рые при­ло­же­ния для Android будут на Java, а для iOS — на Swift. Но они же и самые слож­ные в изу­че­нии. А вся­кие ново­мод­ные обёрт­ки для JavaScript — это будут тор­мо­за и косты­ли. Рабо­тать будет, но мед­лен­нее, чем хоте­лось бы.

Требования к железу

Зани­мать­ся мобиль­ной раз­ра­бот­кой мож­но на любом ком­пью­те­ре или ноут­бу­ке, где запус­ка­ет­ся нуж­ный вам редак­тор кода. Един­ствен­ное, на что вли­я­ет желе­зо, — на ско­рость сбор­ки или ком­пи­ля­ции гото­вой программы.

Важ­ный момент: если вы хоти­те писать при­ло­же­ния для iOS, то вам нужен ком­пью­тер Apple или при­дёт­ся уста­но­вить MacOS на вир­ту­аль­ную маши­ну под Windows. Если буде­те исполь­зо­вать вир­ту­ал­ку, при­го­товь­тесь к тому, что ино­гда что-то не будет рабо­тать: драй­ве­ра, нуж­ные биб­лио­те­ки или ком­по­нен­ты опе­ра­ци­он­ной системы.

Два подхода к разработке

Есть два под­хо­да к созда­нию про­грамм: клас­си­че­ский и MVP.

Клас­си­че­ский под­ход — это когда при­ло­же­ние при­ду­мы­ва­ют и дела­ют от нача­ла до кон­ца, в пол­ном объ­ё­ме, меся­цев за 6–12. Сна­ча­ла при­ду­мы­ва­ют все экра­ны, потом раз­ра­бот­чи­ки их реа­ли­зу­ют, дол­го тести­ру­ют на всех плат­фор­мах и выпус­ка­ют. Плюс в том, что при­ло­же­ние сра­зу полу­ча­ет­ся клё­вым и боль­шим. Минус — за вре­мя, пока ты его делал, мир мог изме­нить­ся, и теперь это при­ло­же­ние нико­му не нужно.

MVP — это мини­маль­ная вер­сия про­грам­мы, кото­рая содер­жит толь­ко самое нуж­ное для стар­та. Напри­мер, если мы пишем про­грам­му для под­счё­та шагов, в MVP будет вхо­дить сам счёт­чик и про­стой вывод шагов на экран. Воз­мож­но, это будет выгля­деть не так кра­си­во, как хоте­лось бы, зато мож­но сра­зу про­ве­рить рабо­ту при­ло­же­ния в реаль­ных усло­ви­ях. А дизайн мож­но и потом обно­вить, когда будет гото­во всё осталь­ное. Плюс в том, что мож­но быст­ро реа­ги­ро­вать на обста­нов­ку в мире. Минус — нель­зя точ­но рас­счи­тать, сколь­ко в ито­ге будет сто­ить всё приложение.

Что по зарплате

По дан­ным Хабр Карье­ры, за пер­вое полу­го­дие 2020 года зар­пла­ты у мобиль­ных раз­ра­бот­чи­ков такие:

Если инте­рес­но, срав­ни­те их с зар­пла­та­ми джу­ни­о­ра, мид­ла и сеньо­ра в дру­гих направ­ле­ни­ях программирования.