В портфолио компании EDISON Software есть 8 проектов, связанных с разработкой под Android и 4 крупных проекта, связанных с разработкой под iOS:


Хотим поделиться с вами полезной подборкой open-source библиотек для iOS разработчика.

1. DZNEmptyDataSet


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

С этой библиотекой вам необходимо всего лишь соответствовать определённым протоколам и iOS сама позаботиться о просмотре коллекций и выделит необходимое особым шрифтом, в виде красивых сообщений для пользователя. Элементарное решение для каждого проекта под iOS.

image



2. PDTSimpleCalendar


image


Необходим простой, привлекательный и рабочий календарь для вашего приложения? Теперь есть PDTSimpleCalendar, который является, наверное, лучшим дополнением для календаря в iOS. Вы можете настроить как его внешний вид, так и дополнительные функции.



3. MagicalRecord


Они говорили, что Core Data это просто. Они говорили, что это просто и красиво. Да ну, реально, Apple? Тонны шаблонного кода, добавляемого в каждый проект, не выглядит простым и элегантным. Не говоря уже о добавлении, удалении и обновлении многих объектов, сохраняя контекст, создавать различные стеки Core Data для различных сред и т.д. и т.п. Конечно же, я люблю Core Data, но Apple могла бы действительно упростить его при помощи MagicalRecord.

MagicalRecord является оболочкой для Core Data, которая скрывает от разработчика ненужный хлам. Если вы когда-нибудь работали с динамичными шаблонами записи (например Ruby on Rails), то вы почувствуете себя как дома. Рекомендую эту библиотеку, если вы используете Core Data в вашем приложении.



4. Chameleon


Если вы читаете эту статью, то, скорее всего, вы больше программист, нежели дизайнер. Тогда это для вас.

image

Chameleon — это фреймворк с цветовой палитрой для iOS. Он расширяет UIColor красивыми, современными матовыми цветами. Он также позволяет создавать палитры цветов, которые вы можете определить сами. Он может выполнять и другие функции, ознакомьтесь с ними в README. Если вам необходимо красивое приложение, обязательно добавьте эту библиотеку в ваш проект.

image



5. Alamofire


Alamofire — элегантная сетевая библиотека написанная на Swift. Вы когда-нибудь использовали AFNetworking? Alamofire его младший брат. Более молодой и более стильный, конечно же (AFNetworking написан на Objective-C).

image

Необходимо выполнить какие-либо действия в интернете, как например скачивание, загрузка, получение JSON и т.д.? Alamofire для вас. 8000 человек на GitHub не могут ошибаться.



6. TextFieldEffects


Вам не кажется, что UITextField слегка скучноват? Мне тоже. Поэтому поприветствуем TextFieldEffects! Я не буду писать о нём много, только покажу пару примеров возможностей этой библиотеки:

image


image


image


Да, это простые вставные контроллеры. Вы также можете использовать IBDesignables в окне редактора.



7. GPUImage


Вы когда-нибудь создавали приложения для камеры? Если нет, то вам обязательно захочется после знакомства с этой библиотекой.

image


GPUImage обеспечивает процессорное ускорение эффектов камеры (как изображения, так и видео) с невероятной скоростью. В AppStore сотни приложений использующих эту библиотеку, среди которых есть и одна моя.

image

8869 звёзд на GitHub и их количество продолжает увеличиваться.



8. iRate


Какой самый лучший способ получить больше отзывов в AppStore? У меня нет точных ответов на этот вопрос, но если подумать, я бы предположил что это просто просить пользователя об этом. Может, это немного устаревший способ, большинство разработчиков создают свои собственные оповещения для приложений, но если у вас нет времени на это или вы не хотите создавать это всё с нуля, то лучше использовать iRate, чем не использовать. И вот что из себя представляет iRate: небольшая библиотека, которую вы добавляете к себе в проект и забываете о том, чтобы просить пользователя оставить отзыв. iRate сделает это за вас.



9. GameCenterManager


Любите вы, или нет singltons, но в этом случае управление Game Center`ом станет легче с небольшой помощью известного анти-паттерна (у вас же только один Game Center в игре, не так ли?).

image

По правде говоря, управление Game Centre’ом в iOS не так уж и сложно, но с этой библиотекой это станет еще проще и быстрее. А лучшее — враг хорошего.

image

Я использовал эту библиотеку в одной из своих игр и остался доволен.



10. PKRevealController


PKRevealController 2 — жемчужина этого списка и одна из моих самых любимых способов манипуляций в iOS. Это боковое скользящее меню (левое, правое или двустороннее), которое выскальзывает с помощью пальца (или при нажатии на кнопку, что не так круто, в отличие от слайдинга).

image

Я пробовал использовать другие похожие библиотеки, но PKRevealController лучшая. Лёгкая для установки, множество настроек и распознавания жестов, что очень хорошо. Её стоило бы добавить в iOS SDK как стандарт.



11. SlackTextViewController


Вы когда-нибудь использовали приложение Slack iOS? Если вы работаете в крупной фирме, которая специализируется на программном обеспечении, скорее всего да. Для тех же, кто не пользовался им, скажу вот что: Slack рулит! Как и Slack iOS, особенно для большого, вводимого пользователем текста — код готов для использования в вашем приложении!

Растущая область текста? Есть. Распознавание жестов, автозаполнение, вставка мультимедийных файлов? Есть. Простое встроенное решение? Есть. Что вам еще может быть нужно?



12. RETableViewManager


RETableViewManager поможет вам динамически создавать и управлять своими представлениями таблиц при помощи кода. Это предоставляет заранее определённые ячейки (для текста, дат и т.д. — см. скриншоты ниже), но вы также можете создавать пользовательские виды и использовать их с теми, что определены по умолчанию.

image


Всё это вы можете сделать в окне редактора без использования этой библиотеки, но иногда лучше использовать простой код, нежели визуальный редактор.



13. PermissionScope


Полезная библиотека для обеспечения более комфортного использования, путём объяснения необходимых системных разрешений, прежде чем запрашивать пользователя о них. Более быстрое восприятие -> больше пользователей активно используют приложение -> больше постоянных пользователей -> лучше статистика -> больше скачиваний. Довольно полезное дополнение.

image




14. SVProgressHUD


«Это изображение загружается должным образом, подождите дольше и не обновляйте страницу». Это именно то, как SVProgressHUD выглядит в вашем приложении. Если вам нужен пользовательский индикатор ожидания, это один (и, наверное, лучший) из них.

image




15. FontAwesomeKit


Font Awesome — шикарен, а с этой библиотекой вы с легкостью сможете добавить его к себе в проект и использовать его любыми способами.

image




16. SnapKit


Любите автоматические макеты? А следует!

По крайней мере, при создании его в раскадровке.

Создание ограничений при помощи кода довольно сложно без сторонней помощи, но к счастью есть SnapKit и с его помощью вы можете вы можете программировать свои ограничения легким, декларативным образом. Попробуйте.

image



17. MGSwipeTableCell


Другой компонент пользовательского интерфейса, который так часто встречается во многих приложениях, что Apple, вероятно, следует задуматься о добавлении чего-то подобного в стандартной іOS SDK. Перелистываемые ячейки таблицы — лучшее описание этого дополнения. Один из лучших.

image


image


image


Это всего лишь 3 вида анимации, есть больше. Почитайте файл README.



18. Quick


Модульное тестирование в Swift, для Swift (ок, для Objective-C тоже), интегрированной с Xcode. Если вы фанат Objective-C, я бы рекомендовал Specta вместо этого, но для Swift, Quick будет, вероятно, лучшим.

image

imagehabrastorage.org/getpro/habr/post_images/c64/7c1/d06/c647c1d061fc9b964fd0537a0dee4f7c.png



19. IAPHelper


Покупки в приложениях приносят нам огромное количество шаблонного кода, от которого эта библиотека помогает избавиться и предоставляет оболочку для наиболее распространённых задач связанных с переводом денег от пользователя в ваш (или вашей компании) кошелёк.



20. ReactiveCocoa


Итак, у нас есть маленький монстр.

image

ReactiveCocoa совсем не маленький проект, в отличие от тех, что упомянуты в этом списке. ReactiveCocoa это совершенно другой стиль/архитектура программирования на основе значений сигналов и потоков. Это нечто совершенно сногсшибательное и вам необходимо сначала научиться этому, что бы понимать, как это работает. Это непростая работа, но стоящая.

Это не подходящее место, что бы учить вас ReactiveCocoa, но вот вам ссылки на полезные ресурсы, если вы заинтересовались:









21. SwiftyJSON


Делает проще синтаксический анализ JSON в Swift.



22. Spring


Делает анимацию простой, цепной и декоративной.
image



23. FontBlaster


Упрощает загрузку пользовательских шрифтов в приложение.



24. TAPromotee


Перекрестное продвижение ваших приложений является одной из лучших маркетинговых стратегий, которую вы можете реализовать бесплатно. А с этой библиотекой это становиться так просто, что вы больше не сможете оправдываться, чтобы не делать этого: добавьте TAPromotee в ваш профиль, настройте и наслаждайтесь большим количеством скачиваний, совсем бесплатно.

image




25. Concorde


Загружаете много JPEG изображений в приложение? С Concorde вы можете сделать это в более привлекательном виде. Прогрессивным способом.

image



26. KeychainAccess


Маленькая вспомогательная библиотека для управления доступа в Keychain.





27. iOS-charts


И последняя по порядку, но не по важности – библиотека диаграмм в iOS! Она настолько полезна и красива, что я не буду писать многое. Просто посмотрите ниже что вы сможете сделать в своём проекте при помощи этой библиотеки.

image




Много красивых примеров
image

image

image

image

image

image

image

image

image

image

image

image

image

Да, это всё доступно как вставляемый компонент. К сожалению, ещё не существует поддержки CocoaPods, так что вам нужно вручную перетащить проект из вашего Xcode на рабочую область.

TL;DR


Список библиотек
DZNEmptyDataSet [UI, пустые таблицы]
PDTSimpleCalendar [UI, календарь]
MagicalRecord [помощь с Core Data]
Chameleon [UI, работа с цветом]
Alamofire [Swift networking]
TextFieldEffects [UI, текст]
GPUImage [ускорение картинок]
iRate [рейтинги]
GameCenterManager [простое управление Game Center]
PKRevealController [UI, менюшки]
SlackTextViewController [UI, настройка полей]
RETableViewManager [динамический просмотр таблиц]
PermissionScope [UI, запросы]
SVProgressHUD [UI, индикатор ожидания]
FontAwesomeKit [easily add Font Awesome to your project]
SnapKit [easy auto layout in code]
MGSwipeTableCell [UI, swipeable table view cells]
Quick [Swift unit testing framework]
IAPHelper [In-App Purchases helper wrapper]
ReactiveCocoa [FRP]
SwiftyJSON [библиотека]
Spring [анимация]
FontBlaster [шрифты]
TAPromotee [cross promote your apps with drop-in view]
Concorde [прогрессивный JPEG]
KeychainAccess [manage keychain easily]
iOS-charts [графики]



Разработка приложений в EDISON Software


Вот так мы рассказываем заказчику, какой способ оплаты выбрать:



А вот так мы заботимся об информационной безопасности на рабочем месте:

image

Подробнее в блоге — «Организация пространства типового центра разработки»
Поделиться с друзьями
-->

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


  1. abcdsash
    07.11.2016 15:31
    +1

    огромное спасибо за подборку!


  1. AcidLynx
    07.11.2016 16:21
    +3

    Последняя картинка — ужс


  1. lexusathabr
    07.11.2016 19:24
    +2

    TL;DR всегда ставят ДО контента, а не ПОСЛЕ


  1. iuriimoz
    07.11.2016 19:30
    +1

    https://github.com/matteocrippa/awesome-swift
    https://github.com/vsouza/awesome-ios


  1. iFamily
    07.11.2016 21:40
    +1

    realm.io


  1. Makaveli
    11.11.2016 16:05

    Аналог iRate, но на Swift, с поддержкой Cocoapods и Carthage — Armchair.


  1. Makaveli
    11.11.2016 16:08

    Создание ограничений при помощи кода довольно сложно без сторонней помощи, но к счастью есть SnapKit и с его помощью вы можете вы можете программировать свои ограничения легким, декларативным образом. Попробуйте.

    Это что, машинный перевод что ли? Какие ещё ограничения?


  1. igrrik
    12.11.2016 02:38
    -1

    А как насчет указать ссылку на оригинал этой заметки?

    https://medium.com/app-coder-io/27-ios-open-source-libraries-to-skyrocket-your-development-301b67d3124c#.ugly5n9yl


    1. MagisterLudi
      12.11.2016 02:40
      +1

      указана, смотрите внимательнее