Я работаю над Javascript-приложением, предназначенным для работы на iPhone / iPad. Он также работает во всех браузерах Webkit (Safari + Chrome).
У меня есть самодельная инфраструктура MVC, состоящая из множества файлов JavaScript: по одному на каждое представление, по одному на каждый контроллер, множество классов-помощников.
У меня также есть куча файлов LESS, по одному «основному», включая каждый файл LESS для каждого представления (например, если у меня есть UIListView.js, у меня также есть UIListView.less).
В настоящее время я работаю с MacVim и Less.app и выполняю тесты на симуляторах iPhone / iPad, на реальных iPhone / iPad, а иногда и на Safari или Chrome, когда мне действительно необходимо выполнить «хардкорную» отладку с помощью инструментов разработчика. Все мои файлы хранятся в моей папке ~/Sites/projectX
, которую я просматриваю, используя встроенный веб-сервер моего Mac.
Это нормально при разработке, у меня есть много маленьких файлов, на которые ссылается мой index.htm, но это не имеет значения, так как я нахожусь в моей внутренней сети через WiFi.
Чего я хотел бы добиться, так это более «проектно-ориентированного» подхода. Так же, как при разработке проекта iOS для XCode, я хотел бы использовать XCode для всех своих потребностей в разработке, хранить все мои исходные файлы в каталоге отдельно от ~/Sites
, скажем ~/Desktop/projectX
. Я хотел бы иметь две конфигурации (отладочную и выпускную) для использования с «Построить и запустить»:
конфигурация "debug" просто скомпилирует основной файл .less (который включает в себя все небольшие файлы .less), скопирует файл JS + CSS + HTM в какой-то каталог (~ / Sites / projectX_debug) вместе со всеми графическими ресурсами. Затем, в зависимости от выбранной «субконфигурации», запустите iPhone Simulator, iPad Simulator, Safari или Chrome, очистите его кеш (через AppleScript?) И откройте index.htm
конфигурация "release", которая склеивает все файлы JS и минимизирует их, компилирует и минимизирует файл .less, изменяет index.htm для ссылки только на склеенный JS, а затем оптимизирует все PNG с помощью pngout / pngcrush / что угодно перед отправкой всего архива в локальный каталог (~ / Sites / projectX_release) или по sftp на мой рабочий сервер.
Полагаю, что я смогу добиться, если не всего, но большей части этого, используя фазы сборки XCode 4, возможно, используя make-файлы GNU или какой-то препроцессор, но я не знаю, с чего начать.
Кто-то уже имеет такую настройку для использования XCode для чего-то другого, кроме разработки для Mac / iOS, но все еще использует "классическую" концепцию фаз сборки / make-файлов, традиционную для большинства IDE?
(Приемлемым обходным решением было бы просто создать сценарий bash, чтобы справиться с этим - я уже могу сам управлять им, но мне бы очень хотелось использовать встроенные функции XCode и просто нажать Cmd-R для «компиляции» и запустить мой проект в режиме отладки).