「Angular: The Documentary」を観た

laiso
·

Angularの開発ストーリーが『下町ロケット』風のいい話になって投下されていたので拝聴した。

Reactと同じように所属組織の社内事情に結構振り回されているなという感想だった。仕事で作っていたのだから仕方がない。

初期Angular

  • プロジェクトの最初のアイデアはHTMLを書くだけでDBのUIを作ってくれるサービスだった

    • 今で言うFirebaseのような

    • デザイナーでも使える

      • HTMXのようなコンセプト?

  • Vanilla Binderという名前だった。その後フレームワーク部分のが好評だったのでGet Angularに

  • MiškoはAngularで独立しようとしていたが社内リソースで開発する方がいいと説得した

  • Google マップや Gmailのチームに売り込みに行ったら「いいおもちゃだね、頑張って!」と追い返された

  • えらい人たちの前で「Angularでコードが削減できます」とプレゼンしたらJavaのえらい人に「お前たちは嘘つきだ(全然ダメ)」とDISられた。

    • しかしそのおかげで圧倒的成長できました。

    • このエピソードいつも擦ってるので根に持ってそう

  • しかし社内プロジェクトとして取り組む許可は得た

バージョン1.0

  • 社内リソースは全然つけてくれなかった

    • なのでOSS運用して社外にも頼ることになった

    • クローズのまま開発されてきたWizとは対照的

  • 自分たちでリリースまでこぎ着けて1.0を発表したらバズった

  • JeremyがBackboneを出す2010年より前にMiškoはAngularを作っていたがリリースは2011-12

  • https://laiso.hatenablog.com/entry/2012/11/09/145011 によるとBackboneが注目されていた時期にAngularも乗り込んできたらしい

  • 「JavaScript MVC(フレームワーク)」という呼ばれ方をしていたと思う

  • 当時はBackboneにデフォルトではないデータバインディングをAngularやKnockoutなどのJavaやC#のGUI方面から来た奴らがどうアプローチするのかとみていた

Dart移行するふり

  • Angularチームは広告部門に移動されたがそこは静的型付け派閥だった

  • シニアがJavaのGWTでUI作ってた

  • 「AngularをDartベースにせよ」と指令が下る

    • Dart予算ゲット

  • AltバージョンのAngularDartのプロジェクトが始まる

  • AngularチームはJSの動的が好きだったので反発した

  • しかし案外静的型付けの体験が良かった。大規模に向いてる。型最高

  • JavaScriptに型をつけるAtScriptを立ち上げた

  • Microsoftの人たちが声をかけてきてAtScriptの機能をTypeScriptに入れた

  • こうしてTypeScript版Angularができた

  • AngularDartはどうするの?

    • TSからDart吐き出すトランスパイラ作ったけどDartチームからは不評で最終的にフォークされた

    • Angular Dartは現在はアーカイブされている

Angular 2と破壊

  • ディレクティブベースからコンポーネントベースに一気に変えてコントローラー壊れた

  • 全く別物になったのでコミュニティが混乱した。正直すまんかった

  • その後もIvyエンジン導入するために内部アーキテクチャもほとんど書き直した

Angularの未来

  • RxJS observablesからsignalsへ

  • SSRに強い社内フレームワークWizとの統合

    • 偶然Wizもsignalsを検討していた

    • 社内固有部分を剥がしてWizの一部をOSSに取り入れる

  • 全ての問題が解決されて再びAngular熱が加速する

    • 「Angular ルネッサンスが到来しつつある」

    • 「AngularはJS界のキアヌリーブスだ」日本人にはピンとこない比喩

  • 「ReactはRSC移行でAngular 2のような苦境に陥りそう」

@laiso
インターネットユーザー。lai.so