Have you ever had a brilliant idea for a weekend project, started it Saturday afternoon, and then steadily come to realize the project would take at least six months to fully implement? Google had a moment like that when they set out to document the inner workings of the ANGULAR WEB DEVELOPMENT FRAMEWORK. They then drip-fed an intern nothing but espresso for weeks until she had a Hello World code-along project that they were able to pass off as a complete documentation of their entire stack.
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.
ANGULAR is slow. Writing apps takes a long time and the apps you create function very sluggishly once your app gets more complicated than `Hello World`. This would be acceptable if the ANGULAR FRAMEWORK conferred any benefits to the user or the programmer, such as failing gracefully in the event of a runtime error, or compiling quickly, or providing an increase to app security. But ANGULAR possesses none of these. In fact, it collapses into a wailing heap at the mere mention of an `Uncaught TypeError`.
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.
The ANGULAR WEB DEVELOPMENT Experience
Open up your IDE of choice, coder! Enter your IntelliJ IDEA License Key to begin. A License Key is required to continue. Thank you for entering your License Key. Please select the Type Script “Linter” you would like to use to “Lint” your Type Script Code. The ANGULAR WEB DFGHSDFG FGSGDFSFDS runs Type Script, which is Java Script with Types. That makes it Good. You must use an IDE that is compatible with Type Script. Type Script will occasionally update. This will break your code and the code in your dependencies. This is expected. Rejoice in the time you are paid to pick through worming function calls! This is living!
Do not be alarmed if your dependency libraries occasionally issue breaking changes after altering a single property on a class you never use. You can just add a manual file editing step to every build process. Or you could freeze the library at a compatible version and lose all future improvements. Thank you for choosing Type Script and ANGULAR.
ANGULAR will helpfully mix fake HTML ELEMENTS into your real HTML ELEMENTS because the entire app is getting shredded to pieces by their AHEAD OF TIME COMPILER anyway, so what does it matter if they pollute a correct specification with a capricious impostor? When composing an HTML FILE, please remember to use the ANGULAR-specific markup language, which includes DIRECTIVES for making your code even more interesting to debug. You can even write your own ANGULAR DIRECTIVES if you’d like to further obfuscate the purpose of the characters you type. The most toothsome feature of all this advanced ANGULAR-flavored HTML is that tracing errors to their source is exponentially more difficult than it is in almost any other library, framework, or coding environment in living memory. They will literally feed you the wrong error message. You can search for a missing closing tag for days before you realize that the actual error was buried somewhere deep in the conditionals and mysterious imported directives, and to attempt to explain it to an outsider would inspire either a look of horror, or one of pity. Oh, also you can’t write same-page anchor links anymore because that functionality was too helpful. Enjoy trying to manually scroll with The Java Script!