为什么 Angular 使我逃离 Web 开发 已翻译 64%

oschina 投递于 2018/11/08 14:31 (共 14 段)
阅读 228
收藏 0
0
加载中

辨别公司是否已开始堕落的最可靠方法之一是,衡量随着时间推移其产品所提供的可用性的衍生。 像苹果这样的公司在发布 iPhone 时平均产品可用性大幅上升,并在一段时间里持续增加,但最终在他们开始取消 3.5mm 插孔等重要手机功能时达到稳定。 通常而言,大多数公司都经历过这种可用性的S曲线或抛物曲线:前者通常找到自己的不足,然后弥补,即使在没有创新的情况下依然产生不错的盈利;后者则未能理解他们的产品,把事情搞砸,搞崩溃,最后毁掉。

chasehong
chasehong
翻译于 2018/11/12 14:29
0

Angular,仅仅它的名字跟舌头就很违和。慢慢发这个音,/’eŋgjəlɚ/ 喉咙本身围绕着这个词有着可怕的奇怪的形状扭曲,这意味着丑陋,尖锐和做作。

来自全球的受测对象全都将三个单词与三个形状如此关联起来

在这里,我将阐述我的心灵受到这种恶魔排泄物般的混乱所带来的各种不同方式的创伤 —— 这个谷歌的心血结晶:Angular Web 开发框架。

chasehong
chasehong
翻译于 2018/11/12 15:01
1

文档

你是否曾经有那么灵机一动,在某个周六开工了一个周末项目,然后稳步认识到完整地实现这个项目最起码得半年的时间。嗯,Google 的 Angular 开发框架的文档就很像这样头脑发热做出来的东西。他们给一个实习生一点意大利咖啡之后,让他全权负责这个文档项目,然后撒手不管。而这个实习生鼓捣了好几个星期,总算鼓捣出一个 Hello World 项目的说明书出来,随后,这项目直接被采用为 Angular 整个技术栈的完整文档。

你在使用 Angular 开发框架来制作 Web 应用中将会遇到的问题这个文档里面基本没有。实际上,你必须要了解的设计模式和核心概念在这份文档中也是极少提及的。如果你想学习如何使用 Angular 制作一个危险的工具的话,那么你需要去订购在线教程(在此我推荐 Maximillian Schwarzmueller 全套的 完全引导 教程,我就是靠这套教程保住了我的饭碗的)去揭示所有知识点!然后等待那些天真的觉得可以简单的编写 Javascript 代码的开发者,如 React 或者 Vue 开发者踏入的暗坑。

adoontheway
adoontheway
翻译于 2018/11/22 21:29
0

Angular 的文档最多也就一个函数,伪代码如下:

这么点点代码在 Angualr 编译之后只有5MB。

发现什么了吗?是的:当 Angular  进行漏洞修复(bugfixing)的时候,你需要从每个搜索结果中额外排除单词‘angularjs’。你没法在后面加个2,或者加个7,或者期望只用'"Angular"'就能有效的排除这个完整的软件开发栈的不幸初版。这一点不需要多说,说多了都是心酸泪。

adoontheway
adoontheway
翻译于 2018/11/22 21:38
0

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!

还没有人翻译此段落
我来翻译

整个 Angular Web 的开发体验是这样的:你以全速在一堵砖墙里跑了足够多的时间,最终学会了以蜗牛般的速度爬行,像可怜地摸索框架可能给你造成的任意障碍那样。世界上最令人沮丧的事情莫过于试图操作这个据说是世界上最聪明的公司制造出来的怪物和喜怒无常的装置。

想象一下,一辆汽车的引擎盖从来没有打开过,仪表盘上显示只有永远亮着无法关闭的炫目灯。它只能从外到内进行替换或修改。即使没有打开它,它也会耗油。不存在服务手册。如果你想知道它是如何工作的,这里是 5280 页的操作指南。祝你好运。

liyue李月
liyue李月
翻译于 2018/11/15 18:34
0

“架构”

Angular 是缓慢的。编写应用程序需要很长时间,一旦你的应用程序变得比“Hello World”更复杂,你创建的应用的功能就会非常缓慢。如果 Angular 框架给用户或程序员带来了任何好处,比如在运行时错误的情况下优雅地失败,或者快速编译,或者提高了应用程序的安全性,那么这是可以接受的。但是 Angular 不具备这些。事实上,只要一提到“未捕获的类型错误”,它就会崩溃成一堆未捕获错误。

基本上,理解 Angular 实际在做什么的唯一方法就是阅读开发者在 GitHub 上提供的数百万行的源代码。由于没有人真正做到这一点,Angular 的 Web 开发人员通常会满足于学习一两个他们知道不会爆炸的设计模式,然后用它们构建一个完整的应用程序。就像用越来越大的医生办公室的充气手套建造的潜水艇。如果手套和蹒跚学步的孩子有充足的供应,这种方法可能会奏效。你唯一的选择就是让自己沉浸在等待开发人员学习 Angular 如何“工作”的荒谬、武断的疯狂中。

liyue李月
liyue李月
翻译于 2018/11/26 14:54
0

我来告诉你它是如何工作的。组件与服务通信,服务通过应用程序导入的模块将数据转发到其他注入表。有什么不清楚的吗?如果你需要确认,去看看 Material Design 指南。他们有你需要构建的所有组件。请保持你的设计像素完美。这应该是很容易做到的,因为 Material 和 Angular 都是由谷歌设计的,可以很好地协同工作。当每个列表项的填充占用了三分之一的网页,打开下拉菜单需要全部16秒时,它看起来和感觉都会很棒。难道你不觉得摆脱了互联网的束缚吗?

Angular 的设计中没有一个部分能让你的代码运行得更快。它只增加了三件事:复杂性膨胀,完成一个简单特性所需要的时间,以及——如果你能以某种方式避免你自己日复一日地疯狂地编写这个意大利面条——你和你的团队的工作安全性。但是要注意: Angular Web 开发框架在最后期限临近的时候不会给你带来任何帮助。

liyue李月
liyue李月
翻译于 2018/11/26 14:56
0

Angular Web 开发经验

打开你选择的 IDE ,编码器!输入 IntelliJ IDEA 许可密钥开始。需要一个许可证密钥才能继续。谢谢您输入您的许可证密钥。请选择您想使用的类型脚本 “Linter” 来 “Lint” 类型脚本代码。ANGULAR WEB DFGHSDFG FGSGDFSFDS 运行类型脚本,它是带有类型的 Java 脚本。这样就很好了。你必须使用与类型脚本兼容的 IDE 。类型脚本将偶尔更新。这会破坏你的代码和依赖项中的代码。这是预期。高兴的时间,你是通过功能调用来挑选!这是自由的!

如果你的依赖项库在更改了从未使用过的类的单个属性后,偶尔会发出中断更改,请不要惊慌。你只需向每个构建过程添加一个手动文件编辑步骤。或者,你可以将库冻结在兼容的版本中,并丢失所有未来的改进。感谢你选择了 Type Script 和 Angular 。

liyue李月
liyue李月
翻译于 2018/11/26 14:58
0

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!

还没有人翻译此段落
我来翻译
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(0)

返回顶部
顶部