Приватные методы разработки в iOS

На второй день VK Fest 5 на площадке VK Testers Антон Спивак, руководитель команды iOS-разработки, рассказал о приватных методах разработки в iOS. Мы приготовили для вас расшифровку этого выступления.

Сегодня поговорим про то, как сделать свой проект, как войти в iOS-разработку, как до конца завершить то, что вы начали делать и не потерять мотивацию.

Предположим, что вы хотите стать iOS-разработчиком и создать свой проект.
Не всё так просто.

Приватные методы разработки в iOS, image #1

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

Идея есть. Можно открыть XCode и начать программировать? Нет, рано. Теперь вам нужна цель. Сперва кажется, что идея и цель идут и находятся вместе, но опять же — нет. На самом же деле это немного разные вещи. Идея — это что-то абстрактное, а цель — это то, зачем вы это делаете, зачем вам нужен этот проект (помимо желания научиться программировать под iOS).

Цель должна быть:

  1. Конкретной. Например, «Я хочу заработать $1000».
  2. Измеримой.
  3. Достижимой (не факт).

Зачем цель? Чем она поможет? Цель поможет:

  1. Отбросить лишнее.
  2. Не забросить проект.
  3. Разделить задачи на куски и получить цельный проект в итоге.

Теперь можно уже открыть XCode и начать программировать? Нет. Далее по списку идёт прототип интерфейса, но зачем?

Приватные методы разработки в iOS, image #2

Пришло время открывать XCode. Поiхали!

Приватные методы разработки в iOS, image #3

Первый вопрос, который перед нами встает: Swift или Objective-C? Это два языка, которые, вроде как, про разное, а вроде — одно.

Swift:

  • Прост в изучении
  • Богатый синтаксис
  • Apple его любит

Objective-C:

  • Никогда не будет забыт
  • Богатый runtime
  • Интересный синтаксис ]]

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

Storyboards, XIB или код?

ВКонтакте мы пишем всё кодом, но на это есть определенные причины и я бы не советовал делать это так сразу с ходу. Поговорим про них раздельно.

Приватные методы разработки в iOS, image #4
Приватные методы разработки в iOS, image #5
Приватные методы разработки в iOS, image #6
1 of 3

Когда вы всё пишете кодом — это, ясное дело, сложнее, и нужно больше думать. Но при этом вы всегда будете четко понимать, что и где происходит. Именно поэтому мы ВКонтакте использовали именно этот подход, хоть он и более трудоёмок, но может гарантировать лучшие результаты.

Сторонние библиотеки?

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

Расскажем про патерны проектирования приложения.

Приватные методы разработки в iOS, image #7

Model-View-Controller (MVC) любят далеко не все, но любит Apple. Многие не согласятся, что он гибкий, но я скажу так. MVC больше про UI.

Приватные методы разработки в iOS, image #8

MVVM

И тут то же самое, как про MVC. Он вроде как гибкий, но тоже имеет свои определённые минусы, потому что очень легко превратить свой код в мешанину из зависимостей и бинбингов. Это тоже хороший подход, но его нужно уметь грамотно использовать.

Приватные методы разработки в iOS, image #9

В какой-то момент говорили, что VIPER — это решение всех ваших проблем. Опять же, он гибкий, но там очень много кода, а это наш первый проект. Конечно, хочется сразу написать всё супер красиво и здорово, но вы просто не допишите свой проект. VIPER — это здорово, но начинать с него не нужно.

Приватные методы разработки в iOS, image #10
Просто возьмите то, что вам больше нравится и что вам будет по силам закончить.

По итогу мы всё равно придём к такой картине:

Приватные методы разработки в iOS, image #11

Полную версию выступления вы можете посмотреть ниже:

Приватные методы разработки в iOS, image #12

The Brown Room — независимое интернет-издание про социальные сети и современные технологии.

Автор: Сергей Котов
Редактор: Арсений Метелев
Фото: VK Testers

271 views·7 shares
271 views