Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Xcode

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

by
Length:MediumLanguages:

Russian (Pусский) translation by Anna k.Ivanova (you can also view the original English article)

Final product image
What You'll Be Creating

В этом году объявления WWDC были посвящены новым замечательным SDK, таким как ARKit, и изменениям в iOS 11. Однако Apple также внесла значительные улучшения в Xcode благодаря Xcode 9. Чтобы не отставать от других анонсов, новая версия Xcode - это шаг вперед для программистов. Разработчики обязательно будут счастливы!

Включено в улучшения этого года:

  • обновлена поддержка Swift 4, включая параллельную поддержку Swift 4.0 и 3.2
  • улучшенная скорость в Xcode Project Navigator и Editor, от индексирования до инструментов рефакторинга
  • полностью перестроенный компонент управления исходным кодом (SCM) с бесшовной интеграцией Git и GitHub
  • возможность запуска нескольких одновременных симуляторов, а также отладки по беспроводному соединению на физических устройствах, таких как iPhone и Apple TV
  • новый инструмент проверки основного потока, чтобы обеспечить соответствие потоков UIKit и AppKit
  • улучшенный интерфейс Builder рендеринга компонентов пользовательского интерфейса.

Конечно, это очень интересный список изменений, поэтому давайте рассмотрим их по очереди, начиная со Swift 4.

Поддержка Swift 4

Swift неуклонно развивается год за годом, и в этом году Xcode поддерживает последний крупный выпуск Swift, Swift 4. Хотя последняя итерация с открытым исходным кодом не такая большая, как в предыдущих версиях, Xcode 9 сделал процесс даже более удобным.

Для начала, Xcode 9 теперь поддерживает возможность компилировать цели Swift 4.0 и Swift 3.2 одновременно, а это означает, что как разработчик, вы можете выбрать миграцию проекта постепенно, а не все сразу, и вы можете записать цели проекта на последнюю или предыдущую языковую версию.

Picking a Swift language version

Компилятор Xcode 9 понимает обе версии, и с помощью Xcode Migration Assistant теперь попросит пользователей выбрать, для каких целей нужно перейти на версию 4.0.

Фактически, Xcode 9 оценивает ваш код и предоставляет информацию о состоянии соответствия модернизации вашего проекта и лучших практиках, через опцию меню Editor > Validate.

Selecting targets to convert

Улучшения в Навигаторе и Редакторе Проектов

Далее, Xcode 9 получает некоторые необходимые улучшения для самой IDE, в частности, для компонентов Project Navigator и Source Editor, начиная с более быстрого механизма индексации, который расширяет ваши возможности поиска и быстрее возвращает результаты.

Разработчики могут выполнять поиск по большой базе кода и мгновенно получать результаты, поскольку механизм индексирования теперь также индексирует файлы по мере их компиляции, тогда как ранее файлы в состоянии компиляции не подвергались индексации. Это дает разработчикам возможность быстрого перехода между файлами и поиска файлов из связанных проектов и библиотек, что является приятным преимуществом, особенно при работе с CocoaPods и многопроектными рабочими пространствами.

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

Xcodes new intelligent highlighting engine

Рефакторинг

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

Refactoring preview

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

Редактирование Markdown

Другие незначительные улучшения включают встроенную поддержку файлов Markdown (отображаемых с помощью стилей Markdown) в редакторе. Это улучшение имеет смысл, учитывая более глубокую интеграцию XCode с GitHub, и полезно иметь возможность более визуального доступа к файлам README.md в редакторе.

Markdown editor

Swift Playgrounds

Xcode 9 также предоставляет новые шаблоны iOS Playground, которые вы можете протестировать не только в Xcode, но и на Swift Playgrounds для iPad!

Swift playgrounds

Другие небольшие улучшения в редакторе

Кроме того, это небольшое улучшение, но редактор теперь позволяет пользователям увеличивать или уменьшать размер шрифта редактора, используя сочетания клавиш ⌘+ и ⌘-.

Font size shortcuts

Еще одно небольшое улучшение - создание, переименование и удаление групп в Навигаторе проектов. Внесение изменений в группу теперь будет отражено в соответствующей папке, обеспечивая согласованность имен и устраняя раздражение, которое многие разработчики испытывали при работе Xcode с папками файловой системы.

Наконец, улучшения в каталоге активов Xcode добавляют поддержку нового открытого стандарта изображений HEIF, который является частью iOS 11.

Улучшения управления исходным кодом

Одним из наиболее заметных улучшений в Xcode стало встроенное управление исходным кодом, которым до сих пор пренебрегали. Вместо предыдущего полуобжаренного SCM, который никогда не чувствовал себя частью Xcode, Xcode 9 теперь включает полностью обновленную интеграцию SCM.

SCM integration

Благодаря новому навигатору SCM, который более легко интегрируется, вы также получаете более мощные способы работы с ветками и тегами. Более того, теперь XCode имеет глубокую интеграцию с GitHub, которая позволяет вам управлять своей учетной записью напрямую из настроек XCode, создавать репозитории GitHub одним щелчком мыши и просматривать публичные репозитории в редакторе.

Чтобы подробнее ознакомиться с новыми функциями SCM в Xcode 9, ознакомьтесь с нашей статьей «Что нового с поддержкой Git в Xcode 9».

Улучшения отладки и симулятора

Чтобы не остаться в стороне, отладка также привлекла большое внимание в Xcode 9. Мы начнем с изучения того, что нового в Xcode Simulator.

Xcode Simulator

Ранее, при запуске Xcode Simulator, вы могли запускать одновременно только один Simulator. Таким образом, если бы вам пришлось тестировать на нескольких типах устройств, вам пришлось бы запускать каждое из них по очереди. Это замедляло тестирование, будь то ручное или автоматическое тестирование.

Это изменилось в Xcode 9. Разработчики могут впервые запускать несколько симуляторов одновременно с инструментами автоматизированного тестирования, которые теперь могут выполнять тесты параллельно.

Running multiple Simulators

Есть несколько других мелких, но полезных настроек Simulator, которые представила Apple. Одним из них является то, что вы можете удерживать нажатой клавишу Option, чтобы закрыть окно симулятора, но при этом держать его в фоновом режиме. Вы также можете запустить Simulator из командной строки, что полезно для инструментов автоматического тестирования и доставки.

Разработчики могут также записывать видео с симуляторов, в дополнение к скриншотам, что полезно для публикации в App Store.

И последнее, но не менее важное: разработчикам, заканчивающим Simulator и тестирующим на реальных устройствах, больше не нужно физически подключать свои устройства. Apple теперь позволяет разработчикам убирать шнур и отлаживать устройства iOS и Apple TV без проводов с помощью функции «Сетевая отладка».

Проверка основного потока

Новая автономная утилита отладки, которую Apple представила вместе с Xcode 9, Main Thread Checker способна обнаруживать несоответствующее использование известных SDK, таких как AppKit и UIKit, из фонового потока. Например, разработчики могут использовать действия UITableView в фоновом потоке, что может привести к странным визуальным эффектам и ошибочным обновлениям. Проверка основного потока включена по умолчанию и настраивается с помощью редактора схем.

Встроенный сервер Xcode

Xcode 9 теперь имеет встроенные и стандартные боты Xcode Server, что избавляет разработчиков от необходимости устанавливать macOS Server. Это означает, что разработчики могут запускать ботов Xcode Server на любом компьютере и использовать передовые методы непрерывной интеграции.

Улучшения Interface Builder

Разработчики наблюдали постепенные изменения и улучшения в Построителе интерфейсов (IB) на протяжении многих лет с постоянными улучшениями рендеринга экранов. Xcode 9 продолжает совершенствовать IB путем более точной визуализации компонентов пользовательского интерфейса на канве. Улучшенные компоненты включают в себя навигацию, вкладку и панели инструментов.

Еще одна новая функция заключается в том, что Xcode и IB теперь будут предупреждать разработчиков, когда ограничения на просмотр могут потенциально вызвать проблемы с локализацией. Например, вы будете предупреждены, когда изменение представления может привести к усечению или обрезанию слов на другом языке, например на немецком. Это, безусловно, сэкономит много времени для разработчиков, которые поддерживают несколько языков.

Говоря о макетах, Interface Builder теперь также поддерживает руководства по безопасным областям Auto Layout, которые помогают разработчикам упорядочивать элементы пользовательского интерфейса. Это осуждает верхнюю и нижнюю направляющие макета в предыдущих версиях XCode.

Заключение

Последняя версия XCode предоставляет множество новых функций, которые повысят производительность разработчиков. Одновременно с анонсом Swift 4 Xcode делает переход с Swift 3.2 на последнюю версию более приятным благодаря поддержке постепенной миграции. Xcode также получил своевременные и заметные улучшения скорости индексации поиска и полностью перестроенный редактор, который больше учитывает контекст, с новой поддержкой рефакторинга.

SCM теперь стал встроенным, что означает, что разработчикам больше не нужно переключаться между Xcode и сторонним редактором SCM для удовлетворения своих потребностей в git-менеджменте. Симулятор получил выгоду от некоторых наиболее заметных улучшений, благодаря возможности запускать несколько одновременных симуляторов для более быстрого тестирования на нескольких устройствах, а также удобству возможности убирать шнур и отлаживать на физических устройствах без проводов.

В то время как iOS 11 воодушевляет сообщество разработчиков благодаря своим новым потрясающим функциям SDK, Xcode 9 предоставляет идеальный инструмент разработки для предоставления инноваций своим пользователям. Следите за практическими уроками по использованию новых SDK для iOS. И посмотрите другие наши посты о разработке приложений для iOS!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.