New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ivy Renderer (beta) #21706
Comments
Looking forward for an early release. |
Super excited for this 👍 😄 |
A bit of a typo here 😄 still, can't wait for Ivy to be released! ❤️ |
I want higher order components 😄 hope Component Composition will land in the 6 |
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. |
@Ploppy3 follow Rob on Twitter https://twitter.com/robwormald/status/961445453391790080 it also shrinks the build size e.g. |
@avatsaev The new Even the |
@avatsaev that is already possible if I understand you correctly https://gist.github.com/chaosmonster/f2576bbd1bc9a50282a2b3b492195b29 |
@chaosmonster The mixin pattern is not yet generally supported in AOT mode, like life-cycle hooks recognition in #19145 and more issues described in #18644. |
@chaosmaster thank you for the link, but in my opnion this looks very sloppy and hacky. The ideal would be one What im unsure about is, what decorator inheritance behavior would be. Override? Extend? Compose? |
@avatsaev Higher-Order Components is not a feature, but a code pattern:
The only thing really stop you from doing that is the AOT compiler which does only support top-level classes. The metadata inheritance (overriding) is an independent feature (#13764). |
waiting for compiler cli support |
Is this target for v6.0.0? |
@GuskiS Will only be available behind a flag (non-default) in v6. |
@IgorMinar Just out of curiosity. Do you have any documentation about the design of the new Ivy Renderer that is publicy available? |
@tmair I asked Rob on Twitter: https://twitter.com/robwormald/status/961727090113396737 |
Looking forward to this! Will |
@HerringtonDarkholme I found your blog post here: https://herringtondarkholme.github.io/2018/02/19/angular-ivy/. It was very informative - thanks! |
Why do I wonder about DebugElement in dev build? There are two test outputs below. One is with Ivy enabled. One is with Ivy disabled. Same version: 9.0.0-rc.1. Ivy disabled:
Ivy enabled:
Same component, same tests. The component:
The unit test:
Is it breaking change? We have some unit tests broken in our project because of that. I can't find any info in CHANGELOG (I made link for specific version which mensions bugfix about DebugElement) or in Known Issues Should I start an issue? Or is it something known (issue in this repo, known issues anywhere, changelog) and I just should fix it in my unit tests: null -> undefined? |
@sharikovvladislav I don't know the reason why Ivy made such a change, being now |
@lucasbasquerotto of course I can fix some unit tests somehow. The main question is: Or I just have to change the unit tests and all will be fine. |
@sharikovvladislav @lucasbasquerotto could one of you file a separate issue for this particular case? There is a great chance that we are going to miss this case in the long discussion here. Thnx! |
@pkozlowski-opensource Ye, sure. I will do it this evening. |
Why can't you use JIT in dev build?
пт, 8 нояб. 2019 г. в 10:48, Aleš <notifications@github.com>:
… Is there going to be a more straightforward way to turn Ivy on only for
production build, given that it's not quite usable for dev due to rebuild
times?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#21706?email_source=notifications&email_token=ABK4V7U7WWDAEEFZG7Q7U63QSUKVNA5CNFSM4ENCAAQ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDPAPLY#issuecomment-551421871>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABK4V7XAFKHES6NMH3Z37R3QSUKVNANCNFSM4ENCAAQQ>
.
|
I think this 20s rebuild time is not typical and is probably caused by some bug, as i'm seeing much faster rebuilds on the app of similar size. Can this probably be related to #33532 or some other typechecking issue? |
How would I go about debugging it? Basically all of my build times increased, production build went from 8 minutes to 14 minutes.
That's what I'm doing, but then you lose the benefits of template checking etc. As far as I know anyway. It was my understanding that Ivy was supposed to be the best of both aot and jit combined, that you would finally be able to use it on larger projects without having to resolve to jit (as aot was already unusable for dev on larger projects - a known problem). |
Is it only me who had big belueve in I y but now it looks like it will not be so magical? Or do you think guys that they will show us magic? |
Ivy is just a groundwork for some highly requested features and I'm fine with that. But still a bit surprised by the build times, was expecting improvements from the get-go here. |
Lighthouse score for Mustakbil.com with Angular 9-RC1 (IVY) Angular 8.x vs Angular 9-next.1 v Angular 9-RC1 (IVY) 1st Contentful Paint: 0.3s > 0.5s >0.3s Scripting 1219ms > 1547ms > 552ms Bundle sizes:
In my case production build takes 95 seconds on Angular 9-RC1 (IVY). |
So angular 9 rc1 is without Ivy right?
…On Fri, Nov 8, 2019, 8:08 PM Naveed Ahmed ***@***.***> wrote:
Lighthouse score for Mustakbil.com <https://www.mustakbil.com/> with
Angular 9-RC1
(without any throttling):
Angular 8.x vs Angular 9-next.1 v Angular 9-RC1
1st Contentful Paint: 0.3s > 0.5s >0.3s
Speed Inex: 0.5s > 1.4s > 1s
Time to Interactive: 1.8s > 2.4s > 0.8s
Scripting 1219ms > 1547ms > 552ms
Rendering 458>292 > 145
Painting 100 >63 > 47
System 345 >268 > 271
Idle 302 > 277 > 1002
[image: mustakbil-matrices1]
<https://user-images.githubusercontent.com/7761180/68503048-be9aaa80-0283-11ea-8e19-b875e516d519.jpg>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#21706?email_source=notifications&email_token=AA54ZF5QGYL6YWU7MZ2IY6DQSW2JRA5CNFSM4ENCAAQ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDTB3RI#issuecomment-551951813>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AA54ZF652OTQPR54EKCWJHDQSW2JRANCNFSM4ENCAAQQ>
.
|
@vytautas-pranskunas- Angular 9 rc1 is with Ivy enabled. |
And next is without?
…On Fri, Nov 8, 2019, 8:30 PM Naveed Ahmed ***@***.***> wrote:
@vytautas-pranskunas- <https://github.com/vytautas-pranskunas-> Angular 9
rc1 is with Ivy enabled.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#21706?email_source=notifications&email_token=AA54ZF36ESW35TMNNWBA4PLQSW47BA5CNFSM4ENCAAQ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDTDXUY#issuecomment-551959507>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AA54ZF7OVDBTEUXZYZ56SBDQSW47BANCNFSM4ENCAAQQ>
.
|
Angular 8 without IVY, Angular 9.next and Angular 9.RC both with IVY |
Then why is such a big difference between ng9 next and ng9 rc1?
…On Fri, Nov 8, 2019, 8:45 PM Naveed Ahmed ***@***.***> wrote:
Angular 8 without IVY, Angular 9.next and Angular 9.RC both with IVY
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#21706?email_source=notifications&email_token=AA54ZF3XPCOISKUJC5ZMUOTQSW6WFA5CNFSM4ENCAAQ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDTE6XY#issuecomment-551964511>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AA54ZF2WINFN5RXRNISDW3LQSW6WFANCNFSM4ENCAAQQ>
.
|
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. |
Hi! A question: will |
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:
|
Is Ivy compatible with universal?
Do you have any suggestions? |
Yes IVY works fine with SSR/Universal, we're using it on our website without any issue. |
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: |
|
Given that ivy landed as a default renderer in v9, it is time to close this issue :-) |
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
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:
The text was updated successfully, but these errors were encountered: