Newer Version Available
A Metadata-Driven Development Model
The Lightning platform uses a metadata-driven development model to help app developers become more productive in putting together apps. It means that the basic functionality of an app—that is, the tabs, forms, and links—are defined as metadata in a database rather than being hard-coded in a programming language. When a user accesses an app through the Lightning platform, it renders the app's metadata into the interface the user experiences.
As a result of metadata-driven development, the Lightning platform app developers work at a much higher level of abstraction than if they developed applications using Java or C#, and are shielded from having to worry about low-level system details that the platform handles automatically. At the same time, Lightning platform developers can also leverage advanced features that the platform provides by default.
Customizing your app's metadata might sound intimidating, but as you'll see in this book, the platform's user interface makes it easy. Anyone who is familiar with using a Web browser can quickly get up to speed, even if he or she doesn't know any programming languages.
Although at first glance metadata-driven development may seem somewhat esoteric, it's exactly the same model for how Web browsers work. Instead of hard coding the definition of a Web page in a free-form programming language, a Web page author first defines the page as HTML, which is itself a kind of metadata. When a user requests a page, the Web browser renders the page using the metadata provided in the HTML tags. Even though the HTML/browser combination does not allow authors as much formatting power as they might get in a regular publishing tool, it simplifies the work of publishing content to a wide audience and increases the Web page author's overall productivity.
Likewise, the Lightning platform vastly simplifies the work of building an app and increases a developer's overall productivity. And, like Web pages that use JavaScript or Flash to add functionality to HTML pages, the Lightning platform also provides ways for more advanced developers to add custom functionality to the apps you build.