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

Opinions presented in the form of facts are manipulative #2325

Closed
allonhadaya opened this Issue Apr 22, 2017 · 8 comments

Comments

Projects
None yet
2 participants
@allonhadaya

Calling angular "too much" takes away from the legitimacy of your quantitative comparison. I looked through the history, and it used to be labelled "unknown". That's okay. It's okay to admit that you don't know, but it's not okay to inherit the authority of statistics and present your opinions as facts.

Framework Size Comparison

Framework Version Minified Size (gzip)
Angular 4 too much
Ember 2.12.0 131.92kb
Polymer + Web Components Polyfill Lite 1.8.0 66.3kb
React 15.4.2 45.06kb
Web Components Polyfill 0.7.22 33.68kb
Vue 2.2.6 27.87kb
Riot 3.4.2 9.87kb
Inferno 3.0.4 9.04kb
Preact 8.1.0 3.33kb
@GianlucaGuarini

This comment has been minimized.

Show comment
Hide comment
@GianlucaGuarini

GianlucaGuarini Apr 22, 2017

Member

It's not an opinion it's just due to the impossibility of calculating it.. maybe you could help me

Member

GianlucaGuarini commented Apr 22, 2017

It's not an opinion it's just due to the impossibility of calculating it.. maybe you could help me

@allonhadaya

This comment has been minimized.

Show comment
Hide comment
@allonhadaya

allonhadaya Apr 22, 2017

I see what you mean about it being difficult to calculate.

To me calling it "too much" is still misleading because it implies that the framework is too large rather than too difficult to compare.

But I will try to help!


Angular seems to organize their library into sub-packages on npm: @angular/*

these are the recommended defaults:

{
  "dependencies": {
    "@angular/common": "~2.4.0",
    "@angular/compiler": "~2.4.0",
    "@angular/core": "~2.4.0",
    "@angular/forms": "~2.4.0",
    "@angular/http": "~2.4.0",
    "@angular/platform-browser": "~2.4.0",
    "@angular/platform-browser-dynamic": "~2.4.0",
    "@angular/router": "~3.4.0",
    "@angular/upgrade": "~2.4.0"
  }
}

Just made this little script that installs the sub-packages, reads the minified versions, concatenates, gzips, and counts the total:

$ node index.js

reading minified sub-packages...

@angular/common :: 51912
@angular/compiler :: 611177
@angular/core :: 177848
@angular/forms :: 97499
@angular/http :: 30816
@angular/platform-browser :: 70863
@angular/platform-browser-dynamic :: 3902
@angular/router :: 104327
@angular/upgrade :: 26977

concatenating and compressing...

compressed :: 241459

Maybe a more fair comparison would be to count only the sub-packages that achieve feature-parity with riotjs. Which would those be in your opinion?

I see what you mean about it being difficult to calculate.

To me calling it "too much" is still misleading because it implies that the framework is too large rather than too difficult to compare.

But I will try to help!


Angular seems to organize their library into sub-packages on npm: @angular/*

these are the recommended defaults:

{
  "dependencies": {
    "@angular/common": "~2.4.0",
    "@angular/compiler": "~2.4.0",
    "@angular/core": "~2.4.0",
    "@angular/forms": "~2.4.0",
    "@angular/http": "~2.4.0",
    "@angular/platform-browser": "~2.4.0",
    "@angular/platform-browser-dynamic": "~2.4.0",
    "@angular/router": "~3.4.0",
    "@angular/upgrade": "~2.4.0"
  }
}

Just made this little script that installs the sub-packages, reads the minified versions, concatenates, gzips, and counts the total:

$ node index.js

reading minified sub-packages...

@angular/common :: 51912
@angular/compiler :: 611177
@angular/core :: 177848
@angular/forms :: 97499
@angular/http :: 30816
@angular/platform-browser :: 70863
@angular/platform-browser-dynamic :: 3902
@angular/router :: 104327
@angular/upgrade :: 26977

concatenating and compressing...

compressed :: 241459

Maybe a more fair comparison would be to count only the sub-packages that achieve feature-parity with riotjs. Which would those be in your opinion?

@allonhadaya

This comment has been minimized.

Show comment
Hide comment
@allonhadaya

allonhadaya Apr 22, 2017

Just added version numbers to the output so that its easy to incorporate into the chart...

$ node index.js

reading minified sub-packages...

@angular/common :: ~2.4.0 :: 51912
@angular/compiler :: ~2.4.0 :: 611177
@angular/core :: ~2.4.0 :: 177848
@angular/forms :: ~2.4.0 :: 97499
@angular/http :: ~2.4.0 :: 30816
@angular/platform-browser :: ~2.4.0 :: 70863
@angular/platform-browser-dynamic :: ~2.4.0 :: 3902
@angular/router :: ~3.4.0 :: 104327
@angular/upgrade :: ~2.4.0 :: 26977

concatenating and compressing...

compressed :: 241459

Let me know which packages you think belong!

Just added version numbers to the output so that its easy to incorporate into the chart...

$ node index.js

reading minified sub-packages...

@angular/common :: ~2.4.0 :: 51912
@angular/compiler :: ~2.4.0 :: 611177
@angular/core :: ~2.4.0 :: 177848
@angular/forms :: ~2.4.0 :: 97499
@angular/http :: ~2.4.0 :: 30816
@angular/platform-browser :: ~2.4.0 :: 70863
@angular/platform-browser-dynamic :: ~2.4.0 :: 3902
@angular/router :: ~3.4.0 :: 104327
@angular/upgrade :: ~2.4.0 :: 26977

concatenating and compressing...

compressed :: 241459

Let me know which packages you think belong!

@GianlucaGuarini

This comment has been minimized.

Show comment
Hide comment
@GianlucaGuarini

GianlucaGuarini Apr 22, 2017

Member

@allonhadaya wow thanks for your script I will try to use it to calculate the angular size hoping that the core libraries you have bundled represent a fairly the angular size

Member

GianlucaGuarini commented Apr 22, 2017

@allonhadaya wow thanks for your script I will try to use it to calculate the angular size hoping that the core libraries you have bundled represent a fairly the angular size

@allonhadaya

This comment has been minimized.

Show comment
Hide comment
@allonhadaya

allonhadaya Apr 23, 2017

@GianlucaGuarini You're welcome! It was fun to dig around.

I just realized that this is for Angular 2, and I'm pretty sure that Angular 4 is compiled from typescript. They also seem to be doing some fancy stuff to make builds smaller depending on what your application uses. Search for "tree-shaking" here.

Also for v2, rxjs and zonejs are dependencies so would have to be added to the previous results.

I'm not sure there's a simple answer for the question "How big is Angular?" 😆 😭

@GianlucaGuarini You're welcome! It was fun to dig around.

I just realized that this is for Angular 2, and I'm pretty sure that Angular 4 is compiled from typescript. They also seem to be doing some fancy stuff to make builds smaller depending on what your application uses. Search for "tree-shaking" here.

Also for v2, rxjs and zonejs are dependencies so would have to be added to the previous results.

I'm not sure there's a simple answer for the question "How big is Angular?" 😆 😭

@allonhadaya

This comment has been minimized.

Show comment
Hide comment

allonhadaya commented Apr 23, 2017

143K for v2?

@GianlucaGuarini

This comment has been minimized.

Show comment
Hide comment
@GianlucaGuarini

GianlucaGuarini Apr 23, 2017

Member

I just realized that this is for Angular 2, and I'm pretty sure that Angular 4 is compiled from typescript. They also seem to be doing some fancy stuff to make builds smaller depending on what your application uses. Search for "tree-shaking" here.

this is sold as a special angular feature but any lib written in es2015 like riot or vue for example has this "feature"

I'm not sure there's a simple answer for the question "How big is Angular?"

so back to my table, 1 it's not possible to easily calculate it and 2 it's the biggest framework out there so my comparison is kind of fair

Member

GianlucaGuarini commented Apr 23, 2017

I just realized that this is for Angular 2, and I'm pretty sure that Angular 4 is compiled from typescript. They also seem to be doing some fancy stuff to make builds smaller depending on what your application uses. Search for "tree-shaking" here.

this is sold as a special angular feature but any lib written in es2015 like riot or vue for example has this "feature"

I'm not sure there's a simple answer for the question "How big is Angular?"

so back to my table, 1 it's not possible to easily calculate it and 2 it's the biggest framework out there so my comparison is kind of fair

@allonhadaya

This comment has been minimized.

Show comment
Hide comment
@allonhadaya

allonhadaya Apr 27, 2017

Well, I understand and don't agree. Thanks for engaging the issue, and having a conversation about it.

Well, I understand and don't agree. Thanks for engaging the issue, and having a conversation about it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment