×

iOS professional setup

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Привет,

Пишу здесь из-за сжатых сроков старта. Сам не прекращаю рыть и спрашивать маститых знакомых.

Ищу источники о грамотной организации ios проекта — build tools, cocoa pods и CI; unit и functional testing; industrial standard frameworks/libraries для DI, rest, UI и core data.

Сам чайник в iOS — ищу аналоги из опыта Android — gradle/maven, junit/robolectric/mockito/festassert, otto/dagger/volley.

Буду рад любым ссылкам на GitHub, video tutorials, blog posts.

С Уважением,
Евг

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
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
Пишу здесь из-за сжатых сроков старта.
в ХСode есть все, что нужно для разработки. С него и начинай, а на всякие CI, TDD, DI фреймворки трать время, когда сроки перестанут быть сжатыми

Не хочу срача. Конечно время на все то, что я написал нужно больше. Но без ’всех этих’ писать дольше и поддерживать тем более

стартуйте help из xCode.
или просто developer.apple.com
там все очень хорошо написано.
ничего другого и не надо. все сторонее — рюшечки, которые не приносят никакой особой пользы.

github.com/nomad/shenzhen — для быстрого сбора .ipa и его последующей отправки на разные сервисы (testflight, hockeyapp, s3, ftp, etc)
nomad-cli.com — вообще сайт с полезными command line tools для ios разработчика
github.com/allending/Kiwi — TDD/BDD тестирование, если когда то использовали rspec для Ruby, будете вообще как рыба в воде
github.com/...facebook/xctool — заменитель xcodebuild, упрощает взаимодействие с xcodebuild + в украшает вывод в лог билд информации, особенно полезен для интергации с CI
github.com/...nreid/OCMockito и github.com/...rest/OCHamcrest — если вдруг Kiwi не подошел.
github.com/...CocoaPodsPlugin — плагин для интеграции cocoapods c XCode
github.com/...Record?source=c — враппер над CoreData
github.com/...amework/Typhoon — DI
github.com/...RestKit/RestKit — фреймворк для работы с RESTful веб сервисами
github.com/...ng/AFNetworking — де-факто стандарт в ios разработке для работы с сетью

Спасибо! Ох будет мне тяжело по началу, с блоками, КВЦ и другим

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

Вообщето AFNetworking использует NSOperationQueue и наследники от NSOperation (AFURLConnectionOperation, etc), причем если вы внимательно посмотрите, в классе AFURLConnectionOperation переопределен метод run, и каждая операция работает со своим собственным NSThead. Единственное что вызывается мейн потоке самой либой это completionBlock, когда операция завершилась.

P.S. И всё AFNetworking является библиотекой используемой большинством разработчиков если им надо работать с сетью, исключая случаи когда разработчики пишут свои велосипеды или кому-то уж очень нужен какой-то специфический функционал или это фреймворк, который не хотят делать зависимым от сторонних библиотек

В 5 IOS такая уж яркая необходимость в AFNetworking отпала, а начиная с 6-го его уже скорее по привычке используют.
Местами он конечно удобнее стандартного нетворкинга, но не настолько чтобы быть «обязательным для любого разработчика».

Спасибо!

У меня будет Jenkins, но это не суть важно. Имею опыт с калабашем, но апиум может быть альтернативой (блин, почему все функциональные штуки отлично работают с ios и причиняют стока боли с Android). Gradle вроде чешится насчет ios билдов, я тогда останусь на нем. И буду читать про новую фичу Xcode 5!

Вот товарищи рисуют: github.com/...le/build.gradle

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