[Перевод] 33 iOS библиотеки с открытым исходным кодом, которые будут популярны в 2017 году

Отличного пятничного настроения, друзья!
Сегодня мы приготовили для вас полезный перевод поста основателя Ecler Studios Paweł Białecki, в котором он предлагает нашему вниманию 33 open source проекта для iOS разработчиков.
С помощью своего аккаунта в GitHub он открыл для себя множество перспективных инструментов и отобрал, по его мнению, лучшие из них для своих читателей.

4aa500eee6ea4c7c81f4b5f2a99ce183.png

1. IGListKit от InstagramEngineering


364f13b565dc4191ab063db012119fb0.gif

Созданный разработчиками Instagram, IGListKit представляет собой управляемый данными фреймворк для UICollectionView, с помощью которого можно быстро создавать гибкие списки. Также он помогает обойтись без MassiveViewControllers в приложении. Ознакомьтесь с туториалом от Ray Wenderlich, в котором объясняется, как внедрить эту библиотеку в проект, или прочитайте статью Rodrigo Cavalcante о переносе существующих UITableView в IGListCollectionView.

2. Realm от realm.io


62e76d7c266a4814abcf277c9973c1c7.png

Realm — это мобильная база данных, которая работает прямо внутри телефонов, планшетов и носимых девайсов, причем не только на iOS. Если хотите попробовать что-то существенно отличающееся от CoreData, отдайте предпочтение Realm. Многие считают его современной, готовой к запуску альтернативой нативному решению от Apple.

3. Moya от Ash Furrow


1ae9a9ac15014f25ae4c9a99154c0dc8.png

Moya — это недостающий сетевой уровень для вашего приложения. Больше вам не придется ломать голову, куда (и как) помещать сетевые запросы, Moya об этом позаботится.
630264e2504d4722b3ab45a5b21494b1.png

4. SwiftyJSON от Pinglin Tang

Король парсинга JSON на Swift.

Преобразуйте это:

if let statusesArray = try? JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [[String: Any]],
    let user = statusesArray[0]["user"] as? [String: Any],
    let username = user["name"] as? String {
    // Finally we got the username
}

вот в это:

let json = JSON(data: dataFromNetworking)
if let userName = json[0]["user"]["name"].string {
  // Now you got your value
}

Оборачивание, если оно нужно, производится автоматически.

5. Valet от Square


Valet обеспечивает безопасное хранение данные в iOS или OS X Keychain, даже если вы не имеете никакого представления, как работает Keychain. Он позволяет передавать данные между несколькими приложениями (от того же самого разработчика) на одном девайсе, а также передавать данные в пределах одного приложения на нескольких девайсах при помощи iCloud. Поддержка Touch ID? Легко!

6. FirebaseAnalytics от GoogleDevelopers


f14fe70ff52d423594399a416b181a4f.png

Это решение, разработанное (ну, или выкупленное) компанией Google, пожалуй, можно назвать лучшим аналитическим инструментом для iOS. Отслеживайте, как используется приложение, насколько вовлечены пользователи, какие события происходят; задавайте пользовательские характеристики, создавайте индивидуально настроенные аудитории и многое другое.

7. AsyncDisplayKit
2bf7a8cecb8b4b079a06fe436d564a54.png


Команда Facebook создала этот UI SDK для своего приложения Paper. Если хотите, чтобы рендер вашего приложения всегда происходил со скоростью 60 фреймов в минуту, обязательно обратите внимание на эту библиотеку. Здесь можно почитать об опыте команды Buffer.

8. DZNEmptyDataSet


28ab28b879f24bf58381cd54005aba3d.png
Пользователь устанавливает ваше приложение и видит пустой UITableView. DZNEmptyDataSet помогает избежать этой проблемы, предлагая внедряемый по умолчанию паттерн для случая, когда данные в таблице отсутствуют.

9. Chameleon от Vicc Alexander


d9cbd41ab6f847819c86441459e25c7f.png

Chameleon — это компактный, но мощный фреймворк для работы с цветом на iOS. В его основе лежит идея о том, что приложения должны работать с легкостью и при этом сохранять приятный для глаз интерфейс.

С Chameleon вам не нужно будет возиться со значениями RGB, часами подбирать наилучшее сочетание оттенков для приложения и переживать, хорошо ли будет читаться текст на разных цветах фона.
23810edb6d6c4bae9aacef0f9df4bc80.png
abcd6902223d4c548338cd7fc8cbbe08.png

10. PermissionScope от Nick O’Neill


714721c5612e4fd3afb5fbd6ef0ac1ad.png

PermissionScope — фреймворк на Swift, позволяющий по-умному запрашивать разрешение у пользователей. Он содержит не только простой UI для отправления запросов, но и API для разрешений, который может сообщить вам статус любого системного разрешения или легко запросить его.
eb29cda9f19c4abfa5c7bfba790462ae.png

11. FileKit от NikolaiVazquez


c8646c0f844e448dbbceb517bee450d7.png

FileKit — это фреймворк для Swift, который обеспечивает простую и выразительную систему управления файлами. Посмотрите примеры того, как она используется.

12. SwiftyUserDefaults от RadekPietruszewski


SwiftyUserDefaults делает user defaults приятными в использовании, сочетая выразительные API от Swiftly с преимуществами static typing. Определяйте все ключи в одном месте, легко применяйте типы-значения и вдобавок бесплатно получайте дополнительную безопасность и проверку на этапе компиляции.

13. Kingfisher от 王巍 (Wei Wang)


66af267f405c4addb7c650466d8f519e.png

Kingfisher — это компактная библиотека для асинхронного скачивания и кэширования картинок из Сети, специально для Swift.

14. Hero от Luke Zhao


14aabb32f5414d808397686895503da8.png

Hero — это библиотека для построения переходов между ViewController-ами на iOS. Она дополняет неудобные API для переходов от UIKit и упрощает процесс настройки переходов.

15. Hedwig от 王巍 (Wei Wang)


32d775b4a06446019e7e31653d643282.png

Hedwig — это пакет Swift, предоставляющий набор API высокого уровня, которые позволяют легко отправлять письма на SMTP-сервер. Если вы планируете рассылать сообщения из своего будущего сногсшибательного клиент-серверного приложения, возможно, Hedwig — как раз то, что вам нужно.

16. DeviceKit от DennisWeissmann


DeviceKit — это замена типов-значений дляUIDevice. Без проблем получайте информацию о состоянии девайса и уровне зарядки.

17. Charts


3d30a07be7cb4b7786b83b9ede85b967.png
Библиотека красивых диаграмм самых разных типов: столбчатых, круговых, точечных, трехмерных, радиальных и так далее.

18. MGSwipeTableCell

Простой в использовании подкласс UITableViewCell, который позволяет отображать кнопки-слайдеры с разными видами переходов.
7f61f7fcf16249219136f3144072a1dc.png
5e94c0739a804186851ea509e87ba3d0.png
70e410f1187c48838f4df87dfae4d751.png

19. RandomKit от NikolaiVazquez


76ca0be8f620449cb539ff99bf0ff7d9.png

Простой и понятый генератор случайных данных.

20. ResponseDetective


09087be2402e461d8c19b6fd70cc4e74.png
ResponseDetective — фреймворк, который, минимально вмешиваясь в процесс, перехватывает все исходящие запросы и входящие ответы между приложением и сервером для отладки.

21. Onboard


2b878bd2fbaf4125abd89429145f3008.gifb92af9333d994573879f98f6ccfb2a8d.gif4e872574485c4b50b0f969a56716ed98.gif

Без лишних усилий создавайте красивые и захватывающие презентации всего несколькими строчками кода.

22. Quick + Nimble от もどかしい


0a0decbf0ff24bddba892d90e8e8ef01.png
Quick — это фреймворк для тестирования BDD на Swift и Objective-C. К нему прилагается Nimble — фреймворк, расширяющий возможности сравнения данных.

23. Natalie от Marcin Krzyzanowski

Natalie генерирует код Swift на основании сторибордов, тем самым делая работу со Storyboard и Segue проще. Сгенерированные файлы сокращают использование строк в качестве идентификаторов Storyboard и Seguе.

24. RxSwift от ReactiveExtensions*


8ef2671cfc5e49e790c1a254724ce41c.png

Интересуетесь реактивным программированием на Swift? RxSwift к вашим услугам.

25. GDPerformanceView от Daniil Gavrilov


3753e9ab6a2e44bf807d2800f8480c97.png
339feb5df221423d9a6d38801aa8cc60.png
8f8df43ed4fb46498b82b1521c877f40.png
f4f732617e74457cbe93cc23661f1e9e.png

GDPerformanceView показывает FPS, процент загрузки CPU, версии приложения и iOS над статус баром и предоставляет отчеты о FPS и загрузке CPU через делегат.

26. Alamofire


a7c3ac1a22da474cb4ef1292a7520f07.png

Alamofire — это сетевая HTTP библиотека, написанная на Swift.

27. SwiftyStoreKit от Andrea Bizzotto


e9be057bd709419bb1691d37f0c8757c.png

SwiftyStoreKit — это небольшой фреймворк для работы с встроенными покупками на iOS (версии 8.0 и выше), TvOS (версии 9.0 и выше) и macOS (версии 10.10 и выше).

28. Timepiece от AnyType


Интуитивная работа с данными на Swift.

29. CryptoSwift от Marcin Krzyzanowski


Функции и помощники для Swift, связанные с криптографией, реализованные на Swift.

30. FSCalendar


20c18b2d2e134fbaafe9e69074c5f589.png
Библиотека настраиваемых календарей для iOS, совместимая с Objective-C и Swift.
357d23bf8f814145a7087bb826592d76.jpeg
aaca9d4ad9894a28a970462e52006633.png

31. ImageViewer от KristianAngyal


Решение для просмотра картинок в стиле Twitter.

32. PromiseKit


f7b1802b83c54124aed7b6316959a0a5.png

PromiseKit — это вдумчивое и полное внедрение promises на любую платформу при помощи swiftc. Он отлично адаптирован для использования в ObjectiveC и предлагает превосходные специализации для iOS, TvOs, macOS и watchOS.

33. Ensembles от Drew McCormack


f31fef0df3074f2fbef5cc14fbee3a09.png

Ensembles — это фреймворк для Objective-C с поддержкой Swift, который расширяет фреймворк CoreData от Apple, добавляя пиринговую синхронизацию для macOS и iOS. Многочисленные постоянные хранилища SQLite могут быть связаны посредством любой платформы для синхронизации файлов, например, iCloud или Dropbox. Фреймворк можно при первой необходимости расширить для поддержки любого сервиса, который обладает способностью перемещать файлы между девайсами, включая настраиваемый сервер.

Комментарии (2)

  • 28 января 2017 в 00:30 (комментарий был изменён)

    0

    которые будут популярны

    Почему в будущем времени? Многие уже весьма популярны.

  • 28 января 2017 в 01:12

    0

    Спасибо за 
    SwiftyJSON

© Habrahabr.ru