Skip to content

Ivy Renderer (beta) #21706

Closed
Closed

Description

@IgorMinar

Overview

Ivy is a new backwards-compatible Angular renderer focused on further speed improvements, size reduction, and increased flexibility.

Ivy is currently not feature complete, but can be tested via enableIvy: true angularCompilerOptions flag.

We currently expect Ivy to remain behind the flag until it's feature complete and battle tested at Google. In the meantime you can check out this Hello World demo.

To see status of Ivy implementation go here.

Related Issues:

Activity

  1. added this to the milestone on Jan 22, 2018
  2. deleted a comment from IgorMinar on Jan 23, 2018
  3. added
    featureLabel used to distinguish feature request from other issues
    on Jan 24, 2018
  4. deleted a comment from LinboLen on Jan 26, 2018
  5. deleted a comment from arjunyel on Jan 26, 2018
  6. ansarizafar commented on Feb 8, 2018

    @ansarizafar

    Looking forward for an early release.

  7. AhsanAyaz commented on Feb 8, 2018

    @AhsanAyaz
    Contributor

    Super excited for this 👍 😄

  8. AndreaBarbasso commented on Feb 8, 2018

    @AndreaBarbasso

    @ContentChildred

    A bit of a typo here 😄 still, can't wait for Ivy to be released! ❤️

  9. avatsaev commented on Feb 8, 2018

    @avatsaev
    Contributor

    I want higher order components 😄

    hope Component Composition will land in the 6

  10. Ploppy3 commented on Feb 8, 2018

    @Ploppy3

    I'm sorry to ask here (If you consider this spam, feel free to remove it), but does Ivy renderer aim at improving the runtime perf? The only info I found so far is the new features regarding i18n and the fact that it should be backward compatible. Can anyone point me toward info related to Ivy? Thank you.

  11. chaosmonster commented on Feb 8, 2018

    @chaosmonster

    @Ploppy3 follow Rob on Twitter https://twitter.com/robwormald/status/961445453391790080 it also shrinks the build size e.g.

  12. trotyl commented on Feb 11, 2018

    @trotyl
    Contributor

    @avatsaev The new Feature feature almost provide the same openness (against class factory), by transforming the type (and compiled metadata) itself during runtime.

    Even the OnChanges hook is now an emulated feature, rather than real life-cycle hooks recognized by Angular.

  13. chaosmonster commented on Feb 11, 2018

    @chaosmonster

    @avatsaev that is already possible if I understand you correctly https://gist.github.com/chaosmonster/f2576bbd1bc9a50282a2b3b492195b29

  14. 195 remaining items

  15. naveedahmed1 commented on Nov 8, 2019

    @naveedahmed1
    Contributor

    @vytautas-pranskunas- Angular 9 rc1 is with Ivy enabled.

  16. vytautas-pranskunas- commented on Nov 8, 2019

    @vytautas-pranskunas-
  17. naveedahmed1 commented on Nov 8, 2019

    @naveedahmed1
    Contributor

    Angular 8 without IVY, Angular 9.next and Angular 9.RC both with IVY

  18. vytautas-pranskunas- commented on Nov 8, 2019

    @vytautas-pranskunas-
  19. tayambamwanza commented on Nov 8, 2019

    @tayambamwanza

    I remember reading that current ivy is doing backward compatibility, so that's why there's extra size and time, bit as new versions release and libraries fix compatibility they can drop the dead weight so to speak.

  20. albyrock87 commented on Nov 12, 2019

    @albyrock87

    Hi! A question: will markDirty<T>(component: T) and detectChanges<T>(component: T) be public APIs? As of release 9-rc1 they are not. Thanks

  21. sergey-morenets commented on Nov 12, 2019

    @sergey-morenets

    Hi

    The same question about renderComponent function. Will it be used in Angular 9? Angular 8 Ivy samples used it for bootstrapping. But I see in new Angular 9-rc-1 application that's absent:

    platformBrowserDynamic().bootstrapModule(AppModule)
      .catch(err => console.error(err));
    
  22. Ks89 commented on Nov 12, 2019

    @Ks89

    Is Ivy compatible with universal?
    I tried to download the example https://next.angular.io/generated/zips/universal/universal.zip and execute ng update @angular/cli @angular/core --next to upgrade to angular 9.
    After the upgrade I can run npm run build:ssr && npm run serve:ssr, but when I try to navigate to the main page at localhost:4000 I get this error:

    Node server listening on http://localhost:4000
    Error: You must pass in a NgModule or NgModuleFactory to be bootstrapped
    

    Do you have any suggestions?

  23. naveedahmed1 commented on Nov 12, 2019

    @naveedahmed1
    Contributor

    Yes IVY works fine with SSR/Universal, we're using it on our website without any issue.

  24. fabionolasco commented on Feb 14, 2020

    @fabionolasco

    I just created a Hello World using Angular 9.0.1 (Ivy and AOT with build --prod), with no CSS and no Router. The final size on the browser was 135Kb.

    Is that correct?

    Thank you for your help!

    Log:
    chunk {2} polyfills-es2015.442fa3cc45520cc0d518.js (polyfills) 35.6 kB [initial] [rendered]
    chunk {3} polyfills-es5.abdd41dcd206a6689f72.js (polyfills-es5) 127 kB [initial] [rendered]
    chunk {0} runtime-es2015.0811dcefd377500b5b1a.js (runtime) 1.45 kB [entry] [rendered]
    chunk {0} runtime-es5.0811dcefd377500b5b1a.js (runtime) 1.45 kB [entry] [rendered]
    chunk {1} main-es2015.c3215eff7b2f311317ff.js (main) 94.6 kB [initial] [rendered]
    chunk {1} main-es5.c3215eff7b2f311317ff.js (main) 116 kB [initial] [rendered]
    chunk {4} styles.0e4338761429b4eb16ac.css (styles) 0 bytes [initial] [rendered]

  25. jorgellose commented on Feb 14, 2020

    @jorgellose
    • br compression and voila
  26. pkozlowski-opensource commented on Feb 14, 2020

    @pkozlowski-opensource
    Member

    Given that ivy landed as a default renderer in v9, it is time to close this issue :-)

  27. angular-automatic-lock-bot commented on Mar 16, 2020

    @angular-automatic-lock-bot

    This issue has been automatically locked due to inactivity.
    Please file a new issue if you are encountering a similar or related problem.

    Read more about our automatic conversation locking policy.

    This action has been performed automatically by a bot.

  28. locked and limited conversation to collaborators on Mar 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

featureLabel used to distinguish feature request from other issues

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions