Что нужно, чтобы стать разработчиком iOS?

Есть три аспекта в том, чтобы быть разработчиком iOS. Они сложны и требуют времени для совершенствования, поэтому не паникуйте, если вы все еще не понимаете их полностью. У вас хорошее начало, у вас уже есть некоторое понимание и опубликованное приложение в магазине приложений за короткий промежуток времени. Многие никогда не заходят так далеко и не сдаются раньше. Расти оттуда медленно, но неуклонно, заполняя пробелы, которые у тебя есть в твоих знаниях.

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

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

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

  1. Вам нужно знать основы программирования. Это включает, конечно, Swift и его основные конструкции, такие как управление потоком, коллекции, циклы, функции, классы и т. Д., Но это только инструменты. Важная вещь, которую вам нужно понять, — это как рассуждать о проблемах и решать их с помощью имеющихся в вашем распоряжении инструментов.
  2. Вам нужно знать объектно-ориентированное программирование. Практически говоря, ООП — это парадигма программирования, помогающая организовать ваш код. Таким образом, вам необходимо понимать такие понятия, как инкапсуляция, композиция, наследование, полиморфизм и т. Д. И не забывайте шаблоны проектирования.
  3. Вам нужно знать алгоритмы и структуры данных. Программирование существует уже давно, поэтому существуют конструкции, которые разрабатывались годами, чтобы помочь решить все более и более сложные проблемы. Здесь вы должны понимать такие понятия, как рекурсия, базовые алгоритмы, такие как сортировка и двоичный поиск, и базовые структуры данных, такие как стеки, очереди, хеш-таблицы, связанные списки, деревья и графики, а также, конечно, алгоритмы для их обработки.

Второй аспект работы с iOS — это знание самой iOS. Здесь вам нужно знать фундаментальные концепции платформы, как она работает, каковы ее шаблоны проектирования и какие основные части вам нужно знать. iOS большая и сложная, но вам не нужно знать все это. Например, если вам не нужно выполнять обработку изображений, вам не нужно знать Core Image. Если вы не создаете игру, вам не нужно знать SpriteKit или GameplayKit. Выберите части iOS для того, что вам нужно в данный момент.

Но вам определенно нужно знать основы, общие для любого приложения для iOS. Это те концепции, которые помогут вам расширить свои знания о платформе более легко. Я написал больше об этом здесь: Концепции в основе любого iOS-приложения и многое другое в других статьях.в своем блоге

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

. Третий аспект — это то, что окружает разработку iOS. Это менее важно, чем два, которые я перечислил выше. Это более общее знание информатики. Например, если вы вызываете веб-API, это помогает узнать, как работает интернет, что такое DNS, что такое HTTP-протокол, как устроен API-интерфейс REST и т. Д. Может быть, вы знаете больше о базах данных или о том, как работает операционная система. работает.

И бонус.Есть еще много интересных вещей, таких как искусственный интеллект, машинное обучение, обработка естественного языка, нейронные сети и т. Д. Они нужны только для самых сложных вещей. Я изучал их в университете и никогда не использовал их на протяжении всей моей карьеры. Но это действительно интересные темы.

Удачи, и снова, не паникуйте. Мне и многим другим потребовались годы, чтобы выучить все это, но вы можете идти постепенно, вам не нужно знать все сразу. Выберите следующий шаг и продолжайте уверенно. Вы попадете туда.

0

Ура! Вы первые нашли эту информацию, сделайте доброе дело, поделитесь ей в: