30 месяцев в качестве разработчика iOS. Мои советы новичкам.

  • 30 месяцев
  • 7 приложений
  • 2 больших приложения
  • Внештатный сотрудник, работающий неполный рабочий день
  • Штатный iOS-инженер
  • Давний игрок

Вот мои советы по разработке iOS для новичков.

Возьми Свифт

Swift vs Obj-C, что лучше изучить в первую очередь? Мой ответ прямо в сторону Свифта. Учитесь, играйте и начните свой новый проект со Swift. Если у вас нет уважительной причины для Obj-C. Например, сохранение старого приложения.

Предупреждение. Не планируйте начинать свой проект на Obj-C и переходить на Swift позже. Миграция сложнее, чем вы думаете.

Знай экосистему

Что такое популярная библиотека JSON? Какую облачную базу данных мне следует использовать с моим приложением? Что происходит сейчас?

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

Для библиотек с открытым исходным кодом. Найдите `awesome-xxx`. Например,` awesome-swift `,` awesome-ios `.

Сделайте это, сделайте это правильно, сделайте это быстро

Я всегда верю этой концепции. Разработка программного обеспечения - это не разовая работа. Хорошее программное обеспечение создается путем множества итераций. Когда вы впервые делаете что-то, это может быть не так, как вы думаете. Но не волнуйтесь, найдите время и вернитесь к этому еще раз и сделайте это лучше. Просто помните, что вы делали. Опыт вам поможет. Дойти до последнего шага в следующий раз проще, чем вы думаете.

Изучите архитектуру

Взгляните на другие успешные приложения. Посмотрите, как они были сделаны. Не только со стороны приложения, но и со всей системой. Архитектурная перспектива улучшит ваше мастерство. Существует множество приложений для iOS с открытым исходным кодом. Telegram, Firefox, Wikipedia, Wordpress, VLC, Wire. Github / open-source-ios-apps - хороший ресурс.

Эксперимент

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

Если они небольшого уровня кода. Не тратьте зря время на компиляцию и запуск всего проекта. Напишите и протестируйте на Playground. Посмотрите результаты, затем скопируйте и вставьте.

Не борись с рамками

Reactive и Redux - хорошие фреймворки для изучения. Их изучение обязательно поможет вам стать хорошим разработчиком. Но не используйте их в качестве основного фреймворка в большом приложении для iOS. Я пробовал, но у меня ничего не вышло. Я всегда сталкиваюсь с проблемой. И решить эту проблему - непростая задача. Итак, оставайтесь ближе к MVC / MVVM.

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

Функциональное программирование - это чертовски хорошо

Неизменяемость. Чистая функция. Функция высшего порядка. Многие концепции функционального программирования значительно улучшат ваше понимание. Даже если вы не собираетесь использовать его в разработке для iOS. Поверьте, просто научитесь этому.

Лучшая практика - это просто мечта

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

Будьте в курсе

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

… И смотрите WWDC .

Узнай что-нибудь еще

Swift / Obj-C / iOS. Что еще? Многие. Попробуйте запачкать руку чем-нибудь другим. Бэкэнд, Интернет, Игра. Устали от программирования? Дизайн и Бизнес могут быть. Вы никогда не ошибетесь в своем выборе.

Спасибо за чтение. Надеюсь, ты повеселишься. 😀