Подтвердить что ты не робот

Каковы ваши лучшие практики для проектов backbone.js?

Хотя я слежу за backbone.js в течение нескольких месяцев и работал с множеством обучающих программ, я все еще недостаточно уверен в магистрали (или моих навыках), чтобы использовать его в более крупном проекте.

Мой опыт в том, что учебные пособия backbone.js сильно различаются по качеству, некоторые из них ужасно устарели (особенно примерное приложение todo из базовых документов).

Итак, я хотел бы узнать о ваших лучших методах/рецептах backbone.js? Как вы обрабатываете вложенные коллекции/представления? Сериализация JSON? Более сложные запросы между моделями?

4b9b3361

Ответ 1

Вот список вопросов, которые вы, кажется, задали:

лучшие методы/рецепты backbone.js
Моя первая практика/рецепт - это погрузиться в код backbone.js и прочитать его, пропустив его с помощью js-отладчика. Код хорошо документирован и является отличным примером того, каким должен быть современный JS-код.

Как вы обрабатываете вложенные коллекции/представления?
Afaik нет "простого способа" для обработки вложенных коллекций и обработки событий, которые происходят в подсетей. Вы должны его реализовать. Мне еще не приходилось иметь дело с коллекцией коллекций, но, возможно, вы можете избежать этого, реструктурируя свою "модель данных". Модель, которая имеет набор моделей сама по себе, удовлетворяет большинству требований вложенной модели.

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

Сериализация JSON
Каков твой вопрос? В базовом документе говорится, что "настоятельно рекомендуется включать json2.js"

Более сложные запросы между моделями?
Опять же, каков ваш вопрос? Магистральная структура предоставляет вам структуру для выполнения своей собственной работы, вы должны сами реализовать свои сложности.

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

Наследование модели
Используя backbone.js, вы уже используете наследование модели. Это то, что происходит, когда вы пишете var MyModel = Backbone.Model.extend...

Извините, что не вдаваясь в подробности, но, как сказал Томас Дэвис, вопросы были очень расплывчатыми. Вы получите более подробный ответ на более подробный вопрос, описывающий конкретную проблему, с которой вы сталкиваетесь.

Ответ 2

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

http://ricostacruz.com/backbone-patterns/

http://kilon.org/blog/2012/11/3-tips-for-writing-better-backbone-views/

http://blog.involver.com/2012/01/26/testing-backbone-js-best-practices-2/

http://lostechies.com/derickbailey/2011/09/15/zombies-run-managing-page-transitions-in-backbone-apps/ (устаревшее решение, но очень важно читать и понимать!!)

https://github.com/thomasdao/Backbone-View-Manager

Мне хотелось бы, чтобы это было с самого начала.

Ура!

Ответ 3

Я думаю, что вопросы немного расплывчаты, чтобы ответить на простой пост.

Я приближаюсь к завершению полного веб-приложения, сделанного в Backbone.js, и также хотел бы обсудить эти лучшие практики, чтобы я мог быстро пересмотреть некоторые варианты перед запуском.

В настоящий момент я работаю над backbonetutorials.com, чтобы попробовать вместе собрать эти более сложные вопросы.

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

Ответ 4

При разработке приложений на базе Backbone.js вы можете позаботиться о нескольких вещах. Например:

  • Пользовательские плагины и микшины
  • Вложенные представления/Подвыборы
  • Обновление частичного просмотра
  • Управление шаблонами - сохранение, предварительная компиляция на лицевой и задней сторонах.
  • Сериализация моделей
  • Модель реляционных данных
  • Использование диспетчера событий
  • Subrouting
  • Крупномасштабная архитектура приложений и т.д.

Есть много других концепций, которые необходимы для разработки одностраничных приложений на базе Backbone.js. Вы можете попробовать мою книгу Backbone.js Шаблоны и лучшие практики, в которой подробно рассматриваются все эти моменты.