Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why would I need Angular if I use Meteor? [closed]

Angular is really useful for building single page applications. It is basically built on the current paradigm where we make requests to different endpoints to help us create better single page applications.

On the other hand, we have Meteor which seems even more capable, especially since they have a feature called DDP which basically allows bi-directional data streaming. It seems like Meteor is a superset of Angular and is the obvious better choice.

While Angular does offer some neat things like testing and localization, I just don't see why would I use Angular with Meteor as opposed to just using Meteor. Could someone explain why I would want to Angular with Meteor or even use any MV* front-end framework if I were to use Meteor?

like image 266
Strawberry Avatar asked Nov 08 '13 07:11

Strawberry


2 Answers

Most of our team's current apps are built with the combination of both frameworks.

I won't explain the reasons we use Meteor because that wasn't your question (although I love talking about how great Meteor is every chance I've got) so I'll just talk about Angular:

  1. Declarative approach - AngularJS is the leader in the declarative approach of Javascript frameworks. as we are working close with a lot of designers we can see how easy it is for them to understand to code. also getting new programmers into our team in much easier with AngularJS.
  2. Huge and great eco-system - Angular's eco system is amazing. you have angular-x for everything. it's a shame not to use that.
  3. It is now easier to combine them both - I'm obviously biased but our team wrote and maintain this library - angular-meteor and we've also released a tutorial for combining the two - angular-meteor tutorial

By the way - the current right answer is outdated. Meteor's new templating engine (Blaze) is out and it's great...

like image 99
Urigo Avatar answered Sep 21 '22 21:09

Urigo


There are slight differences in the two. The most apparent to everyday work would be the binding.

In Meteor its a bit like having Angular but without this binding, since you have to manually do it. If you use angular it can bind to your html automatically, then Meteor can take this one step further and push it to the server and to everyone else.

Meteor does have testing too but its unofficial. You would have to install packages off atmosphere.meteor.com to use this extra functionality. There's lots of other stuff on there too.

One thing to keep in mind is Meteor has a new Templating engine in the works called Meteor-UI which addresses a lot of the concerns which the current implementation which angular has a leg up on. The main one would be DOM isolation. More details on it here: https://github.com/meteor/meteor/wiki/New-Template-Engine-Preview

The new Meteor-UI template engine actually goes a step further than angular since a new concept of 'controls' are introduced. This means you can add a textbox in with handlebars-esque like code and have it automatically bind to events and to the backend, with validation.

With localization there is a package on atmosphere that helps a bit with that. You can use handlebars placeholders and replace them depending on the language you intend to display.

It also depends on your preference, if you're comfortable with using Angular, it can create beautiful apps that feel very native. Meteor also does this in a different way, at the moment it does take a bit more work because of the binding but it would change in the next month or two because of Meteor-UI.

like image 26
Tarang Avatar answered Sep 21 '22 21:09

Tarang