Como funciona a atualização automática do aplicativo híbrido

Todos já estão muito familiarizados com aplicativos nativos e aplicativos híbridos, então não vou apresentá-los em detalhes aqui, mas explicar algumas de suas características em palavras fáceis de entender.

1. Aplicativo nativo

Use a linguagem de desenvolvimento fornecida, a biblioteca de classe de desenvolvimento e as ferramentas de desenvolvimento para desenvolver o software App em plataformas móveis, como Android e iOS. Por exemplo, Android é desenvolvido com Java, Eclipse e Android Studio; iOS é desenvolvido com Objective-C e Xcode.
O desenvolvimento original puro é como construir uma casa: primeiro coloque a fundação e depois despeje as vigas do solo, estrutura da casa, tijolo por telha, concreto armado, direção do circuito, etc., tudo foi cuidadosamente projetado. Grava nativamente todas as páginas, todas as funções, todos os efeitos, todas as lógicas e todas as etapas do código e grava todas as camadas e todos os parágrafos do código, o que tem um alto grau de dificuldade e complexidade.

2. Aplicação mista

Principalmente baseado em chamadas mútuas entre JS + Native, desde o nível de desenvolvimento para realizar o mecanismo "desenvolvimento único, várias operações" e tornar-se verdadeiramente adequado para o desenvolvimento de plataforma cruzada. O aplicativo híbrido não só tem as vantagens de uma boa experiência do usuário do aplicativo nativo, mas também tem a vantagem do baixo custo do aplicativo da Web usando o desenvolvimento multiplataforma HTML5.

Ao desenvolver um produto App, a fim de melhorar a eficiência e economizar custos, é usado um aplicativo híbrido de tecnologias de desenvolvimento nativas e H5. De um modo geral, um aplicativo que consiste em "site em nuvem HTML5 + cliente APP" é um desenvolvimento híbrido. Mais tarde, como superaplicativos como WeChat, Alipay e Baidu desenvolveram vigorosamente pequenos programas, gradualmente incluímos "pequenos programas + clientes de aplicativos APP" no escopo do desenvolvimento misto.

Desenvolvimento e lançamento de aplicativos nativos e aplicativos híbridos

1. Aplicativo nativo

Todos sabemos que para aplicativos nativos tradicionais, todo o custo de desenvolvimento é muito alto e o ciclo de lançamento é relativamente longo. Para empresas que precisam iterar seu conteúdo de negócios com frequência, seja atualizando módulos funcionais ou reparando versões defeituosas, elas precisam testar novamente, republicar, reenviar para lojas de aplicativos de terceiros para revisão e listagem e exigir que os usuários cooperem para instalar novas versões , para substituir a versão antiga.

Organizei o processo de desenvolvimento e liberação de aplicativos nativos em um fluxograma, que deve ser mais claro e intuitivo:

 Na verdade, todo o processo de desenvolvimento e lançamento consiste em compilar o código-fonte desenvolvido em um pacote binário e, em seguida, colocá-lo nas lojas de aplicativos Android e iOS.

2. Aplicação mista

No entanto, nos últimos anos, mais e mais aplicativos híbridos foram desenvolvidos, porque a maioria dos desenvolvedores ainda está interessada no recurso de atualização dinâmica do Hybrid APP. Vejamos o processo de lançamento de aplicativos híbridos.

 

A maior diferença do aplicativo nativo é que o código contém código HTML5, e essa parte do código pode ser atualizada online diretamente pelo modo de atualização no servidor.

Princípio de hot update do aplicativo híbrido

E uma análise mais aprofundada de como a atualização a quente do Hybrid APP é implementada, você pode descobrir que seu princípio de funcionamento é o seguinte:

Normalmente, o lado do servidor do APP precisa monitorar a atualização desses conteúdos e, em seguida, enviar uma notificação de atualização de conteúdo para o APP no lado do dispositivo por alguns meios técnicos e, em seguida, alguns componentes do APP precisam sincronizar alguns fragmentos de conteúdo da página para o cliente através da rede e enviá-los O conteúdo baixado, normalmente HTML e JavaScript, é injetado nesses buracos previamente cavados.

Aqui, também quero explicar que existem muitas soluções técnicas para sincronização de rede, como Web-Socket bidirecional, HTTPlongpolling, SSE, PushtoPull ou outros meios técnicos personalizados, como CMS.

No lado do dispositivo, a substituição do módulo quente HMR e a injeção de código geralmente são usadas para fazer com que o código atualizado entre em vigor e seja exibido localmente para evitar a reinicialização do APP.

 

Possíveis problemas com hot updates

Em teoria, qualquer código-fonte atualizado baixado da Internet não pode ser considerado seguro e confiável. Quando esses códigos são injetados em seu APP para execução, como detectar sua segurança e proteger a segurança de aplicativos locais e dados locais no dispositivo?

Aqui está uma descrição da tecnologia de pequeno programa amplamente respeitada pelos principais fabricantes. A solução para este pequeno programa é detectar e auditar na nuvem e usar o mecanismo técnico de sandbox de segurança no lado do dispositivo para bloquear o código baixado e atualizado em um gaiola e executá-lo isoladamente. .

Além disso, o applet também possui um background de gerenciamento para gerenciar a retirada e remoção de prateleiras, e todo o método online será mais flexível.

Como mencionado acima, esta é a direção técnica defendida pelos principais fabricantes. A maioria dos desenvolvedores ainda não consegue aproveitar a conveniência trazida pela tecnologia de programas pequenos, mas também existem tecnologias de contêineres de programas pequenos, como o FinClip, para ajudar os desenvolvedores a adicionar Programas pequenos podem ser executados no meio da nuvem, e o gerenciamento de ciclo completo de pequenos programas, desde o desenvolvimento até o lançamento, pode ser realizado por meio do plano de fundo de gerenciamento do lado da nuvem, para que ele possa ter a capacidade de atualização a quente de pequenos programas que apenas os principais fabricantes possuem.

 

Este método terá um efeito melhor do que o amplamente utilizado HTML 5. Primeiro, o método de desenvolvimento será mais conveniente e, segundo, a experiência do usuário será significativamente melhorada.

Acho que você gosta

Origin blog.csdn.net/finogeeks/article/details/131914853
Recomendado
Clasificación