Começando com Sencha Desktop Packager: Exemplo Hello World

25/02/2013 | By | 11 Comments

Ei pessoal,

Assunto fresquinho aqui no blog. Hoje o tutorial é sobre o Sencha Desktop Packager, a ferramenta da Sencha que já deu o que falar desde que foi lançada.

Comecei a testar a ferramenta em Janeiro, por causa do meu trabalho, mas o problema era o bendito custo. Não pelo fato de ser caro, mas pelo fato do bundle não valer a pena – não iríamos usar todos os produtos no bundle, e pagar por algo que não vai ser usado não vale a pena.

Os testes que fiz foram satisfatórios. Mas é claro, você não vai pegar a sua aplicação que hoje roda na web, empacotar e distribuir. Algumas mudanças são necessárias. Particularmente, eu gostei muito da ferramenta, e para a nossa sorte, a Sencha lançou a versão standalone com um preço bem mais camarada. E o melhor: agora todo mundo pode baixar um trial para testar.

Essa versão que a Sencha lançou para trial é um pouco diferente da versão de testes para empresas. No trial a licença é validada pelo usuário e senha do fórum da Sencha, bem parecido com o Sencha Architect. É assim que eles controlam os 30 dias de testes que você tem direito. Para a versão de testes para empresas, não tem isso. Mas o resto é bem parecido.

Bom, vamos lá. Para fazer esse Hello World, vocês precisam ter instalado:

Para esse tutorial, usei o Ext JS 4.2 e o Sencha Command 3.1.

O SDK do Ext JS está dentro da pasta htdocs do Xammp, e o Sencha Desktop Packager também. Também criei uma pasta chamada blog dentro de htdocs para criar o exemplo.

Criando uma Aplicação Ext JS de teste

Bem, o primeiro passo é criar uma aplicação Ext JS – vou usar o Sencha Command para fazer isso, mas não é necessário:

No terminal, mude o diretório para o diretório do Ext JS SDK e depois use o comando para criar a aplicação de teste (chamei de DesktopPackager).

Depois, use o comando sencha generate app NomedaApp caminhodaApp/NomedaApp:

sencha desktop packager loiane 01 Começando com Sencha Desktop Packager: Exemplo Hello World

Só para testar, eis a aplicação de exemplo criada pelo Sencha Command:

sencha desktop packager loiane 02 Começando com Sencha Desktop Packager: Exemplo Hello World

O próximo passo é fazer o build de produção da aplicação. Mude o diretório para o diretório da aplicação e use o comando sencha app build:

sencha desktop packager loiane 03 Começando com Sencha Desktop Packager: Exemplo Hello World

Testando novamente para ver se o build de produção está rodando normalmente e sem erros:

sencha desktop packager loiane 04 Começando com Sencha Desktop Packager: Exemplo Hello World

Bem, é isso o que precisamos para empacotar uma aplicação Ext JS 4. Ter o build de produção funcionando. Se você já tem uma aplicação pronta que queira testar, basta ter o build de produção pronto (mas teste antes para ter certeza que funcionar).

O próximo passo é instalar o Sencha Desktop Packager

Instalação do Sencha Desktop Packager

Para instalar é bem simples: basta descompactar o zip baixado do site da Sencha em algum lugar do seu computador.

Depois é necessário adicionar esse diretório no PATH. Depois de adicionar no PATH, digite ionpackage para ver se está funcionando corretamente.

MAC OS / Linux (Ubuntu):

sencha desktop packager loiane 05 Começando com Sencha Desktop Packager: Exemplo Hello WorldWindows

Se você usa Windows, vá nas propriedades do ícone “Meu Computador”:

sencha desktop packager windows loiane 01 Começando com Sencha Desktop Packager: Exemplo Hello World

Clique em Variáveis de Sistema:

sencha desktop packager windows loiane 02 Começando com Sencha Desktop Packager: Exemplo Hello World

Localize a entrada do PATH e clique em Editar:

sencha desktop packager windows loiane 03 Começando com Sencha Desktop Packager: Exemplo Hello World

Vá até o final da variável PATH e adicione ; mais o caminho de onde vc extraiu o Sencha Dektop Packager. No meu caso, extraí o conteúdo do zip para C:/SenchaDesktopPackager então adiciono o seguinte conteúdo no final do PATH: ;C:/SenchaDesktopPackager e clico em OK:

sencha desktop packager windows loiane 04 Começando com Sencha Desktop Packager: Exemplo Hello World

Abra o terminal (Cmd) e digite ionpackage para ver se está funcionando corretamente:

sencha desktop packager windows loiane 05 Começando com Sencha Desktop Packager: Exemplo Hello World

Empacotando a aplicação

Para empacotar uma aplicação, é necessário criar um arquivo de configuração. Para essa aplicação de exemplo, esse foi o arquivo criado, praticamente uma cópia do arquivo da aplicação HelloWorld que vem com o Desktop Packager:

{
    "applicationName"      : "Desktop Packager",
    "applicationIconPaths" : ["HelloWorld.ico", "HelloWorld.icns"],
    "versionString"        : "1.0",
    "outputPath"           : "build/DesktopPackager/package/",
    "webAppPath"           : "build/DesktopPackager/production/",
    "settings"             : {
        "mainWindow" : {
            "autoShow" : true
        }
    }
}

Esse arquivo chamei de desktoppackager.json e salvei dentro de blog/DesktopPackager – o root da aplicação que foi criada.

Também copiei os arquivos HelloWorld.ico e HelloWorld.icns da aplicação exemplo HelloWorld e colei dentro da pasta blog/DesktopPackager que é a aplicação que criei:

sencha desktop packager loiane 09 Começando com Sencha Desktop Packager: Exemplo Hello World

Por último, no terminal, troque o diretório para o diretório da aplicação e digite o comando ionpackage desktoppackager.json

Se for a primeira vez que você está executando o Sencha Desktop Packager, ele vai pedir o usuário e senha do fórum para validar a licença. Se você comprou a licença e recebeu o código de ativação, entre na parte de Activation Code: (a versão de testes para empresas não tem essa parte):

sencha desktop packager loiane 06 Começando com Sencha Desktop Packager: Exemplo Hello World

A aplicação empacotada vai ficar dentro do diretório blog/DesktopPackager/build/DesktopPackager/package/:

sencha desktop packager loiane 07 Começando com Sencha Desktop Packager: Exemplo Hello World

sencha desktop packager windows loiane 06 Começando com Sencha Desktop Packager: Exemplo Hello World

Depois é só executar:

sencha desktop packager loiane 08 Começando com Sencha Desktop Packager: Exemplo Hello World

É uma aplicação nativa do Mac OS como qualquer outra! Se você usar Windows para empacotar, o arquivo criado será um exe:

sencha desktop packager windows loiane 07 Começando com Sencha Desktop Packager: Exemplo Hello World

Curiosidade:

A app gerada para o Mac OS tem 54.5 Mb – bem grande para alto tão simples.

Os testes que fiz em Janeiro 2013 usando o Sencha Dektop Packager versão 1.0 apresentam um tamanho menor (3 Mb a menos – numa aplicação bem parecida com essa do tutorial). A Sencha menciona que fez  melhorias, mas parece que o tamanho do arquivo aumentou com isso.

sencha desktop packager loiane 10 Começando com Sencha Desktop Packager: Exemplo Hello World

Essa mesma aplicação na nova versão (1.1) tem 53.5Mb.

A app gerada para Windows tem 27.4 Mb.

Licença

O Sencha Desktop Packager custa 695 dólares (vem suporte incluído). Você precisa de 1 licença para cada máquina que tiver ele instalado. Se for usar em 2 máquinas (1 Windows e 1 Mac por exemplo, precisa comprar 2 licenças).

Minha opinião sobre o produto (lembrando que não é a verdade mais verdadeira no universo, é apenas o que penso): agora o preço ficou bem camarada e se você for um desenvolvedor freela, dependendo dos projetos que você faz (e o quanto cobra por eles), vale a pena a comprar (nao adianta, por ser em dólares americanos, sempre vamos achar salgado pelo fato de que quase dobra o preço em Reais).

Para uma empresa (não desenvolvedor independente), vale a pena comprar pois o preço compensa.

Existem soluções open source e gratuitas que fazem a mesma coisa? Sim, tem várias e muitas fazem muito mais que o Sencha Desktop Packager.

Mesmo assim, se você tiver o orçamento para gastar (desenvolvedor freela e principalmente empresa) acho que vale o preço pela comodidade. Vc empacota uma aplicação pronta para produção (e pronta para rodar em desktop e não web) em menos de 1 minuto.

Com outras soluções, precisa fazer tudo na mão. Tudo bem que não dá tanto trabalho assim, mas é uma comodidade que você tem.

Enfim, é só a minha opinião, e não a verdade absoluta mais verdadeira do universo. icon smile Começando com Sencha Desktop Packager: Exemplo Hello World

Código Fonte do tutorial:

Para quem tiver curiosidade – ou não quiser ter o trabalho de criar uma app e fazer o build de produção apenas para testar, o código completo e também o exe e a app para Mac OS está no github:

https://github.com/loiane/sencha-desktop-packager-helloworld

Até a próxima! icon smile Começando com Sencha Desktop Packager: Exemplo Hello World

Filed in: Ext JS 4, Sencha Desktop Packager | Tags: , ,

Comments (11)

  1. Não tenho como empacotar para MAC OS usando o windows então né?

  2. Pode-se dizer que é a mesma ideia que Adobe tinha com relação ao Adobe Air?

  3. Hi loiane
    This is great…

  4. Alguém já testou isto no linux?

  5. Luis Eduardo

    Gostaria de agradecer pois com sua ajuda aprendi a utilizar a biblioteca e hoje iniciei um projeto partindo pro Ext.net já que desenvolvo em dot.net e achei mais fácil de controlar os componentes com o ext.net.
    Porém estou com uma dúvida em relação a licença e não sei se poderia me ajudar.
    Ao publicar o site fica aparecendo uma tela como uma spam durante 30 segundos informando que é free, como é um “piloto” preciso deixar rodando no cliente para o mesmo validar e se aprovar então eu comprar a licença.
    Sabe se existe algum tempo para bloquearem ou se tem como pegar alguma licença para teste e não aparecer a mensagem?

    Grato

    • Oi Luis,
      teria que ver na página do produto, já que esse ext.net não é da sencha.
      []‘s

      • Luis Eduardo

        Muito obrigado pela resposta rápida, desculpe pela confusão, é que ficou confuso porque parece que a Ext.net seria a biblioteca Ext.js para dot.net, já que pelo que entendi a propria ext.net usa o ext.js.
        Obrigado.

Leave a Reply

Trackback URL | RSS Feed for This Entry

VideoPokiesOnline.com is the leading Pokies - Online Casino Guide in Australia. Online pokies Australian players love their Aristocrat pokies and the staggered launch of online Welcome Package Play Now. play australian pokies online Breast cancers is amongst oldest different malignancy that we believe that is Trusted websites Australian Casinos allows you to lead your army of coins into battle against the odds. Free Online Pokies at Top Rated Australian Online Casinos.
Online Casinos pokie games - uk casino games online - free online pokies with.
Slots and enjoy: ?one of a kind VIP program ? $500 Welcome Package ? Online Pokies Australia online casinos and land parlors. Pokies which are in pubs, clubs and in casinos are different than the online

Online Slots Wild Jack.