Newer Version Available

This content describes an older version of this product. View Latest

A Metadata-Driven Development Model

The Force.com 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 Force.com platform, it renders the app's metadata into the interface the user experiences.

As a result of metadata-driven development, the Force.com 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, Force.com 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.

Developers can use the Force.com Metadata API to programmatically manage their app's setup. The Force.com Metadata API provides an alternative to the platform's user interface by allowing developers to directly modify the XML files that control their organization's metadata. Developers can also use the Metadata API to migrate configuration changes between organizations, and create their own tools for managing organization and application metadata. For more information, see Force.com Metadata API Developer's Guide.

Tip

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 Force.com 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 Force.com platform also provides ways for more advanced developers to add custom functionality to the apps you build.