Новость из категории: Информация

Xcode: рендеринг в реальном времени, визуальная отладка представлений и Swift

Xcode: рендеринг в реальном времени, визуальная отладка представлений и Swift

Xcode — это среда разработки, которую Apple предоставляет сообществу для создания приложений под Mac и iOS. Тот, кто знаком с ней, наверняка согласится, что работа в предыдущих версиях была не чем иным, как отношениями любовь/ненависть. После каждого обновления глюки и ошибки никогда не остаются далеко позади, но Xcode, тем не менее, это инструмент без которого разработчики приложений для Mac и iOS не могут представить свою жизнь.

В Xcode 10 добавлено много интересных возможностей таких как поддержка нового языка программирования, улучшенный визуальный отладчик, рендеринг в реальном времени, расширения, песочницы (Playgrounds) и многое другое.


Что нового в Xcode 10?

Мне всегда нравилось следить за обновлениями в Xcode. Я просто очарован подходом Apple к этому продукту, ведь они очень редко добавляют что-то новое без необходимости и уделяют большое внимание недостаткам.

Исторически одной из таких болевых точек была отладка представлений и визуальная разметка. Даже простые приложения могли требовать использования сложной иерархии видов. Теперь появилась возможность «разделять» текущее представление на слои и видеть полную картину интерфейса. На рисунке ниже пример такого разделённого представления в Xcode 10. Выбирая каждый отдельный слой, вы получаете быстрый доступ к иерархии представлений и ограничителям (Constraints), которые располагают эти самые представления. Подобная возможность реализована в приложении Reveal, которое также заслуживает внимания.

Xcode: рендеринг в реальном времени, визуальная отладка представлений и Swift

Другое дополнение Xcode, которое помогает разработчикам улучшить визуализацию — это новые свойства IBDesignable и IBInspectable. IBDesignable — это атрибуты, доступные теперь в Interface Builder для тонкой настройки представления. Свойство IBInspectable обеспечивает рендеринг в реальном времени.

Вдобавок к механизмам по упрощению отладки разметки, Apple добавили и другие инструменты для создания современного и быстро отвечающего на запросы интерфейса. Улучшена система авторазметки в Interface Builder, добавлены новые для iOS 8 классы размеров (Size Classes). Постоянно увеличивающееся число устройств с различными экранами заставило Apple сделать процесс разработки проще с помощью новых классов. Разработчики могут использовать их для создания единого интерфейса, который будет работать на различных платформах.

Известный разработчик Джастин Вильямс написал отличный пост, объясняющий работу классов размеров (Size Classes) и их особенностей в Interface Builder. Я бы очень рекомендовал вам познакомиться с этим материалом. Он пишет: "С тех пор как я стал использовать Interface Builder, я загружен намного меньше, в сравнении с теми, кто повторяет мантру «напиши всё в коде». Если вы ещё в этом лагере, то я советую вам попробовать iOS и Xcode 10 с его новыми возможностями. Это не только уменьшит количество шаблонного текста в коде, но и упростит вашу кодовую базу благодаря возможностям визуализации."

Начать использовать классы размеров (Size Classes) настолько же просто как поставить галочку напротив «Использовать классы размеров» (Use Size Classes) для преобразования уже существующих storyboard-файлов. Вы увидите новую опцию на нижней панели Interface Builder, позволяющую изменять особенности интерфейса в зависимости от ширину и высоты. Изменяя эти атрибуты, вы поймёте, как ваша разметка (layout) реагирует на изменение ориентации или размера экрана.

Xcode: рендеринг в реальном времени, визуальная отладка представлений и Swift

Для того чтобы понять все преимущества в работе с классами размеров (Size Classes) вы должны попробовать функцию Auto Layout. Это система размещения, основанная на ограничителях. Ничего революционного, но с каждой новой версией она работает все лучше. Эти улучшения включают такие дополнения в Interface Builder как визуальные направляющие разметки на панели справа и небольшое окошко для быстрого редактирования ограничителей (Constraints), как показано ниже.

Xcode: рендеринг в реальном времени, визуальная отладка представлений и Swift

Swift

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

Apple описывает Swift так:
"Swift — это инновационный язык программирования для Cocoa и Cocoa Touch. Написание кода на нём — интерактивный, увлекательный процесс. Синтаксис лаконичен, а скорость запуска приложений молниеносная. Swift — это всё, что нужно для ваших новых iOS или OS X приложений или для дополнения существующих, так как Swift работает во взаимодействии с Objective-C."

У Apple есть блог (https://developer.apple.com/swift/blog/), где они делятся информацией о развивающемся языке. В нём есть раздел с ресурсами Swift (https://developer.apple.com/swift/resources/), в котором можно узнать много нового. Помимо Apple, различные сообщества публикуют в интернете полезные обучающие материалы и примеры написания программ на Swift.

Один из лучших ресурсов о программировании, которые я нашёл за последние несколько лет — это objc.io. Objc.io — ежемесячное издание, публикующее интересные и углублённые статьи различных авторов. Я с нетерпением жду появления каждой новой статьи этого журнала.

Еще одним отличным подспорьем в изучении Swift станет портал megasliv.biz, где представлены курсы по программированию - среди них множество полезнейших материалов, посвященных данному языку программирования.

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

Xcode: рендеринг в реальном времени, визуальная отладка представлений и Swift

Говоря об обучении, стоить отметить одно из великолепнейших улучшений в Xcode — это Swift Playgrounds. Swift Playgrounds позволяет вам писать код на Swift и видеть результат одновременно. Этот метод даёт потрясающие возможности при изучении нового языка. Это определённо повысит интерес нового поколения к программированию. Вы увидите небольшие части кода или же полнофункциональную программу, оживающую у вас на глазах в Xcode.

Ещё одна особенность Swift Playgrounds — это возможность собирать простой текст, документацию и код вместе в одном файле, которым можно поделиться. Playgrounds — это фрагменты форматированного HTML-текста и куски живого, редактируемого Swift кода. В итоге документ выглядит следующим образом:

Xcode: рендеринг в реальном времени, визуальная отладка представлений и Swift

HTML-текст, форматированный с CSS, в файле со Swift кодом будет выполняться и менять результаты по мере внесения правок. Это фантастическая возможность для обучения и я с нетерпением жду, как сообщество применит её.

Новый Xcode — мощный инструмент для создания по-настоящему великолепных приложений. Рендеринг в реальном времени, улучшенная функция Auto Layout, визуальная отладка и поддержка Swift — большой шаг вперёд для всех разработчиков. В этой статье я коснулся только основных аспектов Xcode 10. Если вы найдёте другие полезные ресурсы, пожалуйста, не стесняйтесь делиться ими в комментариях.

Xcode доступен для скачивания бесплатно в Mac App Store.

Рейтинг статьи

Оценка
0/5
голосов: 0
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх