на чем пишут веб приложения
Языки программирования и технологии для веб-разработки
Карьера в области веб-разработки является прибыльной, захватывающей и требующей готовности к постоянным изменениям. Для этого требуется определенный набор хорошо отработанных навыков и знание языков, которые вам нужно будет обновлять год за годом. В свою очередь, каждый день Вы сможете создавать действительно классные веб-материалы, и в конце каждого месяца вы будете получать хорошую зарплату. Неплохо, да?
В последние годы, когда сеть продолжает развиваться, появилось несколько различных потоков веб-разработки:
Независимо от того, какой путь вы выбрали, вы все равно должны понимать каждую сторону, чтобы правильно выполнять свою работу.
Итак, вот 10 лучших языков программирования для веб-разработки, как на стороне клиента, так и на стороне сервера.
CSS / HTML
JavaScript
Язык интерфейса, используемый для создания и разработки веб-сайтов, настольных приложений и игр. JavaScript работает во всех браузерах и может работать с программами, которые не размещены в Интернете. Он поддерживает как функциональные, так и объектно-ориентированные стили программирования, и в основном, это ваш подход к созданию потрясающих пользовательских интерфейсов и веб-сайтов / приложений / игр, которые выглядят супер круто. Понимание JavaScript важно, даже если ваше сердце настроено на развитие серверной части. Компоненты, структуры данных и алгоритмы JavaScript применяются практически к любому другому языку.
Python
Java, разработанная в 1990-х годах и по-прежнему наиболее востребованная, является золотым стандартом в области веб-разработки во всем мире, во всех областях. Она ориентирована на объекты и работает на любой платформе, что делает ее чрезвычайно универсальной. Если вы хотите, чтобы ваш safe можно было использовать практически во всех технологических компаниях в мире, то непременно выбирайте Java. Интересный факт: Java изначально предназначался для интерактивного телевидения, но вскоре его создатели поняли, что она слишком далеко опережает свое время для этой конкретной отрасли. Остальное уже история.
10 лучших языков программирования для веб-разработки в 2020 году
Победа в коде, вероятно, одна из самых захватывающих вещей для энтузиастов технологий. Будь то в прошлом году или даже десятилетие назад, программирование ставит вас в авангарде технологий, которые движут современным миром. Но подождите, с чего начать? Вы ищете мобильную разработку? Хотите стать веб-разработчиком? Или разработчик настольных приложений старой школы? Да, это сложный вопрос для выбора. Если ваш ответ – «Веб-разработка», не смотрите дальше, так как эта статья наверняка поможет вам освоить лучшие языки программирования, которые вам необходимо выучить.
Тем не менее, если вы задаетесь вопросом о лучших языках программирования в целом, мы вам поможем. Наша статья о 10 самых популярных языков программирования в 2020 году это именно то, что вы искали. Итак, посмотрите на это –
Языки программирования для веб-разработки
Сама веб-разработка имеет фокусные области: клиентская часть (интерфейсная часть), серверная часть (фоновая часть) и междисциплинарная разработка с полным стеком. Итак, мы рассмотрим лучшие языки программирования для вас, чтобы начать изучение в каждой из этих областей веб-разработки.
Лучшие языки для фронт-энда
Front-end разработка – это клиентская сторона вещей. В основном это все красивые элементы, которые вы видите на интерфейсе веб-страницы. Следовательно, именно здесь пользователь взаимодействует в основном для навигации и навигации. Если вам нравится творчество или дизайн, это то, где вы будете чувствовать себя как дома. Теперь давайте взглянем на языки программирования, которые вы должны выучить для интерфейсной веб-разработки –
JavaScript
Прежде всего, JavaScript не имеет ничего общего с JAVA. Вопреки тому, что название предполагает, что это принципиально разные языки, используемые для различных целей. Теперь, когда это не так, давайте поговорим о JavaScript.
Если вы хотите стать веб-разработчиком, веб-разработчиком или даже разработчиком для мобильных устройств, JavaScript наверняка станет вашим лучшим другом. Интеграция API, более быстрый и более интерактивный пользовательский интерфейс на стороне клиента, независимо от того: JavaScript поможет вам создать стабильный и отзывчивый веб-сайт. Кроме того, JavaScript на протяжении многих лет, он оказался невероятно популярным, что делает его фантастическим сообществом, которое поможет вам найти решения.
Вопреки тому, что вы думаете сейчас, JavaScript не совершенен и имеет свои недостатки. Но будьте уверены, что это повсеместно по какой-то причине. Вы, вероятно, не найдете лучшей альтернативы, и само собой разумеется, что это основа современного Интернета. Таким образом, все это делает JavaScript идеальным местом для начала вашего увлекательного путешествия в веб-разработке.
Ускоренный курс JavaScript
HTML и CSS
Звучит знакомо? Так и должно быть. Потому что это старые добрые языки, которые здесь, чтобы остаться. Вместе с JavaScript, HTML и CSS они с самого начала создали привлекательные и требовательные веб-страницы. Кроме того, изучение HTML может быть довольно увлекательным. Если есть популярный язык, который подчеркивает вашу творческую сторону, это HTML и CSS. С помощью HTML создайте пользовательский интерфейс для веб-приложений и мобильных приложений. Если вы новичок, HTML и CSS должны быть абсолютными базовыми языками программирования для веб-разработки, которые вы должны знать, прежде чем продолжить.
Курс HTML5 и CSS3
машинопись
TypeScript правильно называется масштабируемым JavaScript. Основное отличие состоит в том, что JavaScript не нужно компилировать, а TypeScript делает. Я все еще в замешательстве? Ну, не делай этого. TypeScript – это строго типизированный расширенный набор JavaScript, который обеспечивает более чистый код. TypeScript транскомпилирован в JavaScript, поэтому освоение JavaScript в основном достаточно, чтобы получить хороший контроль над TypeScript.
Будучи языком программирования для веб-разработки с открытым исходным кодом, поддерживаемым технологическим гигантом Microsoft, TypeScript является перспективным объектно-ориентированным языком программирования. Кроме того, наличие интерфейса и поддержка модулей делают TypeScript популярным языком программирования для веб-разработки. Каждый код JS также может быть выполнен как код TypeScript. В результате мы решили включить его в наш список, и мы предлагаем вам добавить его в свой арсенал, чтобы выделиться. соревнование.
Языки программирования для серверной разработки
В бэкэнд-веб-разработке происходят все действия: бэкэнд-веб-разработка не ориентирована на эстетическую сторону, а занимается базой данных и бизнес-логикой. Но все же вам нужно знать, как работает интерфейс, даже если глубокие знания не требуются. Потому что интерфейсная разработка сосуществует с серверными базами данных. Вот лучшие серверные языки программирования, которые вы должны знать в веб-разработке –
питон
Python – это новый разговор о городе среди множества языков программирования, доступных в современном мире. Настолько, что он побил более поздний бесспорный язык JAVA в 2016 году, воспользовавшись более широким участием в использовании программирования в этом году. И с тех пор он продолжал доминировать.
Успех Python за короткий период говорит о его способности. Вероятно, большая часть успеха заключается в удобочитаемости, эффективности и более плавной кривой обучения. Хотя Python является синонимом приложений машинного обучения и науки о данных, веб-разработка также является платформой, на которой процветает Python.
Из-за факторов фреймворков, таких как Django и Flask, Python стал любимым инструментом для многих разработчиков в веб-разработке. Django использует MVT (Model-view-Template) вместо традиционных методов MVC. Наконец, такие громкие имена, как Dropbox, PayPal, eBay и Reddit, имеют в основе Python.
Мега курс Python: создание 10 реальных приложений
Узел JS
Помните, когда я сказал, что JavaScript везде? Узел JS – это среда или инфраструктура, которая позволяет нормальному JavaScript работать на стороне сервера. Этот популярный язык веб-разработки использует тот же движок Google Chrome JavaScript, который называется V8, с дополнительными библиотеками.
Проще говоря, Node JS помогает пользователям выполнять код JavaScript вне веб-браузера AKA на сервере. Так что изучение JS Node не является чем-то новым, если вы освоили JavaScript. Еще раз, устный JS!
Изучите NodeJS, создав 10 проектов
ASP.NET
ASP.NET – это язык программирования на стороне сервера и единственный популярный язык веб-разработки, который появляется в этом списке и не является бесплатным. ASP.NET – это фундаментальная среда, которая помогает вам создавать веб-приложения. Это один из лучших языков программирования для веб-разработки, который предоставляет различные возможности, такие как логика на стороне сервера, проверка, взаимодействие с базой данных, управление сеансами и безопасностью. Основанный на коде C # делает этот популярный язык эффективным и легким для чтения.
«Скомпилируйте один раз и запускайте везде». Знаменитый девиз, который знает каждый программист на Java. Приложения высокого уровня, сайты с большим трафиком, приложения для Android – что угодно, Java делает все это. Java-программирование имеет огромную поддержку для разработки высококачественных веб-приложений. Кроме того, виртуальная машина Java выступает в качестве среды выполнения для веб-контейнера, расположенного на конечном сервере веб-приложения.
Как и апплеты, веб-платформы Java основаны на нескольких сервлетах. Вместе с ресурсами, сервлетами и классами JavaServer Pages можно реализовать полноценное веб-приложение на Java. К полезным веб-приложениям на Java относятся Struts, Spring MVC и GWT (Google Web Toolkit).
Полный пакет Java
рубин
Ruby on Rails – это среда разработки веб-приложений на основе объектно-ориентированного языка программирования, которая называется Ruby. Как и в случае с Python Django, как уже говорилось ранее. Как относительно молодой и доступный язык программирования для веб-разработок, Ruby может многое предложить.
Основным преимуществом Ruby является то, что это дружественный для начинающих язык программирования. Размер кодировки значительно меньше, а четкость кода поддерживается всегда. Основное внимание уделяется использованию словесного общения. Кроме того, для изучения лучших языков программирования вам потребуется активное и увлеченное сообщество. Вот где сияет этот популярный язык веб-разработки.
Такие сайты, как Github, Hulu, Twitch, Basecamp, SoundCloud используют Ruby on Rails. Следовательно, вы должны рассматривать Ruby как язык программирования, который необходимо изучить, чтобы начать карьеру в веб-разработке.
Мастер-класс по Ruby On Rails
Нужно изучать языки программирования для полной разработки стека
Разработчики Full Stack сегодня все злятся. До сих пор мы видели лучшие технологии фронтальной и внутренней разработки в веб-разработке. Что такое разработчик с полным стеком? Во-первых, разработчик полного стека является «мастером на все руки» в сфере веб-разработки. Этот термин был популяризирован Facebook Команда инженеров несколько лет назад, так как разработка Full-stack включает в себя работу как на переднем, так и на заднем плане.
Что в первую очередь означает стек, так это совокупность различных модулей, которые вместе создают функциональную систему. В этом случае сайт! Наличие навыков, требуемых в известных языках программирования Front-End и Back-End, может помочь вам получить одну из самых горячих вакансий в современную эру веб-разработки. Поэтому лучшие языки для полного развития будут в основном включать те, которые мы обсуждали ранее.
Вот несколько популярных технологий веб-разработки, основанных на JavaScript.
СРЕДНЯЯ БАТАРЕЯ
MEDIO Master: Изучите основы стека MEAN
MERN STACK
ФИЛЬМЫ ПОХОЖИЕ НА СРЕДСТВО Единственное отличие состоит в том, что, хотя при разработке стека MEAN используется Angular JS для фронт-энда, он использует MERN. REact JS. Реакт был разработан Facebook в 2013 году и продолжает использовать его среди своих премиальных продуктов, таких как WhatsApp и Instagram, Angular и React являются способными технологиями веб-разработки, но Angular остается более зрелым из двух.
React набирает большую популярность, и его будущий рынок труда обещает. React JS предлагает более желательную кривую обучения, чем Angular JS. Приговор здесь заключается в том, что вы не ошибетесь, выбрав любой из них.
Веб-разработка Omnibus: jQuery, AngularJS и ReactJS
Лучшие языки программирования для веб-разработки в 2020 году
Вот и все. Вы знаете, как они говорят: однажды начался, наполовину готов. Если есть идеальное время для начала обучения, это сейчас. Так чего же вы ждете? Есть много онлайн-курсов и учебных пособий, которые могут помочь вам освоить эти веб-технологии.
Эти лучшие языки программирования, вероятно, являются наиболее востребованными навыками в растущей ИТ-индустрии этой эпохи. Итак, опытный вы или новичок, выбирайте мудро, исходя из ваших карьерных целей и интересов. Так что начните кодировать!
Если у вас есть какие-либо вопросы или предложения по поводу нашего списка, вы можете заполнить его в разделе комментариев Cheerio.
Стек технологий для разработки веб-приложений: что важно знать бизнесу
Время чтения: 10 минут
Отправим вам статью на:
Один из наиболее важных шагов, которые нужно предпринять, когда дело доходит до разработки приложения, — это выбрать правильный стек технологий. Этот вопрос значительно влияет на успех проекта, как в краткосрочной, так и долгосрочной перспективе. Почему? Стек технологий для разработки веб-приложений влияет на стоимость проекта, сроки выпуска продукта на рынок, безопасность и масштабируемость приложения. Грамотно подобранный стек позволяет получить стабильный, безопасный и удобный в обслуживании продукт, который не только завоюет сердца ваших клиентов, но и позволит вам масштабировать бизнес.
Веб-приложение: что такое, из чего состоит, виды
С точки зрения архитектуры веб-приложения состоят из двух частей: клиентской и серверной. Клиентская часть также называется фронтэнд. По сути это то, что пользователи видят на экране устройства. Серверная часть, или бэкенд — программно-аппаратная часть сервиса. Это набор средств, которые реализуют логику приложения.
Взаимодействие клиентской и серверной частей веб-приложения
Клиентская часть приложения
Фронтэнд, т.е. клиент представляет собой интерактивную часть программы, которая исполняется в веб-браузере на компьютере, смартфоне или планшете. Клиентская часть реализует пользовательский интерфейс веб-приложения и загружается в виде динамических веб-страниц.
Рассмотрим основные компоненты стека интерфейсов.
Каскадные таблицы стилей (CSS) — это язык разметки, который определяет оформление и макет элементов HTML. Таким образом, HTML задаёт структуру, а CSS — стиль. С помощью CSS задаются шрифты, цвета, стили, расположение отдельных элементов, а также отображение страниц на разных устройствах.
JavaScript
JavaScript — это язык программирования, который помогает реализовывать сложное поведение веб-страницы. В большинстве случаев JavaScript используется для создания адаптивных интерактивных элементов для веб-страниц, которые улучшают взаимодействие с пользователем. С помощью JavaScript можно создавать меню, анимацию, видеоплееры, интерактивные карты и даже простые игры в браузере.
Чтобы эффективнее разрабатывать на JavaScript, разработчики используют фреймворки, которые также являются важной составляющей технологического стека. Фреймворк — это рабочая среда, своего рода каркас, который помогает эффективнее создавать и поддерживать программные продукты. Далее мы перечислим некоторые из фреймворков и библиотек, которые мы обычно используем в проектах.
Популярные фреймворки и библиотеки JavaScript
Одна из ключевых особенностей React — универсальность. Эту библиотеку можно использовать на сервере и на мобильных платформах с помощью React Native.
Ещё одна важная особенность библиотеки — декларативность. С помощью React разработчик описывает, как компоненты интерфейса выглядят в разных состояниях. Декларативный подход сокращает код и делает его понятным.
Angular — это фреймворк от компании Google. Прежде всего он нацелен на разработку SPA-решений.
Эта среда разработки известна прежде всего потому, что она предоставляет разработчикам лучшие условия для объединения JavaScript с HTML и CSS. К веб приложениям на Angular.js относятся Google и Youtube.
Vue — это прогрессивный фреймворк для создания пользовательских интерфейсов. В отличие от фреймворков-монолитов, Vue подходит для постепенного внедрения. Он легко интегрируется с другими библиотеками и существующими проектами. Также Vue пригоден, чтобы создавать сложные одностраничные приложения, если использовать его совместно с современными инструментами и дополнительными библиотеками.
Серверная часть приложения
Под серверной частью понимают набор аппаратно-программных средств, с помощью которых реализована логика работы приложения. Это то, что происходит вне браузера и компьютера пользователя. К бэкенду относится панель администрирования, управление данными, логика их передачи по запросам фронтенда.
Задача серверной разработки — сделать так, чтобы ответ от сервера доходил до клиента и спроектированные блоки функционировали нужным образом. А также создать для заказчика удобную и безопасную среду для наполнения и обновления контента на сайте.
PHP в основном применяется, чтобы «оживить» статичные HTML страницы. Почти всегда пользователи приходят на сайт за информацией, которая всё время меняется, и нужно отображать её актуальное состояние. Например, показать прогноз погоды. Если использовать только HTML, то решить такие задачи не получится. Здесь может помочь PHP: он принимает входящий запрос от веб-сервера, выполняет сценарий и возвращает результат в виде готового HTML-кода. Сервер отправляет этот результат в браузер пользователю, который, в свою очередь, отображает её пользователю. После этого пользователь видит актуальный прогноз погоды.
Для создания веб-приложений на PHP мы используем фреймворк Laravel. Его особенности: поддерживает функциональное, интеграционное и юнит-тестирование, позволяет легко масштабировать приложения, следует лучшим практикам разработки и предлагает большой выбор шаблонов проектирования. Всё это помогает поддерживать чистую, минималистичную и эффективную кодовую базу, которую легко модифицировать.
Также из PHP фреймворков применяем Yii2 и Symfony.
Для разработки веб-приложений на Java мы используем фреймворк Spring. Он обеспечивает комплексную модель разработки и конфигурации для современных бизнес-приложений: от ecommerce-проектов до крупных порталов, от образовательных платформ до правительственных ресурсов. Ключевой элемент Spring — поддержка инфраструктуры на уровне приложения, поэтому разработчики могут сосредоточиться на бизнес-логике без лишних настроек в зависимости от среды исполнения.
Также из фреймворков Java применяем Hibernate. Он упрощает разработку Java приложения для взаимодействия с базой данных.
Node.js
Node.js — кроссплатформенная среда, которая выполняет код JavaScript вне браузера. Node.js позволяет разработчикам использовать JavaScript, чтобы получить инструменты командной строки. На стороне сервера с его помощью можно запускать сценарии для обработки динамического содержимого веб-страницы, перед тем как она будет доступна в веб-браузере пользователя.
Базы данных в разработке веб-приложений
Также веб-приложению требуется место для хранения данных, и для этого используется база данных. Существует два типа баз данных: реляционные и нереляционные. Различия между ними заключаются в том, как они спроектированы, какие типы данных поддерживают, как хранят информацию.
Реляционные БД хранят структурированные данные, которые обычно представляют объекты реального мира. Например, это могут быть сведения о человеке или о содержимом корзины для товаров в магазине, сгруппированные в таблицах, формат которых задан на этапе проектирования хранилища.
Нереляционные БД устроены иначе. Например, документо-ориентированные базы хранят информацию в виде иерархических структур данных. Речь может идти об объектах с произвольным набором атрибутов. То, что в реляционной БД будет разбито на несколько взаимосвязанных таблиц, в нереляционной может храниться в виде целостной сущности.
Внутреннее устройство различных систем управления базами данных влияет на особенности работы с ними. Например, нереляционные базы лучше поддаются масштабированию.
В инфографике ниже мы собрали основные технологии разработки веб-приложений, которые мы используем.
Заключение
Подпишитесь
Оставьте адрес, и каждый месяц мы будем высылать свежую статью
о новых трендах в разработке програмного обеспечения.
Какие языки программирования учить?
Чем больше освоишь, тем круче будешь
Довольно популярное мнение среди разработчиков, что уровень квалификации и зарплата зависят от количества языков программирования, которыми разработчик владеет.
Я сам в свое время ходил и думал, что бы такого изучить, чтобы потом писать в резюме много умных слов. Затем однажды на работе познакомился с коллегой, С++ разработчиком, который за всю жизнь освоил только один этот язык и все. А зарплата у него была, как у меня, может даже больше. Помню, как он ходил и с интересом спрашивал, как такие же вещи можно делать на С #. Это меня очень удивило, потому что я увидел, что человек достаточно успешен в IT-карьере, хотя он хорошо выучил всего один язык, а за его пределами почти ничего не знает.
Конечно, это не значит, что надо ограничивать свой кругозор единственным языком. На мой взгляд, секрет успеха в том, чтобы стать профи в чем-то одном, а затем осваивать смежные области, которые будут дополнять друг друга и двигать в направлении одной цели. Например, если вы занимаетесь Web-разработкой, будет плюсом знать какой-то язык для бэкэнда и JavaScript для фронтэнда. Но если я буду учить С++ для бэкэнда, то знания JavaScript для фронтэнда мне ничего не даст, потому что я никогда не буду использовать их вместе.
Обычно, с одного языка пересесть на другой не так сложно из-за схожего синтаксиса и общих принципов. Например, с C # на Java. При этом вокруг каждого языка есть своя большая экосистема: библиотеки, фреймворки, либы. А вот на это уже нужно много времени, и быть достаточно высококвалифицированным специалистом в двух-трех разных областях в программировании очень сложно.
Рынок вакансий диктует условия
Если осваивать программирование с целью карьеры, а не в качестве хобби, ориентироваться надо на рынок вакансий. Идем на HeadHunter и видим такую картину
Зеленым выделены языки с положительной динамикой вакансий. За год Kotlin и Go впервые оказались в этом списке. Красным выделен Ruby — для него число вакансий сокращается, и возможно, скоро из топ-10 его вытеснит какой-нибудь другой перспективный язык.
Может показаться, что если выбрать что-нибудь экзотическое, у вас будет меньше конкурентов, а значит проще найти работу. Это не совсем так. Работодатели тоже идут на hh, смотрят кандидатов и решают, на чем запускать проекты, под которые реально собрать команду. Замкнутый круг. Поэтому мой совет с точки зрения развития карьеры: выбирайте популярный язык, при этом ориентируйтесь на спрос на рынке труда, а не по каким-то другим рейтингам.
Вместо того, чтобы обсуждать актуальность отдельно взятого инструмента — а именно этим являются языки программирования — я рассмотрю их в разрезе 4-х направлений разработки и составлю наборы навыков, необходимых для решения разных задач.
Web-разработка
Здесь больше всего вакансий, но и сильнее конкуренция среди специалистов, т.к. направление развивается уже много лет. Web-разработка состоит из Frontend — визуальная часть сайта, то, с чем взаимодействуют пользователи, и Backend — серверная часть сайта.
Начальный маршрут для фронтендера:
HTML, CSS — языки верстки
JavaScript — для интерактивных элементов
ECMAScript / Typescript — расширения JavaScript, дающие больше возможностей
Опыт работы с одним из фреймворков: React / Angular / Vue
Как правило, выбор фреймворка не столь принципиален: работодатель готов рассмотреть кандидата с опытом в любом из трех, т.к. довольно быстро можно пересесть на нужный специально под проект.
Для бэкендера есть несколько вариантов. Каждый пункт в списке — пара из языка и его фреймворков:
PHP + Laravel / Yii 2 / Symphony
Javascript + NodeJS (Express.JS, Nest.js, TypeScript, GraphQL, Apollo)
Каждый из наборов актуален для написания серверной части сайтов, поэтому можно выбрать на свое усмотрение. В любом случае понадобится овладеть еще и этими знаниями:
HTML & CSS — понимание верстки сайтов
SQL (PostgreSQL / MySql) — работа с базами данных
Архитектуры и паттерны — как писать код, который легко поддерживать и масштабировать
В большинстве случаев это необходимый минимум, джентельменский набор для бэкенд-разработчика, работающего над сайтами. Далее, можно развиться как разработчик в 2 разных направлениях: начать осваивать технологии из списка фронтендера, т.е. стать Fullstack-разработчиком, или углубиться в бекенд и хайлоад. Выбрав второй путь, будет полезно освоить следующие технологии:
NoSql (MongoDB, Reddis, Cassandra)
Брокеры сообщений: RabbitMQ / Kafka
Мобильная разработка
Более молодое направление, в котором меньше вакансий, но пока наблюдается дефицит кадров. Языки программирования выбираются в зависимости от того, под какую платформу вы будете создавать приложения.
Android-разработчик:
В большинстве проектов нужно знать и Java и Kotlin
Новый код чаще пишется на Kotlin, однако очень много кода, который нужно поддерживать, написан на Java
Kotlin молодой, но очень перспективный язык, созданный питерской компанией Jetbrains в 2016 году. Он полностью совместим с Java, но примерно на 40% короче его, что значительно ускоряет разработку. Кроме того, в какой-то момент Google, устал от исков со стороны правообладателей Java за использование кода в Android и назвал Kotlin предпочтительным языком для Android-разработки. Сейчас все чаще приложения пишут на нем. Однако на текущий момент все еще очень много проектов, написанные на Java, которые нуждаются в поддержке и развитии. Поэтому Android-разработчику надо знать оба языка, чтобы уметь читать и вносить изменения в старый код.
iOS-разработчик:
Достаточно знать Swift
Старый код написан на Objective-C
Легкий и простой Swift пришел на смену и значительно потеснил первый iOS-язык Objective-C. Эти языки несовместимы, поэтому новые проекты начинают на Swift и его вполне достаточно для разработки на платформе. А Objective-C остается актуальным только для старых больших проектов, которые не решились переписывать на Swift.
Что касается востребованности, то Java и Kotlin универсальные языки, которые используют не только для мобильной разработки и под различные платформы. А вот Swift подходит исключительно для мобильной разработки под iOS и десктопной разработки под MacOS.
Еще один путь мобильного разработчика — освоить библиотеку ReactNative для JavaScript. Она устроена таким образом, что написанный код работает под все платформы. С одной стороны это очень удобно. Однако нередки случаи, когда появляется необходимость прописать нативный код для каждой платформы, а это значит нужно иметь наготове знания и Kotlin, и Swift.
Серверные приложения
Путь разработчика серверных приложений во многом похож на бэкендера, разрабатывающего сайты. Во-первых, надо выбрать и изучить один из языков. Сейчас в ТОП-е по количеству вакансий на российском рынке:
Во-вторых, как и бэкендеру, для большинства задач вам понадобятся навыки работы с базами данных и умение писать качественный код. Тут вам пригодятся:
SQL (PostgreSQL / MySql)
Архитектуры и паттерны
Дальше можно изучить:
Алгоритмы и структуры данных
NoSql (MongoDB, Reddis, Cassandra)
Брокеры сообщений: RabbitMQ / Kafka
Из этого самый сложный пункт — выбор языка. Я подготовил сравнительную таблицу:
Java, Python и С # между собой очень похожи и довольно универсальны. Java используют для сайтов и мобильной разработки. Python отдают предпочтение стартапы (а также крупные проекты, выросшие из стартапов) из-за его простоты освоения и универсальности. C # популярен и для сайтов, и для написания игр на движке Unity 3D. Я советую выбирать тот, с которым вы уже хоть немного имели дело и на какую сферу больше ориентируетесь. При необходимости быстро пересесть на другой из этой тройки не составит труда.
C++, на мой взгляд, один из самых сложных в освоении язык, подходящий в основном для серверных, десктопных программ и игр, реже — для Data Science. Разработка на нем занимает значительно больше времени, но дает программисту огромные возможности. C++ используют для программ, требовательных к быстродействию, например, Photoshop, или масштабных игр, так как с его помощью можно контролировать и распределять нагрузку на «железо».
Golang (Go) появился как более простая версия С++. Его легко освоить, и он заточен под высокие нагрузки и многоядерные процессоры, но имеет очень ограниченный функционал, например, нет дженериков, исключений и т.д., которыми обладают другие языки программирования. В первую очередь его целесообразно использовать для консольных утилит и highload бэкенда. Вакансии разработчика на Go открывают преимущественно крупные корпорации, хотя в последнее время спрос на разработчиков Go начал появляться и в проектах поменьше.
Разработка игр
Выбор языка во многом определяет платформу, на которой вы сможете писать игры:
C#, Unity 3D — кроссплатформенный, возможность быстро портировать игру с одной платформы на другую
C++, Unreal Engine — PC, обычно используется для масштабных игр, требовательных к быстродействию «железа»
Если по выбору языка какие-то моменты не осветил, задавайте вопросы — отвечу.