В понедельник на встрече в #tceh автор курса «Профессия iOS-разработчик», full-stack разработчик и техдир компании App In The Air Сергей Пронин показал, как можно разрабатывать (и зарабатывать!) на языке программирования Swift.

По данным hh.ru разработчикам приложений для iPhone предлагают зарплаты от 80 до 200 тыс. рублей в месяц; по данным Apple прямая выручка разработчиков по миру в прошлом году составила $50 млрд; а согласно нашему расписанию, курс по Swift стартует уже 5 декабря. И ведёт этот курс разработчик приложения для управления перелётами App In The Air, которое фигурирует в рекламе Apple, используется 2,3 млн пользователей и занимает в App Store верхние позиции.

На открытом уроке 28 ноября Сергей объяснил весь процесс разработки на языке Swift на примере простого приложения с кодом в 500 строк, прототип которого опытный разработчик напишет за 3 часа. Это геолокационный сервис, позволяющий выбрать место отдыха или развлечения недалеко от места, где вы находитесь, получив о нём всю существенную информацию из сети.

Каждый участник мог забрать этот продукт с собой, а вдогонку получил полезные допматериалы.

А ещё участники задали Сергею много вопросов, в том числе довольно заковыристых. Это и понятно: в аудитории было немало профессионалов.

Вот, выбрали пять пар «вопрос-ответ».

Считается, что Swift — достаточно простой язык, и разрабатывать на нём очень легко. Может ли его доступность снизить порог входа на рынок для мобайл-разрабов и отразиться на рынке труда? Зарплаты не упадут?

Сергей: Пока не падают. То есть, я вообще не вижу такого тренда. Одно дело, если все начнут учить Swift, и через месяц у нас будет миллион junior-разработчиков, которые пишут так себе. Упадут от этого зарплаты? Вряд ли. Конечно, если человек мотивирован или у него уже есть опредёленный уровень и опыт, то даже за месяц он может достичь большего. Но пока рынок не насыщен даже близко. И перенасыщаться (как это происходит с рынком web-разработки, например) он начнет ещё не скоро. Потому что Swift — самый новый язык, а целевой рынок — самый большой, ведь iPhone и iPad — это самые популярные мобильные устройства.

Я немного поковырялся в языке и, может быть, я не прав, но он мне показался каким-то запутанным: часть функций работы со строкой зашиты в классе строк Swift, а для других нужно подключать дополнительные библиотеки. И тогда нужно копаться, искать нужную функцию.

Сергей: Вы не совсем неправы, просто есть стандартные вещи, а есть нестандартные. И библиотеки можно подключать как сторонние, так и встроенные, уже существующие в iOS. Большинство функций, связанных со строками — встроено. Вещи, которые вам нужны, есть в стандартной библиотеке, их всегда можно найти, и они решают любые подобные вопросы.

Swift и Objective-C — как они дружат между собой?

Сергей: Они дружат через так называемую «прокладку». Если у вас есть Objective-С и Swift, то вы просто указываете, что вы хотите видеть там и там. И тогда Swift пытается вам перевести Objective-C с помощью вывода функций, создания объектов и так далее, и обратный перевод работает так же. Не все вещи между ними можно перекидывать, но всё максимально интегрируется. Могу вам скинуть фрагмент курса, посмотрите, как это происходит.

Библиотеки все те же можно использовать?

Сергей: Почти все библиотеки для Objective-С, сделанные разработчиками и существующие в интернете, можно использовать и в Swift. Я бы сказал, таких 95% — за исключением очень серьезных, которые написаны на С. Apple постоянно работает над тем, чтобы максимизировать соединяемость этих двух языков. Но и сейчас она на очень высоком уровне. Например, наше приложение App in the Air мы начинали писать во времена iOS 3.0, тогда Swift ещё даже не существовал.

Приложение App in the Air в презентации Apple

Теперь у нас 80% кода на Swift, а 20% — на Objective, и они между собой прекрасно дружат, и всё работает. То есть, большой проблемы здесь нет. Если сравнивать с Objective-C, то Swift даже проще учится: то, что раньше писалось в 20 строк, теперь пишется в две! И это супер круто.

А как конвертировать из Objective-С?

Сергей: Официального конвертера пока нет. У Apple есть самописные конвертеры, но они работают со всеми вытекающими из этого статуса проблемами: гарантии никто не дает. Есть конвертеры из старого Swift в новый, но встроеные в компоненты из кода. Вот почему Swift 3.0 считается новой жизнью для Swift. Руководители Apple пообещали, стоя на сцене, что больше такого не будет. И наконец-то выложили Swift в open source. Сообщество разработчиков высказало свои представления о том, как должен выглядеть язык. И в Apple согласились, решили развивать Swift в этом направлении и с минимальными изменениями. Раньше изменения были, ну, очень жесткими. И о них никто не подозревал. Мне говорили: “пиши 3 тысячи строк”, а потом вышла новая версия и пришлось писать заново, — это было очень грустно. Сейчас уже ничего такого не произойдёт: кардинальных изменений не будет.

Приходите учиться на курс Сергея Пронина и получайте конкурентное преимущество. Год назад код Swift стал открытым, и язык начал развиваться динамичнее благодаря участию сообщества разработчиков. Он уже пригоден для разработки под Linux, а в перспективе может стать первым универсальным языком программирования.

Подробности и программа курса

LETS_SUBSC

Аникин Николай,

Автор #tceh