Apple подготовила подробный обзор Xcode 4

На сайте Apple для разработчиков появился ознакомительный обзор нового Xcode 4. Xcode является целостным набором инструментов создания приложений для Mac OS X и iOS. В Xcode 4 инструментарий был существенно переработан и, в результате этого, стал быстрее, проще в использовании и, в целом, более полезным для каждого разработчика. Xcode IDE понимает каждую деталь вашего проекта, распознает логические и синтаксические ошибки и даже умеет исправлять неверно введенный вами программный код. Совершенно очевидно, что Xcode 4 поможет вам создавать лучший программный код.

Xcode 4 Logo
В Xcode 4 обновился интерфейс пользователя и теперь он базируется на технологии, которую сама Apple использует при разработке приложений для OS X и iOS. На этой базе уже создано более четверти миллиона приложений для Mac OS X and iOS.

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

Вся работа в едином окне

Xcode 4 единое окно

Как опытный пользователь Xcode, первым на что вы обратите внимание будет одно-единственное окно, объединяющее в себе все задачи по разработке. Это большой шаг вперед в сравнении со множеством окон, которое было ранее. Рабочая область Xcode 4 обладает несколькими уникальными элементами пользовательского интерфейса, делающими инструментарий простым в работе при выполнении множества различных задач. Даже работа над несколькими проектами не усложнит рабочей области. Ваш редактор всегда находится в центре и поверх других окон.

Ничего удобного в том, чтобы переключаться между множеством окон нет. На сей раз в Купертино решили соединить всё, что необходимо для работы над проектом в общем окне. Можно не сомневаться, разработчики в полной мере оценят эту заботу Apple об их удобстве.

Xcode 4 навигаторы

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

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

Панель перескакивания

Xcode 4 Jump Bar

Вверху каждой панели редактора находится адресная строка, показывающая относительное расположение текущего файла. Щелчком по любому адресу вы «перескакиваете» на любой другой файл того же уровня. Это называется «Jump Bar» («Панель перескакивания») и она позволяет эффективно показывать на экране программный код путем простого «перепрыгивания» от файла к файлу.

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

Интегрированный конструктор интерфейса

Xcode 4 конструктор интерфейса

В Xcode 4 Interface Builder («конструктор интерфейса») полностью интегрирован в Xcode IDE и не является отдельным приложением.

При выборе файла интерфейса (.nib/.xib) вашего проекта, он откроется непосредственно в Xcode IB-редактором. При открытии находящейся справа области утилит («Utility area») будет отображен полный набор инспекторов интерфейса, а также библиотека элементов управления и объектов пользовательского интерфейса. Перетащите элемент управления из библиотеки на канву проекта вашего приложения для Mac OS X или iOS.

Xcode 4 конструктор интерфейса

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

В современном визуальном программировании тот или иной элемент управления или объект является наглядно представленным фрагментом программного кода. То, над чем программисты прошлого работали вслепую, сегодня перед глазами разработчика. Но во многих случаях код элемента управления нуждается в редактировании. Разработчику будет весьма удобно сначала вставить стандартный код объекта, а потом в редакторе кода внести необходимые изменения.

Xcode Assistant обеспечивает целостность кода

Xcode 4 Assistant

При написании кода или разработке интерфейса ни одно изменение не останется изолированным. Даже самая небольшая правка повлечет за собой каскад изменений во всем проекте. Вы можете видеть не только текущий файл, но и связанные с ним документы.

Благодаря Xcode Assistant, мощь двухпанельного редактора Xcode 4 значительно возросла. Когда вы переходите в Assistant, IDE самостоятельно определяет, какие файлы вам необходимо видеть в процессе работы. Вы редактируете новый производный класс? Assistant может отобразить для вас исходный код родительского класса. Пишете дочерний код? Assistant автоматически покажет вам соответствующий заголовок. При работе над дизайном пользовательского интерфейса, Assistant показывает вам подходящие элементы управления и делает невероятно простым процесс установления связи с кодом путем перетаскивания. В процессе создания модели данных он автоматически приведет классы в соответствие с моделью.

В разработке приложения очень важно, чтобы каждый фрагмент кода работал и отсутствовали «хвосты», ведущие в тупик. Ведь они не только раздувают объем программы, но и зачастую могут вести к ошибкам. Эти вкрапления напоминают помарки, которые сильно портят общий вид тетради. Xcode Assistant находит эти «помарки» и дает возможность бесследно устранить.

Компилятор Apple LLVM Compiler 2.0

Xcode 4 Компилятор

Xcode 4 базируется на новом поколении компиляторов, представленном Apple LLVM. Компилятор базируется на исходном материале проекта LLVM.org, который руками и гением инженеров Apple преобразился в компилятор Apple LLVM, созданный специально для iPhone, iPad и многоядерных Mac.

Apple LLVM чрезвычайно быстр. Он компилирует код вдвое быстрее, чем GCC и это влечет за собой ускорение запуска готовых приложений. Компилятор построен на фундаменте набора оптимизированных, легко расширяемых и легко оптимизируемых библиотек, спроектированных в соответствии с современной архитектурой чипов. В Xcode 4 Apple LLVM обладает превосходной поддержкой языков программирования C, Objective-C и C++ на уровнях от обработки парсера до оптимизации кода.

Подчеркивание синтаксиса, финализация программного кода и другие функции индексации управляются парсером в LLVM. Языки C, C++ и Objective-C корректно воспринимаются во время редактирования в такой же степени, как и в процессе разработки приложения. Если символ известен компилятору, то и Xcode IDE правильно его воспринимает.

Компилятор является важнейшим элементом любой среды разработки. Его задача состоит в том, чтобы перевести команды, написанные на языке высокого уровня в команды ассемблера, которые понимает процессор. Он выступает своего рода переводчиком между программистом-человеком и машиной, которая воспринимает только определенный код. Важным качеством компилятора является его умение «перевести» код как можно лаконичнее, чтобы готовое приложение не использовало лишних аппаратных ресурсов.

Live Issues ловит ошибки на лету

Движок Apple LLVM постоянно работает в фоновом режиме и распознает ваш код. В редакторе новая функция Live Issues использует это распознавание для того, чтобы сообщать вам об ошибках ввода программного кода. Точно так же, как текстовый редактор подчеркивает ошибки правописания, Xcode 4 выделяет ошибки, допущенные программистом прямо в процессе работы без предварительной сборки приложения.

Ни один даже самый внимательный программист не застрахован от ошибок и опечаток. Крайне желательно, чтобы они выявлялись на стадии написания программы, а не в процессе сборки. Ведь куда проще исправить ошибку и пойти дальше в своей работе, чем потом разбираться в целом ворохе ошибок, многие из которых просто незначительные опечатки. Такой подход отвлекает внимание разработчика от действительно значительных недочетов, допущенных в процессе работы над приложением.

Автоматическая работа над ошибками Fix-it

Xcode 4 автоматическая работа над ошибками

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

Fix-it ваш бесценный помощник в процессе ввода, а благодаря функции Analyze обеспечивается скрупулезное тестирование. Статический анализатор Xcode проверяет тысячи путей на наличие участков кода, которые вызывают ту или иную проблему. Код обратит на себя внимание анализатора даже если он корректен, но при этом ведет себя неожиданным образом, вызывая, например, ошибку обращения к памяти или же содержит неверно построенный цикл. Пара незаменимых помощников, Fix-it и Xcode Analyze, обнаружат ошибку раньше пользователей приложения.

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

Редактор версий

Xcode 4 редактор версий

Новый редактор версий («Version Editor») в Xcode 4 позволяет легко и просто одновременно видеть любые две версии вашего исходного кода. Очень важно, что редактор версий обеспечивает новый способ работы над кодом элементов управления в IDE поскольку сопоставление возможно также по временной шкале. Перетащите слайдер в середину и вы перенесетесь назад во времени своей работы над проектом, получая возможность сравнить две версии.

Редактор версий позволяет также обратиться к детализированному логу событий для того, чтобы проанализировать вашу работу. Комплексные команды SCM работают для вас «за кулисами». Можно даже управлять несколькими проектами в едином рабочем пространстве Xcode 4, при этом один проект управляется Subversion, другой — Git и все обновляются автоматически.

В процессе работы программист многократно вносит изменения в код приложения. В итоге получается несколько версий одного и того же фрагмента. Со временем разработчик может осознать, что то или иное решение, которое он применил ранее, было более удачным, чем использованное впоследствии. В таком случае всегда будет удобно вернуться к прежней версии, чтобы переместить из нее участок кода. Порой случается и другая ситуация. Приложение работало корректно, а после внесения изменений стало вести себя неправильно. И никакая автоматика не помогает обнаружить проблему. В этом случае построчный анализ кода просто незаменим.

Новый отладчик LLDB

Xcode 4 отладчик

В Xcode 4 дебютировал LLDB, новый отладочный движок, разработанный Apple на базе проекта с открытым исходным кодом LLVM.org. Подобно компилятору LLVM, новый движок LLDB спроектирован таким образом, чтобы использовать как можно меньше памяти и работать «со скоростью ракеты».

Отладчик LLDB превосходно сочетается с отладочным интерфейсом Xcode 4. Когда ваше приложение запущено, навигатор показывает вам кадры, которые вы можете развернуть или свернуть в процессе отладки. Многоядерная отладка в Xcode 4 теперь не менее проста, чем многоядерное кодирование. Это стало возможным с использованием блоков и Grand Central Dispatch.

Инструменты Xcode 4

Xcode 4 инструменты

Удобный интерфейс инструментов наиболее ярко проявляется в Jump Bar и компрессии стека из пользовательского интерфейса Xcode 4. С применением новых схем запуска Xcode 4 стало значительно проще выполнять сложные тестовые операции при запуске вашего приложения в Instruments. Сюда включается инструментарий запуска в «отложенном режиме» («deferred mode»), удерживающем тяжеловесный набор элементов пользовательского интерфейса «за кадром», тем самым позволяя экономить системные ресурсы при запуске и проверке параметров приложения.

Новый инструментарий работы с наборами данных включает в себя OpenGL ES, отслеживающий производительность графики для iPhone, новый мониторинг обращения к памяти и позволяет обнаружить непредусмотренный рост использования памяти. Сюда же относится Time Profiler iOS, производящий выборки с минимальной нагрузкой на систему и System Trace, позволяющий заглянуть внутрь всех системных процессов и проследить их взаимодействие.

Инструментарий стал более многогранным, использует меньше системных ресурсов и более удобен в применении, чем ранее.

Источник: Developer.apple.com