Защо трябва да започнете с мрежата вместо с мобилното устройство

След като научите основните концепции за програмиране, вероятно ще искате да преминете към определена посока в софтуерното инженерство, като мобилно развитие, наука за данни, уеб развитие, машинно обучение и много други. Докато аз лично започнах с мобилна разработка, почти всички мои колеги направиха точно обратното. Те започнаха и продължиха с уеб разработката, като никога дори не се заеха с мобилни устройства по пътя.

В предишна статия обсъдих защо смятам, че мобилното развитие е по-добра отправна точка. Вместо това много хора започват с уеб разработка. Това означава ли, че всички грешат? Въобще не. Има отделни убедителни причини, поради които човек би искал да започне с уеб разработка през мобилни устройства.

Изобилие от възможности

Признах в статията си, говорейки за предимствата на мобилното развитие, че има много повече обяви и възможности за уеб разработчиците в сравнение с мобилните работни места. Тъй като е сърцето на модерното уеб развитие, JavaScript рутинно е един от най-търсените езици за програмиране всяка година. Като се има предвид този факт, има постоянна нужда от повече разработчици всяка година, тъй като все повече и повече страни продължават да увеличават своята интернет потребителска база.

Това се отразява в LinkedIn в момента. „Заявката“ „уеб разработчик“ дава над 11 000 резултата, докато „заявката“ „мобилен разработчик“ дава само над 4 000. Това не взема предвид факта, че работните места за разработка на мобилни устройства са разделени между iOS и Android, така че ако трябва да се специализирате в една от тези две области, тогава броят на възможностите ви вероятно ще бъде намален наполовина. Така че с уеб разработката в момента има потенциално 11 000 работни места. Това е най-много пет пъти повече от броя на работните места, за които един разработчик на Android може да се надява да кандидатства. Тъй като повечето кандидатури за работа са игра на числа, числата със сигурност изглежда са в полза на уеб разработчиците.

В допълнение към това уеб разработката ви дава много различни области, в които да се специализирате: бек-енд, междинен софтуер, преден край и пълен стек. Това ви позволява да играете според силните си страни. Наистина ли сте добри в проектирането и оформлението на уеб страници? Тогава предният край е идеалното поле за демонстриране на това. Наистина добри, но не страхотни на всички нива на стека? Тогава full-stack ще ви позволи да покажете своята широта на знания.

Нека сравним това с мобилното програмиране. Ако решите да тръгнете по пътя на Android или iOS, ще се очаква да имате задълбочени познания за всички нива на мобилно развитие. Няма толкова място за специализация. Така че, ако има нещо, което просто не получавате, то може да се върне да ви преследва при търсенето на работа, когато се очаква да го знаете.

Бъдещето на междуплатформения софтуер

Докато настоящите мобилни приложения са предимно естествени (Swift на iOS и Kotlin на Android), бъдещето изглежда, че може да е различно.

„React Native“ не постигна изумителен успех. Той никога не се е превърнал в основния пакет за разработка на различни платформи и нови пакети като Flutter изглежда поемат този пазарен дял. Но това беше силна стъпка към нещо различно. Мобилните приложения никога няма да изчезнат, но те може да бъдат разработени по различен начин в бъдеще - и необходимият набор от умения може да бъде този на уеб разработчик.

Като човек, който е правил мобилна разработка през целия си живот както на iOS, така и на Android, изпробването на нещо като React Native ми се стори изключително чуждо. Чувствах се като нещо, което ще ми отнеме известно време, за да разбера. Не използва набора от умения, които съм развил. Това е така, защото React Native е в набора от умения на уеб програмиста.

Уеб програмистът, макар да може да получи типични работни места с пълен набор, може също така да е в състояние да доминира на пазара на мобилна работа в бъдеще със силното си разбиране на крос-платформени мобилни рамки.

В допълнение към мобилните рамки, използващи традиционни уеб технологии, в бъдеще може да има значително по-малко търсене на настолни приложения, тъй като приложенията в нашия браузър стават по-мощни и по-лесни за разработване. Традиционно, ако правите мощно настолно приложение, то ще бъде естествено за всяка операционна система, на която работи. ThinkOrSwim беше много мощно приложение, създадено от TD Ameritrade, а следващата итерация на техния продукт е „уеб приложение“. Това уеб приложение ще бъде по-лесно за поддръжка от тяхната компания (няма нужда от разработчици на Windows и Mac) и все още ще разполага с голяма част от силата на настолното приложение. Защо една компания би наела два екипа за разработка, когато им трябва само един с уеб приложение?

Още онлайн ресурси

Уеб разработката е по-достъпна форма на разработка от мобилната. Няма нужда да се притеснявате за стартиране на телефон или симулатор или за регистриране на акаунт на програмист. Вярвам, че с това идва голямо количество налични онлайн ресурси. Това, съчетано с факта, че повече хора решават да учат уеб разработка в момента, означава, че е страхотно време да започнете да учите.

Едно просто търсене в YouTube или Google ще ви даде хиляди уроци и примери за всичко, което се опитвате да направите. Това е особено вярно, ако използвате много популярна рамка като React. Тъй като има много повече съдържание, качеството също се повишава в конкуренция за получаване на вашите гледания (очевидно във ваша полза).

Когато се опитвам да науча нова концепция на език за програмиране, предпочитам да прочета статия, вместо да гледам видеоклип. Има само няколко уебсайта с качествени статии за разработка на iOS — сравнете това с, да речем, React, за който има десетки и десетки висококачествени уебсайтове.

Лошо ли е вместо това да започнете с мобилни устройства?

Въобще не. В предишната ми статия за по-добро програмиране навлязох в подробности за това как мобилното устройство има по-ясен път на обучение, по-постоянен набор от технологии и потенциално по-лесно търсене на работа, което го прави чудесен избор за мнозина.

Ако и вие като мен смятате, че мобилното разработване е по-забавно изживяване или като едно от предимствата на мобилните устройства, които описах, тогава това е страхотен избор! Ако предпочитате усещането за уеб разработка или харесвате бъдещата перспектива, която има, тогава мрежата е чудесен избор.

В крайна сметка тук няма грешно решение. И двете са страхотни, достойни за уважение кариерни решения, които със сигурност ще предоставят успешни възможности. Просто се свежда до лични предпочитания.