iOS professional setup
Привет,
Пишу здесь из-за сжатых сроков старта. Сам не прекращаю рыть и спрашивать маститых знакомых.
Ищу источники о грамотной организации 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.
С Уважением,
Евг
11 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівНе хочу срача. Конечно время на все то, что я написал нужно больше. Но без ’всех этих’ писать дольше и поддерживать тем более
стартуйте 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