You write software in files.
A simple program might be stored in a single file, but complex programs are written across multiple files.
Swift provides a way to group several files into a group, called module.
Modules helps us do 2 things: reuse code, and encapsulate code.
You just have to write a particular functionality once, and after putting it into a module, you can import that into different places and projects.
Encapsulation means that the library can do lots of complicated things internally, but you only expose a tiny bit of it to the outside.
You start using modules by importing them.
If you’ve ever written
you’ve already used modules. Frameworks like UIKit and SwiftUI, and many others, are modules.
After you import a module, everything that that module declares public will be visible inside your application code.
Modules can import other modules, and when this happens you have access to those modules automatically.
Foundation, so you don’t have to write
import SwiftUI import Foundation
because you just need the first line.
Your application is a module, too.
Swift itself is a module, as well. And you never have to
import Swift because it’s done automatically for you.