Era 5G | A estrada de exploração e prática de Xianyu na arquitetura integrada de nuvem Flutter & FaaS

Fonte do manuscrito: Alibaba Cloud Developer Community

 

https://ucc.alicdn.com/pic/developer-ecology/85ab0b2c8e044a53bc1fd4bbf67dac52.png

Introdução:

Com o desenvolvimento de wireless, IoT e o advento do 5G , a P&D móvel está se tornando mais multiterminais. O método de desenvolvimento tradicional baseado em Native + Web + server é ineficiente em pesquisa e desenvolvimento e, obviamente, não pode mais atender às necessidades de desenvolvimento. Este artigo irá apresentar a exploração e prática de Xianyu no projeto integrado Flutter & FaaS no ano passado .

Desafios do desenvolvimento híbrido tradicional nativo + Web + servidor

Esperamos explorar uma estrutura de P&D eficiente para um APP independente do tamanho de Xianyu . A ideia principal é resolver problemas multiterminais em torno do Flutter e conectar o Flutter com FaaS e outros recursos de capacidade não relacionados a serviços, formando um recurso de P&D integrado à nuvem para dar suporte às necessidades de desenvolvimento de uma nuvem e vários terminais.

Em algumas cenas, os resultados foram alcançados e o pensamento no processo será comunicado a todos.

https://ucc.alicdn.com/pic/developer-ecology/1857cf1c2ab140298769f3098fa6652c.png

Comparação e seleção de soluções cross-end Flutter e RN

Xianyu escolheu Flutter principalmente por considerações de alto desempenho. O alto desempenho do Flutter vem principalmente de 2 motivos:

  • Dart 's AOT capacidades de compilação.
  • Mecanismo de renderização auto-construído, sem necessidade de alternar para o controle nativo , evita pulos de threads e outros problemas.

https://ucc.alicdn.com/pic/developer-ecology/21dda5afcd3a4466abda24b91fdd4dde.png

Mais comparações:

https://ucc.alicdn.com/pic/developer-ecology/550d54912eca45fe9c66f888c4912374.png

Não existe solução mágica, Flutter e RN têm suas próprias vantagens. Existem muitos fatores em como escolher, e a chave depende de como escolher, por exemplo:

  • A equipe atual é baseada na pilha JS de front-end ou Nativa ? Se JS for o mestre, a escrita RN será mais usada. Se o Android ou iOS for o esteio, escrever Flutter será mais acostumado, porque as ferramentas e a experiência de pesquisa e desenvolvimento do Flutter são mais semelhantes às Native .
  • Desempenho de interação dinâmica ou complexa, o que é mais importante? Dinâmica é importante, RN é apropriado e experiência em desempenho é importante. A vibração não ficará desapontada. Embora Flutter haja algumas soluções dinâmicas, como o programa de mecanismo Flutter do adaptador JS , o código Dart para o programa CodePush , soluções de montagem do lado do serviço baseadas em componente, mas essas soluções não são RN dinâmicas, portanto, a camada de solução JS é muito boa.
  • Você precisa de um layout de vários terminais, como IoT ? O Flutter possui layout em design embutido e apresenta melhor desempenho.

Dart como idioma de escolha para a camada FaaS

Atravessar a pilha de tecnologia da nuvem é uma boa solução para reduzir a colaboração. No passado, a solução de integração front-end + Node.js deveria ser familiar para todos. No entanto, se o Flutter for usado no lado final , o Dart do lado da nuvem é naturalmente a primeira escolha.

 

A essência do FaaS é ser executado na nuvem. O Dart é adequado para uso na nuvem / servidor ?

A linguagem do Dart é anterior à Flutter . No design original, o Dart pode ser usado para Web e Servidor . O Dart tem alguns recursos de linguagem do lado do servidor:

  • Tipo forte, previsibilidade
  • GC assíncrono e simultâneo
  • JIT de alto desempenho
  • analisador

Xianyu primeiro tentou usar o Dart como um servidor normal em vez do servidor Java  tradicional , e então embutiu o contêiner Dart no contêiner FaaS . Construir os recursos do Dart Server é a primeira etapa e a carga de trabalho principal.

Idéias de construção de Xianyu no Dart  Server :

 

Período de desenvolvimento:

  • Inspirado por Flutter 's HotReload , HotReload é portado para o servidor lado.
  • Usando Isolate , cada desenvolvedor recebe um Isolate no ambiente de desenvolvimento para resolver o problema de conflitos ambientais anteriores.

Tempo de execução:

  • O próprio Dart é um modelo assíncrono de thread único e o recurso de simultaneidade precisa ser suportado pelo Isolate .
  • Usando as características da Dart 's Zone , você pode rastrear facilmente o link de chamada e registrar o registro de rastreamento .
  • Usando os recursos de extensão C ++ suportados pelo Dart , você pode acessar pacotes de middleware que suportam C ++ no Dart . Além disso, Server Mesh também é uma ideia importante para desacoplar chamadas de serviço entre linguagens heterogêneas.

Pensamento mais profundo na integração

O conteúdo acima consegue a unificação da pilha de tecnologia do Flutter & Dart FaaS , mas a unificação da pilha de tecnologia por si só não é suficiente. O final e os alunos da nuvem ainda não podem se complementar e integrar verdadeiramente. O motivo é que há questões mais profundas a serem consideradas:

  • Como maximizar o dividendo de ciclo fechado de negócios integrados? A integração não é apenas uma melhoria na eficiência, mas também permite que um aluno cubra um negócio da nuvem até o fim e feche o ciclo de negócios.
  • Como eliminar as barreiras técnicas da nuvem? Apenas a pilha de tecnologia é aberta, a equipe final ainda não será capaz de escrever na nuvem, a razão é que eles não entendem o modo de pensamento da nuvem e precisam realmente eliminar as barreiras técnicas da nuvem.
  • Como reduzir a quantidade total de trabalho (1 + 1 <2) ? Se a carga de trabalho for reduzida a uma pessoa após a integração, isso é pouco significativo e a carga de trabalho total sob a integração precisa ser reduzida.
  • Como promover a reformulação das relações de produção? As relações de produção precisam se adaptar à nova produtividade.

 

 

Diante desses problemas, as ideias de solução de Xianyu:

  • O ciclo fechado de negócios traz um melhor espaço de crescimento para os alunos de desenvolvimento de negócios, para que possam pensar no negócio de forma completa e focada. Esta é a motivação central das pessoas.
  • O ciclo fechado de negócios é a direção da precipitação do processo de negócios
  • Arquitetura de nuvem anterior, arquitetura separada final, com mais espaço de coletor após a arquitetura de integração, o que traz a carga de trabalho total 1 + 1 <2 possível
  • Afundamento de campo e suporte de ferramenta são a garantia da integração

Efeito de caso

Caso 1: A incorporação da integração no equilíbrio de recursos. Em um projeto recente, a integração em nuvem reduziu o tempo do projeto de 2 meses em 20 dias.

 

Caso 2: A incorporação da integração em ciclo fechado de negócios. Um colega de desenvolvimento que está encarregado do crescimento concentra-se no crescimento do negócio e coloca o conteúdo certo para as pessoas certas nas circunstâncias certas, de modo a trazer crescimento do usuário e efeitos ativos. Sob a abordagem integrada, os aspectos da nuvem e do dispositivo podem ser unificados, e a pesquisa e o desenvolvimento de negócios não são mais restritos à nuvem e ao dispositivo.

 

Disse no final

A integração é a direção da construção de uma estrutura de P&D eficiente. Nem todos os cenários requerem desenvolvimento integrado, mas Flutter , FaaS e outros componentes técnicos integrados podem ser usados ​​de forma independente, o que também trará melhorias de eficiência e estão em linha com o modelo de desenvolvimento original. compatível. Construir a partir de um pensamento integrado pode tornar o sistema de arquitetura geral mais consistente e também pode ter a oportunidade de construir uma arquitetura integrada. No futuro, Xianyu espera fazer mais tentativas e explorações aprofundadas na integração, incluindo ferramentas integradas, plataformas de negócios integradas e inteligência digital.

 

 

Acho que você gosta

Origin blog.csdn.net/weixin_40050195/article/details/97268045
Recomendado
Clasificación