19 May 2012

Полезные штуки для iOS-разработчика #1

Development for iOS
На Хабре в свое время было несколько статей «Очень много полезных штук для AS3». Автор попытался собрать ссылки на самые полезные и интересные библиотеки. И т.к. в последнее время я разрабатываю под iOS, решил последовать его примеру и сделать то же самое, но для своей платформы. Описания почти прикладывать не буду, все есть на страничках проектов.

«Хелперы»:

  • «SSToolkit» — набор контроллеров, представлений и категорий, облегчающих жизнь.
  • «Cocoa Helpers» — коллекция хелперов (категорий) Cocoa для стандартных Apple Cocoa/UIKit классов, делающая их более удобными в использовании.
  • «BlocksKit» — упрощает работу с блоками.
  • «iOS-Universal-Framework» — Шаблон проекта XCode 4 для построения универсального фреймворка (arm6, arm7, симулятор) для iOS / iPhone. [Must Have]
  • «RMModelObject» — базовый класс для создания моделей. В принципе, подобное легко реализуется самостоятельно, но зачем тратить время, когда есть уже написанное решение.
  • «FMDB» — обертка над SQLite. Позволяет выполнять запросы к базе в многопоточном режиме, получать результаты в удобном виде. [Must Have]
  • «entropydb» — встраиваемая объектно-ориентированная БД для iOS, Mac OS X. Для любителей ORM.
  • «twitter-text-objc» — официальная версия библиотеки на Objective-C для обработки текста от Twitter.
  • «DCIntrospect» — Маленькая библиотека для визуальной отладки.
  • «UIDevice-with-UniqueIdentifier-for-iOS-5» — генерация уникального идентификатора устройства в iOS 5.
  • «iOS Boilerplate» — удобный и функциональный базовый шаблон проекта.

UI-компоненты и фреймворки:

  • «Three20» — наверное, самый популярный фреймворк для iOS-разработки. Его используют Facebook, Posterous, Pulse, Meetup.com и мн.др. Да и в описании вакансий его можно часто встретить (пример компания Badoo). [Must Have]
  • «TapkuLibrary» — еще один хороший фреймворк, ускоряющий разработку. Постоянно развивается.
  • «Nimbus» — менее популярный, но не менее удобный. Если я не ошибаюсь, то победитель недавнего конкурса от ВК юзал именно его в своем приложении. [Must Have]
  • «Cooliris ToolKit» — библиотека от одноименной компании. Впечатляет набором классов.
  • «EGOTableViewPullRefresh» — хорошая реализация GUI-паттерна «Pull Down To Refresh». [Must Have]
  • «QuickDialog» — нужно быстро построить форму в соответствии с HIG? Юзайте QuickDialog.
  • «KTPhotoBrowser» — легковесная библиотечка для iPhone для просмотра фото.
  • «AQGridView» — приложение-галлерею для iPad я писал применяя данную библиотеку. Очень понравились гибкая настройка ячеек грида и их перемешивание с анимацией. [Must Have]
  • «KKGridView» — еще один GridView.
  • «GMGridView» — более функциональное и гибкое решение, чем KKGridView.
  • «MGSplitViewController» — улучшенный UISplitViewController для iPad.
  • «PSStackedView» — имплементация интерфейса Twitter под iPad.
  • «CLCascade» — еще один вариант реализации интерфейса Twitter под iPad.
  • «HGPageScrollView» — UIScrollView для iPhone с горизонтальным слайдером страниц.
  • «MTStatusBarOverlay» — кастомный статус бар.
  • «WEPopover» — имплементация поповера с удобным API как UIPopoverController (iPad), но c возможностью кастомизации и работы в iPhone.
  • «CMPopTipView» — позволяет создать красивую всплывающую подсказку.
  • «MBProgressHUD» — более гибкая и функциональная реализация HUD.
  • «SVProgressHUD» — альтернатива MBProgressHUD, более легковесная.
  • «TTTAttributedLabel» — требовалось ли вам когда-нибудь вывести подчеркнутый текст? Стандартный UILabel этого сделать не позволяет. К счастью есть TTTAttributedLabel, который решает описанную задачу и предоставляют кучу других возможностей по форматированному выводу текста.
  • «OHAttributedLabel» — альтернатива TTTAttributedLabel.
  • «SSMessagesViewController» — Простой UI для отправки сообщений на подобии Messages.app.
  • «TabBarKit» — название говорит за себя.
  • «JMTabView» — еще одна реализация стилизованных вкладок с анимацией.
  • «iRate» — хотите призвать пользователей активнее оценивать ваше приложение и реализовать такую возможность внутри его? Тогда этот класс для вас.
  • «OpenSpringBoard» — пример реализации GUI-паттерна Dashboard.
  • «ViewDeck» — красивый слайдинг наподобии реализации в клиенте Facebook.
  • «SVSegmentedControl» — стилизованный UISegmentedControl с дополнительными возможностями.
  • «UAModalPanel» — анимированная модальная панель.
  • «iCarousel» — простая и гибкая в кастомизации 3D карусель для iOS и Mac OS.
  • «Cocoa Controls» — куча кастомных компонентов для iOS, Mac OS X, среди которых встречаются действительно классные.

Работа с сетью, social API:

  • «ASIHTTPRequest» — наверное, самая популярная и функциональная обертка над CFNetwork API. [Must Have]
  • «AFNetworking» — фреймворк для работы с сетью. iOS, Mac OS X.
  • «RestKit» — удобный фреймворк для работы с REST-сервисами.
  • «JSONKit» — newonder в комментах посоветовал, за что ему и всеобщая благодарность. Судя по тестам самая быстрая либа, зафолловил.
  • «SBJson (aka json-framework)» — библиотека сериализации/десериализации JSON.
  • «BSJSONAdditions» — простой парсер JSON.
  • «SDWebImage» — асинхронный загрузчик изображений с поддержкой кеширования.
  • «ShareKit» — удобная библиотека для расшаривания в социалки и не только. [Must Have]
  • «Facebook iOS SDK» — набор классов для работы с Facebook API. Хочу такую же официальную от ВК.
  • «MGTwitterEngine» — библиотека для интеграции с Twitter в ваших Mac OS X, iOS приложениях.
  • «MapKitDragAndDrop» — неплохой пример реализации аннотации на карте.
  • «OCMapView» — отображение на карте сгруппированных аннотацией.
  • «MapBox» — хорошая альтернатива MapKit. [Must Have]

Аудио, видео, графика и анимация, файлы:

  • «AwesomeMenu» — очень красивое анимационное меню. [Must Have]
  • «NYXImagesKit» — полезные категории для UIImage, добавляющие фильтры, изменение размера картинки, маски, и мн.др.
  • «MGImageUtilities» = в дополнение к NYXImagesKit.
  • «Filtrr» — фильтры для UIImage.
  • «Core Plot» — для построения красивых графиков.
  • «WhirlyGlobe» — 3D моделька Земли. Отличный пример для изучающих OpenGL ES.
  • «AudioStreamer» — класс потокового аудио-плеера для Mac OS X и iPhone.
  • «PDF Reader/Viewer» — просмотр PDF.

Игровые движки:


In-App Purchases:

  • «MKStoreKit» — Вадим Башуров в своем докладе «Как откусить от яблока миллион» рекомендовал данную библиотеку. [Must Have]

Тестирование:



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

UPD 2.12.12
По просьбе shoumikhin github.com/shoumikhin/NSXtensions — его набор категорий, который содержит в себе CocoaHelpers + еще всякие штуки. Доступен в CocoaPods.
Tags:Objective-CiOSgithubБиблиотекиКомпоненты
Hubs: Development for iOS
+104
81.2k 1203
Comments 80
Popular right now
iOS разработчик
from 80,000 to 120,000 ₽DoubletappRemote job
IOS разработчик
from 120,000 to 200,000 ₽AdComboСанкт-ПетербургRemote job
Senior iOS Developer
from 200,000 ₽FunCorpМосква
iOS разработчик
from 80,000 ₽AppstockusRemote job
Senior/Lead iOS developer.
from 230,000 to 300,000 ₽Кошелёк.руRemote job