Appcelerator recommend the use of CommonJS-modules in Titanium Apps: https://wiki.appcelerator.org/display/guides/Mobile+Best+Practices
However, on their docs, I cannot find a reasonable answer to my reasonable question: Why?
What does CommonJS do that good Namespacing doesn’t? As far as I can see, it’s simply a way of including modules!
Edit:
Specifically, what benefits do I get from using CommonJS in the context of Titanium?
CommonJS modules do more than just namespacing. It also helps you organize your code and define your modules dependencies (using define or require), both of which is not enforced in normal namespacing.
Of course you can do all of that yourself somehow, but last but not least, CommonJS has become a de factor standard and it is usually better to rely on standards than rolling your own package, dependency and namespacing framework or guidelines.