官术网_书友最值得收藏!

Initializing your application

So far, we have been using Ext.setup to enter into our application, where the entry point is provided by the onReady method, which is invoked when the document is ready. However, in an enterprise setup, an application is much more complex and needs more configurations that that which Ext.setup provides. For example, if you would like to configure your application with the history support, rather than doing it for individual pages or components, you may like your application to configure it based on the target platform and many more. These kinds of needs are addressed by Sencha Touch by providing a dedicated class.

Sencha Touch provides an Ext.Application class to create an application. This is a convenient way to create an application. Besides configuring your application, this class also allows you to structure your complete application in the form of Model-View-Controller and initialize it using a convenient method. The class allows the user to implement a function, which can be called when the application is launched. In this recipe, we will see how to create and initialize an application using the Ext.Application class.

How to do it...

Carry out the following steps:

  1. Create and open a new file ch01_04.js in the ch01 folder and paste the following code into it:
    new Ext.Application({
      name: 'MyApp',
    
      launch: function() {
        this.viewport = new Ext.Panel({
          fullscreen: true,
          items : [
            {
               html: 'Welcome to My App!'
            }
          ]
        });
      }
    });
  2. Remove the following line from index.html:
    <script type="text/javascript" charset="utf-8" src="ch01/ch01_03.js"></script>
  3. Include the following line in index.html:
    <script type="text/javascript" charset="utf-8" src="ch01/ch01_04.js"></script>
  4. Deploy and run the application.

How it works...

Ext.Application provides various configuration options, which can be specified while constructing the Application instance. The name property provides the application name, which is also used as the namespace for the application being initialized. In addition, by default, the following namespaces are registered using the name property value:

  • MyApp.models
  • MyApp.views
  • MyApp.controllers
  • MyApp.stores

Another property is launch. The launch function creates the application's viewport and runs any actions the application needs to perform when it boots up. The launch function is run once. In the preceding code, we are creating a panel in the full screen mode which will show Welcome to My App! in its body.

Note

If you are using PhoneGap, aviod using the app and phonegap namespaces, as they are used by PhoneGap and usage of them may throw up errors.

See also

The recipe named Setting up browser-based development environment in this chapter.

主站蜘蛛池模板: 安顺市| 荃湾区| 怀集县| 沭阳县| 黑河市| 凌源市| 集安市| 隆尧县| 安仁县| 灌阳县| 卫辉市| 井陉县| 公安县| 额济纳旗| 府谷县| 靖西县| 江门市| 乌拉特前旗| 杨浦区| 弥勒县| 美姑县| 涞源县| 孟州市| 富蕴县| 云和县| 平利县| 巴青县| 固阳县| 宁津县| 九龙坡区| 大洼县| 都昌县| 广宁县| 清远市| 白朗县| 秦皇岛市| 宁波市| 漠河县| 崇礼县| 陇南市| 民丰县|