The App Framework is an application server for running Web applications on a Splunk host. The following figure shows how the App Framework abstract Splunk core and provides a higher level of abstraction than the REST API.

The App Framework layer API provides the abstraction needed to easily integrate your application into core Splunk software. The API provides access to the same libraries that power Splunk Web, including the REST API, CherryPy application server, and Mako templating facilities.
This Getting Started tutorial describes how to design, implement and deploy a custom module, which is the core component of any application and the main work in creating a custom application. You are exposed to the fundamentals of framework app development before getting into the details of the many App Framework facilities available to you.
One of the important topics not presented here is how to use the MVC pattern to setup, or dynamically configure, your application. But you can learn about MVC and other advanced topics in the App Framework Cookbook.
For now, we hope to give you a sense of the environment you'll be working in while you learn:
To successfully develop custom applications, you need working knowledge of the following topics:
Windows: $SPLUNK_HOME\Python-2.x\Lib\site-packages\splunk\appserver\mrsparkle\controllers\view.py Linux: $SPLUNK_HOME/lib/Python2.x/site-packages/splunk/appserver/mrsparkle/controllers/view.py
Windows: $SPLUNK_HOME\Python-2.x\Lib\site-packages\splunk\appserver\mrsparkle\lib\module.py Linux: $SPLUNK_HOME/lib/Python2.x/site-packages/splunk/appserver/mrsparkle/lib/module.py