×Закрыть

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.

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

👍НравитсяПонравилось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-го его уже скорее по привычке используют.
Местами он конечно удобнее стандартного нетворкинга, но не настолько чтобы быть «обязательным для любого разработчика».

Вот буквально позавчера думал, что хорошо бы мне написать туториал по CI для iOS на основе TeamCity и выложить такой туториал, скажем, на SlideShare, но работы много, всё никак не возьмусь. Чтобы с shell-скриптами для создания разных видов билдов (debug, ad-hoc, appstore, enterprise), с прогоном unit-тестов, может, и с функциональными тестами (Selenium+Appium), хотя это немного другая история. Как раз сейчас ковыряю наш билд-сервер на предмет добавления новой конфигурации для билдов.

Если сетапить CI с нуля, то, может, есть смысл сразу пользоваться соответствующей фичей из Xcode 5.

Может, если есть какие-то более конкретные вопросы, я бы дал быстрые ответы.

Спасибо!

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

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