… И не забывайте ОТДЫХАТЬ

‹Somewhat_unrelated› Это никого не должно удивлять, но очень важна правильная осанка, когда вы сидите в кресле в течение многих часов. Возьмите поясничную подушку (эта довольно классная), часто растягивайтесь и просто время от времени проверяйте свою осанку. Это могло бы спасти вас от ужасной недели, подобной той, которую я только что пережил. Временный паралич и множество перевязок. ‹/Somewhat_unrelated›

В любом случае, настоящая цель моего самоанализа здесь сегодня - это еще одна библиотека Javascript, которую, как я думал, я попробую. Это не такая безумная идея, как заработать Go за 3 часа, но, возможно, это уже начало. Это будет беглый взгляд на основы Backbone.js и исследование параллелей между ним и другими библиотеками, ориентированными на MVC.

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

Я смоделирую некоторые из этих животрепещущих вопросов для вашего рассмотрения и собственного развлечения:

"Почему ты снова делаешь это с собой, чувак?"

Во-первых, ты меня не знаешь, хорошо? OK!?

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

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

Следующий вопрос.

"Эээ, что ... это?"

Так рада, что вы спросили. Backbone - это библиотека, предназначенная для одностраничных приложений Javascript. Как и Rails для Ruby, Backbone позволяет вам создавать полностью REST-полнофункциональный API, который работает во внешнем интерфейсе, без необходимости писать код вне старого доброго JS. Это обеспечивает гибкость JS-функций внутри компактного пакета моделей.

На первый взгляд Backbone выглядит как лучший переводчик между внешними и внутренними приложениями. Он очень хорошо организует код во внешнем интерфейсе, используя часть Models модифицированной схемы MVC (Model, View, Collection). Здесь часть представлений служит больше целям, чем в наших приложениях RoR API, чтобы сузить множество незакрепленных концов. Подробнее об этом позже.

По общему признанию, Backbone никоим образом не является новой или передовой технологией. Первоначальный выпуск был выпущен еще в 2010 году. Фактически, он считается «унаследованным» с точки зрения того, как он развивался с годами, но это нормально. Есть еще множество компаний, которые используют его для лучшей организации, когда дело доходит до маршрутизации и разделения содержимого модели.

Продолжайте идти.

"Ретро! Вы можете объяснить, как это работает? »

Ага, конечно. Я сделаю все, что в моих силах. Начнем с моделей. В моделях хранится основная часть данных нашего приложения, вводимых пользователем, и необработанных умственных способностей. Их можно сравнить аналогично моделям, используемым в Rails. Они организуют данные по мере их перехода от одной функции к другой. Он также отвечает за обнаружение изменений, внесенных в данные, и вставку правильного значения в DOM.

Тогда у вас есть взгляды. Представления также можно сравнить с его аналогом в Rails: представлениями. Это фрагмент данных, который пользователь видит, манипулирует, затем передает модели, чтобы она была организована, обновлена, а затем отправлена ​​пользователю в ответ. И цикл продолжается ...

Для части MVC «C», а не «Контроллеров» Rails, наши модели более или менее выполняют весь контроль за нас. Co C здесь означает Коллекции. По сути, это группы моделей, связанных с представлением, которые были собраны вместе. Коллекции заботятся об инкапсуляции всей этой логики и данных за нас.

Коллекции моделей и представлений вызываются модулем внутри библиотеки, которые называются просто событиями. События используют методы триггеров для выполнения функций обратного вызова и говорят нашему приложению запустить определенный метод в коллекции, обновить нашу базу данных, а затем отправить ответ прямо в представление. Модуль событий содержит встроенные методы, помеченные как: «on», «off», «trigger», «once» и «listenTo». Все они принимают обратные вызовы, которые позволяют вам лучше определить, какое действие происходит, когда пользователь нажимает на конкретную отзывчивую тему.

Хорошо, у меня есть время еще на одну.

«Зачем мне это нужно? ‹REDACTED› почти все уже делает ».

На самом деле, для того, чтобы прибраться. Backbone берет на себя некоторые из наиболее монотонных задач в JS и уплотняет их в API-подобную REST-полную структуру, к которой вы можете выполнять вызовы из внешнего интерфейса, что круто. Модели могут помочь нам сократить количество обращений к DOM в нашем JS-приложении, делая скорость более приоритетной. Backbone может действовать как посредник между необработанным ответом JSON от бэкэнда и тем, как он становится читаемым на передней панели. Это почти как ваш личный органайзер для этих задач.

Наличие Backbone в вашем проекте по-прежнему позволяет вам делать запросы к другим API, и на самом деле имеет для этого простой интерфейс. Это работает путем создания модели, которая отправляет простой запрос по назначенному маршруту, установленному в бэкэнде, и позволяет запускать событие и делать всех счастливыми.

Что ж, я надеюсь, что мы рассмотрели здесь достаточно, чтобы немного соков и интереса распространились по Backbone.

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

Сейчас хорошее время, чтобы встать, потянуться, пойти прогуляться, потянуться еще - знаете что, просто сходите на хиропрактику, чтобы быть в безопасности. Носите корректор осанки вечно и никогда не старейте, пожалуйста.

Давай, давай.

Теперь, когда я знаю несколько несущественных вещей по этому поводу, следующим естественным шагом будет вхождение в некоторый код и включение этой новой / старой технологии в красивое и простое одностраничное приложение. Если вы читаете это и хотели бы узнать что-нибудь из этого вместе, возможно, пообщайтесь и небрежно создайте приложение, которое когда-нибудь изменит мир, во что бы то ни стало, напишите мне по адресу: [email protected]. Давайте сделаем это.

Источники:

Документы

Учебники

Интеграция с Rails