Всем привет! Столкнулся с такой проблемой, прочитал 80% офф учебника по Свифту, но понял что знания остались, но как применить их на практике я не знаю. Как можно натаскать себя на практике? Где можно взять задачи? Курсы на этом сайте вроде как не содержат домашнего задания. Например: сейчас я хочу написать приложение в котором будет храниться расписание из моего университета, но я не знаю с чего начать и что делать. Надеюсь что по поводу приложения кто нибудь даст наводку (какие view использовать, где хранить информацию и т.д). В университете проходим С++ + есть небольшой опыт в frontend - разработке на Android. Заранее спасибо!
Наработка опыта
Найди единомышленников и замутите вместе примитивное приложение. Либо отдельные приемы отрабатывай по конкретным темам. )
Обычно первое приложение чаще всего строят на основе tableview - и не зря: там много моментов, которые везде применяются. Ну и туториалов по приложению типа toDoList очень много. Вот с него и начинайте.
Курсы здесь не содержат обязательной проверяемой домашки, но они построенны на практических примерах, которые желательно повторять и пытаться видоизменять.
От учебника по Свифту толку будет мало, пока не начнёте писать свои первые приложения, а когда начнёте, то придётся переодически к нему возвращаться и перечитывать материал. Так же и к некоторым урокам курсов будете не раз возвращаться, лучше делать себе пометки в каком курсе и уроке есть нужная инфа.
Расскажу немного о своём пути в изучении разработки под iOS. Изначально я прошёл пару рускоязычных курсов на одной иностранной обучающей платформе с повторением проектов за преподователем. Потом взял доступ к курсам здесь и просмотрел большую часть в режиме сериала в ускоренном режиме, попутно сравнивая новые знания с опытом от курсов на другой платформе и делая пометки.
Затем начал разработку собственного приложения, идея которого и привела меня к изучению разработки под iOS. В приложении будут использованы TableView, Core Data, AVPlayer для стриминга mp3 файлов из сети, WebKit для воспроизведения видео с ютуб, push-уведовления, firebase и in-app purchase.
За две недели удалось разобраться с AVPlayer (полностью сделать для него интерфейс для управления, интегрировать в Control Center, разобраться с многопоточностью), по большей части закончил с Core Data, интегрировал WebKit, кастомизировал TableView под себя. Считаю, что самые сложные моменты уже преодолены
Если посчитать соотношение полученного опыта и знаний при написании своего приложения и при прохождении всех курсов, то это наверное знаменитый принцип Парето – 80% от собственной разработки и 20% от прохождения курсов.
Поэтому рекомендую как можно раньше начать работу над реальным приложением.
Не знаешь с чего начать? Начни с разработки интерактивного прототипа в https://ninjamock.com/ Там можно в визуальном режиме собрать экраны из стандартных элементов и назначить кнопкам переходы к экранам, получается в итоге интерактивный прототип который можно тыкать как реальное приложение в браузере на айфоне.
Когда перед глазами будет готовая картина начинай переносить всё это дело в xcode в interface builder и потихоньку кодить. По табличке, по кнопочке так и разберёшься со всем. Но будь готов постоянно возвращаться к курсам, учебнику, много гуглить, курить доки и stackoverflow. И освой git, без него очень тяжко будет работать над реальным проектом.
Успехов!
Согласен с тобой только при практической работе когда ты решаешь конкретные задачи и проблемы, которые возникают при разработке приложений только тогда чувствуется рост тебя как программиста. Я когда смотрю любые курсы в основном запоминаю основные моменты которые там освещаются, но они часто вылетают из головы. А вот когда недавно разрабатывал приложение то непонятные моменты и трудности которые возникли в процессе и я их решил, они более твердо засели в голове. Скорее всего при просмотре курсов и печати кода за тренером мозг просто ленится и не напрягается, в отличии от реальных боевых задач.