Beija-flor vs Dardo Angular

Beija-flor foi anunciado no evento de lançamento de 4 de dezembro. Um projeto que nos permitirá compilar nossas aplicações de flutter em aplicações Web Progressivas de pleno direito. Então… o Dardo Angular ainda vale a pena?

>

Tentarei compartilhar o quanto reuni até agora, esperando que meus achados ajudem outros também.

>

>

>

>

>

>

>

>

>>

:-p

>

A primeira questão é se podemos ou não usar os dois.

Angular Dart
A versão actual do AngularDart é 5.2.0. É estável(já o é há alguns anos), usado nos projectos de alto impacto do Google, e em projectos em todo o mundo.

Hummingbird
Alguns diriam que o beija-flor está actualmente no seu alfa. No entanto, tudo o que temos é uma visão geral técnica. Mais de uma proposta do que qualquer outra em que a equipe discutiu a fundo as direções técnicas que estão contemplando. (AQUI: https://medium.com/flutter-io/hummingbird-building-flutter-for-the-web-e687c2a023a8)

>

>

>

>

não há nada para testar a partir de 5 de Janeiro de 2019

O que é que eles realmente fazem?

>

>

>>

>

o que você faz aqui?
>

Vocês perguntaram! Vamos tentar entender o que são Aplicações de Página Única, o que são Aplicações Web Progressivas, e olhar para os resultados esperados de Angular e Hummingbird. Isto nos ajudará a entender os problemas que eles pretendem resolver.

SPAs vs PWAs

Aplicações de Página Única

>

Uma aplicação de página única (SPA) é uma aplicação web ou web site que interage com o usuário reescrevendo dinamicamente a página atual ao invés de carregar páginas novas inteiras a partir de um servidor. – Wikipedia

O caractere # quando incluído em URLs, ao invés de causar o recarregamento da página, causará alguma interação dentro da página. SPAs fazem uso deste recurso do navegador.

Por exemplo, na Wikipedia, se clicarmos em um cabeçalho no índice, em vez de recarregar a página, o navegador nos leva para aquela seção da página.

  • Vá para https://www.wikiwand.com/en/Single-page_application#/Ajax
  • Altere Ajax para Websockets e pressione enter.
  • A página será recarregada? Não. Simplesmente mudará a configuração

SPAs estão levando isto para o próximo nível. A aplicação inteira e todas as suas telas funcionam a partir de uma única página usando as URLs baseadas em # para todas as suas funcionalidades.

PWAs

Aplicações Web progressivas são experiências de usuário que têm o alcance da web, e são confiáveis, rápidas e envolventes

– developers.google.com

PWAs são websites (podem ser websites regulares, ou aplicativos de página única) que são otimizados de certa forma que eles

  • Trabalhar de forma confiável tanto offline como com internet não confiável (Lie-Fi)
  • São rápidos, otimizados para alto desempenho percebido
  • Engaging – Sinta-se como uma aplicação nativa e não menos.

O que faz AngularDart do?
AngularDart ou Angular em geral é uma estrutura para escrever SPAs. Ele fornece aos desenvolvedores uma maneira de escrever os SPAs com características como:

  • Bidirectional Data Binding
  • Routing
  • Templating
  • Directives

E muito mais. A IU real ainda é escrita com HTML + CSS. Angular apenas fornece tudo o resto que permite aos desenvolvedores web desenvolverem seus SPAs. O ponto principal é:

  • Angular Dart não é um framework UI
  • Angular Dart aplicativos podem ou não ser PWAs

O que são componentes da Web Angular então?
São um monte de componentes de design de materiais fornecidos pelo pacote angular_components que atuam como templates para construir aplicações com.

  • Não são suportados no Internet Explorer
  • São ainda escritos em HTML + CSS + Dart

O que fará o Beija-flor?
Até agora são apenas especulações. Terá como objectivo converter qualquer aplicação de flutter num PWA. Pode ou não ser um SPA (muito provavelmente será). Ainda assim ele tentará fazer tudo o que o flutter faz.

Com ele nós poderíamos usar o Flutter UI Framework, usar todos os recursos do SDK flutter como widgets de gerenciamento de estado e tudo… e com um clique, produzir um PWA junto com os aplicativos Android e iOS que já temos!

Existem muitos desafios pelo caminho, mas se o Google perceber isso, serão todos os SDKs.

O estado dos aplicativos All-Dart

Dash está balançando agora mesmo

Tentemos entender a diferença entre Flutter + AngularDart e Flutter + Hummingbird se nós escrevêssemos uma combinação de todos…conjunto de dardos de aplicações para web e nativo.

O PRESENTE: Flutter + Dardo Angular
Para escrever tal aplicação precisaremos de o fazer:

  • Escrever um pacote central contendo toda a lógica do negócio, garantindo que não tenha dependências angulares ou de flutter, e que todas essas dependências sejam injetadas a ele de fora
  • Escrever o PWA Angular subscrevendo o núcleo para todas as funcionalidades
    * UI com HTML + CSS ou compondo componentes angulares
    * Routing, gestão do estado com a forma angular de fazer as coisas
  • Escrever uma aplicação de flutter subscrevendo o mesmo núcleo para todas as funcionalidades
    * UI com a estrutura de flutter UI
    * Routing, gestão do estado, etc. com a forma de fazer as coisas
  • Compilar para iOS e Android do projecto de flutter
  • Compilar para Web do Projecto Angular

A partilha de código reduz a quantidade de trabalho?
Embora a partilha de código reduza definitivamente a “quantidade de código”, na minha experiência não reduziu realmente a quantidade de trabalho que precisa de ser feito. Requer que eu seja muito mais atencioso através do processo.

Quais são os benefícios então?

  • Código é mais limpo e a arquitetura é melhor
  • Sou forçado a isso, e é mais fácil para mim manter a paridade de recursos entre plataformas agora.

O FUTURO: Flutter + Hummingbird
Para escrever uma aplicação deste tipo precisamos de:

  • Escrever uma aplicação de flutter
    * UI com a estrutura de flutter
    *Roteamento, Gestão do Estado, etc. da forma de flutter
  • Compilar em três plataformas diferentes
  • Done.

Será que funciona menos?
Inferno sim!

Conclusão

>969696>

O veredicto supremo

There it is. Uma quebra do que sabemos sobre flutter, dardo angular, beija-flor e compartilhar código um com o outro.

Se você está desenvolvendo algo agora…
Vá para flutter + dardo angular. Não é tão fácil como o sonho do beija-flor, mas ainda é o melhor caminho a seguir.

Beija-flor a partir de agora é um sonho distante. Um projeto que definitivamente devemos esperar que algum dia se concretize e apoiar com todos os nossos esforços, mas Dilli abhi door hai (que o futuro é distante).