Refer to the Substrate Developer Hub for a complete overview of Substrate.
Developing a Substrate runtime with FRAME comes down to writing domain-specific modules called Pallets. FRAME pallets implement a common interface that eases runtime development by clearly encapsulating the declaration of runtime specifc objects and methods (e.g. storage element, storage mutation functions).
A large part of the blockchain backbone exposed by Substrate is itself developed in FRAME both as system/meta pallets that build FRAME itself and as pallets that define core components of a blockchain (e.g. block production mechanism).
The Substrate Devkit is still under development. More information will be shared soon!