03May

Final Impressions on “Modern” Javascript Development

Posted by Elf Sternberg as javascript, web development

After working on a take-home quiz I have four numbers with regard to the "twitter clone" project given to me by ${MEGACORP}.

2,572

2,572 different Javascript libraries ended up inside the build tree for the demonstration application. That number does not include the global instance of the Prisma toolkit that I ended up installing on the recommendation of the tutorial. That number does not include the Prisma back-end, running on AWS, over which I had no ownership or control.

That’s 2,572 potential cases of corruption, infiltration, or code unreliability. No one involved with this project could possibly have vetted all of them, and there’s very little chance anyone could have a web-of-trust that encompasses all of them.

2,371,451

The final build size for this project was 2,371,451 bytes. That’s the size of the payload that gets downloaded to your client— desktop, phone, tablet— to run on your browser. 2.4 Megabytes. That’s a lot of code to run when all you want is a simple scrolling twitter feed.

[NaN]

I don’t know how many random accounts I have out there. I’ve been on the Internet since 1991; I’ve had account on AOL, CompuServe, MySpace, and a zillion other places. Authorizing Prisma to have access to my GitHub account for the purposes of authentication was just one more, and it annoyed me that local-first isn’t even on some companies’ radars.

32

32 is the number of hours I spent on a coding challenge. That’s a ridiculous number; no one who’s actually got a job could possibly have gotten through this assignment in anything like a valid amount of time.

On the other hand, learning five new technologies sufficient to "make it go" in only 32 hours is an awesome, and it was really good to see that my coding chops at the browser level are still as solid as they are at the back-end.

Afterward

The thing of it all is, I look at This is a Motherfucking Website and wonder how the hell we got from that to, well, to React. My story sites use native Javascript and treats the HTML as the source-of-truth, which is one of the reasons it’s so damn fast. The Javascript on those pages is minescule… less than 1 kilobyte, but they do the job of helping people navigate the site fast and efficiently and are still ARIA-compliant.

React is like Golang: both are enterprise-ready solutions that let developers do things fast enough, but hem the developers into pre-packaged tooling and solutions that limit thought and creativity. They’re both great tool in their roles, but they’re not what I would choose to work with recreationally.

Which is too bad, but what else can you do? They really do let companies throw stuff out fast, and if the consumer can’t keep up, well, it’s the consumer’s responsibility to upgrade their phone or laptop, isn’t it? Upgrade or die.

The world still deserves better.

1 Response to Final Impressions on “Modern” Javascript Development

Chris Dukes

May 21st, 2019 at 12:02 pm

To further the nodejs package hell…

For nodejs based services running on Windows… the bare minimum for successful software builds…
gulp-cli, grunt-cli, windows-build-tools…
adds a svelte 530 npm packages to the build host. Plus python 2.7 and Visual Studio…

Comment Form

Subscribe to Feed

Categories

Calendar

May 2019
M T W T F S S
« Apr   Jun »
 12345
6789101112
13141516171819
20212223242526
2728293031