Hummingbird vs Angular Dart

Hummingbird は、12月4日の flutter ローンチイベントで発表されました。 私たちの flutter アプリケーションを本格的な Progressive Web Apps にコンパイルすることを可能にするプロジェクトです。

:-p

まず、この2つを実際に使えるかどうかという点ですが、Angular Dartの場合は「Angular Dartの方が使い勝手がいい」、Hummingbirdの場合は「Hummingbirdの方が使い勝手がいい」ということで、この2つを使い分けました。

Angular Dart
Current version of AngularDart is 5.2.0. 安定しており(ここ数年)、Google のインパクトの大きいプロジェクトや、世界中のプロジェクトで使用されています。

Hummingbird
Hummingbird は現在アルファであると言う人もいるでしょう。 しかし、私たちが持っているのは技術的な概要だけです。 チームが考えている技術的な方向性を徹底的に議論した、何よりも提案です。 (こちら:https://medium.com/flutter-io/hummingbird-building-flutter-for-the-web-e687c2a023a8)

2019年1月5日時点では何もテストしていません

実際に何をするのか?

ここで何をするのか

ご質問ありがとうございます!とあります。 Single Page Application とは何か、Progressive Web Application とは何かを理解し、Angular と Hummingbird の期待されるアウトプットを見るようにします。 これは、これらの製品が解決しようとする問題を理解するのに役立ちます。

SPA vs PWAs

Single Page Applications

シングル ページ アプリケーション(SPA)は、サーバーから新しいページ全体をロードするのではなく、現在のページを動的に書き換えることによってユーザーと対話する Web アプリケーションまたは Web サイトである。 – Wikipedia

URL に含まれる # という文字は、ページを再読み込みする代わりに、ページ内で何らかの対話を引き起こします。

Wikipedia の例では、インデックス内の見出しをクリックすると、ページがリロードされる代わりに、ブラウザがページのそのセクションに移動します。

  • https://www.wikiwand.com/en/Single-page_application#/Ajaxへ移動
  • AjaxWebsocketsへ変更して Enter キーを押します。 いいえ、単純に設定を変更するだけです。

SPA はこれを次のレベルに進めています。 アプリケーション全体とそのすべての画面は、すべての機能に対して # ベースの URL を使用して 1 つのページから動作します。

PWAs

Progressive Web Apps は、Web のリーチを持ち、信頼性と速度と魅力があるユーザー体験

– developers.google.com になります。com

PWA は、特定の方法で最適化された Web サイト (通常の Web サイト、またはシングル ページ アプリ) で、

  • オフラインでも信頼性の低いインターネット (Lie-Fi) でも確実に動作する
  • 高速で高い知覚パフォーマンスに最適化されている
  • Engaging -ネイティブ アプリケーションと同じ感覚で、決して妥協しない。

AngularDartは何をするのか?
AngularDartまたは一般にAngularは、SPAを書くためのフレームワークです。 開発者に、次のような機能を持つ SPA を書く方法を提供します:

  • Bidirectional Data Binding
  • Routing
  • Templating
  • Directives

そしてもっと多くの機能です。 実際の UI は、これまでどおり HTML + CSS で記述します。 Angular は、Web 開発者が SPA を開発できるようにするための他のすべてを提供するだけです。 要点:

  • Angular Dart は UI Framework ではない
  • Angular Dart アプリは PWA であるかないか

それでは Angular Web Components とは?
angular_components パッケージが提供する多数のマテリアル デザイン コンポーネントは、アプリケーションを構築するテンプレートとして機能するものです。

  • これらは Internet Explorer ではサポートされていません
  • これらはまだ HTML + CSS + Dart で書かれています

ハミングバードは何をするのでしょうか?
今のところ単なる推測に過ぎません。 あらゆる flutter アプリケーションを PWA に変換することを目指すでしょう。 SPA である可能性もありますし、そうでない可能性もあります (おそらくそうなるでしょう)。

これを使えば、Flutter UI Frameworkを使い、状態管理ウィジェットなどのflutter SDKの機能をすべて使い、ワンクリックで、すでにあるAndroidやiOSアプリと一緒にPWAを作成できる!

途中には多くの課題があるが、Googleがこれを実現すれば、SDKのすべてとなるであろう。

オールDartアプリの状況

Dash is rocking it now

Flutter + AngularDart と Flutter + Hummingbird の違いを理解して、もし我々がオールDartを書くとすれば、Flashはどのようになるでしょうか?ウェブとネイティブのためのアプリケーションのダーツセット。

the present: Flutter + Angular Dart
このようなアプリケーションを書くために、私たちは以下のことを行う必要があります。

  • すべてのビジネス ロジックを含むコア パッケージを書き、それが Angular や Flutter の依存性を持たず、そのような依存性はすべて外部から注入されるようにする
  • すべての機能のコアを購読する Angular PWA を書く
    * HTML + CSS による UI または Angular コンポーネントの構成
    * Routing, state management with Angular way of things
  • Write a Flutter Application subscribing to the same core for all functionalities
    * UI with the flutter UI framework
    * Routing, State Management etc with the flutter way of things
  • Compile to iOS and Android from the flutter project
  • Compile to Web from the Angular Project

Code Sharingは作業量を減らすか?
コード共有により「コードの量」は間違いなく減りますが、私の経験では、行う必要のある仕事の量はあまり減っていません。

では、どのような利点がありますか。

  • Code is cleaner and the architecture is better
  • I was forced to, and it’s easier to maintain feature parity across platforms now.

    Code sharing has definitely reduced “code amount”, while I have been fully thoughtful in the process,

    What is you need for you to have been upgraded to do.

THE FUTURE: Flutter + Hummingbird
Flutter アプリケーションを書くために必要なこと:

  • Write a flutter application
    * UI with the flutter framework
    * Routing, State Management etc the flutte way
  • Compile on three different platforms
  • Done.The Future for a application will have been to do it.

作業量は減ったか?
Hell yeah!

Conclusion

最高評決

そこにあるのは、これです。 flutter、angular dart、hummingbird、コードの共有について知っていることの内訳です。

今、何かを開発しているなら…
flutter + angular dartを目指しましょう。 ハミングバードの夢ほど簡単ではありませんが、それでもベストな方法です。

今現在のハミングバードは遠い夢です。 いつの日か必ず実現することを願い、全力でサポートすべきプロジェクトですが、Dilli abhi door hai(その未来は遠い)