Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ReactiveCocoa: делаем отзывчивое приложение (П. Руденко)

1,306 views

Published on

Специфика реактивного программирования под iOS, обзор приемов и практик построения конвейеров из RAC-сигналов.
1. Проповедь о функциональщине
2. Сравнение функционального и императивного подходов
3. Конвейер RAC: сигналы, сайд-эффекты и подписки. Два слова про data binding
4. Основные сигналы и как их готовить
5. Типичные сложности
8. TL;DR и резюме

Published in: Software
  • Be the first to comment

ReactiveCocoa: делаем отзывчивое приложение (П. Руденко)

  1. 1. ReactiveCocoa Делаем отзывчивое приложение. m/
  2. 2. Актуальность темы: тренд FP
  3. 3. Актуальность темы: тренд FP RxJava React.js ReactiveCocoa && so on
  4. 4. Мифы о ФП ФП - это сложно
  5. 5. Мифы о ФП ФП - это сложно ФП - это решение всех проблем
  6. 6. В двух словах о ФП: Иммутабельность
  7. 7. В двух словах о ФП: Иммутабельность Функции высшего порядка
  8. 8. Проблемы Нельзя блокировать UI thread (а ресурсы ограничены)
  9. 9. Проблемы Нельзя блокировать UI thread >>> Очень многие операции выполняются асинхронно в фоне
  10. 10. Проблемы Нельзя блокировать UI thread Очень многие операции выполняются асинхронно в фоне Нам часто нужны цепочки из таких операций
  11. 11. Проблемы Нельзя блокировать UI thread Очень многие операции выполняются асинхронно в фоне Нам часто нужны цепочки из таких операций И масштабируемость (цепочка может быть частью более крупного конвейера)
  12. 12. Проблемы Нельзя блокировать UI thread Очень многие операции выполняются асинхронно в фоне Нам часто нужны цепочки из таких операций И масштабируемость (цепочка может быть частью более крупного конвейера) (and we need to go deeper)
  13. 13. NSNotification hell
  14. 14. Talk is cheap, show me the code.
  15. 15. RACSignal
  16. 16. Lifecycle
  17. 17. Еще один пример конвейера findAll where sortBy fetch take
  18. 18. Основные сигналы и как их готовить map, filter
  19. 19. Основные сигналы и как их готовить merge, concat
  20. 20. Основные сигналы и как их готовить then, flattenMap
  21. 21. Основные сигналы и как их готовить delay throttle repeat initially finally ...
  22. 22. Многопоточность subscribeOn, deliverOn
  23. 23. Сайд-эффекты doNext / doError / doCompleted
  24. 24. Data binding && MVVM
  25. 25. Управление интерфейсом
  26. 26. Боль
  27. 27. Боль subscribeNext(): subscribe WHAT?
  28. 28. Боль subscribeNext(): subscribe WHAT? Заметный оверхэд (привет, stack overflow)
  29. 29. Боль subscribeNext(): subscribe WHAT? Заметный оверхэд (привет, stack overflow) Debug: шлак в стеке вызовов
  30. 30. TL;DR (TL;DL) Субъективное резюме
  31. 31. The Good, the Bad and The Ugly The Good: Reactive Cocoa божественен для работы со сложными цепочками асинхронных операций и в качестве замены NSNotification и NSOperationQueue
  32. 32. The Good, the Bad and The Ugly The Bad: Data binding, RACObserve и управление интерфейсом через RAC - дискуссионно и на любителя
  33. 33. The Good, the Bad and The Ugly The Ugly: MVVM под iOS - оверинжиниринг
  34. 34. Вопросы?

×