Olá João, Obrigado pelo teu testemunho. Muito apreciado :)
Tenho andado a estudar o assunto e até debati com alguns programadores que usam AIR e também cheguei à mesma conclusão que voçês. Atualmente uso AIR e tenho um setup inicial para Windows e outro para Mac. Utilizo a framework de update que vem com o AIR SDK pois permitiu-me resolver a questão dos updates muito, muito rapidamente. Os meus recursos de tempo são cada vez mais escassos e tenho de escolher onde investir o meu tempo de forma cautolosa. Tem funcionado bem, com o instalador a mostrar AIR (que nunca ninguem se queixou). O único problema é que às vezes novos potenciais clientes (sempre, sempre com Windows XP ou Vista) queixam-se que não consegum arrancar o setup de demo numa determinado máquina. Lá tenho de encaminhar para esse caso isolado para instalar o AIR à parte (às vezes forçado) e depois então a App instala em qualquer problema. O Windows a 64 bits por outro lado já me falaram várias vezes. Mesmo que não se note vantagens (que por acaso até tenho algumas áreas que poderão ser um pouco proveitosas - ou não), o facto de ter o selo 64 bits para os clientes é importante. Com os 64 bits e ainda por cima resolver a questão pontual da instalação do AIR, tenho agora uma forta motivação para investir tempo num novo mecamismo de updates, similar ao que descrevente. Possívelmente com o look muito mais profissional e sem o icone e nome AIR envolvidos no processo. Se eventualmente achares que queres colocar esse mecanismo de updates no github avisa :D No dia 27 de fevereiro de 2017 às 12:32, João Saleiro < [email protected]> escreveu: > 1- O Boonzi está em captive. Não dependemos do Air, e nenhum dos nossos > clientes vê sequer a palavra "Adobe" > 2- Antigamente usávamos um install wizard qualquer (installshield? não me > recordo), mas tinha a desvantagem do user ter que descarregar 30Mb na sua > primeira interacção connosco. Too much. > 3- Cagamos no wizard, e fizemos uma aplicação ranhosa em C que ocupa uns > 500kb em cima do NSIS, que o que faz é: > 3.1- Vai ao servidor ver qual é a versão mais recente (sacando o nosso > changelog) > 3.2- Saca a versão mais recente (é um ZIP), descomprime para a pasta > correcta, e arranca o Boonzi > 3.3- Em Air, temos um serviço que vai de vez em quanto ao servidor ver se > há uma versão mais recente. Se houver, saca-a em background, e depois do > utilizador autorizar 3.3.1 O Boonzi arranca o nullsoft installer 3.3.2 o > Boonzi fecha-se 3.3.3 o Nullsoft installer detecta que há uma versão nova > em cache no disco e nem sequer vai ao servidor. Grava-a e arranca o Boonzi > 3.4- Em Mac usamos uma aplicação qualquer (paga) para fazer um wrapper ao > Air > > Isto deu algum trabalho a montar, mas simplifica *muito* uma release: > > 1- No Idea, geramos a release. > 2- Depois assinamos o .exe (para nos livrarmos dos avisos do Windows) > 3- Apagamos uns ficheiros da release (webkit, p. ex) para que a aplicação > fique a ocupar uns 15Mb, e comprimimos num ZIP que tem o nº de versão no > nome. > 4- Depois alteramos o changelog colocando o novo numero de versão e > enviamos tudo para o servidor. Pronto, release feita. > > Uma release é basicamente colocar um zip no servidor, e alterar o nº de > versão no changelog. > > Depois o que acontece, é que o Boonzi detecta a nova versão, e faz os > passos acima. Simples. > > Em termos de espaço: > > 1- installer: boonzi-setup.exe: uns 600kb > 2- pacote de update: uns 15Mb > > A unica desvantagem é que alguns anti-virus (i.e. McAffee) não gostam > muito do NSIS, e volta e meia temos alguns clientes a queixarem-se que o > installer tem vírus. Depois lá tenho que enviar email à McAfee, que resolve > o problema por 15 dias... Face a todas as vantagens acima (para o end-user, > e para o development), compensa viver debaixo do fascismo da McAfee. :o) > > JS > On 23/02/2017 13:01, Hugo Ferreira wrote: > > Isto veio tudo à baila porque passou a existir (em beta) o AIR de Windos > para 64 bits como já havia à anos para Mac mas só suportado em captive > runtime. > > Existem vários casos de aplicações com uso intensivo que precisam de > consumir muito memória e não faz sentido o hardware de hoje em dia ter essa > disponibilidade mas o software limitar. > > No dia 23 de fevereiro de 2017 às 12:55, Hugo Ferreira < > [email protected]> escreveu: > >> João, >> >> Isso na realidade já é suportado à algum tempo na generalidade das Apps, >> ou seja, é um problema já resolvido na própria loja (pelo menos para >> Android) e existem ANEs para ajudar nesse processo para o caso de Apps em >> AIR mobile. >> >> Ai o problema já se encontra resolvido e sinceramente acho que para >> mobile não me importo que a App ocupe mais uns 20 MB e acho que não vale o >> esforço (no entanto acho muito útil para jogos com centenas de MB). >> >> Aqui o que estamos a falar é do AIR para Windows (fora de uma loja) que >> pode ter updates muito regulares e o ambiente desktop é diferente do mobile. >> Seja como for a solução há de ser semelhante, ou seja, partir em 2. >> >> No dia 23 de fevereiro de 2017 às 12:49, João Fernandes < >> [email protected]> escreveu: >> >>> O tamanho inicial, esse será sempre complicado diminuir no entanto a >>> PlayStore tem otimizado o processo de deploy de updates e acho que já está >>> em produção o sistema que na realidade só obriga a descarregar os deltas >>> entre as versões o que diminui bastante o download dos upgrades. >>> >>> 2017-02-23 12:40 GMT+00:00 Hugo Ferreira <[email protected]>: >>> >>>> Exatamente como descreveste. Faço updates quase todas as semanas desde >>>> à bastante tempo entre Windows e Macs. >>>> Compilas em AIR e apenas atualizas o ficheiro AIR no servidor e no >>>> ficheiro xml que está ao lado, atualizas o número da versão (que serve para >>>> a framework comparar e decidir se necessita ou não de atualizar) e não tens >>>> de fazer mais nada. >>>> Como é só o AIR (a tua App, o upload é muito rápido e o download depois >>>> também). >>>> >>>> É super prático, não envolve quase nenhum código e funciona bem muito >>>> (até em Linux funciona). >>>> >>>> A grande desvantagem é que a primeira instalação em Windows por vezes >>>> pode dar raia se a máquina do cliente tiver problemas nos registos, tal >>>> como acontece com qualquer outro instalador mas uma vez instalado, nunca >>>> mais tem problemas (os updates são internos da App, não envolve o >>>> registry). >>>> Uma desvantagem é que a framework de update demonstra bem que é AIR na >>>> janela de update e assim dá um aspeto um pouco menos profissional mas isso >>>> é só para nós. Os utilizadores não fazem a mínima ideia e gostam que seja >>>> tudo automatico, simples e rápido. >>>> >>>> Esta lib que mencionei no e-mail anterior "pareçe" ser uma cópia >>>> opensource da framework de updates do AIR SDK mas redesenhado para captive >>>> runtime, permitindo no xml indicares mais do que um ficheiro (exe, dmg, etc >>>> ...) e segundo o autor copia por cima o exe (no caso do windows), encerra e >>>> reabre (tenho de testar porque não deve ser bem assim, pois o exe está em >>>> uso, devo usar um outro processo). No caso de dmg (Mac), é o processo >>>> normal de instalação de um dmg (mais chato do que usando AIR mas também >>>> mais profissional). >>>> Como a lib se aproxima ao AIR SDK, fiquei com a impressão que a mudança >>>> deverá ser relativamente trivial para nós. >>>> >>>> O chato é aumentar em muito o tamanho dos ficheiros e demorar mais o >>>> downlaod para o cliente. >>>> Quando tiver tempo poderei resolver isto mas vai envolver algum código, >>>> ou seja, ter 2 packages (o primeiro com o AIR + aplicação de update que >>>> eventualmente também poderá ser atualizado e outro só com a App). >>>> >>>> >>>> >>>> No dia 23 de fevereiro de 2017 às 12:28, Rui Cruz < >>>> [email protected]> escreveu: >>>> >>>>> Acho que já uso esse (ou semelhante ou alterei) para umas apps >>>>> internas da empresa (mas sem captive-runtime), e funciona bem.. no final >>>>> de >>>>> fazer o download do instalador, executa o instalador e fecha-se. depois ao >>>>> abrir ja está actualizado.. >>>>> >>>>> No dia 22 de fevereiro de 2017 às 22:10, Hugo Ferreira < >>>>> [email protected]> escreveu: >>>>> >>>>>> Foi aqui que encontrei: https://code.google >>>>>> .com/archive/p/nativeapplicationupdater/ >>>>>> Isto parece que foi baseado no updater que vem com o AIR. >>>>>> >>>>>> No dia 22 de fevereiro de 2017 às 18:17, Hugo Ferreira < >>>>>> [email protected]> escreveu: >>>>>> >>>>>>> Rui, >>>>>>> >>>>>>> Já deparei com alguns casos (muito raros) de utilizadores que não >>>>>>> conseguem fazer a primeria instalação da minha aplicação porque fazem do >>>>>>> Windows um autentico balde de lixo com muitos anos sem nunca ter sido >>>>>>> formatado. >>>>>>> Outros cenários (com pouca frequência mas acontece) é não >>>>>>> conseguirem instalar porque o Windows 10 barra. >>>>>>> >>>>>>> Apesar de captiva runtime aumentar o tamanho da App, vou me livrar >>>>>>> destes problemas e dar uma experiência melhor, por isso agora a >>>>>>> adicionar >>>>>>> os 64 bits, era a motivação que precisava para fazer a mudança. >>>>>>> >>>>>>> Acabei de ler um mecanismo de atualização que parece que é feito da >>>>>>> mesma forma que eu faço hoje em dia mas com opções adicionais (que >>>>>>> desconhecia) que permitem encaminhar para um ficheiro no servidor exe ou >>>>>>> dmg em vez de air e no caso do exe irá substituir por cima e arrancar e >>>>>>> no >>>>>>> caso do dmg irá instalar por cima (mais chato mas é mesmo assim). >>>>>>> >>>>>>> Se funcionar partilho mas ainda tenho de validar. >>>>>>> >>>>>>> Cumprimentos, >>>>>>> Hugo. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> No dia 22 de fevereiro de 2017 às 18:11, Rui Cruz < >>>>>>> [email protected]> escreveu: >>>>>>> >>>>>>>> Boas Hugo, >>>>>>>> >>>>>>>> Também gostaria de saber mais acerca desse tópico.. de momento não >>>>>>>> tenho experiência com runtime captive, se puderes experimentar, vai >>>>>>>> reportando as tuas considerações! >>>>>>>> >>>>>>>> Sei que o Feathers SDK installer https://github.com/BowlerHatLL >>>>>>>> C/feathers-sdk-manager, usa um instalador externo para win/mac. >>>>>>>> >>>>>>>> Mas acredito que hajam soluções mais amigáveis.. >>>>>>>> >>>>>>>> Cumprimentos :) >>>>>>>> >>>>>>>> No dia 22 de fevereiro de 2017 às 17:58, Hugo Ferreira < >>>>>>>> [email protected]> escreveu: >>>>>>>> >>>>>>>>> Boa tarde pessoal, >>>>>>>>> >>>>>>>>> Atualmente utilizo shared runtime para uma aplicação desktop minha. >>>>>>>>> >>>>>>>>> As vantagens da opção captiva runtime são: >>>>>>>>> - 0 problemas de instalação; >>>>>>>>> - 0 conflitos entre versões do runtime (apesar de isto ser >>>>>>>>> improvável). >>>>>>>>> >>>>>>>>> As vantagens da opção shared runtime são: >>>>>>>>> - Compilar no meu Mac e correr em todo o lado (não tenho de ir a >>>>>>>>> uma máquina Windows e compilar novamente): >>>>>>>>> - Updates mais pequenos/rápidos (é apenas a minha App e não o >>>>>>>>> runtime repetidamente); >>>>>>>>> - Funciona em Linux (se quiseres suportar - menos importante mas >>>>>>>>> possível); >>>>>>>>> - Posso usar a framework de updates do Flex SDK que simplesmente >>>>>>>>> funciona e muito bem, com poucas linhas de código. >>>>>>>>> >>>>>>>>> Caso alguém utiliza AIR captiva runtime para desktop, como é que >>>>>>>>> lidam com os updates na vossa aplicação ? >>>>>>>>> Queria algo simples de implementar (simples é melhor). >>>>>>>>> >>>>>>>>> Porquê de agora considerar alterar ? >>>>>>>>> Porque acabou de saír a versão (em beta) do AIR para Windows com >>>>>>>>> suporte a 64 bits e foi indicado que ficará só suportado na versão >>>>>>>>> captiva >>>>>>>>> runtime. >>>>>>>>> Dá para perceber porque assim fintaram já uma série de problemas >>>>>>>>> de instalação. >>>>>>>>> >>>>>>>>> >>>>>>>>> Cumprimentos a todos, >>>>>>>>> Hugo. >>>>>>>>> -- >>>>>>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da >>>>>>>>> Comunidade Portuguesa de Rich Internet Applications - >>>>>>>>> www.riapt.org" do Grupos do Google. >>>>>>>>> Para anular a subscrição deste grupo e parar de receber emails do >>>>>>>>> mesmo, envie um email para [email protected]. >>>>>>>>> Para publicar uma mensagem neste grupo, envie um email para >>>>>>>>> [email protected]. >>>>>>>>> Visite este grupo em https://groups.google.com/group/riapt. >>>>>>>>> Para mais opções, visite https://groups.google.com/d/optout. >>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da >>>>>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" >>>>>>>> do Grupos do Google. >>>>>>>> Para anular a subscrição deste grupo e parar de receber emails do >>>>>>>> mesmo, envie um email para [email protected]. >>>>>>>> Para publicar uma mensagem neste grupo, envie um email para >>>>>>>> [email protected]. >>>>>>>> Visite este grupo em https://groups.google.com/group/riapt. >>>>>>>> Para mais opções, visite https://groups.google.com/d/optout. >>>>>>>> >>>>>>> >>>>>>> >>>>>> -- >>>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da >>>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" >>>>>> do Grupos do Google. >>>>>> Para anular a subscrição deste grupo e parar de receber emails do >>>>>> mesmo, envie um email para [email protected]. >>>>>> Para publicar uma mensagem neste grupo, envie um email para >>>>>> [email protected]. >>>>>> Visite este grupo em https://groups.google.com/group/riapt. >>>>>> Para mais opções, visite https://groups.google.com/d/optout. >>>>>> >>>>> >>>>> -- >>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da >>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" >>>>> do Grupos do Google. >>>>> Para anular a subscrição deste grupo e parar de receber emails do >>>>> mesmo, envie um email para [email protected]. >>>>> Para publicar uma mensagem neste grupo, envie um email para >>>>> [email protected]. >>>>> Visite este grupo em https://groups.google.com/group/riapt. >>>>> Para mais opções, visite https://groups.google.com/d/optout. >>>>> >>>> >>>> -- >>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da >>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" >>>> do Grupos do Google. >>>> Para anular a subscrição deste grupo e parar de receber emails do >>>> mesmo, envie um email para [email protected]. >>>> Para publicar uma mensagem neste grupo, envie um email para >>>> [email protected]. >>>> Visite este grupo em https://groups.google.com/group/riapt. >>>> Para mais opções, visite https://groups.google.com/d/optout. >>>> >>> >>> >>> >>> -- >>> >>> João Fernandes >>> -- >>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da >>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" do >>> Grupos do Google. >>> Para anular a subscrição deste grupo e parar de receber emails do mesmo, >>> envie um email para [email protected]. >>> Para publicar uma mensagem neste grupo, envie um email para >>> [email protected]. >>> Visite este grupo em https://groups.google.com/group/riapt. >>> Para mais opções, visite https://groups.google.com/d/optout. >>> >> >> > -- > Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da > Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" do > Grupos do Google. > Para anular a subscrição deste grupo e parar de receber emails do mesmo, > envie um email para [email protected]. > Para publicar uma mensagem neste grupo, envie um email para > [email protected]. > Visite este grupo em https://groups.google.com/group/riapt. > Para mais opções, visite https://groups.google.com/d/optout. > > > -- > Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da > Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" do > Grupos do Google. > Para anular a subscrição deste grupo e parar de receber emails do mesmo, > envie um email para [email protected]. > Para publicar uma mensagem neste grupo, envie um email para > [email protected]. > Visite este grupo em https://groups.google.com/group/riapt. > Para mais opções, visite https://groups.google.com/d/optout. > -- Recebeu esta mensagem porque está inscrito no grupo "Mailing List da Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos Grupos do Google. Para anular a subscrição deste grupo e parar de receber emails do mesmo, envie um email para [email protected]. Para publicar uma mensagem neste grupo, envie um e-mail para [email protected]. Visite este grupo em https://groups.google.com/group/riapt. Para mais opções, consulte https://groups.google.com/d/optout.
