4 ms·
Yes, I too agree EmberJS always a confusing library, Following are my resaons. 1)They say it follows MVC. Its actually MVC but MVP, if you look closely at the
by pradeepin 14y ago
Yes, I too agree EmberJS always a confusing library, Following are my resaons.
1)They say it follows MVC. Its actually MVC but MVP, if you look closely at the implementation.
2)Controller job is not precisely defined.
Example: Even the data validations are done at controller level not a model level
So i switched to Backbone.js, which is very flexible library with tons of plugins that can be used when needed.
Since implementation of UI is different from requirement to another requirement. I feel EmberJS doesn't satisfy this, which leads to people using Backbone.js.
Regarding AngularJS, please use it only if you are new javascript and prefer learning Angular Javascript (which is not javascript by the way) :)
- ganarajpr 14y agoRegarding AngularJS, please use it only if you are new javascript and prefer learning Angular Javascript (which is not javascript by the way) :) I am not sure you "know" javascript. If you are saying that there is an Angular version of javascript then you are terribly mistaken. Angular is probably one of the only mainstream framework that stays true to javascript. All other frameworks ( Backbone, Ember etc.. ) are the ones that actually mould javascript into an OOP language. I would say that Angular uses the prototype chain ( you know javascript is a prototypical language right? ) the best. The whole scope object inherits prototypicaly while in all other frameworks we create an illusion of OOP. Someone correct me if I am wrong here. Just for clarity, I believe that when you write Angular code you are writing the purest form of javascript. Because thats what you are writing there. Just plain javascript. There is no constructs imposed by the framework at all. This is probably why most people think "Angular's javascript" is not javascript. They have been always fed layers on top of javascript because "javascript is somehow not optimal, not right" and it has to be "changed" and "corrected" . OOP is shoved down the throat. This is probably gone on to the extent that when someone actually writes in pure javascript it starts looking like a foreign language !!
- WickyNilliams 14y agoBefore berating other people's knowledge, you should probably make sure that what you are saying is infallible. So with that I ask you: Do you realise that JS is an object oriented language? Prototypes are a means for inheritance (i.e. reuse of code), just as classes are in more traditional languages - it does not mean JS is not OO. My interpretation of the GP comment is that he means angular to JS is like jQuery to JS, it's effectively a DSL that you have to learn in itself. Someone once said "people don't write javascript anymore, they write jQuery". That's what I think he meant
- Pherdnut 14y agoUh, you were the one who suggested JS wasn't OOP-oriented. It's all JS to me. jQuery is just a function that's spits out adapter/decorator objects. Just as Angular, Knockout, Backbone, Ember, etc... are all just bloatworks that miss one critical point. We already had the V and the C pretty well covered. They're throwing a big veil of abstraction over one that was already there and worked fine. It's like webforms all over again only this time we're trying to pretend the client-side isn't already what it is rather than not there at all. And while yes, IMO, we should think of web apps as two separate apps, the client-side's concerns are localized enough that it's kind of silly to try and apply MVC to it (not that what any of this stuff does can really be called MVC or MV-whatever anyway). What is it with modern developers wanting frameworks to be the answer before they understood the question in the question in the first place? How do you even write this stuff without starting to feel a lot silly about the fact that you're just duplicating effort? Because at some point they all have to bind with the mechanisms already in place to bind to their own bindings and that's just stupid.
- WickyNilliams 14y agoAre you replying to the correct person? I quite clearly stated JS was OO, whilst the GP clearly says that MV* frameworks "create an illusion of OOP". If you're not convinced of the benefits of MV* frameworks on the client, please write a complex client-side app with vanilla JS and share what you learnt. I'm being sincere there - I've tried, and I quickly started drowning in sea of boiler plate code I'd rather not have to write. Not that it's not fun to write some of that stuff, but I'd rather be delivering value. And what happens when I create a second app? Hmm seems there's lot of similar boiler plate stuff, why don't I just abstract that into a framewo.. oh wait
- ganarajpr 14y agoDid you actually read what I wrote? I do agree I missed writing "classical" OOP in there, but I guess I assume wrong when I think that people can fill in the blanks. Here is the jist of what I mentioned earlier - "Most frameworks provide abstractions over javascript that create the illusion of classical OOP".Angular doesnt! . I am talking about prototypes and the prototype chain there? You still think I am just throwing keywords in the air, in that previous sentence and dont understand javascript? You still think I am just writing crap there because ( fill in the blank! )?
- pradeepin 14y agoVery funny, LOL :). Answer these simple questions with out googling (Be honest :)) and score 80% to get a reply from me. 1) Is MVC an OOP concept ? 2) Is JS an Classical or Functional language ? 3) How does JS support Closures ? 4) What is Unobtrusive JavaScript and why its so popular ? 5) Is it necessary to add declarations in markup or templates to implement bindings in client side ? 6) Differences between Model Backed View and Markup Driven views ? 7) which should be fat in MVC model or controller ? 8) How does multiple controllers in JS MVC App are controlled? If you answer these questions and score 80%, you will know what i am talking about. P.S: If you want some, Come on get some :)
- adamauckland 14y ago> Regarding AngularJS, please use it only if you are new javascript and prefer learning Angular Javascript I'm not sure that's very fair to AngularJS. I gave up on Backbone and Ember because they had too many features, then later I was comparing JavaScript MVC patterns and stumbled across AngularJS which just made sense. If what you mean by 'prefer learning Angular' is you have to understand $scope and $resource, $http etc, that's true of using anyone else's code, plus it's not exactly a massive library! I'm genuinely curious why you think Angular _isn't_ Javascript?
- pradeepin 14y agoYes that's exactly. you got it right,If you are JS developer, you still need to learn about "understand $scope and $resource, $http etc," features. If you feel my comment about Angular is completely Unfair, I agree with you and will delete it. But here is my argument. Why Angular is not Javascript: 1) The code written in Angular javascript gets compiled into javascript. 2) Tough to extend Angular and implement features that are not supported by Angular. Please Try adding new features on your own, then you will feel the pain. 3) Mixing bindings between the markup and script is not a good way to add bindings. Bindings should not be mixed with Markup (Unobtrusive JavaScript). 4) I felt Google is doing the same mistake they did with "GWT". They are not thinking in terms of issues faced by other JS developers, That is why jQuery is still pretty popular (Plugin based approach) While developing client side app, each requirement is completely different and you really don't need a framework to address all this. But you need libraries like Backbone, jQuery ...etc as per the requirement and backed by open source . This is why, i love Backbone,jQuery ..etc I worked on 4 applications with each having its own simplicity and complexity that uses Backbone. Never faced any issues, Community is very supportive. If you have done R&D on JS MVC and like Angular than Backbone JS (Ember JS always confuses me too), Please continue with your work. Because there is always a nicer way of doing things in Client side :). P.S Here is one of my project in Backbone JS (https://github.com/pradeepin2/bbquiz https://github.com/pradeepin2/bbquiz) Please share your toughts, Why you prefer Backbone JS over Angular JS ? It will be very helpful.
- adamauckland 14y ago