Вместо вступления

Примерно 10 лет назад я передавал дела своим коллегам, когда Крейг Федериги на WWDC 20141 анонсировал новый язык программирования — Swift.

Было обещано, что работа над ним не остановится, а развиваться он будет на основании обратной связи от комьюнити. Обратной совместимости никто не гарантировал, поэтому с каждым обновлением Xcode моих коллег краснел — именно таким он становится, когда не может что-то скомпилировать.

В те времена разработка под iOS была довольно дикой, как бы грубо это ни звучало: любой, кто мог позволить себе iPhone и MacBook, купив очередной самоучитель по соединению сторибордов стрелочками, приходил на собеседование.

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

О качестве кода тогда говорить особо не приходилось. За час-полтора средний разработчик накидывал пару тысяч строк кода в UITableViewController, не выделяя из него ни UITableViewDelegate, ни взаимодействия с сетью.

На вопрос, что такое IoC-контейнер, округлялись глаза. Такие вещи, как Typhoon2 были почему-то доступны избранным. Остальные читали не самые качественные туториалы от Рея Вендерлиха.

Слова VIPER и MVVM появлялись в лексиконе только крупных игроков. Прослушав очередной доклад на эту тему, заявлялось, что всё очень круто, но “нам такая мощная архитектура для нашего простого приложения” не нужна. Даже если это приложение входит в первую десятку в своей категории.

Разгорались кровопролитные споры о том, нарисовать ли ячейку в xib или описать её коде, потратив пару дней на выравнивание лейблов.

Многие проекты ещё долгое время оставались на Objective-C, но, спустя пару лет уже стали появляться курсы “Objective-C для Swift-разработчиков”.

К этому моменту iOS-разработкой я уже не занимался.

Зачем этот блог и канал в телеге?

На дворе самое начало нового года — время мечтать и строить планы.

Мысль о создании блога и канала пришла мне буквально 31-го числа, а первыми подписчиками стали мои коллеги.

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

Мы будем исходить из того, что разработка превратилась из индивидуальной, когда в компании мог быть один iOS -разработчик, в командную. Это накладывает некоторые требования к организации своего рабочего места и построению процессов. Если раньше приложение собиралось на ноутбуке одного человека или пара человек конкурировали за возможность загрузить готовый .ipa-файл в консоль разработчика руками через браузер, каждый раз перевыпуская сертификат для подписи, то сейчас этот процесс должен быть автоматизирован.

Лично мне было бы интересно восстановить свой уровень владения данной темой, несмотря на то, что так или иначе я поддерживаю на плаву свою осведомлённость о происходящем в индустрии.

А ещё мне хотелось бы уберечь новичков от ошибок, которые очень легко совершить в самом начале.

Готовы?

Тогда не торопитесь скачивать Xcode из AppStore — в следующем посте я расскажу, почему этого делать не надо и как поступить грамотнее.