2015-09-01 2 views
0

Меня смущает «компонентность» веб-интерфейса. Если у меня есть потребность в компоненте, я должен написать свой собственный jQuery-ui-плагин, или я должен писать, если я использую Backbone.Marionette, MarionetteComponent?Когда использовать jQuery-ui plugin vs Backbone View?

Оба могут быть повторно использованы, изолированы единицу зрения и поведения. Таким образом, они концептуально сражаются и конкурируют на одном уровне.

Так что я действительно не вижу, когда создавать то или другое. jQuery кажется более универсальным, но разработчики склонны писать MarionetteViews/Component.

ответ

1

Если вы хотите использовать свой компонент ui в самых возможных ситуациях, вы можете сделать свой компонент без связи ни с jquery-ui, ни с опорным.

Если вы хотите сделать свой компонент более надежным в будущем (да, я мечтатель), вы можете сделать его общим, и вы можете попытаться реализовать его с помощью синтаксиса модуля AMD, CommonJS или ES6. проверьте, например, https://medium.com/@brianleroux/es6-modules-amd-and-commonjs-c1acefbe6fc0

Преимущество этого в том, что любой может использовать его с помощью React, Angular, [put here other future framework] или vanilla JS.

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

1

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

С другой стороны, есть библиотека jquery, главная цель которой - абстрагировать операции над DOM, чтобы можно было скрывать специфику браузера и обеспечить более удобный интерфейс. Конечно, у jquery есть намного более полезные примитивы, но он не говорит, как структурировать ваш код.

Если вы решили использовать Backbone, вы должны написать свои компоненты как MarioneteComponents, чтобы они хорошо вписывались в Backbone. Даже если вы пишете его как компонент jquery (или вам нужно использовать уже существующий компонент), вы можете создать оболочку для Backbone, но это дополнительная работа.

Если вы хотите сделать действительно повторно используемый компонент, вы должны написать его с помощью vanilla js. После этого каждый может создать оболочку, которая будет адаптировать ее для конкретной структуры.

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