2014-12-23 2 views
-2

У меня есть приложение symfony2, также поддерживающее REST. Я хотел бы услышать, было бы неплохо перейти к кривой обучения angularjs или придерживаться jQuery и twig. Похоже, что у ветви уже есть некоторые приятные черты, подобные тем, что есть в angularjs, таких как фильтры и прочее. Также, если я использую угловое значение, он нарушит MVC Symfon, так как у меня, скорее всего, будет меньше просмотров. С другой стороны, мне нравится отзывчивость углового, и это похоже на новую тенденцию. Можете ли вы перечислить некоторые плюсы и минусы в использовании углового в этой области?Twig + jQuery vs angularjs

Обновление Спасибо всем за подробные ответы, но я до сих пор отсутствует часть, где вы говорите angularjs не торможения на стороне сервера MVC. В типичном back-end MVC мы имеем подход снизу вверх, когда контроллер взаимодействует с моделью, чтобы подготовить данные для передачи в представление. Таким образом, мой PostController передаст список объектов Pot в представление и с помощью twig я могу красиво перебрать их и распечатать их свойства. При типичном угловом применении, хотя, наоборот. У нас есть подход сверху вниз, когда представление начинает с нуля и позже связывается с контроллером, чтобы получить необходимые данные (как правило, в формате JSON) для визуализации различных частей страницы.

ответ

6
  • Туиг на стороне сервера, в то время как AngularJS это на стороне клиента. Вы не можете реально сравнить его
  • AngularJS не нарушает Symfony MVC. Symfony просто служит другой цели: вместо предоставления полного приложения он предоставляет только API, который может использоваться angular.js
  • Если вы хотите использовать AngularJS, потому что это новая тенденция, не делайте этого. Нет смысла следить за трендом, если вам это не нужно.
  • AngularJS хорошо работает с Symfony.

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

0

AngularJS является полным MVC Framework WebApplication, в то время как JQuery больше, чтобы добавить функциональность яваскрипта к конкретным частям вашего сайта, с меньшим количеством кода ...

Угловая является отличным решением, но немного больше, чтобы узнать , в то время как JQuery немного меньше, чтобы узнать ...

это будет зависеть от ваших навыков и какой сайт вы хотите сделать ...

для большого WebApp я хотел бы предложить Угловое, для только некоторые JS enjmentsments jQuery

3

У меня есть приложение symfony2, также поддерживающее REST.

Я предполагаю, что вы имеете в виду, что вы создали RESTful управляемый данными api в Symfony, который использует xml/json или какой-либо другой формат данных, не ориентированный на данные? Если я не смущен этим введением, поскольку все веб-сайты перекрываются с REST в общем виде.

Хотелось бы услышать, было бы неплохо перейти по кривой обучения angularjs или придерживаться jQuery и twig.

До сих пор самый простой подход (если вы уже знакомы с Symfony), чтобы использовать Twig, чтобы сделать ваши взгляды и поперчить его с JQuery для визуализации динамических/асинхронной стороны клиента. Угловая добавляет больше концептуальных слоев, чем Twig. Например, он дублирует управление моделью в клиенте. Twig имеет очень низкий импеданс для отображения представлений в модели, тогда как для углового представления потребуется гораздо больше кода для управления этим отображением. В некоторых случаях эти развязанные представления из данных могут быть огромным благом, если его правильно спроектировать. Это зависит от потребностей вашей команды.

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

«Счастье», которое вы относите к Угловому, в значительной степени является произвольной функцией конкретной сложности html + css в данном контексте и величиной разницы между изменениями состояния. Если вы ставите основную нагрузку на рендеринг изображений на сервере или клиенте, вы можете правильно оптимизировать это решение, чтобы быть ненавязчивым для вашего пользователя. Проблема в том, с какой стороны уравнения вы хотите применить свои усилия по оптимизации?

Похоже, что у ветви уже есть некоторые приятные черты, похожие на углы, такие как фильтры и прочее. Кроме того, если я использую угловое значение, это нарушит MVC Symfony, так как у меня, скорее всего, будет меньше просмотров.

В целом дизайн Angular и Symfony несовместим по аналогии, за исключением семантики их представления рендеринга, что может ввести вас в заблуждение. Лучший способ решить, что лучше для вас и вашей команды, - попробовать их обоих.

Вы не нарушаете MVC Symfony в малейшей степени, используя Angular. По сути, представление представляет собой просто представление данных в соответствии с форматом, поэтому, независимо от того, отправляет ли ваш сервер данные JSON на Angular или имеет Twig, визуализируйте HTML на сервере, который вы все еще используете «V» подхода Symfony к MVC.

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

Если ваш пользовательский интерфейс очень документ/гипертекст привода (другие слова прозрачности по вопросам поисковых систем для вас) и вы используете менее дюжины асинхронных звонков по всему сайту вы почти наверняка имеете тенденцию к веточке + JQuery.

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

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

Единственное, что я могу сказать, это то, что если у вас есть какие-либо сомнения, вы, вероятно, захотите придерживаться twig/jquery, просто потому, что они очень хорошо поняты и проверены на практике и требуют намного меньше кривой обучения, если вы уже строите с Symfony.

0

Для меня TWIG и TWIG только с js/jQuery/Ajax/Json. На самом деле ничего не нужно. Я не вижу никаких преимуществ в соединении с Angular с Symfony, в то время как symfony предоставляет все, что является обязательным. Twig на самом деле является HTML на стероидах с {{data}} и {% functions%}, которые изумительны и просты, когда вы правильно готовите данные с контроллера. Следующее, что отлично работает с этой сеткой CSS. Нет бутстрапа или каких-либо фреймворков, необходимых для правильной организации вещей.

Но! Вы или ваша команда должны обладать навыками подготовки хороших контроллеров, чтобы не перегревать вид. :)