Share This
Связаться со мной
Крути в низ
Categories
//🍏 Путь в профессию: интервью с iOS-разработчиком Кевином Ренскерсом

🍏 Путь в профессию: интервью с iOS-разработчиком Кевином Ренскерсом

Создание приложений для iOS – одно из самых перспективных направлений в IT. Наш корреспондент пообщался с программистом-фрилансером из Голландии, который трудится в этой сфере уже 11 лет. Он рассказал о своем пути в iOS, Swift и SwiftUI, а также о будущем iOS-разработки. Обсудить

put v professiju intervju s ios razrabotchikom kevinom renskersom 61a4b13 - 🍏 Путь в профессию: интервью с iOS-разработчиком Кевином Ренскерсом

— Как вы пришли к разработке приложений для iOS?

В 2009 году я начал работать в местной компании в качестве программиста на Python. Мы создавали веб-сайты для крупных компаний, используя Plone и Django. В 2010 году некоторые клиенты начали просить приложения для iPhone, и это стало началом моей карьеры разработчика iOS: мне платили за то, чтобы научиться создавать эти приложения.

К тому времени у меня уже был десятилетний опыт работы в программировании. Я начал в 2000 году создавать веб-сайты с помощью HTML и Flash, в 2001 году занялся PHP и JavaScript, а в 2009 году перешел на Python.

put v professiju intervju s ios razrabotchikom kevinom renskersom 9fd914b - 🍏 Путь в профессию: интервью с iOS-разработчиком Кевином Ренскерсом

— Вы занялись разработкой для iOS в 2010 году. Что изменилось сейчас?

Почти все. Когда я начинал, мы не только все еще использовали Objective-C (который мне действительно очень нравился), но даже ARC еще не существовало. Xcode еще не был интегрированным инструментом, Interface Builder был отдельным приложением, поэтому вы могли открывать обе программы одновременно. Это было очень мило.

put v professiju intervju s ios razrabotchikom kevinom renskersom 88ed32a - 🍏 Путь в профессию: интервью с iOS-разработчиком Кевином Ренскерсом

Даже блоки (замыкания, обработчики завершения) еще не существовали, не было дополнительных элементов, не существовали литералы массивов и словарей и раскадровки – список можно продолжать и продолжать.

— 11 лет – большой срок. Чему вам пришлось научиться за это время?

Очевидно, мне сначала нужно было изучить Objective-C, UIKit, Foundation и другие фреймворки. Позже мне пришлось изучить Swift, функциональное программирование, реактивное программирование, а также все новые фреймворки и API, которые Apple представила за эти годы. MVC, MVVM, координаторы, составная архитектура – обучение никогда не прекращается!

Однако написание приложений для iOS сильно отличается от написания веб-приложения, поэтому освоение правильных шаблонов, таких как делегаты и способы работы с (фоновыми) потоками, было своего рода кривой обучения.

— В 2010 году Apple была не такой огромной корпорацией. Почему вы выбрали разработку под iOS?

Я бы не сказал, что они не были крупной компанией в 2010 году. Конечно, сейчас они огромны, но iPhone стал хитом с самого первого выпуска. В любом случае меня не волновал размер, я просто знал с первых же слухов о телефоне Apple, что он будет отличным. Когда Джобс представил iPhone, я был влюблен и знал, что мне нужен именно такой. Требовалось, чтобы iPhone 3GS был доступен в Нидерландах.

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

put v professiju intervju s ios razrabotchikom kevinom renskersom f7da777 - 🍏 Путь в профессию: интервью с iOS-разработчиком Кевином Ренскерсом

Что вы думаете о Swift и SwiftUI? Хотите что-то в них изменить?

Обожаю Свифт! Я дождался Swift 3, пока не начал его использовать. Я работал над большими сложными приложениями Objective-C, мне очень нравился Objective-C, поэтому я дождался подходящего момента для перехода. Этот момент наступил в декабре 2016 года: я только начал работать фрилансером и начал новый проект с нуля, поэтому в тот момент Swift казался очевидным выбором.

SwiftUI, с другой стороны… Мне нравится его концепция, я бы хотел иметь возможность использовать его, но он еще не готов. Я создал побочный проект средней сложности с использованием SwiftUI 1, когда он был только что выпущен, и хотя мне понравилось первоначальное повышение производительности, это быстро превратилось в раздражение, так как я потратил слишком много времени, работая над ошибками и сбоями в самом SwiftUI. Легкие вещи стали действительно легкими, а сложные – невозможными. Я отказался от этого побочного проекта.

Я действительно надеюсь, что SwiftUI стал лучше с iOS 15, но если вы не пишете приложение только для iOS 15+, это не имеет значения. На самом деле я не думаю, что буду использовать SwiftUI для производства в ближайшие 2 или 3 года.

Я бы хотел изменить то, чтобы изменения Swift и SwiftUI можно было использовать со старыми версиями iOS. Например, новая поддержка async/await в Swift действительно потрясающая. Но… только для iOS 15+. Я бы хотел, чтобы Apple нашла способ удалить такие зависимости из самой базовой ОС, чтобы отдельные фреймворки могли обновляться без полного обновления ОС. То же самое и с такими приложениями, как Mail, Weather, Notes и т. д. Почему они являются частью самой iOS? Если бы они были в App Store, как и любое другое приложение, их можно было бы обновлять чаще и с меньшими проблемами.

— Какие ресурсы вы используете для работы и обучения?

  • https://pointfree.co
  • https://donnywals.com
  • https://hackingwithswift.com

— Были у вас ошибки, и что бы вы посоветовали ребятам из России, которые только начинают осваивать профессию?

На самом деле это не ошибка, но мне бы хотелось, чтобы я вскочил на подножку FRP немного раньше. Мне никогда не нравился RxSwift (или ReactiveCocoa во времена Obj-C), он никогда не работал до тех пор, пока я не начал использовать ReactiveKit и Bond еще в 2019 году. Теперь я использую Combine во всех своих приложениях с 2020 года, и не могу представить, что вернусь к старому способу создания приложений.

Если вы только начинаете разработку iOS, совет номер один – не перегружаться всеми вариантами архитектуры и не пытаться делать все идеально с самого начала. Просто используйте MVC, не волнуйтесь, получите ли вы в итоге массивные контроллеры представления или нет. Используйте раскадровку с переходами, если они вам нравятся, даже не думайте пока о координаторах. Забудьте о комбинированном и реактивном функциональном программировании.

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

— Какое будущее у iOS-разработки?

SwiftUI и async/await. Жаль, что будущее реальных приложений, где вы должны поддерживать старые версии iOS – это буквально несколько лет.

— Чем вы занимаетесь сейчас и какие у вас планы?

Я занимаюсь проектом для клиента, в котором также работаю над приложением iOS и серверным кодом. Планирую продолжать получать удовольствие как разработчик-фрилансер, принимая проекты, которые меня интересуют.

Мне почти 40 лет, и я не знаю, как долго захочу оставаться разработчиком или фрилансером. Так что со временем я, возможно, захочу больше сосредоточиться на том, чтобы быть наставником, чем мне действительно нравится заниматься сейчас несколько часов в неделю. Посмотрим 🙂 Профиль Кевина в Твиттере.

***

Если вы хотите получить необходимые знания в структурированном виде и без лишней воды, стоит обратить внимание на курс Факультета iOS-разработки образовательной онлайн-платформы GeekBrains. За 12 месяцев вы освоите два языка программирования и современные технологии создания приложений, научитесь писать чистый код и реализуете несколько проектов для портфолио. Обучение будут курировать эксперты-практики, а после защиты финального проекта студентам выдадут электронные сертификаты и дипломы о профессиональной переподготовке. HR-специалисты GeekBrains помогут выпускникам с трудоустройством.

Интересно, хочу попробовать

  • 1 views
  • 0 Comment

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Связаться со мной
Close