BWTToolkit (http://brandonwalkin.com/bwtoolkit/), судя по скриншотам --
классная штука. Дают тебе нужные контролы, которые Apple "забыла",
прямо в IB. Не надо писать код, что очень хорошо.
НО. Судя по опыту Delphi, наличие в проекте каких-нибудь "внешних"
вещей (для того, чтобы открыть .xib придется устанавливать эти
плагины), просто голову ломают при попытке скомпилировать проект, или
передать его кому-нибудь. Кроме того, часто компоненты просто
отказывались работать при переходе на свежии версии Delphi...
Так что я пока воздерживаюсь от использования IB плагинов. Гораздо
проще напихать обычных контролов и сабклассить их для получения
нужного результата.
А вы что думаете?
-- Дмитрий Честных.
Гораздо приятнее, когда ты берешь проект, открываешь его в Xcode,
жмешь Build -- и он работает.
Я вот, например, в неделю скачиваю один-два каких-нибудь опенсорсных
проекта и смотрю как они работают. Если бы мне пришлось для каждого
ставить плагины для IB, был бы зоопарк, а не среда разработки :(
Не понимаю аналогии: при чем тут все руками vs интерфейс-форматы?
Давай определимся о чем мы говорим.
Я говорю про кастомные контролы, которые в Interface Builder, в
отличие от других редакторов интерфейса, создаются "объектно-
ориентированным путем": например, в окно кладется обычная кнопка. Ей
задается класс. Если этот класс прорисовывает кнопку, она будет
выглядить по-другому. Здесь нет абсолютно никакого кода для создания
контрола, помещения его в окно, расположения его относительно других
контролов, обработки действий (это Model-View-Controller, действиями
занимается controller, а не view) и прочего (что занимает *кучу*
времени) кроме непосредственной отрисовки (которая может состоять и из
одной строчки кода).
Плагины для IB содержат эти кастомные классы, но с тем отличием, что
они прорисовываются в IB "как живые" и у них могут быть свои свойства,
которые можно задать непосредственно в IB. Все это компонуется в одну
кучу и для использования требуют установки этого плагина.
Альтернатива (которая мне кажется предпочтительнее, и о которой я пишу
в предыдущих сообщениях): не устанавливать плагины для IB, а добавлять
нужные классы непосредственно в проект (теряя возможность лицезреть
контролы в IB так, как они будут отрисовываться на самом деле, но
сохраняя размеры, положение в окне и относительно других контролов и
т.п.).
-ДЧ
**в Interface Builder, в
отличие от других редакторов интерфейса, создаются "объектно-
ориентированным путем": например, в окно кладется обычная кнопка. Ей
задается класс. Если этот класс прорисовывает кнопку, она будет
выглядить по-другому. Здесь нет абсолютно никакого кода для создания
контрола, помещения его в окно, расположения его относительно других
контролов, обработки действий (это Model-View-Controller, действиями
занимается controller, а не view) и прочего (что занимает *кучу*
времени) кроме непосредственной отрисовки (которая может состоять и
из
одной строчки кода).**
:-)