Каков рекомендуемый способ организации больших проектов sproutcore?


Я просто смотрю на Sproutcore (gem версии 1.6.0.1), чтобы посмотреть, что я могу с ним сделать.. так что извини за вопросы новичка...

Я просмотрел учебник и посмотрел на мини-сайт doc.

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

У меня заметил, что если я добавляю еще один файл js, он автоматически вставляется в проект, когда я загружаю приложение в браузере, но я сомневаюсь, в каком порядке эти файлы идут - в алфавитном порядке мой файл (тест.js) должны были быть включены до todos.js но это было не так.

Каков рекомендуемый подход к организации крупномасштабного приложения; есть ли какие-то рекомендации для этого?

Как ни странно, на сайте sproutcore ничего не было видно..

Что делать, если я хочу поделиться моделями между приложениями, это тоже возможно ?

Спасибо

1 3

1 ответ:

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

Введите описание изображения здесь

Итак, в корневом каталоге проекта есть apps dir, frameworks dir, а также Buildfile и README (другие вещи, которые вы видите, не нужны для sproutcore).

В директории apps вы видите главное приложение (в данном случае sudoku). Под ним, видите ли, каталоги, которые непосредственно относятся к объекты, которые вы собираетесь создать - источники данных, контроллеры, модели, представления, состояния и т. д....Если вы поместите более одного приложения в apps dir, вы можете получить доступ к обоим из localhost:4020/, т. е. localhost:4020/app1 vs localhost:4020/app2

Я не расширял frameworks dir, но в нем есть все фреймворки, которые использует проект. Поэтому, если вы хотите изменить sproutcore, вы можете поместить версию, которую вы используете, в фреймворки, и инструменты сборки будут использовать эту версию. Это хорошая идея, чтобы сделать ваш слой модели своей собственной структурой, так что вы можете использовать его с другие проекты, если хотите. Платформа модели должна быть полностью отделена от остальной части приложения; она должна предоставлять API, который будет использовать любое клиентское приложение.

В дальнейшем вы можете создавать другие каталоги под этими каталогами по своему усмотрению. Например, если у вас есть сложное приложение вокруг модели Person, вы можете создать каталоги person в разделе models, views, controllers, и т.д., а затем положить свой код в их.

Обратите внимание, что если у вас есть объект PersonController, то файл имя будет person.js согласно конвенции, но это зависит от вас.