Во время WWDC Apple традиционно дает разработчикам краткий обзор следующего основного выпуска своей IDE, Xcode. С каждым основным выпуском компания совершенствует свои инструменты для разработчиков и добавляет ряд привлекательных новых функций. И этот год ничем не отличался.
1. Свифт 2 и 3
Вплоть до Xcode 8 каждая версия Xcode была привязана к определенной версии языка программирования Swift. Это больше не верно с Xcode 8. Swift 3 вводит множество изменений, и значительное количество этих изменений ломается.
Проекты, созданные с Xcode 8, используют Swift 3 по умолчанию. К счастью, Xcode 8 включает настройку сборки, которая дает разработчикам возможность придерживаться Swift 2, Swift 2.3, если быть точным.
Это означает, что вы можете выбрать, когда вы хотите перенести проект в Swift 3. Чтобы настроить цель для Swift 2.3, откройте настройки сборки цели и установите для параметра « Использовать версию Legacy Swift Language» значение « Да» .
Xcode 8 также включает в себя инструмент миграции, который помогает вам перенести проект на Swift 3. У меня были смешанные результаты с инструментом миграции Xcode 7. Swift 3 вносит множество изменений, и я надеюсь, что инструмент миграции значительно улучшился, когда Xcode 8 готов к выпуску.
2. Расширения редактора исходного кода
Одной из самых удивительных особенностей было введение расширений редактора исходного кода. Разработчики много лет просили нативную архитектуру плагинов. Расширения редактора исходного кода являются первым хорошим шагом в этом направлении.
Расширения для Xcode могут понравиться, но Apple подчеркивает, что расширения в настоящее время сосредоточены на манипулировании и навигации по содержимому редактора исходного кода, следовательно, расширений редактора исходного кода. Xcode 8 даже включает в себя шаблон, чтобы помочь вам набрать скорость.
Что мне особенно нравится в архитектуре расширений, так это то, что каждое расширение работает в отдельном процессе. Это означает, что сбойное расширение не приводит к неожиданному завершению работы Xcode. Это часто вызывало проблемы с доморощенными плагинами, особенно если Apple выпустила новый крупный выпуск Xcode.
Еще одно преимущество расширений над плагинами — это безопасность. Вы можете подписывать и распространять расширения, используя свою учетную запись разработчика. Apple также упомянула, что вы можете использовать Mac App Store для распространения расширений. Это отличный вариант, если вы хотите заработать немного денег с помощью расширений, которые вы делаете.
Я очень рад расширениям редактора исходного кода. Несмотря на то, что я большой поклонник Alcatraz , нативная реализация расширений Apple кажется дальнейшим шагом. Я не могу дождаться, чтобы увидеть, какие расширения разработчики собираются создавать. На GitHub уже есть несколько доступных.
3. Отладка
Даже лучшие разработчики тратят значительную часть своего времени на отладку, и Apple понимает, что нужны более совершенные инструменты, чтобы облегчить эту задачу. Xcode 8 представляет ряд значительных улучшений, связанных с отладкой.
Просмотреть отладку
Отладка представления намного более мощна в Xcode 8. Надежность улучшилась, и отладка неоднозначных или неудовлетворительных разметок намного легче благодаря улучшенному отладчику представления, который отображает проблемы во время выполнения.
Проблемы во время выполнения? Это верно. Xcode 8 вводит проблемы времени выполнения в дополнение к проблемам времени сборки. Если вы столкнетесь с проблемами Auto Layout во время выполнения, Xcode покажет вам проблему как проблему времени выполнения в Навигаторе проблем слева. Это очень приятное дополнение.
Отладка памяти
Xcode 8 также оснащен довольно впечатляющим отладчиком памяти для отслеживания утечек памяти и сохранения циклов. Я не уверен, насколько это будет полезно на практике, но выглядит очень, очень хорошо.
4. Подписание кода
Подписание кода — необходимое зло для разработчиков, заинтересованных в платформах Apple. К счастью, Apple не прячет голову в песок. Это понимает боль, которую испытывают разработчики. Даже ветераны время от времени борются с проблемами подписывания кода. В этом году на платформе State of the Union компания Apple даже высмеивала собственную кнопку « Исправить проблему», которая редко решала проблему, а иногда еще хуже.
Проблемы с подписью кода должны быть в прошлом с Xcode 8. Для каждой цели вы можете установить флажок, который говорит Xcode управлять подписанием кода от вашего имени. Эта опция включена по умолчанию для новых проектов. Когда проверено, XCode управляет сертификатами, профилями обеспечения и идентификаторами приложения для Вас.
Надеюсь, на этот раз Apple понял все правильно. А со мной десятки тысяч других разработчиков.
5. Другие улучшения и улучшения
Сан-Франциско Моно
Если вам нравится работать с прекрасно разработанным программным обеспечением, вам может понравиться новый шрифт Apple San Francisco Mono от Apple, который поставляется вместе с Xcode 8. Это моноширинный вариант San Francisco, который гармонично сочетается с системным шрифтом macOS.
Подсветка линии
Вы заметили, что текущая строка выделена на скриншоте выше? Это еще одно приятное улучшение, добавленное Apple в Xcode 8. В настоящее время я использую Backlight для Xcode, чтобы добиться того же эффекта в Xcode 7. Думаю, мне больше не нужен этот плагин в Xcode 8.
Дополнение кода для изображений
Говоря об отключении сторонних плагинов, я в настоящее время использую превосходный плагин Кента Сазерленда KSImageNamed, чтобы включить завершение кода для изображений в Xcode. Мне не понадобится этот плагин, когда я переключусь на Xcode 8, так как эта функция теперь встроена в Xcode.
6. Документация
Разработчики тратят слишком много времени на просмотр и чтение документации. Хорошая документация имеет большое значение, а документация Apple превосходна. Просмотр документации — это отдельная история.
Эта проблема теперь устранена в Xcode 8. Новый формат документации выглядит великолепно, а браузер документации быстр и прост в использовании. Apple также объединила документацию для своих платформ, что привело к гораздо меньшему объему памяти.
И да, документация может выглядеть великолепно. Посмотрите на эти скриншоты, если вы мне не верите.
Вывод
Само собой разумеется, что я рассмотрел только подмножество того, что нового в Xcode 8. Следующий основной выпуск Xcode — это всегда то, чего я с нетерпением жду. Разработчики проводят так много времени в своем редакторе кода, и поэтому понятно, что они заботятся о его развитии, как хорошем, так и плохом. Какая ваша любимая особенность Xcode 8? Поделитесь этим в комментариях.