×Закрыть

Обучение iOS-разработчика

Всем привет!

Есть огромное желание научиться разработке мобильных приложений под платформу iOS на языке Swift.

Знаю что есть cp193 stanford от Paul Hegarty и курс Mark Price на Udemy iOS 10 & Swift 3: From Beginner to Paid Professional какой посоветуете выбрать, потому что первый сразу же погружает в работу с приложением, но без основ приходиться очень тяжело и не до конца понятны многие вещи.

Что посоветуете, возможно какую-то литературу, да и вообщем интересно как Вы становились iOS разработчиками и по чему учились?

👍НравитсяПонравилось0
В избранноеВ избранном1
LinkedIn

Похожие топики

Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Я сам вчився, можу підказати, пиши. Найкращими будуть відеоуроки Олексія Скутаренка, + документація епла по Свіфт, + RayWunderlich (але це вже коли будеш трохи розбиратись).

Найкращими будуть відеоуроки Олексія Скутаренка
А можно ссылку ?

vk.com/iosdevcourse, там є і теми по домашніх завданнях, і порадитись є з ким. Сам автор зараз в гуглі працює)

Аффтар, говорю, как человек, который на работу берет тех, кого выучивает, не ведись на то, что здесь написали.

Для начала изучи С. C.learncodethehardway.com.

После этого обжектив: файундейшен, уикит, многопоточность, рантайм.

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

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

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

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

Почему это свифт самый сложный? Новичку труднее будет учить что означают всякие @property в objc, чем, например, разобраться в свифте с unowned и weak в замыканиях. Да и вообще работа с памятью в свифте проще имхо, чем в objc.

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

З.ы. Работа с памятью одинакова. Проперти в свифте тоже есть,

Я бы посоветовал начать с книг на raywenderlich.com, а именно swift apprentice — книжка для абсолютных новичков плюс каждый раздел этой книги читал бы параллельно с оффициальным гайдом эпла по свифту. Есть еще видеокурс Алексея Скутаренко по swift для абсолютных новичков, obj-c и куча видеотуториалов в его группе вк ios development course. Потом посоветовал бы прочесть книгу ios apprentice тоже от ray wenderlich — она состоит из 4х частей (вы разработаете 4 приложения) в которых постепенно будут погружать в нюансы языка и работу с основными фреймворками.

Если уже есть опыт программирования на других языках, то офф. дока от Apple + курс от Stanford вполне себе норм

а нынче знания objective-c нужны? или свифта с головой?

Автор пишет, что у него

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

есть хакинтош, айфон же не обязательное условие, в xcode есть шикарный эмулятор вплоть до 7-ки

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

Для начала обучения схема пойдет. А для работы без Мака и айФона никак.

в моем конкретно случае хакинтош — это возможность заменить мак на время обучения, в любом случае лучше чем с виртуалки Mac OS))) ну да есть свои косяки :
1) что нужно молиться при каждом апдейте системы
2) не работает тачпад на ноуте так как под него не найден кекст, но лечится обычной юсб вайрлесс мышкой)))
Зато в нем есть и плюсы : могу юзать Хcode и последний билд сиерры)

Это начальные проявления костылей, дальше будет больше. Вплоть до того, что надо будет проект фиксить у кого-то с Маком.

Виртуалка жрет много ресурсов. При этом костыли могут быть еще хуже.

Каким загрузчиком Хакентош ставили? Что за ноут?

Последний билд?

1) что нужно молиться при каждом апдейте системы

Кловером, ель капитан, потом проапдейтил до сиерры

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

Это начальные проявления костылей, дальше будет больше

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

Подозреваю что если собрать систему для Хакинтош, в точности соответствующую конфигурации мака — можно избежать каких либо проблем?
Вроде попадалось что даже ноутбуки есть с точно такими же комплектующими как у соотвествующей продукцией Apple.

Нет. Хакентош ставится через левый загрузчик, который костылит неэплвское железо левыми кекстами (дрова на Маке). Они не всегда стабильны и каждое обновление чего-небудь грозит слету кекста, или конфликта. Если сам соображаешь писать кесты — отлично, а если нет, то нет.

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

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

Есть конторы в Германии и Рашке, которые производят хакентоши на продажу. Никогда с ними не сталкивался.

Свой MacBookPro разогнал обычной SODIMM памятю со своего Samsung + SSD Patriot.

Вы ошибаетесь касаемо образа, сиерра апдейтилась из appstore, а это означает что образ таки официальный, вопрос больше в том что у меня специфический ноутбук : Dell XPS 15-L521X Laptop with 15.6″ WLED Display Intel Core i7-3612QM c 2 видеокартами, кароче говоря в свое время стоил как топовый макбук))) кто же знал))))

Образ не макОСи, а именно Мака — нажать на яблоко в верхнем левом углу и далее «Об этом Маке» (About this Mac)

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

Образ 13 дюймового монитора, а по факту 15 дюймовый — уже срежит расширение экрана.

Чем меньше костылей — тем меньше багов

Воопшем я достаточно таки давно на нем сижу, все ок

У Вас просто плохое, видимо, мнение о hackintosh. Я спецом собрал систему 3 недели назад на скайлейк под хак, работает все, кексты это такие же костыли как и дрова в окнах, с компонентов которые подбирал завелось все, «костыли» были только на звук, видео (офф nvidia дрова) и ethernet, если желание установить wlan адаптер вообще нет проблем, есть такие которые нативны(работают с коробки). Кстати флешка создавалась с app store) главное желание)

Нет. Хакентош ставится через левый загрузчик, который костылит неэплвское железо левыми кекстами (дрова на Маке).
Зачем кексы если конфигурация будет подобрана в точности соответствующая макинтошу?
Если компьютер новый покупается специально под Хакинтош — не будет никакого отличия в железе.
У меня создалось впечатление что не существует никакого «эппловского железа», процессоры, память, жесткие диски и т.д и т.п. одни и теже для Apple и для обычных компьютеров. Или я ошибаюсь?

Ошибаетесь. Есть одинаковое железо, а есть только Мак.

Кекст в Маке тоже, что и дрова в Винде. KErnel EXTension.

Если хотите глубже вникнуть в тему почитатйе книгу «Клевер цвета хаки».

я почти год работал на хакинтоше на реальных проектах так что для обучения он вполне подойдет

Хакентош это как лотторея — кому как повезет. Из практики моей и моих друзей — от 3 до 6 месяцев.

были проблемы со звуком в хакинтоше, да и вообще это ненадежная вещь.
я не говорю что хакинтошем стоит пользоваться, если есть возможность купить мак то однозначно брать мак и не париться по поводу обновлений системы и каждый раз при включении компа думать а включиться ли он в этот раз)
если у автора на данный момент нет возможности работать на маке, то можно и на хакинтоше.
но лично мое мнение, это конечно жестяк)
а почему вы выбрали именно ios?
язык вы нигде больше не примените, ide заточено под платформу и тд..
цены на железо сейчас вообще нереальные с таким курсом

А почему мотоцикл? Зимой не применить, заточен под два человека, по цене как машина ;)

На сколько хватает хакентоша для разработки.

хватает его навсегда
уже больше 5 лет на нем. начиная с 10.7 Lion
разница только в том, что некоторое железо может не заработать (чаще всего это звук и wi-fi). на разработку это никак не влияет

Udacity недавно на Swift 3 мигрировали в своих iOS курсах.

cp193

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

Ну не так давно была тема о переквалификации из игрока в покер на ios-разработчика. И там все пошагово.

Пункт 0. Научиться играть в покер.

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

А зачем новичкам беспокоиться что когда-то в будущем придется изучать два языка программирования?
Дополнительный язык программирования, по сравнению со всеми прочими необходимыми разработчику знаниями — это мелочь, потребующая процентов 10 усилий (а то и еще меньше).

Не смотря на то, что Swift и Objective-C детища одной конторы + бриджованы между собой — они на столько между собой разные, что новичка вводят в ступор при одновременном их изучении. Тем более, что Objective-C как было сказано, нужен лишь для поддержки старых проектов под Эпловскую платформу.

Objective-C нужен еще и для использования с++ кода

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

Потомучто Какао на Обжективе

Ну так и учить первым языком именно Objective C, а как приблизиться перспектива получения работы — занятся Swift.
Кстати, а что там слушно о будущем, нет ли в планах Apple полностью избавиться от Objective C? То есть будет ли Какао на Swift?

Все от того какие уже знания есть. Если абсолютный ноль, то Objective тяжко.

В планах Apple и IBM все на Swift перевести. А вот когда оно свершится и какой будет Swift — хз.

IBM решения
developer.ibm.com/swift

IBM песочница
swiftlang.ng.bluemix.net/#/repl

Пробовал Swift на Kubuntu. Работает, но с кучей головняков, нет IDE, все надо вручную запускать, то шо в Xcode нажате кнопки.

Ещё добавлю постоянный апдейт Swifta синтаксиса и фич. Будет весело. Все таки начал бы с Objective C.

Эт по людски происходит Xcode сигнализирует когда depricated, тут же предлагает варианты как по новому пофиксить и даже сам код может переписать под новую версию когда старую находит.

Подписаться на комментарии