visit
Angular. Its mere name is a hostile form on the tongue. Pronounce it slowly. /’eŋgjəlɚ/. The throat itself contorts around the hideous alien shape of this word, which means ugly, sharp, and artificial.
Test subjects across the globe overwhelmingly associate the same three words with the same three shapes.
Here, I will illustrate the various ways in which my psyche was irreversibly traumatized by this pandemonium of demon-droppings, Google’s brainchild: the ANGULAR WEB DEVELOPMENT FRAMEWORK.None of the errors you will encounter while building a WEB APPLICATION on the ANGULAR WEB DEVELOPMENT FRAMEWORK will be listed in this documentation. Indeed, very few of the design patterns or core concepts you will require will be present here, either. If you want to learn how to actually build a dangerous tool with ANGULAR, you will need to purchase an online course (I can recommend Maximillian Schwarzmueller’s comprehensive , which saved my job) that will reveal to you all of the Gotcha! moments and snare traps that await the naȉf who believes they can simply start writing Javascript like a React or Vue developer.
Angular’s actual documentation is more of a function, which I will pseudocode below.
This neat little script is only 5MB after Angular compiles it.
Notice anything? Yes, that’s right: when bugfixing in ANGULAR, you need to specifically exclude the phrase `angularjs` from every one of your searches. You can’t append a 2, or a 7, or hope that Just `“ANGULAR”` will suffice to exclude the ill-fated first edition of this comprehensive software development stack. Needless to say this alone starts to grate after a while.
But then you get around to reading enough of these Stack Overflow “solutions” to people’s problems, and it begins to dawn on you that between the code you write and the code that runs in the browser, there isn’t just a compiler that will handily break all of your CSS for you, there’s a bona fide black box that demands you format your application in exactly such a way or else the entire thing will fail silently or worse, spit out an incorrect error message. You literally cannot trust anything that the ANGULAR WEB DEVELOPMENT FRAMEWORK tells you about what you have done wrong because not even it knows how its own system works. Did you declare an `EntryComponent` in the `Module` it’s intended to lazy-load into rather than the root `Module` where it loses all benefits of lazy-loading? Nein! Did you try to use _Two-Way Data Binding_™ rather than an arcane daisy-chain of `EventEmitter`s and `Subscription`s and `Service`s? Verboten!
The entire ANGULAR WEB DEVELOPMENT experience is like this. You run at full speed into a brick wall enough times, and eventually you learn to creep around at a snail’s pace, groping pathetically for any arbitrary obstacles that the FRAMEWORK might throw in your way. There is little in the world more frustrating than attempting to operate this monstrous and moody contraption that the allegedly smartest corporation in the world managed to excrete. Imagine a car whose hood never opens, and whose dashboard says only DASHBOARD in blinding lights that don’t switch off. The car cannot be repaired once broken; it can only be replaced or modified from the outside in. It guzzles gas even when it’s not turned on. No service manual exists. If you want to know how it works, here’s the 5,280-page assembly guide. Good luck.Basically the only way to understand what Angular is actually doing is to read the millions of lines of source code the devs happily provide on GitHub. Since nobody actually does that, ANGULAR WEB DEVELOPERS typically settle for learning one or two design patterns that they know will not explode, and building an entire application out of them. Like a submarine built out of increasingly large doctor’s office inflatable gloves. It could probably work, given an endless supply of gloves and toddlers. Your only other option is to immerse yourself in the nonsensical, arbitrary madness that awaits the developer who attempts to learn how ANGULAR “works”.
I’ll tell you how it works. Your Components talk to your Services which relay data to your other Injectables via the Modules that your app Imports. What’s unclear about that? If you need clarification, go review the Material Design guidelines. They’ve got Components for everything you need to build. And keep your designs pixel perfect, please. It ought to be easy to do, since Material and Angular are designed by Google to supposedly work together nicely. And it will look and feel great when the padding on each list item eats up a third of the webpage, and opening a dropdown menu takes all of sixteen seconds. Don’t you feel freed from the constraints of an arbitrary and underdeveloped Internet? Not a single part of ANGULAR’s design makes your code run faster. It increases only three things: complexity bloat, the time it takes to complete a simple feature, and — if you can somehow avoid driving yourself insane writing this spaghetti day in and day out — job security for you and your team. But be warned: the ANGULAR WEB DEVELOPMENT FRAMEWORK won’t do you any favors when a deadline is approaching.It’s alright though, you will have plenty of time to contemplate your ill-advised decision to continue programming with this beautiful FRAMEWORK because every time you edit any minor piece of HTML you need to recompile the entire application. Hot reloading works on the baby stuff, but once your app develops any degree of complexity, you need to wait 60 to 300 seconds while the processor crunches through your entire codebase to add a single HTML class to a single element in a popup. Hours of your life soon disappear into the void. Hours spent staring at the console message: `92% chunk asset optimization`. I hope you like podcasts!
“But wait, you can avoid all that compilation if you use this technique!! [Stack Overflow link*]” Can’t use that technique because the ANGULAR WEB DEVELOPMENT FRAMEWORK manages to compile apps without errors in development mode that throw errors in production mode. So you need to build production, every single time, to catch every bug.
* Again: why isn’t this technique in the documentation to begin with?! Do you hate writing legible CSS? ANGULAR provides all sorts of confusing ways to convert explicit styling rules to pseudo-HTML that needs to recompile every time you change an element’s class. You don’t even need to learn FLEXBOX… until, of course, the manager demands to know why your layout isn’t “up to standard” — MATERIAL DESIGN standard — and then suddenly, you realize you’ve been incanting nonsense words at a black box, and the entire application rests on a precarious assembly of assumptions that are about to collapse, but you can’t fix them without undoing weeks of work, but the deadline, the deadline!