Как перейти от учебников к программированию своих приложений?

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

Если вы застряли на этапе обучения

С какой именно проблемой мы имеем дело? Вот что можно услышать от начинающих программистов:

  • «Я закончил изучение Swift, но я не могу самостоятельно разрабатывать приложения. Что мне делать?»
  • У меня получается следовать инструкциям по созданию приложений, но когда дело доходит до создания моих собственных приложений я оказываюсь в тупике».
  • «Я расширил некоторые существующие приложения новыми функциями. Как я могу создавать свои собственные приложения с нуля?»

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

Выберите проект приложения для начинающих

Фундамент перехода от учебников к созданию собственных приложений — ваш собственный проект приложения. Поэтому откажитесь от учебников и начните разрабатывать свое собственные приложение!

Что вы можете сделать? Постарайтесь сами ответить на этот вопрос. Вот некоторые идеи проекта приложения для начинающих:

  • Приложение для списка дел.
  • Приложение для обмена фотографиями.
  • Агрегатор для чтения новостей.
  • Приложение для создания заметок или аудиозаписей.
  • Приложение вики с птицами, рыбой или деревьями.
  • Приложение калькулятор.
  • Приложение для конвертации, евро в доллары США.
  • Приложения дл конвертации фунты в килограммы.
  • Приложение для чата в реальном времени.
  • Приложение погоды.

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

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

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

Спланируйте проект своего приложения

Следующим шагом является планирование вашего проекта приложения.

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

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

Планируете свой технический стек заранее. Несколько вопросов, о которых вы можете подумать:

  • Какими функциями должно обладать ваше приложение? Без каких функций вы можете обойтись, а какие абсолютно необходимы?
  • Каким должен быть дизайн вашего приложения? Можете ли вы использовать компоненты пользовательского интерфейса по умолчанию или вам потребуется нарисовать пользовательский интерфейс?
  • Какова структура данных вашего приложения? Каковы свойства объектов, таких как рецепт или статья? Вы храните данные локально или в облаке?
  • Какие библиотеки и инструменты вы собираетесь использовать? Можете ли вы работать более продуктивно, используя программное обеспечение с открытым исходным кодом?

Придумайте функции для своего приложения

Подумайте о том, какими функциями должно обладать ваше приложение?

  • Если бы вы могли выбрать только одну вещь, которую должно делать приложение, что бы это было?
  • Что именно делает эта функция?
  • Можете ли вы упростить эту функцию, чтобы облегчить написание кода?

Допустим, вы собираетесь создать приложение списка дел. Какими функциями оно должно обладать?

  • Создание и редактирование дел.
  • Показать все задачи на экране.
  • Пометить задание как выполненное.

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

  • Пользовательский интерфейс для отображения всех задач в виде таблицы.
  • Пользовательский интерфейс для редактирования задач — контроллер представления с текстовым полем.
  • Кнопка для отметки задач в ​​ячейке таблицы.

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

Структурируйте данные своего приложения

Каждое приложение хранит какие-либо данные, как в автономном режиме, так и в облаке. Как вы собираетесь структурировать данные вашего приложения?

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

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

  • Чтение и запись объектов на диск с помощью documentsDirectory.
  • Сохранение конфигурации с помощью UserDefaults.
  • Создание базы данных с помощью Realm или Core Data.
  • Хранение объектов в облаке и их совместное использование пользователями приложения с помощью Parse Server или Firebase.

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

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

  • text — текст задачи.
  • createAt — указывает, когда был создан объект.
  • completionDate — время завершения задачи.
  • user — какому пользователю принадлежит задача.

Как вы сможете вывести отложенные задачи?

  • Выбрать все объекты Todo.
  • user равен зарегистрированному в данный момент пользователю.
  • completeDate равно нулю.
  • Упорядочить по createAt.

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

Используйте библиотеки и фреймворки

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

Когда вы начинаете новый проект приложения, спросите себя: «Какие сторонние инструменты и библиотеки я могу использовать?» Несколько примеров:

  • Alamofire или URLSession для работы с HTTP-запросами и веб-сервисами.
  • SwiftyJSON или Codable для работы с объектами JSON.
  • SwiftDate или DateComponents для работы датой и временем.

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

Xcode интегрируется с несколькими менеджерами зависимостей, чтобы упростить работу со сторонними библиотеками. Вы можете использовать их для добавления сторонних библиотек в ваш проект. К примеру, CocoaPods или Carthage.

Учитесь писать код без учебников

Давайте подведем итог всему тому, что мы обсуждали до сих пор:

  • Проблема, с которой вы сталкиваетесь: как перейти от учебников по программированию к созданию собственных приложений?
  • Первый шаг — это выбор проекта приложения, которое вы можете создать, например, список дел. Выберите идею, которая вас мотивирует.
  • Шаг второй — планирование вашего проекта. Какими функциями должно обладать ваше приложение? Какие инструменты вам нужны? Как вы можете использовать сторонние библиотеки и фреймворки?

Не знаете ничего о Xcode или контроллерах представления? Начните учиться, затем вернитесь в свое приложение и реализуйте то, что вы узнали.

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

Стоит ли полностью отойти от учебников? Нет! Речь идет о применении того, что вы узнали.

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

  • Вы решили, что хотите использовать Realm в качестве хранилища данных для приложения.
  • Вы нашли учебник по программированию в Realm.
  • Вы применяете полученные знания к проекту своего приложения, например, «прототипу», чтобы просто читать и записывать данные в базу данных.
  • Как только вы почувствуете, что достаточно освоили эти темы, вы приступаете к их полноценной реализации Realm в своем приложении.

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

Что если вы выполните только один из этих двух шагов?

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

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

Читайте также:
Добавить комментарий

Ваш адрес email не будет опубликован.