Обзор Xcode 4

Никита Narmo Дёнин avatar | 73
FavoriteLoading В закладки
Обзор Xcode 4

В момент выпуска новой прошивки iOS 4.3 среда разработки Xcode 4 вышла из статуса GM Seed и получила статус релиза. Получено сообщение от Apple, процесс загрузки и установки пройден ― начинаем работу.

Новая версия инструментов разработчика «съедает» довольно большой объём на диске — свежая установка, в которую не входит документация, занимает 10,05 ГБ.

Первое нововведение предстаёт перед нами после создания нового проекта: Xcode 4 «из коробки» поддерживает систему контроля версий git и предлагает создать локальный репозиторий для нового проекта. Это позволит разработчику сохранять все изменения даже при отсутствии сервера, на своей локальной машине, и в случае необходимости откатиться на нужную версию. Поддержки CVS и Perforce больше нет, поддерживаются только хранилища Subversion и git.

Интерфейс среды был полностью переработан, стало меньше дополнительных окон. Состояния изменённых файлов относительно репозитория отображаются прямо в дереве проекта, что позволяет избавиться от необходимости переключаться в окно SCM, как это было сделано в Xcode 3.

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

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

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

Справочная информация и настройки репозиториев SCM перенесены в органайзер.

Окно отладчика интегрировано в основной интерфейс и открывается автоматически при получении первого сообщения от отлаживаемого приложения. Его можно открыть принудительно сочетанием клавиш Cmd+Shift+Y. При перезапуске отлаживаемого приложения вывод отладчика автоматически очищается.

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

Пожалуй, это всё хорошее, что можно сказать о новом Xcode 4. Теперь о неприятном, раздражающем и просто плохом.

Забудьте о простом переключении между режимами сборки Debug/Release/Distribution. Теперь всё это носит гордое название схем и настраивается в соответствующем окне. Вот так выглядит этот пугающий инструмент (на снимке отображена всего одна схема, для проекта их можно создать несколько).

Скомпилированные и собранные файлы проектов теперь не сохраняются в директории проекта, а закопаны глубоко в домашнем каталоге. Например, чтобы достать собранный пакет демонстрационного приложения, мне нужно лезть по следующему пути (обратите внимание на строчку DerivedData — это и есть место хранения временных файлов проекта и собранных пакетов):

Очень сильно раздражает то, что изменились практически все комбинации клавиш. После обновления придётся привыкать к совершенно новой среде разработки, а не к обновлённой старой.

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

И последний (и самый большой) камень в огород Apple: вся эта красивость и «удобность» безбожно тормозит. Если на моём старом MacBook 2006 года выпуска сборка проекта из 30 файлов занимает около 8-10, от силы 15 секунд, то в новом Xcode «чистая» сборка может длиться до минуты. Обладателям старой техники, желающим перейти на Xcode 4, придётся обновить свой парк устройств.

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

1 Звезд2 Звезды3 Звезды4 Звезды5 Звезд (1 голосов, общий рейтинг: 4.00 из 5)
undefined
iPhones.ru
В момент выпуска новой прошивки iOS 4.3 среда разработки Xcode 4 вышла из статуса GM Seed и получила статус релиза. Получено сообщение от Apple, процесс загрузки и установки пройден ― начинаем работу. Новая версия инструментов разработчика «съедает» довольно большой объём на диске — свежая установка, в которую не входит документация, занимает 10,05 ГБ. Первое нововведение...
Прокомментировать

🙈 Комментарии 73

  1. skyderzz avatar
    skyderzz18 марта 2011
    0

    жудко тормазнутая штука. возвращаюсь в 3ю версию

    skyderzz avatar
    skyderzz18 марта 2011
    0

    @skyderzz, невозможно писать код. дуплит после каждого нажатого символа (с автокомплитом видемо прогнали где то. ведь в 3м он нормально работает)

    Никита Дёнин avatar
    Никита Дёнин18 марта 2011
    0

    @skyderzz, Ноут/компьютер старый или новый? Как я писал в обзоре, у меня старый ноут, и тем не менее Xcode 3 работает как часы.

    skyderzz avatar
    skyderzz18 марта 2011
    0

    @Никита Дёнин, core 2 duo 2.4 2g mem

    Никита Дёнин avatar
    Никита Дёнин18 марта 2011
    0

    @skyderzz, Да, даже на такой железке тормоза непростительны. Поэтому откатился на 3.2.6.

    Afx40 avatar
    Afx4018 марта 2011
    0

    Если поотключать к лешему всякие live issues, quick help и проч. прибамбасы, которые жрут процессор, то работать можно. Правда у меня в resource editor-е постоянно задумывалась очень надолго, но это там явно какая-то ошибка.

    Не подскажите случайно, как вернуть диалог при запуске с перечислением задач, последних проектов и пр? А то я ляпнул по “больше не показывать”, он и не показывает. В preferences кнопка сброса этих самых “больше не показывать” не помогает. А в com.Apple.Xcode.plist сам черт ногу сломит :(

    Никита Дёнин avatar
    Никита Дёнин18 марта 2011
    0

    @Afx40, Мне не помогло отключение всех возможных плюшек, тормоза оставались. А про экран уже не подскажу ― уже снёс четвёрку.

    Afx40 avatar
    Afx4018 марта 2011
    0

    @Никита Дёнин, зря. Все равно придется на нее переходить рано или поздно. Стив так решил.

    Никита Дёнин avatar
    Никита Дёнин18 марта 2011
    0

    @Afx40, Это да. Но было бы неплохо допилить.

    i.band avatar
    i.band18 марта 2011
    0

    Тормозит почти незаметно (MPB C2D 2.5GHz 3Gb RAM), но оперативки кушает как-то несоизмеримо много. И если просто проект занимает от 130Мб, то когда открываешь документацию, которая сейчас в репозитории — возрастает до 500Мб, а если еще и поискать что-нибудь, то 700–900Мб RAM влегкую. Самое странное, — эта проблема была еще с первого preview.

    Xcode 3 для сравнения редко, очень редко превышал 500Mb RAM.

  2. ilya280 avatar
    ilya28018 марта 2011
    0

    а мне понравился Xcode 4, намного удобнее третей версии

    eshorkin avatar
    eshorkin19 марта 2011
    0

    @ilya280, Ты видимо прогаешь хеллоу ворлд, а там ничего особенного и не надо.))

  3. mmicha avatar
    mmicha18 марта 2011
    0

    Будем читать мануалы и привыкать, непривычно не значит плохо.

  4. Даниал Сиддики avatar
    Даниал Сиддики18 марта 2011
    0

    Вау!
    Никита пиши еще обзоры новых Xcode!
    И побольше бы скринов

    Никита Дёнин avatar
    Никита Дёнин18 марта 2011
    0

    @Даниал Сиддики, Спасибо, буду стараться. Есть одна проблема: до выхода из статуса GM Seed все продукты Apple находятся под NDA.

    Drunky_ avatar
    Drunky_19 марта 2011
    0

    @Никита Дёнин, что эта новость делает на iPhones.ru? Здесь же 98% читателей школота, ни одного слова не поняли

    Никита Дёнин avatar
    Никита Дёнин19 марта 2011
    0

    @Drunky_, Оставшиеся 2% прочитают.

    eshorkin avatar
    eshorkin19 марта 2011
    0

    @Никита Дёнин, И еще 5% школоты установит и попробует че-нить написать

    finick95 avatar
    finick9519 марта 2011
    0

    @eshorkin, Разве это плохо?

    Даниал Сиддики avatar
    Даниал Сиддики19 марта 2011
    0

    @Drunky_, Вы совсем что ли того?
    Да ребенок если заинтересуется, то он такое напишет!
    Тем более некоторые в 14 даже пишут
    Если ребенку интересно разрабатывать приложения, то он будет начинать сколько бы ему не было лет
    Даже деньги не нужны, хакинтош,xcode с рутрекера
    Ну только сертификат на $100

  5. v666ok avatar
    v666ok18 марта 2011
    0

    У МЕНЯ ПОЧЕМУТО ВЕСИТ В КОНЦЕ НА УСТАНОВКИ ЧАСОВ 5 ПРОЖДАЛ ТОЛКУ , МБ МОЖНО КАКТО ИСПРАВИТЬ ПОСТОЯННО УСТАНОВКА ВСТАЕТ

    shimapa avatar
    shimapa18 марта 2011
    0

    @v666ok,
    на самом деле все устанавливается!
    Найдите файл “Install Xcode”.

    Правый клик и выберите “Show Content”.

    Идите в Contents > Resources и двойной клик на Xcode and iOS SDK.mpkg.

  6. Afx40 avatar
    Afx4018 марта 2011
    0

    И еще, может быть кто-нибудь знает, в чем гениальность задумки с переименованием старого в Developer-old? Все SDK приходится копировать в новый Developer вручную, потом еще 10 раз перезапустить Xcode, что бы он их увидел.

    Никита Дёнин avatar
    Никита Дёнин18 марта 2011
    0

    @Afx40, Чтобы ничего не потерять. Хотя я обычно делаю так:

    /Developer/Library/uninstall-devtools –mode=all
    Перезагрузка
    Установка нового SDK

  7. DiMithras avatar
    DiMithras18 марта 2011
    0

    Хороший обзор! Спасибо.

    Никита Дёнин avatar
    Никита Дёнин18 марта 2011
    0

    @DiMithras, Спасибо за то, что читаете :-)

  8. DemonSoftII avatar
    DemonSoftII18 марта 2011
    0

    А отладчик такой же тупой как и в 3-м?

    Никита Дёнин avatar
    Никита Дёнин18 марта 2011
    0

    @DemonSoftII, А чем он тупой? Хороший отладчик gdb.

    Ma Wugui avatar
    Ma Wugui19 марта 2011
    0

    @Никита Дёнин, У Вижуал Студио лучше на порядок.

    druid3d avatar
    druid3d19 марта 2011
    0

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

    Afx40 avatar
    Afx4019 марта 2011
    0

    @druid3d, +1. Только что налетел на жучину, которая была еще в версии 2.1 – отладчик останавливается не там, при пошаговом исполнении прыгает не по тем строчкам. Видимо кого-то в Apple заела ностальгия по старым багам.

    И я наверное совсем идиот, но так и не понял, как там посмотреть содержимое куска памяти. Вообще отладчик в Xcode традиционно крайне неудобный.

  9. finick95 avatar
    finick9518 марта 2011
    0

    В этом плане мне не нравится политика Эппл. Как кодить для айфона, не покупая Мак? Черз жопу.

    Drunky_ avatar
    Drunky_19 марта 2011
    0

    @finick95, тебе еще рано “кодить”

    finick95 avatar
    finick9519 марта 2011
    0

    @Drunky_, как раз самое время. На Objective C потренироваться, пару идей проверить.

    Никита Дёнин avatar
    Никита Дёнин19 марта 2011
    0

    @finick95, Никак.

    finick95 avatar
    finick9519 марта 2011
    0

    @Никита Дёнин, на рутрекере выкладывали какие-то решения, но все кривые до жути.
    Или нужен мощный компьютер, чтобы установить Хакинтош

    Никита Дёнин avatar
    Никита Дёнин19 марта 2011
    0

    @finick95, Когда были прошивки 1.1.x, я собирал тулчейн под Linux и создавал проекты с его помощью.

  10. Phoenix avatar
    Phoenix19 марта 2011
    0

    Судя по написаному, XCode начинает быть похожим на Visual Studio. Что ж, в добрый путь. Здесь Apple в числе догоняющих.

  11. Entze avatar
    Entze19 марта 2011
    0

    Да уж. Теперь под виртуалкой людям не покодить?

  12. DaZzBouRGh avatar
    DaZzBouRGh19 марта 2011
    0

    В последнем абзаце ошибка: “ситуация улучшиться”. 3-е лицо, а не инфинитив ;)

    Никита Дёнин avatar
    Никита Дёнин19 марта 2011
    0

    @DaZzBouRGh, Менял структуру предложения, забыл исправить :-) Спасибо!

  13. artbasil avatar
    artbasil19 марта 2011
    0

    Пока писали статью, Xcode 4 успел выйти из статуса GM. С 9го марта это уже полноценный релиз.
    Мне понравился прикол со встроенным Git repo. Очень удобно, не надо svn на компе разворачивать. Если бы еще коммит при каждом сохранении происходил, вообще красиво было бы. Кстати с Subversion работает пока криво.
    В общем работать полноценно в нем пока не получается. Будем надеяться за год его допилят и можно будет перейти. Хотя есть подозрения что заставят перейти на него гораздо раньше. С выходом Mac OSX Lion и iOS 5.0 SDK перестанут поставлять Xcode версии 3.x и все, никуда мы не денемся с подводной лодки :))))

  14. zanzy avatar
    zanzy19 марта 2011
    0

    Солидарен с автором xcode 4 не радует, остаюсь на 3.2.6

  15. zanzy avatar
    zanzy19 марта 2011
    0

    А за обзор спасибо, побольше бы такого контента!

    Никита Дёнин avatar
    Никита Дёнин19 марта 2011
    0

    @zanzy, Предлагайте темы.

  16. Ma Wugui avatar
    Ma Wugui19 марта 2011
    0

    Ещё xCode4 не поддерживает Design – диаграммы классов и прочее, которые весьма полезны при работе с большими проектами.
    Поэтому пока что остаюсь на 3-й версии.
    Да и git-ом пользоваться больше привык вручную – с несколькими ветками обычно работаю.

    Ma Wugui avatar
    Ma Wugui19 марта 2011
    0

    ЗЫ Спасибо за обзор!

    Никита Дёнин avatar
    Никита Дёнин19 марта 2011
    0

    @Ma Wugui, Я диаграммами классов практически не пользовался, поэтому не особо расстроился их отсутствию в новой версии. А интеграция с git — это хорошо, хотя руками из консоли привычнее, да.

  17. VyacheslavK avatar
    VyacheslavK19 марта 2011
    0

    За труд конечноже большое спасибо, но все таки сыровата пока еще xcode 4. Не привычное подключение библиотек и прочие навороты которые от части усложнили работу))
    Остаюсь на 3ке пока вместе с Lion не выйдет Xcode 4.1 может чего и изменять в лучшую сторону.

  18. zverev avatar
    zverev19 марта 2011
    0

    Лучшеб они анлок выпустили!

    Сори, не смог удержаться))))))))))

    daffna avatar
    daffna19 марта 2011
    0

    @zverev, про школоту все верно писали. apple сами для себя анлок…АГА ?

  19. qsimple avatar
    qsimple19 марта 2011
    0

    можно поставить жесты многозадачности на ipad через xcode 4

    beavis avatar
    beavis19 марта 2011
    0

    @qsimple, што

    qsimple avatar
    qsimple20 марта 2011
    0

    @beavis
    делал так что в меню Ipad на 4.3 появлялась возможность использовать жесты многозадачности
    те что были в бета версиях

    http://www.youtube.com/watch?v=mIvRzQCnDe0

  20. Владислав Коротнев avatar
    0

    Ну что-то вы его по полной обосрали. DerivedData отключается, не тормозит, и это на MacBook pro Late2006.

  21. iMarchelo avatar
    iMarchelo19 марта 2011
    0

    Dxthf вечером купил Xcode, до сих пор не загрузилась прога, процентов пять только всего! На инет не пенять – скорость нормальная, раздают почему то очень медленно.

    iMarchelo avatar
    iMarchelo19 марта 2011
    0

    Отменил загрузку и начал загружать заново – вроде пошло.

  22. DomenER avatar
    DomenER19 марта 2011
    0

    Как мне показалось, некоторые вещи пришли из Microsoft Visual Studio…

  23. Kustiks avatar
    Kustiks19 марта 2011
    0

    А кто-нибудь пробовал ставить 3.2.6 в параллель с уже установленной четверкой? Как бы так поставить, стобы обе версии жили дружно?

    artbasil avatar
    artbasil19 марта 2011
    0

    @Kustiks, Просто поставить их в разные каталоги. Например 3.2.6 в Developer а 4 в Xcode4. У меня так живут.

  24. Entze avatar
    Entze19 марта 2011
    0

    Если интересно – на рутрекере есть комплект из виртуальной машины 10.6.6 с 3 Xcode. Сама машина работает стабильно (у меня). Сеть, звук, экран – все нормально. Побаловаться и понять надо ли – хватит. Размер правда великоват – 27 гигов в развернутом виде, но самостоятельная сборка будет не сильно меньше и с ней будет больше возни. Но под разработку надо нормальный мак.

  25. Xiting avatar
    Xiting19 марта 2011
    0

    Посоветуйте пожалуйста книгу самоучитель для обучению программирования, пожалуйста, хочу попробовать.

    Артур Малосиев avatar
    Артур Малосиев20 марта 2011
    0

    @Xiting, начни отсюда.

  26. real avatar
    real19 марта 2011
    0

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

  27. Umberhulk avatar
    Umberhulk20 марта 2011
    0

    Обзор + комментарии вместе составляют точный пейзаж отечественной индустрии разработки. Никто не RTFMит пока не припрёт. Уровень знаний стремится к нулю. Ребят, вам зачем XCode вообще? Если вы не способны освоить документированные азы IDE, о программировании можете забыть.

    1. Автор не понял что такое схема вообще. Схема может содержать и release и debug и distribution и много чего ещё. Когда нажимаешь жирную кнопку Action то запускаешь ВСЮ схему, выполняешь все её шаги. Нужен один билд? Смотри меню Product. Например, можно сделать билд только для запуска на подключённом девайсе, не пересоздавая других билдов. У каждого из элементов схемы ЛЕГКО настраивается нужный режим сборки debug/release.

    2. Тормозит компиляция. Понимаю, что можно быть не в курсе того, что XCode не занимается компиляцией вообще, он просто запускает компилятор из командной строки. И что один из компиляторов остался из старой версии. Но когда время вырастает больше чем в 2 раза, может стоит потратить пару минут на чтение Getting Started и понять что запуск схемы != компиляции одного билда?

    3. Билды кладутся не туда. Ога, и в настройках есть такой такая совершенно неочевидного назначения закладка locations (может, чтобы следить за расположением компа?!) с совершенно непонятным переключателем build location.

    4. Изменились кнопки. Мля. Это минус, типа. Причём, не важно как изменились, непривычно значит плохо, и всё тут. Ну вот вам ещё минус тогда: добавились жесты с малтитач трэкпадов. Ужос, как теперь жить?!

    5. Логи выполнения (и сборки) нефига не очищаются автоматически ()автор хотел сказать что это плюс, но для многих минус). Они сохраняются в истории, а на каждую операцию даётся новый.

    6. Не рассказано очень много. ОЧЕНЬ МНОГО. ВАЖНОГО.

    RTFM. А до тех пор пишите обзоры чехольчиков.

    LiS avatar
    LiS20 марта 2011
    0

    @Umberhulk, полностью согласен. Статья на обзор ну никак не тянет. Может быть, “XCode 4. Первые впечатления” было бы более верным названием. А полноценный обзор, я боюсь, поместится частей в семь, не меньше.

    Лично меня порадовало, что после установки XCode автоматом сконфигурировал все профили, подтянул все сертификаты и теперь приложение можно отправить на рецензию в три клика – Archive-Verify-Upload. Это ли не одно из классных нововведений, о котором нужно упомянуть?

    LiS avatar
    LiS20 марта 2011
    0

    @Umberhulk, О том, что теперь XCode позволяет делать “снимки” приложения без использования репозиториев, может делать их самостоятельно и умеет нормально работать с SVN, тоже ни слова.

    real avatar
    real20 марта 2011
    0

    @LiS, четвертый хкод не умеет нормально работать с свн, да, графический интерфейс допилили по сравнению с третьим, но стабильность оставляет желать лучшего, переодические вылеты оболочки из-за обновления файла проекта – это не серъезно

    LiS avatar
    LiS21 марта 2011
    0

    @real, да, я уж и забыл про вылеты. Вероятно потому, что в ходе экспериментов несколько раз перенастроил подключения и в результате волшебным образом вылеты прекратились. Оказалось, что всего-то нужно было RTFM и сделать всё чётко по этому самому FM. Но когда я говорил, что Xcode умеет работать с svn, имелось ввиду создание, переключение и слияние веток, создание множественных рабочих копий и просмотр изменений перед коммитом. Немного, но это послужило поводом к отказу от поиска стороннего клиента для работы с svn.

    real avatar
    real21 марта 2011
    0

    @LiS, то что вы не сталкивались с такой ситуацией ещё не означает что такой проблемы не существует и дело совсем не в rtfm

  28. iru avatar
    iru20 марта 2011
    0

    разлочка для 4 и 3GS на ios 4.3 с помощью Sn0wbreeze 2.3b4 вышла

    vladgrizzly avatar
    vladgrizzly20 марта 2011
    0

    @iru, дайте ссылку

  29. progn avatar
    progn21 марта 2011
    0

    не указана очень важная вещь, Apple наконец допилила LLVM + Clang (если по простому очень перспективный компилятор, который может заминить GCC) до вменяемого состояния и теперь эта связка предлагается по умолчанию

Вы должны авторизоваться или зарегистрироваться для комментирования.

Нашли орфографическую ошибку в новости?

Выделите ее мышью и нажмите Ctrl+Enter.

Как установить аватар в комментариях?

Ответ вот здесь