Еще с десяток полезных opensource-библиотек для iOS-разработчика
После того, как я в прошлый раз написал статью об основах CocoaPods, мне пришла в голову идея, что библиотеку подов можно и нужно использовать как отличный источник opensource iOS-проектов как для новичков, так и для опытных программистов. После установки ruby-пакета cocoapods (все в той же статье), вам станет доступна возможность искать полезные библиотеки по ключевым словам прямо из командной строки:

И вот что сейчас сообщество использует.
Работа с изображениями:
1) SDWebImage Асинхронная загрузка изображений, поддержка политик кеширования. Имеется функционал для предварительного декодирования изображения, помогает про скролле.
2) GPUImage Мощная библиотека для обработки изображений, возможность накладывать эффекты прямо на выход камеры в режиме реального времени. Думаю, не менее половины участников недавнего конкурса (http://vk.com/photo_contest) вконтакте использовали именно ее.
3) NYXImagesKit Библиотека общего назначения, добавляет много полезный методов для обработки: фильтры, изменение размеров, вращение и многое другое.
4) XBImageFilters В какой-то мере альтернатива GPUImage.
Работа данными на диске:
1) NLCoreData Обертка вокруг Core Data для более простых и читаемых операций.
2) VPPCoreData Обертка вокруг Core Data, поддерживает паттерн ActiveRecord (http://ru.wikipedia.org/wiki/ActiveRecord).
3) iActiveRecord А это реализация паттерна ActiveRecord, но уже без поддержки Core Data.
4) FileMD5Hash Вычисляет MD5 содержимого файлов, потребляет сравнительно мало оперативной памяти.
5) FMDB Обертка вокруг sqlite.
Работа с сетью, http-запросы:
1) ASIHTTPRequest Удобная обертка вокруг CFNetwork API для HTTP-запросов.
2) AFNetworking Альтернатива первой, даже разработчик ASIHTTPRequest рекомендовал ее одно время.
3) RestKit Отличное решение для работы с сетью и RESTful-сервисами. Предоставляет решение для маппинга данных на объекты CoreData.
Проигрывание аудио:
1) BeamMusicPlayerViewController Контроллер для iPhone для проигрывания музыки (с элементами управления).
2) GVMusicPlayerController Как пишут разработчики: мощь AVPlayer с простотой MPMusicPlayerController.
Работа с известными web-сервисами:
1) Facebook-iOS-SDK Взаимодействие с Facebook.
2) unoffical-twitter-sdk Взаимодействие с twitter.
3) AFAmazonS3Client Взаимодействие с Amazon S3 API.
4) HCYoutubeParser Получение видео из Youtube.
5) Vkontakte-iOS-SDK Пока так себе.
Для удобной работы с помощью блоков:
1) UIAlertView-Blocks
2) MTBlockTableView Таблица, которая использует блоки вместо стандартного подхода с протоколами.
3) BlocksKit Это классика «блоколизации».
Карты:
1) YandexMapKit Яндекс-карты.
2) MapBox Open source альтернатива MapKit.
3) VPPMap Упрощает управление MKMapView.
Сервисы тестирования:
1) TestFlightSDK
2) HockeySDK и HockeyKit
Это и многое другое вы сможете одной строчкой подключать к своему проекту, добавив в него поддержку CocoaPods.
И вот что сейчас сообщество использует.
Работа с изображениями:
1) SDWebImage Асинхронная загрузка изображений, поддержка политик кеширования. Имеется функционал для предварительного декодирования изображения, помогает про скролле.
2) GPUImage Мощная библиотека для обработки изображений, возможность накладывать эффекты прямо на выход камеры в режиме реального времени. Думаю, не менее половины участников недавнего конкурса (http://vk.com/photo_contest) вконтакте использовали именно ее.
3) NYXImagesKit Библиотека общего назначения, добавляет много полезный методов для обработки: фильтры, изменение размеров, вращение и многое другое.
4) XBImageFilters В какой-то мере альтернатива GPUImage.
Работа данными на диске:
1) NLCoreData Обертка вокруг Core Data для более простых и читаемых операций.
2) VPPCoreData Обертка вокруг Core Data, поддерживает паттерн ActiveRecord (http://ru.wikipedia.org/wiki/ActiveRecord).
3) iActiveRecord А это реализация паттерна ActiveRecord, но уже без поддержки Core Data.
4) FileMD5Hash Вычисляет MD5 содержимого файлов, потребляет сравнительно мало оперативной памяти.
5) FMDB Обертка вокруг sqlite.
Работа с сетью, http-запросы:
1) ASIHTTPRequest Удобная обертка вокруг CFNetwork API для HTTP-запросов.
2) AFNetworking Альтернатива первой, даже разработчик ASIHTTPRequest рекомендовал ее одно время.
3) RestKit Отличное решение для работы с сетью и RESTful-сервисами. Предоставляет решение для маппинга данных на объекты CoreData.
Проигрывание аудио:
1) BeamMusicPlayerViewController Контроллер для iPhone для проигрывания музыки (с элементами управления).
2) GVMusicPlayerController Как пишут разработчики: мощь AVPlayer с простотой MPMusicPlayerController.
Работа с известными web-сервисами:
1) Facebook-iOS-SDK Взаимодействие с Facebook.
2) unoffical-twitter-sdk Взаимодействие с twitter.
3) AFAmazonS3Client Взаимодействие с Amazon S3 API.
4) HCYoutubeParser Получение видео из Youtube.
5) Vkontakte-iOS-SDK Пока так себе.
Для удобной работы с помощью блоков:
1) UIAlertView-Blocks
2) MTBlockTableView Таблица, которая использует блоки вместо стандартного подхода с протоколами.
3) BlocksKit Это классика «блоколизации».
Карты:
1) YandexMapKit Яндекс-карты.
2) MapBox Open source альтернатива MapKit.
3) VPPMap Упрощает управление MKMapView.
Сервисы тестирования:
1) TestFlightSDK
2) HockeySDK и HockeyKit
Это и многое другое вы сможете одной строчкой подключать к своему проекту, добавив в него поддержку CocoaPods.
- iOS
- , opensource
- , разработка
комментарии (47)
Уберите ASIHTTPRequest — она уже год не поддерживается.
Не поддерживается, но крайне популярна. Да и я там написал про AFNetworking как рекомендованную автором замену
Вы бы сначала проверили адекватность ваших рекомендаций.
Например ASIHTTPRequest вообще нет смысла сейчас ипользовать. Он был полезен, пока не появились блоки. А это значит что его следует использовать для поддержки iOS3. Кто сейчас его поддерживает?
Просто набор вот фреймворков бесполезен. Полезной информацией было бы их описание и технический анализ. А так список посмотреть можно и на cocoacontrols.
Например ASIHTTPRequest вообще нет смысла сейчас ипользовать. Он был полезен, пока не появились блоки. А это значит что его следует использовать для поддержки iOS3. Кто сейчас его поддерживает?
Просто набор вот фреймворков бесполезен. Полезной информацией было бы их описание и технический анализ. А так список посмотреть можно и на cocoacontrols.
Вы правы, но ASIHTTPRequest блоки поддерживает
Вы не поняли, смысл в том что ASI не поддерживает блоки, смысл в том, что GCD убил весь смысл существования ASI, именно поэтому его и перестали поддерживать. GCD работает на системном уровне а вся логика ASI реализована на высоком уровне, да еще с большим количеством ошибок и недочетов.
Ладно вам, до Xcode 4.5 люди прекрасно собирали под ios 3. Да и я просто люблю ASIHTTPRequest, простите мою слабость
Основная задача, которую решает вся эта конструкция — это очередь асинхронных запросов. Конечно в итоге это разрослось в кучу разных вспомогательных методов. С появлением GCD эту очередь очень просто и быстро стало возможным организовать с помощью dispatch_queue. Причем количество кода уменьшилось просто в десятки раз, вопросы синхронизации и блокировки отпали сами (в ASI для этого использовались достаточно сложные механизмы).
Теперь для решения практически всех задач, для которых была создана эта библиотека, сгодится и набор системных фреймворков. И это будет проще, надежней и быстрее.
Теперь для решения практически всех задач, для которых была создана эта библиотека, сгодится и набор системных фреймворков. И это будет проще, надежней и быстрее.
То что механизм GCD поддерживается на уровне ядра, а механизмы синхронизации и многопоточности ASI были реализованы на уровне кода приложения. Подробней я объяснил тут.
0
No comments:
Post a Comment