Coder Social home page Coder Social logo

truetrees's Introduction

MyApp

This folder is primarily a container for the top-level pieces of the application. While you can remove some files and folders that this application does not use, be sure to read below before deciding what can be deleted and what needs to be kept in source control.

The following files are all needed to build and load the application.

  • "app.json" - The application descriptor which controls how the application is built and loaded.
  • "app.js" - The file that launches the application. This is primarily used to launch an instance of the MyApp.Application class.
  • "index.html" - The default web page for this application. This can be customized in "app.json".
  • "build.xml" - The entry point for Sencha Cmd to access the generated build script. This file is a place where you can hook into these processes and tune them. See the comments in that file for more information.

These files can be ignored from source control as they are regenerated by the build process.

  • "build" - This folder contain the output of the build. The generated CSS file, consolidated resources and concatenated JavaScript file are all stored in this folder.
  • "bootstrap.*" - These files are generated by the build and watch commands to enable the application to load in "development mode".

Basic Application Structure

Applications that target a single toolkit will have the following structure.

app/                # Contains JavaScript and Theme code
    model/          # Data model classes
    view/           # Views as well as ViewModels and ViewControllers
    store/          # Data stores
    controller/     # Global / application-level controllers

overrides/          # JavaScript code that is automatically required

resources/          # Assets such as images, fonts, etc.

app/

This folder contains JavaScript (.js files) and styling (.scss files) common for all builds of the application.

app/controller/

This folder contains the application's global controllers. ViewControllers are located alongside their respective view class in "./view". These controllers are used for routing and other activities that span all views.

app/model/

This folder contains the application's (data) Model classes.

app/view/

This folder contains the views as well as ViewModels and ViewControllers depending on the application's architecture. Pure MVC applications may not have ViewModels, for example. For MVCVM applications or MVC applications that use ViewControllers, the following directory structure is recommended:

app/view/
    foo/                    # Some meaningful grouping of one or more views
        Foo.js              # The view class
        Foo.scss            # The view class styling
        FooController.js    # The controller for Foo (a ViewController)
        FooModel.js         # The ViewModel for Foo

This structure helps keep these closely related classes together and easily identifiable in most tabbed IDE's or text editors.

app/store/

This folder contains any number of store instances or types that can then be reused in the application.

Overrides

The contents of "overrides" folders are automatically required and included in builds. These should not be explicitly mentioned in "requires" or "uses" in code. This area is intended for overrides like these:

Ext.define('MyApp.overrides.foo.Bar', {
    override: 'Ext.foo.Bar',
    ...
});

Such overrides, while automatically required, will only be included if their target class ("Ext.foo.Bar" in this case) is also required. This simplifies applying patches or extensions to other classes.

truetrees's People

Contributors

kventista avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.