必威体育下载克里斯蒂安·海尔曼

您当前正在浏览必威体育下载克里斯蒂安·海尔曼九月份的博必威体育简介客档案,2017年。

9月存档,二千零一十七

网络真理:不能信任javascript

星期二,9月26日,二千零一十七

这是网络真理系列文章.这是一个系列,我们关注的是听起来真实的陈述,我们一直用它来进行无休止的讨论,而不是继续前进。今天,我想解决JavaScript的问题,以及我们应该如何依赖它。

好的vs.评估()

javascript是“现代网络”的爱/恨主题。长期生活在这里的人们已经学会了不盲目依赖它的艰难方法。必威体育下载刚开始的人甚至不知道你怎么关掉它,或者为什么会有问题。

这给了我们一个向一个方向或另一个方向咆哮的无限机会。老警卫指出,新产品制造的易碎品对用户的需求太大。新的守卫指出,没有javascript的网络对用户来说既不有趣也不容易维护。很多时候,这个论点是关于开发人员的便利性胜过Web的坚固性。我们不断地从光谱的两端观察它。

当我们得到javascript时,它在浏览器中运行,使许多事情成为可能HTMLCSS独自一人还做不到。我们可以在不重新加载页面的情况下对用户所做的事情做出反应。我们可以读出脚本运行时所处的环境并作出反应。JavaScript是Web的交互粘合剂。我们可以让浏览器做一些别人能做的事情。我们可以创建交互模型HTML表单没有提供。我们可以在浏览器和平台上创建一致的体验。

这就是主要问题出现的地方:对许多人来说,网络并不意味着到处都是一样的。相反,它应该为所有用户提供一个工作经验,并且用户代理越有能力就越有幻想。通过在我们的解决方案中依赖javascript,我们设置了一个屏障以进行控制。当JavaScript失败时,我们没有提供任何功能时,这尤其糟糕。

而javascript在很多方面都会失败。从不支持的环境到编码错误和连接性问题,任何事情都有可能中断。

javascript不像CSSHTML.这两个Web构建块都是容错的。这意味着当你写无效HTML,浏览器试图修复它。如果使用出血边缘CSS在旧浏览器中,它忽略了它。Javascript不是这样的。语法错误或访问未知对象会导致解释器放弃并拒绝。即使是最强大的环境也不支持JavaScript,直到第一个脚本加载并运行时没有问题。

斯图亚特·兰里奇解释了在你的剧本完成了你想在他的剧本中做的事情之前会出现什么问题。每个人都有javascript,正确的?站点。

JavaScript的主要功能是在浏览器中动态执行。它不需要任何编译,它不需要任何花哨的开发环境。这是它成功的很大一部分。与其他有类似能力的语言相比,它更容易接近。而且似乎很容易解决JavaScript的一个问题,这个问题在CSS如果你不习惯它的语法。javascript可以做任何事情:它可以加载额外的信息,它可以创造HTML它可以改变样式和图像。它是网络中各种各样的工具。

当一些东西容易应用时,人们总是有过度使用它的危险。将连接良好的开发设备视为世界是很有吸引力的。并期望你的用户拥有同样的速度和计算能力。在这种情况下,加载几个兆字节的javascript并不是为了方便维护而付出的高昂代价。当你在计量器上时,缓慢或不可靠的连接或在低端设备上,这种便利很快就会变成挫折。这是一个更大的问题,因为很难(如果不是不可能的话)检测到这些情况。

所以,对,Javascript是一个天气好的朋友,可以从很多方面突破。你也可能会阻止很多用户,因为你渴望更多的控制你不想控制的东西。

不过,这一事实有另一面。JavaScript已经从浏览器中的脚本语言发展到了自己的开发环境。随着节点和其他服务器端和嵌入式系统的兴起,javascript成为我们市场的一项关键技术。

javascript不是客户端的问题,这是一整套更大的报价。我在奥地利的Scbetway体育官方网riptconf讨论今年年初

通用的,同构的javascript——或者我们想出的其他流行词——是对语言缺乏容错能力的答案。我们可以在我们控制的空间(如服务器或构建过程)中运行javascript,然后呈现出纯文本HTML.我们可以在天气晴朗的情况下使用客户端JavaScript。如果失败了,我们可以依靠基于JS的美国石油学会以及路由机制,以便仍然向用户提供他们想要的内容。

真实的,然而,对于javascript脆弱性的实用方法要容易得多:人们无论如何都会使用它,让我们集中精力保证它的安全和可靠。

尽管我们仍然抱怨javascript在客户端中断,我们有一个庞大的开发团队,他们在所有方面都使用JavaScript。当我们担心支持某种新的浏览器功能时,人们依赖数百个包依赖性来构建非常基本的功能。当我们担心DOM漏洞,人们使用带有虚拟DOM和脚本路由的库,而不是超文本传输协议.

Javascript是一种给定的语言,它每天为数百名新开发人员提供支持和激励。作为网络爱好者,我们的工作不是告诉人们他们在一开始就使用它是错误的。我们的工作是让这些开发人员对这种新的使用方法具有创造性。就像我们在标准化的时候DOM仍然是一个梦想。

我们来这里不是为了发号施令。我们来到这里是为了接受一种有效技术的新应用,并帮助我们掌握知识,避免重蹈覆辙。但我们需要确保我们在这个过程中学习,必威体育下载也是。在旧技术的新应用中,很容易发现明显的错误。在过去的经验指导下,帮助人们解决他们面临的新问题要困难得多。但它更值得奖励,因为它不会创造一个“美国老圣人vs.那些新牛仔编剧的世界。

在更明确和受控的环境中,javascript变得更容易信任。我们现在更需要担心的是确保它不会变得太复杂。

不用担心Javascript的非容错性,以下是一些其他需要担心的事情:

  • 对于我们的项目来说,依赖一个松散管理的包存储库有多安全?我们怎样才能确保NPM我们使用的模块都不是恶意软件?我们如何确保人们安全使用软件包,让他们保持最新状态,不要在其中一个崩溃时面对灾难?
  • 我们如何在不产生不健康依赖的情况下获得抽象的回报?明天的Vue.js很可能就是今天的jquery用户界面。对,我们用抽象来创建越来越快的内容。但我们错过了理解我们创造的东西是如何工作的。我们不希望有很多开发人员和产品在抽象过时后变得无效。
  • 在没有压倒性的新开发人员的情况下,我们如何为JavaScript创建一个专业的开发环境?以前我们需要一个文本编辑器和一个浏览器。现在我们需要掌握命令行知识,工具链,单元测试,持续集成和高度定制的编辑器。每件事都有意义,但对于一个新的开发人员来说,可能会让人望而生畏。
  • 我们怎样才能在不依赖蒸腾作用的情况下使语言本身向前发展呢?Javascript最终被标准化,任何人都应该使用新功能,不仅在编译步骤中。
  • 当我们像使用编译语言一样使用JavaScript时,我们如何仍能获得及时编译的回报?
  • 我们的工具如何帮助新的和经验丰富的开发人员,而不压倒一个组和无聊的另一个组?是linting的答案还是它期望开发人员成为浏览器工具的专家?

Web真理:CSS不是真正的编程

星期二,9月19日,二千零一十七

这是网络真理系列文章.

每隔几个月就有一篇文章声称CSS不是真正的编程。那CSS太硬了,坏了。使用这些语言可以获得创造性:

事实上,与CSS不是传统编程。还有一个事实是CSS有语言缺陷,有些事情比他们应该做的要困难得多。任何标准化语言都是如此,尽管如此。CSS是一种描述接口应该是什么样子的方法。不是以编程方式实现所述接口,就像,例如,画布美国石油学会.那CSS不像传统的编程语言是按设计的。

CSS当涉及到为网络上的用户这样复杂和未知的东西创建一个界面时,这是一个很好的主意。我谈到了CSS和javascript的详细信息转到阿姆斯特丹哪里我称之为信任和控制之间的决定.

作为一个CSS开发商,您信任用户代理(在大多数情况下是浏览器)来做正确的事情。你不能控制它的发生,但你也不必为性能等细节操心,喷漆时间和响应能力。这个球在用户代理创建者和它运行的操作系统的法庭上。这是一件很好的事情,因为它允许将这些重要的事情固定在一个地方——即它们被应用的地方。如果使用javascript创建接口或动画,你有更多的粒度控制。但你也需要确保一切正常。使用CSS这意味着为了有更多的时间来构建一个满足用户需求的响应式接口而放弃控制。用户需要并且可能会干扰您的界面设置。CSS可以吗?完美像素,定义的接口不是。

CSS开发不是传统意义上的编程,你有循环,条件和变量。CSS在某种程度上是朝着这个方向走的,萨斯铺平了道路。但最需要的技能是CSS不是语法。它是为了理解您用它描述的接口。以及如何确保它们足够灵活,用户不会做错事情并被锁定。当你理解的时候,你可以避免很多代码HTML使用CSS设计风格。

如果您不将界面视为与用户达成的协议,根据其技术平台的不同,用户的忠诚度也会有所不同,CSS不适合你。通过设计一种宽容的语言,这不会在无法应用某些内容时引发任何错误。因此,它是令人惊奇的渐进增强。您甚至不需要担心添加一行不支持的代码,因为解析器跳过了它不能应用的代码。是什么导致一个javascript解析器认输并给你一个错误消息?这个CSS解析器耸耸肩继续。对于一个开发人员来说,这可能会让人觉得很奇怪——我想知道什么时候出了问题。但它使您不必在所有可能的用户代理上进行测试,并且将“if”语句放在所有内容周围。是否要使用按钮上的渐变?定义背景色,然后在下一行用渐变覆盖它。如果用户代理无法呈现渐变,你会变得更简单,但按钮仍在工作。你根本不需要担心梯度支撑。

很多“CSS不是真正的编程”的论点都是一个基本的误解什么CSS还有什么要实现的吗?如果你想要完全控制和界面,并努力实现像素的完美-不要使用它。如果你想为一个包容性和多样性的网络构建一个接口,CSS是一个很好的工具。写作CSS正在描述接口,需要与用户产生共鸣。这不是要把一个photoshop文件变成一个Web界面。它要求维护人员和初始程序员的技能和态度与后端语言不同。

无论如何,贬低写文章的人CSS而且认为他们不是真正的开发者是傲慢的胡说八道。尤其是当你甚至没有花时间去理解CSS努力去实现它,它变得多么令人惊奇。

另一方面,CSS不是也不应该是一切的解决方案。对,您可以使用放置阴影创建像素,但是你也会用这个惩罚浏览器渲染引擎。

CSS对我来说是网络不可或缺的一部分,虽然对于来自不同编程语言的人来说语法很奇怪,多年来证明了它的价值。它应该也不会在相当长的一段时间内消失。所以如果你不喜欢,与某人配对。如果你的经理要求你这么做,我们手头没有技术问题,但是一个项目/人员配备。

如果CSS损坏需要更换,对于CSS

  • 什么CSS能行,哪里不够
  • 什么CSS在过去需要其他技术以及如何应用这些技术的日子里
  • 如何写作CSS以可维护的方式
  • 你能做些什么来创造CSS开发人员更容易?
  • 什么CSS我们使用的黑客以及为什么我们不再使用他们
  • 我们能做什么CSS越来越富有,越来越好?

导致无限循环的网络真理

星期二,9月19日,二千零一十七

每隔几个月,博客和社交媒体都会上演一场戏剧。我们似乎需要这些来保持自己的积极性。它能让我们分心,让我们感觉付钱给我们的人不知道我们在做什么。不断赞美我们不为之骄傲的事,巩固我们的冒名顶替综合症。

接下来的谈话,我分析了我们经常感兴趣的主题。在接下来的几个星期里,我会在每一个上面贴一张。

每一个话题都能引发成千上万的反应,几十篇博客文章。很多人会在一个活动中给你安排一个演讲时间。他们都是真的,但它们也不一定能产生我们所期望的惊人的洞察力。我将试着解释为什么它们是无休止的循环,以及我们可以做些什么来避免反复讨论这些问题。也许现在是专注于解决其他问题的好时机,新的,而是问题。认识到新一代的制造商和开发者可能不会像我们一样对他们感到兴奋。

对,这将是我的观点,它们可能会引发一些讨论。没关系。你可以不同意我的意见,我保证这一点要切中要害,要文明。我做这个已经很长时间了,我听过很多人谈论这些。希望我的见解能对你们中的一些人产生影响,使我们重新考虑一遍又一遍地重新进行相同的讨论。

出席和/或有理由发言的理由。

星期二,9月5日,二千零一十七

我在参加了对…的理由在布莱顿,英国。我需要去拿我在伦敦公寓里积攒的邮件,然后一天之内回到柏林和西雅图,否则我就不可能不想看到这次会议结束。

阶段标识的原因

我不想去。原因。to是一次奇妙的经历。首先,让我列出您作为与会者或演示者参与其中的原因。我将写一份更详细的报告,说明为什么今年对我个人来说是了不起的。

为什么Reasons.to是与会者的绝佳体验:

原因。是一个关于将技术作为一种工具的创造性创造者的会议。它不是关于核心技术主题的会议,也不限于创建下一个应用程序或网站。它是一种对创造力和人性的庆祝。如果你喜欢在电视之外,这也很适合你。这不是偶然的——这两个节目的组织者都是长期的朋友,他们互相帮助寻找人才,让合适的人聚在一起。

像这样的,它需要更多的演讲者和观众。没有会谈的录音,以后再也找不到了。这一切都是关于现在和现在,以及在活动中的每个人,使它成为一个难忘的经历。

组织者一遍又一遍地提醒观众利用时间进行交流和网络交流,而不用担心向主持人询问更多细节。没有问答,也有充足的休息时间来当面询问。别担心——主持人被指导说这是本次活动的预期,他们都同意。

这里没有餐饮——你被要求找人一起出去休息,取而代之的是午餐和晚餐。这是一个很好的机会来组织自己,甚至对于害羞的人来说,和一个团队一起离开,并有一个很好的借口让他们有点脱壳。

这是一个相互了解和学习的活动。必威体育下载因此,没有必要宣传自己是一个包容性的人的安全空间。就是这样。你认识各种背景的人,一家人带着孩子来到现场,所有参与演出的人都互相认识。

没有关于“框架vs.图书馆“或”技术X与技术Y”。“这就是我所做的,它将彻底改变我们的小世界”,这一点没有什么值得夸耀的。没有“我知道这还不行,但这将是你需要使用的,否则你会过时,你做的不对”。最重要的是,没有“这是我的展示卷,令人遗憾的是,“创意”活动经常会有“令人惊讶”的演讲。

组织者们正在做一个彻底的工作,寻找不仅仅是安全的赌注,以出售门票或覆盖最新的热。相反,他们努力寻找那些做了令人惊奇的事情,不一定是众所周知的,但值得去做的人。

如果有的话,有一种很令人耳目一新的感觉,你可以从广告中了解到他们的工作,在火车上,电视或大广告牌。认识到这些人都是人类,并对他们令人发指的成就感到谦卑。并准备分享他们的经验和技术创造它们-疣和所有。

组织者们对发现令人惊叹的人才有着敏锐的眼光,但还没有准备好向全世界介绍这一点,然后让他们对分享自己的故事感到受欢迎和兴奋。所有的演讲者都非常成功,然而,他们中没有一个人在讲述自己的故事时是圆滑和完美的。相反地,看到这些令人兴奋的人中的一些人在向你展示他们的工作方式时是多么的害怕,这是非常人性化的。

原因。到不是一个事件,你将离开与许多新的和立即适用的技术知识。你会离开的,然而,有一种感觉,即使是最有才华的人也和你有同样的担忧。如果你停止拖延,让自己更有创造力,你会得到更多。该死的后果。

为什么是原因。对演讲者来说是个好主意。

作为主持人,我发现这次会议非常轻松。它是一个实体,这是一个封闭的事件,而不是精英。

没有录像和非常低流量的社交媒体后台渠道可能会对你的外部可视性造成不利影响,并使你更难显示你对经理的影响。但是,这样的环境压力要小得多。你的工作是激励和处理活动的观众,不是为了传递一个伟大的,可重复使用的视频录制或与社交媒体上的人打交道,在没有看到你表演或意识到你所说的内容的情况下对你进行评判。

你有机会做你自己。这不仅是一个提供知识的机会,而且是一个分享你是如何获得知识的机会,以及你做错了什么的机会,而不必担心会让渴望获得硬事实的观众失望。在这里,你比在其他更具竞争力的活动中更容易受到伤害,更人性化。

不过,你需要准备好随时待命。为了花点时间了解其他演讲者,与观众分享技巧和细节,而不是成为一名演员,继续表演。这次活动是一个很好的机会,不仅展示了你所做的,而且希望人们尝试,但是,这也是一个很好的活动,可以在这里和其他人交谈。不用比较,但是,仅仅是了解像你这样必威体育下载的人,但是他们的背景和方法有很大的不同。

在这件事上没有自我的地方。这是件好事,因为这也意味着你不需要成为完美的演讲者。相反,你应该分享你的兴奋,准备好展示你犯下的错误。就像你和一群朋友一样。这是一个令人耳目一新的好机会,对于那些有东西可以展示和分享,但不太确定舞台是否是他们的指挥。