Web: https://cocoacasts.com
Twitter: / _bartjacobs
Facebook: / cocoacasts
To avoid naming collisions with other libraries and frameworks, an Objective-C class needs to have a unique name. That's the reason Apple uses prefixes on Objective-C classes, such as UIView, CGRect, and CALayer. Swift modules make the need for class prefixes obsolete.
Even though modules are an important step forward, they're not as flexible as many developers would want them to be. Swift currently doesn't offer a solution to namespace types and constants within modules. There are a few viable solutions, though.