O que é Xtype?

o_que_e_xtype

Olá pessoal tudo certo?

No artigo de hoje falaremos um pouco sobre o xtype.

Na linguagem ExtJS, um xtype é um nome simbólico dado a uma classe. xtype é o seu widget, que você coloca na sua caixa de diálogo para capturar dados do autor. xtypes como textfield, numberfield, selection etc.

Por exemplo, sua classe tem o nome MyApp.view.MyGrid. Este é o nome da classe normal que você usa quando precisa criar a classe. Por exemplo:

var myGrid = Ext.create('MyApp.view.MyGridView',{
   title:'My Grid' 
});

Além do nome da classe, você pode dar à sua classe um alias dessa maneira

Ext.define('MyApp.view.MyGridView',{
     extend:'Ext.grid.Panel',
     alias:'widget.mygrid'
});

Sem alias, precisamos digitar:

Ext.create('Ext.container.Container',{
     layout:'vbox', 
     items:[
        Ext.create('MyApp.view.MyGridView',{
            // config            
        })   
    ]
});

e com alias, digitamos:

Ext.create('Ext.container.Container',{
     layout:'vbox',
     items:[{
        xtype:'mygrid'
        // config
    }]
});

Este último é cerca de 20 digítos menor do que o anterior. Agora imagine que você precisa usar suas classes centenas de vezes em aplicativos maiores. É óbvio que xtype economizar uma quantidade considerável de digitação não significa reduzir o risco de erros de digitação em nomes longos.

Segundo, também um benefício muito valioso é que Ext.create instancia a classe incondicionalmente, seja ela necessária ou não. Você pode ter muitas visualizações, tabpanels ou layouts de cartão em um aplicativo grande em que o usuário nunca pode clicar ou muito raramente.

Em outras palavras, algumas das classes definidas nunca serão instanciadas, ou podem esperar até que o usuário precise delas. Assim, xtype pode salvar a memória, o que não é muito importante nos computadores modernos, porque as classes Ext / Touch instanciadas não comem gigabytes.

O último benefício que quero mencionar, e isso é realmente importante, é uma legibilidade e capacidade de manutenção do código muito melhorada também. O código não é apenas escrito uma vez e esquecido quando funciona, mas é lido, depurado e modificado por muitos desenvolvedores, então tudo o que o torna mais curto, mais agradável e mais fácil de entender, tem um grande valor.

Outros Tipos

Temos falado sobre componentes, ou widgets até agora, no entanto alias podem ser atribuídos a quase qualquer tipo de classe.

Plugins

Definir

    
Ext.define('Ext.ex.grid.Search',{
     extend:'Ext.AbstractPlugin',
     alias:'plugin.ex-gms'
});

Usar:

    
Ext.define('Ext.ex.grid.Search',{
     plugins:[{
        ptype:'ex-gms'
    }]
});

Proxy

definir

Ext.define('MyApp.proxy.CustomProxy',{
     extend:'Ext.data.proxy.Server'
     alias:'proxy.myproxy'
});

Usar

Ext.define('MyApp.model.MyMode',{
     extend:'Ext.data.Model',
     fields:[...],
     proxy:{
        type:'myproxy'
    }
});

Você pode definir Alias para os leitores, gravadores, stores, layouts, recursos etc.

Sinônimos alias

Pode haver mais de um alias definido para um nome de classe. Isso pode ser útil para compatibilidade com versões anteriores ou outras finalidades possíveis. Para atribuir uma classe a mais aliases, usamos apenas uma matriz de strings em vez de uma única string.

Ext.define('Ext.ex.grid.Search,{
    extend:'Ext.AbstractPlugin',
    alias:['plugin.ex.gms','plugin.ux-gms']
});

Conclusão

Use xtype sempre que puder, principalmente por causa da qualidade do seu código. É claro que pode haver situações em que você precisa instanciar uma classe diretamente, Ext.create mas não com mais frequência do que situações que o alias pode ser usado.

Veja também:

Desenvolvimento de aplicativos mobile: o que é e por que é importante?

Desenvolvimento de aplicativos mobile: o que é e por que é importante?

Atualmente, é quase impossível imaginar nossa rotina sem os smartphones que se tornaram uma parte crucial de nossas vidas. Em uma pesquisa feita pela FGV, só o Brasil tem 424 milhões de dispositivos digitais em uso. E à medida que surgem mais novidades e utilidades para esses dispositivos, a busca por tecnologias mais avançadas e […]

Tecnologia sencha: por que ela é tão importante?

Tecnologia sencha: por que ela é tão importante?

Quando se trata de aprimorar a integração e o suporte de registro em sua aplicação, é fundamental concentrar-se na otimização dos testes de desenvolvimento e integração. Nesse contexto, a tecnologia sencha se destaca como uma ferramenta indispensável. Ao oferecer recursos abrangentes para o desenvolvimento e teste de aplicativos da web e móveis, a tecnologia sencha […]

Ateliê de software: por que investir nele ao invés de uma fábrica de software?

Ateliê de software: por que investir nele ao invés de uma fábrica de software?

Na busca pelo fornecedor ideal para impulsionar seu negócio, entender as melhores práticas e modelos que se alinham às necessidades específicas da sua empresa é crucial. Esse princípio é ainda mais relevante quando se trata do desenvolvimento de software intuitivo e personalizado. Muitos associam a ideia de desenvolvimento de software a uma fábrica de software, […]

O que é a metodologia ágil e como aplica-la em 5 passos?

O que é a metodologia ágil e como aplica-la em 5 passos?

Você sabia que a metodologia ágil é o que guia as ações das empresas para melhorar seus resultados e o aumento na produtividade? A utilização de uma metodologia ágil contribui na gestão e impulso à inovação nas companhias, a partir de um modelo de fácil implementação em projetos e processos. Este método prioriza a eficiência, […]

Daniel da Cunha Bueno

Daniel da Cunha Bueno

Atualmente como Sencha MVP Senior Software Enginer em aplicações web e mobile (#C,Sencha Ext JS, Xamarin).