Recently at the office, we have been removing Require.js from our base architecture and going as much Angular native as possible. This has been an extremely interesting exercise. One issue that become apparent immediately was code organization. Most code was loading as the callback function to a Require define block. With the define block gone, the scope suddenly went global and code that had been lumped together for Require callbacks no longer needed to cohabitate. The new challenge was how to organize code and keep global scope clean.
There are many things about Angular that make it an excellent framework to use, and one of my favorites is the way it's data binding simplifies the implementation of UI elements. One of the most useful elements, in my opinion, is the ng-repeat. Ng-repeat makes creating lists so simple that you will want to use them all the time.