Profile cover photo
Profile photo
Erwin Zhang
229 followers
229 followers
About
Posts

Post has shared content
MVC vs MVVM vs MVP. What a controversial topic that many developers can spend hours and hours debating and arguing about.

For several years +AngularJS was closer to MVC (or rather one of its client-side variants), but over time and thanks to many refactorings and api improvements, it's now closer to MVVM – the $scope object could be considered the ViewModel that is being decorated by a function that we call a Controller.

Being able to categorize a framework and put it into one of the MV* buckets has some advantages. It can help developers get more comfortable with its apis by making it easier to create a mental model that represents the application that is being built with the framework. It can also help to establish terminology that is used by developers.

Having said, I'd rather see developers build kick-ass apps that are well-designed and follow separation of concerns, than see them waste time arguing about MV* nonsense. And for this reason, I hereby declare AngularJS to be MVW framework - Model-View-Whatever. Where Whatever stands for "whatever works for you".

Angular gives you a lot of flexibility to nicely separate presentation logic from business logic and presentation state. Please use it fuel your productivity and application maintainability rather than heated discussions about things that at the end of the day don't matter that much.

#AngularJS   #MVW
Add a comment...

Post has attachment
+Yudi Umar  I won candy on the #googlebirthday doodle! Score: 177
this is much higher... hahhahah
Add a comment...

Post has attachment
+Yudi Umar I won candy on the #googlebirthday doodle! Score: 164
hahahha...
Add a comment...

Post has attachment
I won candy on the #googlebirthday doodle! Score: 151
Add a comment...

Post has attachment
Photo
Add a comment...

I have this account for maybe a year... but there are no activity...
Add a comment...

Post has attachment
Add a comment...
Wait while more posts are being loaded