Использовать Xcode как JavaScript IDE, возможно?

Я работаю над Javascript-интенсивным веб-приложением, предназначенным для работы на iPhone/iPad. Он также работает во всех браузерах Webkit (Safari + Chrome).

у меня есть домашняя структура MVC, состоящая из многих файлов JavaScript: по одному для каждого представления, по одному для каждого контроллера, много "вспомогательных" классов.

у меня также есть куча меньше файлов, один "основной", включая каждый меньше файлов для каждого представления (например. если у меня есть UIListView.js, у меня также есть UIListView.менее.)

В настоящее время я работаю с MacVim и меньше.app, и делать тесты на обоих iPhone / iPad симуляторах, реальных iPhone / iPads, а иногда и Safari или Chrome, когда мне действительно нужно сделать "хардкорную" отладку с помощью инструментов разработчика. Все мои файлы хранятся в моем ~/Sites/projectX папка, которую я просматриваю с помощью встроенного веб-сервера моего Mac.

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

то, что я хотел бы достичь,-это более "проектно-ориентированный" подход. Так же, как при разработке проекта iOS в Xcode, я хотел бы использовать XCode для всех моих потребностей в разработке, держите все мои исходные файлы в каталоге отдельно от ~/Sites, сказал ~/Desktop/projectX. Я хотел бы иметь две конфигурации (debug и release) для использования с "Build and run":

  • конфигурация "debug" просто скомпилирует main .меньше файла (который включает все small .меньше файлов), скопируйте JS + CSS + HTM файл в некоторый каталог (~/Sites / projectX_debug), вместе со всеми графическими ресурсами. Затем, в зависимости от выбранной "под-конфигурации", запустите симулятор iPhone, симулятор iPad, Safari или Chrome, очистите его кэш (через AppleScript?) и откройте указатель.НТМ

  • конфигурация "release", которая склеивает все js-файлы вместе и минимизирует их, компилирует и минимизирует .меньше файлов, измените индекс.htm ссылаться только на склеенные JS, а затем оптимизировать все PNGs с pngout/pngcrush/whatever перед отправкой всего архива в локальный каталог (~/Sites / projectX_release) или sftp на мой производственный сервер.

Я считаю, что могу достичь, если не все, но большинство из этого, используя фазы сборки XCode 4, возможно, используя GNU makefiles или какой-то препроцессор, но я потерян в том, с чего начать.

У кого-то уже есть такая настройка для использования Xcode для чего-то другого, чем разработка Mac/iOS, но все же используя "классическую" концепцию этапов сборки / makefiles, традиционную для большинства IDE?

(приемлемым обходным путем было бы просто создать скрипт bash для обработки этого - я уже могу управлять им сам, но я бы очень хотел использовать интегрированные функции XCode и просто нажать Cmd-R для "компиляции" и запуска моего проекта в режиме отладки).


1 ответов


Я буду стараться, и шаг через вещи, которые вы должны сделать...

конфигурация "debug" просто скомпилирует main .меньше файла (который включает в себя все маленькие .меньше файлов),

  • Я бы создал правило сборки для обработки .меньше файлов, используйте скрипт для их компиляции.

скопируйте файл JS + CSS + HTM в некоторый каталог (~/Sites / projectX_debug), а также все графические ресурсы. Тогда в зависимости от выбрана "под-конфигурация", запуск либо симулятор iPhone, симулятор iPad, Safari или Chrome, очистить кэш (через AppleScript?) и откройте указатель.НТМ

  • для этого вам просто нужно добавить свои файлы в фазу копирования в разделе "фазы сборки".
  • вы можете установить каталог сборки в разделе "настройки сборки" вашей цели (~/Sites / projectX_debug, если хотите).

конфигурация "release", которая будет склеивать все файлы JS вместе и minify их компилируют и минимизируют .меньше файлов, измените индекс.htm в ссылка только на склеенный JS, а затем оптимизировать все PNGs с pngout/pngcrush / что угодно перед отправкой всего архива на локальный каталог (~/Sites / projectX_release) или sftp для моего производства сервер.

  • для этой части вы можете создать новую цель и добавить различные правила и настройки.

или

Если выше тоже сложно:

  1. напишите два сценария bash.
  2. сделать две цели.
  3. добавьте свой скрипт bash в качестве фазы сборки в каждой цели.

надеюсь, это поможет.