Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Texture

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for CocoaHeads CocoaHeads
September 29, 2018

 Texture

Avatar for CocoaHeads

CocoaHeads

September 29, 2018
Tweet

More Decks by CocoaHeads

Other Decks in Programming

Transcript

  1. План доклада 2 • Недостатки и преимущества UIKit • Недостатки

    и преимущества Texture • С чего начать работу с Texture • Примеры реализации верстки Texture • Фишки Texture
  2. Угнать Посчитать за 16 мс • Констрейнты, heightForRowAtIndexPath, sizeThatFits •

    Декодинг UIImage • Отрисовка текста, градиентов, теней. • Жизненный цикл объектов UIView Стандарт Apple – 60 кадров в секунду 4
  3. Преимущества Texture 10 • 60 кадров в секунду • Совместима

    c UIKit (можно использовать любые готовые сторонние компоненты) • Переиспользование кода (ASDisplayNode). • Универсальная верстка iPad и iPhone • Простой удобный синтаксис • Преимущества верстки кодом (мержинг, рефакторинг)
  4. Недостатки Texture 11 • Поменять механизм отрисовки на другой будет

    проблематично • Ojective-C++ • Заточен под сеточную верстку (сложная физика и анимации не пройдут) • Сложность навигации по проекту из-за большого количетсва сабклассов ASDisplayNode
  5. Сравенение с UIKit: отличия UIKit Texture Быстрое прототипирование + -

    Поддержка и развитие фреймворка + + Удобство быстрого изменения и поддержки верстки - + Автоматическая отрисовка анимаций - + Количество результатов на StackOverflow by Google 132,000 2,120 Совместная работа и мержинг - + Размер приложения 30,8mb 36,9mb 12
  6. С чего начать работу •ASDisplayNode – обертка над UIView •func

    layoutSpecThatFits(_:ASSizeRange) -> ASLayoutSpec •func animateLayoutTransition(_:ASContextTransitioning) •ASViewController - аналог UIViewController •AS{*}LayoutSpec - опции верстки 14
  7. Пример #1 • UIKit: • UIStackView
 + • UILabel •

    contentHuggingPriority • contentCompressionResistance • Скрытые констрейнты стека 15
  8. Пример #1 }Стек: иконка + текст Указываем, что имя должно

    ужиматься }Стек: иконка + текст + цена } Отступы по краям 16
  9. Intelligent Preloading Диапазон Preload: Данные загружаются из источника. Диапазон Display:

    Выполняются задачи декодинга изображений и растерзации текста. Диапазон Visible: Нода находится на экране хотя бы на 1 пиксель. 18