Home
cover of episode 639: DX, JSON, XML, HTML, and Databases! Oh My!

639: DX, JSON, XML, HTML, and Databases! Oh My!

2024/10/28
logo of podcast ShopTalk

ShopTalk

Chapters

Developer experience (DX) plays a vital role in software development. From syntax highlighting and red squiggles to clear documentation and community engagement, positive DX can significantly impact developer productivity and satisfaction. Real-world analogies, like rumble strips on highways, illustrate how subtle feedback mechanisms can prevent errors and improve the overall development process.
  • Syntax highlighting and red squiggles are crucial DX components.
  • Good DX is analogous to rumble strips, providing feedback without disrupting the flow.
  • Community engagement and developer advocacy are important aspects of DX.

Shownotes Transcript

听另一个章节的播客有点多余,我在车库里和狗狗们在一起,他们很可能都在外面和罗伯特在一起。克里斯,克里斯。

你们两个小狗当小狗怎么样?不会把它们送回去。

嗯,有点晚了。我喜欢那里的狗。很可爱。

我想,你知道,我低估了我对狗狗的照顾,因为夏天的时候把它们带回家了。哦,对,孩子们都在附近。他们没事可做。他们可以看着这些狗。但是,一周后,他们上学去了,然后我就成了两个狗的唯一看护人,因为我的妻子大部分时间都在学校工作,还有其他事情要做。所以就像……

但是在家。

你看起来怎么样?你知道,我在工作或其他事情上很忙,试图……是的,无论如何,提供价值,但是,你知道,这只是一天,哦,我以前养过狗。没关系。从来没有像同时养两只幼犬一样,但是它们……是的,一只在扔砖块,吃石头,像我的艺术家一样挖洞,坚持说我没有赢过游戏,你知道吗?我觉得你……但是它们是可爱的小狗,但我没有赢。我只想让每个人都知道这一点。我没有赢得养狗游戏,所以……

够清楚了,妈妈。对不起,伙计,现在一切都过得很艰难。

是的,如果只有一只狗就好了,你知道。但是,我甚至不知道我是否赢得了一只狗的游戏,因为那只狗需要很多关注,你知道吗?至少它们出去玩耍……

跑来跑去,互相打闹,是的,对,是的。

但是,我想,我只是觉得所有的后勤工作都落在我身上,你知道吗?我不能走过门,而没有两只狗把我绊倒。你知道吗?这意味着……过了一会儿,我意识到,如果养育蹒跚学步的孩子,那就像这样,如果你经历过,你整天都在做这些事情。整天都比以前好。

只是轻轻地抚摸一下。我仍然,你知道,相对来说很新,在养狗之后,就像冰一样。我打开门,我就像这样,感受着大自然的氛围。只是回家什么都没有的感觉。我真的很喜欢它,闻不到……

一堆心……

就像现在一样,是气味。就像凉爽的气味。

是的,是的。没有混乱。没有狗的乱叫声。只是平静和安静。砰的一声,新的小墙。

看看你的客人,没有这些事情发生,没有对每个小动物、每个来访的人乱叫。是的,膝盖,实际上,我经历过几年这样的情况。那很棒。哦,好了,回来了。回来了。

从多伦多回来,参加了网络研讨会,至少那些类型的研讨会很有趣。我谈到了开发人员体验,在……在……在一些事情上,我很高兴能把这些谈话整理好。我相信我把它变成了某种长篇博客文章,所以每个人都能享受。我必须再花点时间来进一步完善,然后再写那篇博客文章。

你认为最大的是什么?就像,DX,很棒。是的。是的,是的,是的。

我应用了,你知道,这很有趣,因为我觉得当你谈论,比如说,你谈论的是 JavaScript 或 C 语言时,它几乎本质上就像科学真理。

你会展示一些代码,然后你会在网页浏览器中展示执行结果,你会说,看,这等于那,这难道不有趣吗?至少你有这样的可能性,你可以做到这一点,你至少会觉得自己像个小科学家,你知道,为你自己证明一些东西,然后你就可以谈论它。也许我会有一些一般性的观点和一些东西,然后它会融入其中。但是,我觉得我做得很不错。

无论如何,这很害羞,我只是在谈论我并没有对我的开发人员体验观点应用任何科学严谨性。你可以,因为它属于 DX 的一般领域,你也可以在其中应用科学等等,但是我没有听到,大部分只是我这样说,听着,我做了很长时间的开发人员。我在一家公司担任联合创始人,我们必须为这里工作的人提供 DX。

而它恰好是开发人员产品。我们为超过 1000 万用户提供 DX。

所以 DX 就在脑海中。

更不用说我们正在制作任何版本的 CodePen,其中 DX 在很多方面都得到了新鲜的考虑。所以它就在脑海中。

我用例子填充了它。

我在 CodePen 上做了一些事情,然后我把它指向其他我认为做得很好的一些工具,然后将它们连接到更大的世界。就像你看到我在这里插入的一个,我不知道它是否有效,但是这里有一个小例子。它不是一个新概念,但它只是关于代码语法高亮的概念。

我们一直有这个,对吧?但是,如果没有它,嗯,这不是世界末日,但它的存在是代码编辑器中 DX 的一部分。你知道,你可以看到一个对象,它有一种颜色,然后对象上的方法有不同的颜色,这可以帮助你理解,或者打开大括号的颜色与关闭大括号的颜色匹配。

然后,这会让你意识到,通过它,缩进等等,我喜欢理解,但是这块代码是相互关联的,按照这种方式执行。然后,这很有帮助。它也能帮助你解决错误。

有一些像 CodePen 上的高对比度主题。当出现问题时,因为语法高亮没有正确应用,因为你犯了一些错误,它会尝试将一种鲜艳的红色应用到问题区域,这只是保持你专注于 DX 的一种小方法。它不会让你分心。

它不会让你分心,就像字面上的浏览器焦点。它不会弹出任何模型或任何东西。它只是轻轻地提醒你。任何从事开发工作一段时间的人都可以立即看到语法高亮问题,并解决它,变得更好。是的。

特别是代码和它。就像,哦,你为什么生气?你知道,这有点像代码在告诉你它生气,然后对我来说就变成了某种游戏。

但是,就像,为什么?为什么生气?现在 90% 的时间都是 TypeScript。

但是,马特是……我不知道,这词是不是太强烈了。它们有点不同,对吧?TypeScript 会很快变红,我对此也做了很多研究,我认为红色波浪线是 DX 概念中最重要的一部分。

再次,如果你正在构建一个开发产品,请想办法为你的产品提供红色波浪线。你知道,应该有一些像网页组件的红色波浪线。应该有红色波浪线,你可以想到的一切,因为我们已经知道它们是什么,而且它不是……它生气了。我想表达的方式是,但它不是那么生气。

坐下来,从……

你在做什么?是的,你知道吗?是的,就像语法高亮中恰到好处的生气。它也属于那一类,所以就像,哦,我的天哪,SAML 表单,它看起来很漂亮,你有没有遇到过这种情况?这也是那些让你有点生气的事情之一。

为什么会出现这种行为?我喜欢所有这些微小的摩擦,你可以解决它,然后重新回到正轨。我认为这很酷。我举了一个类似于高速公路上的减速带的例子,你开车时,你是一个十足的傻瓜,你看着你的手机,或者你听到……

就像糟糕的语法……

高亮显示,当它很冷的时候,它似乎没有那么生死攸关,但是它试图让你意识到你犯了一些小错误。你没有,你知道,立即收到罚单或停车或做一些更戏剧化的事情。

它更像是轻轻地推动你,我喜欢这一点,这是论文的一部分,将现实世界的东西与 DX 联系起来,让你思考这个概念。这不像语法高亮。任何人都不会怀疑语法高亮是一个好东西。但是,它会让你思考,我还能做哪些其他小事情来帮助开发人员重新回到正轨?

嗯,你认为我做的一切,所有这些减速带,所有这些他们添加的无障碍砖,你知道,那些点……是的,你知道吗?那就像一个无障碍功能。就像,嘿,你快到路口了。

不,注意。但是,对我来说,看到这些点也很棒。你可以看到这些点。

PS,它对……就像只是走进去。如果我在看我的手机,就像,哦,天哪。

就像,我需要注意。我到了路口。你知道,有些事情通常不会走那么远。但是,是的,你知道吗?这很酷。

这些反馈机制,你知道,帮助你存在,某种程度上,是的,反馈机制很好。你是否会想到开发人员倡导作为 DX 的一部分?我想。

但我必须在一种情况下完成,我必须在 20 分钟内完成,这很快。但是,我确实涉及到,你知道,我在其中引用了瑞士人的一些话,他说了一些很酷的话,我想分享。但是,产品周围的一些东西,即使它不是产品本身,也是产品 DX 的一部分。

鸭子就是一个很好的例子,我确实举了一些这样的例子,因为这不可避免。好的 DX 就像好狗一样。一些单元可以。这是其中一个很大的方面,但这并非全部。就像社交媒体上代表你产品的这个人,也是它的 DX。

我本来想说,你使用产品多少次,因为你信任的酷的人是它的面孔,或者它的一部分。我觉得那是一部分 DX。这经常被忽略。只是开发人员倡导者,我知道我信任的人,通过任何方式,我听说过他在会议上发言,他们很有趣,就像菲尔·霍克一样,这足以让你信任……开发人员……

体验在这里很好,是的,有多少……

你停止使用……因为一个人只是说,嗯……

是的,那不是……

为了引发所有戏剧,因为这非常热门,它就像一个有趣的 DX 部分,它只是不断地从底部推动,然后从顶部喷出来,如果你发现它,你发现它并没有帮助我……如果我必须从某种技术中脱离出来?因为我知道我总是会防御性地围绕着它编写代码。你知道吗?我过度关注这一点。

我知道我这样做,你让一些人听 12 个小时的播客。你可能说过,像我一样,戴夫过度关注,需要突然在深夜离开某种技术。这种情况,WordPress 情况……

并没有帮助我……

它只是重申了我对所有事情的信念,只需要一个人拥有巨大的力量来改变一些事情。

我的博客将使用行业标准的 Markdown 文件,没有任何专有内容,因为这样我就可以随时随地移动。

但是,即使是约翰·格鲁珀,奇怪的是,我猜想,是的,你必须考虑这个人。

所以,HT 现在真的老了。你有很棒的想法,但是不知道如何建立网站。使用 Bluehost 的 AI 设计工具,你可以快速生成高质量、加载速度最快的 WordPress 网站。一旦你确定了外观,只需在你的心理生活中点击 Enter 键。

真的就这么简单,无论你是博主、影响者,还是刚刚开始创业,Bluehost 都能满足你的需求,它内置了营销和电子商务工具,可以帮助你发展和扩展。你的网站将超越长廊。当您升级到 Bluehost 云时,您将获得 100% 的正常运行时间和 24/7 支持,以确保您的网站在高流量下保持在线状态。

Bluehost 真正地让创建梦想网站变得比以往任何时候都更容易。还有什么能阻止你?你已经有了愿景,现在要把它变成现实。立即访问 bluehost.com/shop-talk 并开始行动。

那很有趣。有一些有趣的事情。我以前从未见过道格拉斯·克罗克福德。不,这是……我……

以前见过他。他永远不会记得见过我。但是,是的,他是一个重要人物。

他是一个很棒的演讲者,他看起来很友好,我一直在想一些可以用来开玩笑的时刻,比如杰森,但我没有这样做,因为我看到他在听众中,就像……我不确定他是否参加了我参加的几次小组讨论,我一直在想,我最好小心,因为我甚至还没有打招呼,我感觉如果我们互相打招呼,那会很有趣,但是第一件事就是让某人感到不高兴……

就像 JB BT。杰森,你会说……你是否会走到这种地步,说你不想在乔恩的演讲中发表评论?我不会……

来吧,我在小组讨论中……

关于犯……

错误,我说,克里斯,人类会犯什么错误?我忘记在杰森的代码中添加尾随逗号了。但是,我没有在演讲中这样做,他的演讲中确实有一些关于杰森的内容。

它以这种方式开始,这有点不可避免。这有点像人们想听到什么,你知道吗?就像这里一样。然后,史蒂夫·米勒乐队演奏,演奏得非常渴望。我真正需要做的是……

演奏热门歌曲。

你必须演奏手中的牌。有一些遗憾,但没有什么是我会立即认为是错误的。我认为他认为这不是错误。这是做事情的一种有效方法。他就像……

这对我来说是不必要的和未定义的。不存在,没有交易,不存在。不。

那么,为什么要这样做?是的,我认为异常可以迭代。我不知道,那里有一些错误,但没有你想到的那些错误。我想到的大部分是注释和尾随逗号。我想要这些东西。

这些东西。

然后,他有点像发明了一种新格式,嗯,你知道,他思考杰森的方式,我觉得这与我们做的事情非常不同。他比普通的前端开发人员更像计算机科学家,杰森的消化。

所以他谈到了这种新格式以及它有多灵活,它有更多类型。但是,它一直到像字节格式。所以他谈到了这种新格式的许多优点,除了它不是人类可读的,我不认为……这看起来有点像……像 RPC 规范。我……是的,就像……

继续,哦,是的。我觉得有点超出我的理解范围。但是,其中一种类型,因为所有类型都相同,并且更多,其中一种类型……

并且就像……

一个 Blob,好的,是的,意思是无论你发送什么 JPEG……

通过网络发送的博客……是的,可以……

可以是二进制格式,杰森不能这样做,这就像我们在博客和 JavaScript 中所做的事情。我明白杰森不是 JavaScript。但是,它似乎可以扩展到它或类似的东西。

嗯,是的,我的意思是,这只是一个 JavaScript 对象表示法。所以,一个包含一些键值对系统的对象。

我认为新格式被称为 Noto,因为他开了一个玩笑。就像整个名字很糟糕一样。就像 JavaScript 的名字已经很糟糕了,因为它既不是 Java 语言也不是脚本,无论如何。

所以,这两个词很糟糕,然后对象很奇怪,因为它实际上不是对象,或者 Java 人认为的对象与之非常不同,所以他们真的不喜欢它。所以,杰森中唯一好的词是表示法。所以,他拿了那个词,只是称之为 Noto。

好的,我认为这是新格式,但他没有提出一个非常有力的论点。就像,你知道,我从未对杰森进行过版本控制。事实上,我甚至不会在整个杰森规范中分发名片。一个函数,没有血,没有……你知道,你可以得到……

函数,没有血,没有……你知道,你可以得到……

啊,杰森数据工作也行,而且整个时代都非常……嗯……那里没什么,还有整个规范,你可以在右边看到那种白色框,就像那样,啊,所以是背面,它永远没变过,它只是被发明或发现,就像他曾经说过的那样,然后就结束了。它永远都是一样的。在这个变化不断的世界里,这从未改变过。

这从未改变过。它没有版本,在他心中,它永远不会改变,就像永远不会有另一个杰森,它拥有你认为应该有的任何尾随注释、注释以及其他任何小功能。他现在不会这么做了,其他人可能会这么做,他甚至为此制定了标准,他就像,我忘了它们都是什么,其中一个标准是让它变得更好,我认为那是他对这种想法的回应,生活不仅仅是添加注释,那不是,它不是更好。

足以引起恐惧,恐惧,是的,我想,嗯,我想,就像你引入如果杰森2出来了,他们说我们支持注释,每个人都开始在他们的杰森中检查注释,每天,一个应用程序就会崩溃。

就像你会……

窒息,是的,完全没问题,我不会做得更少,对吧?

有一些小时刻,我认为这还不错。我想举的例子是微软,当你进入VS代码,然后进入设置,无论如何,看看你的个人设置。它看起来像一个UI,但你只需要点击那个小按钮或其他什么。

它实际上只是你的所有设置的一块杰森,它只被VS代码消化,它在整个世界中只对一件事重要,那就是VS代码,它实际上在内部使用杰森C。你可以在里面写注释,随便写,斜杠斜杠,你想写什么都可以。微软说,就像我们实际上会在里面使用杰森的变体,我们可以做到这一点,因为我们只需要……它只在那个上下文中使用。

它不会发送到网络上。我的意思是,它可能对某些触发器有作用。它不像这种交换格式,是为了让两个未知方进行沟通。它就像VS代码在和VS代码对话。所以,在这种情况下,我认为这有点酷。

它不是一个传播。它只是一个……无论什么,私有存储,一些……是的,是的。

有趣,很有趣。不,很有趣。杰森没有接管的有趣案例?是RSS。其他杰森提要,我认为杰森提要的主要比赛?

是的。我参与过吗?

对,对,我不知道。我想我会的。我们中的一些人,为什么这会慢慢获胜?那会很好吗?然后,我甚至喜欢你所知道的,11个支持。

不,绝对不是。我们有杰森提要。你的网站上有没有?没有。

不,你……我知道我真的很……

如果它要起飞,我们需要他们开始真正地做这件事。

我认为它比RSS更简洁。是的,我不知道。这些对我来说,虽然我很喜欢它们,但它们相当残酷,残酷得像一个……嗯,对象格式。现在,你只是写下你的第一个sea数据语句,然后你就像,我做错了什么?我的生活怎么会让我听到这些?

你知道,在慢马中有一个有趣的。就像,就像技术人员,在节目中,慢马,我真的需要开始。很多人喜欢它。

我没有看过,但有一个关于书呆子的图像。显然,有一个书呆子角色,他的桌子上有一本大约有上千页的例子书。是的,哇。

这里。我以为那是带有数据的尖括号,但可能不是。它曾经是救星。

人们认为XML是一个非常重要的东西。它感染了HTML。一段时间。

人们认为我会接管。曾经有一个时刻,HTML太严格了,你所做的就是……你知道吗?是的。

然后,有一个时刻,就像,那里将没有HTML。这可以是任意的AML,由XSLT样式表呈现,而我认为这并没有发生。所以,我认为目前……

我们就像,那绝对更糟。不知怎么的,我当时觉得那更酷或什么。也许它在我的年轻大脑中是新事物,新事物更好,或者我喜欢字母X或其他什么,是的,我喜欢X访问更好。

以及极端的……那是那一年X游戏,是的,嗯,但我认为那也是一种入门药物。当时有一种压力要验证你的网站,这是一个老概念,但你仍然可以这样做……你验证你的标记,HTML严格来说,你知道,如果你做错了,你会崩溃,你知道。

然后,嗯,HTML过渡,对事情更宽容。然后,嗯,是的,我知道,我可以通过验证器将其带过。你会知道你是否在网站上做得很好,这很好。

每个人都会说,我会的。然后,我责怪保罗·艾里什,他说,你可以放上狗类型照明灯泡,这是合法的。或者,点P,C,ML,这是一个网站,就像,现在这很酷,因为这不太……是的。

他今天来找我,因为我正在尝试为我自己制作另一个模板,因为这会让我的博客文章HTML电子邮件看起来不错,而且我使用它的愿望有点疲惫,到处都是,而不是使用HTML电子邮件来做像列和大型图像、按钮、行动号召、礼物等等。我们拥有所有HTML。

让我们疯狂起来,就像假装它仍然是一架飞机。文本电子邮件使用语义HTML,但由于它是HTML电子邮件,你可以调整行高,你可以调整行长,你可以将单词变成链接,而不是必须对整个……你能够看到,HTML电子邮件有一些不错的功能,你只需要使用这些功能,不要使用其他任何功能。所以,你如何才能尽可能少地做到这一点?我正在探索。

答案是……不够少。你不能提供一个非常简洁的HTML5文档,带有简洁的文档类型以及所有这些内容,并在Outlook 2007或Office 365中呈现得体。仍然会有问题。

你仍然需要使用表格,如果你要使用所有这些内容来调整它。所以,你仍然需要做很多工作才能获得完整的覆盖范围……一个不是超级增长的后备方案。但是,我确实验证了你可以更改文档类型。我就像,这个表格布局,我就像,我将文档类型从文档类型更改为HTML5文档类型,看看Outlook 2007是否仍然尊重所有这些内容,允许它,它确实如此,所以,这是我在这里的一个小胜利,那就是。至少电子邮件中的现代文档类型可以……

很酷,是的,这真的很令人惊讶,仅仅因为你知道,似乎微软正在消除HTML电子邮件的罪恶,但是,对于他们的电子邮件客户端,他们就像,只使用旧的。伙计们,你们只知道他们想……

我敢肯定,那是一个远离你所见过的任何建筑物的另一个建筑物,或者谁知道,一家如此大的公司,谁知道。但我感觉他们曾经在某个时候发起过一个计划,以某种方式修复它。但你知道,这比浏览器的问题更难解决。

它就像……它只是IE。现在,Edge只有一个,是的,但是电子邮件绝对不止一个。就像有15个……

仅仅来自微软。我认为,如果它像2007年那样,那就像,你知道,某些拥有秘密知识的人在维护它,你知道我的意思吗?我的意思是,就像,对,我忘了为什么……

一个显著增加。但它以某种方式,但然后有基于网络的,并且没有,有基于客户端的。

而且,对我来说,网络电子邮件是一个奇迹,当我看到一篇博客文章在RSS阅读器中呈现时,就像,哇,你是怎么做到的?有时,你知道,就像,醒过来,他们就像,你可能会弄乱图像并使其成为足球,或者像……人们会用它们做一些技巧,你知道,不同的……所有这些。反馈在呈现RSS提要方面做得非常出色,他们就像,将YouTube视频带到客户床上等等,这真的很令人印象深刻。是的,但是,你知道,当电子邮件客户端这样做时,就像,伙计,还有……

它们至少在Gmail上不是,我见过的其他一些不是。无论如何,我不想使用一些共享或愚蠢的东西。我不认为是这样,但是为什么这对我来说如此疯狂,即使在这个我刚刚谈到的电子邮件排版中,我所写的CSS是为了突出链接,例如,你知道选择器……

是AA,打开花括号。

你知道,颜色蓝色,关闭花括号,我为电子邮件选择的蓝色颜色,如果它在网页上呈现,如果它不是I Prime,那么这个CSS会溢出整个界面。所以,它是如何被确定和作用域的?它甚至依赖于只是回复电子邮件。你将进入HTML电子邮件,然后点击回复按钮,现在它仍然是相同的电子邮件,但你需要它不溢出到该电子邮件的范围之外。它只是……是的,是的,不。

它是……回复以及它们如何分解它,以及那些……抱歉,你可以说……

额外的额外折叠,用于所有HTML呈现工作以及所有这些工作方式。一个大笑话是,它使用Microsoft Word作为呈现引擎。但我猜这并不是一个笑话。

这是真的。我认为原因一直有点不清楚。我敢肯定,有很好的理由,并且不再这样做也会导致问题。我敢肯定,是的。

我敢肯定,电子邮件是一个巨大的攻击向量,就像钓鱼和……你知道的,这很难,但当然……

诱惑只是使用渲染引擎……是的,它是HTML。所以,嗯,事情没有那么简单。

没有那么简单。是的,你的威胁模型很好。

随着时间的推移,事情会变得更简单。我的意思是,你可以做的一件事是,你可以有一个引擎,其中JavaScript引擎完全关闭,你更好。是的,我会很聪明。

我总是梦想制作一个浏览器,也许如果你有正文,然后我取第一个标题,并假装它是你的主要导航,我把它放在一边。然后你,然后我取主要内容。我把它放在一起,如果你……

有……几乎就像……

链接,但命令行浏览器,但更具观点或其他什么,只是……不,这会很有趣,我不知道你能做什么……然后,就像……

这并不罕见。我的意思是,这有点罕见。但是,还记得亚马逊丝绸吗?这是一个兄弟,我可能会说,它就像云渲染的网站。然后它发送的是……AP。

DF。

因为它不是你可以评分的网站图像。但是它保留了一些交互性,例如,点击区域仍然是有效的点击区域。它就像一个带有……

图像地图的图像。我给你一个网站的假版本。你知道,我想阅读模式也会这样做。现在你知道,所以基本上描述了整个互联网的阅读模式。

但是,也许……

但是,我知道我没有时间做这件事。

进入阅读模式,必须获取整个网站,并将其呈现。

我不知道,它需要在页面上呈现文本,对吧?如果你脱水了,但是这并没有解决……

硅的酷炫之处是什么?避免下载整个网站的会议,只提供它的栅格化版本,这是一个请求。所以,我在受限环境中让它更快。是的,很酷。

是的,好主意。跳过图像。

如果网络是一个呈现的目标会怎样?如果,而不是那个有37个请求的网络标签,它只有一个?因为我得到的是一个点网站文件或其他什么,所有工作都已经完成,这就像互联网的替代版本,这……

很有趣,就像一个完全编译的网站。我知道谷歌尝试过,比如AMP之类的东西。你知道,是的,我想我接近了,特别接近,或者只是一个CSS文件,一个JS文件,一个HTML文件,你知道……发布图像。

但是,我确实喜欢信任捆绑包,你知道吗?嗯,签署的捆绑包。我忘了它们叫什么,我不知道,我没有找到。但是,是的,有趣的是,我们离那种程度还有多远,因为我们确实运行着巨大的服务器,将数百兆的应用程序数据压缩到单个屏幕上。我们已经这样做了,你知道吗?但是我们只是向客户端发送50个文件。是的,我们确实这样做了。

我的意思是,我想这很好地与关于编译JavaScript的对话联系了起来。T,哦,是的。知道。

在所有这些过程中,有人提出了一点,我们需要退后一步,解释更多。但是,想法是,我们已经运行了大量的构建过程。大多数网站,也许你可以说,运行某种构建过程来生成它们。既然我们已经这样做了,为什么不更深入地进行下去,一直到语言级别?我……

就像一个提案,说,嗯,他们是在TC39会议上,我认为来自Chrome的人提出了两个JavaScript,JS Zero和JSSugar,这对我来说是一个很酷的包装。所以,JS Zero基本上是基础平台。然后,如果你想添加功能,你使用JSSugar,它编译到JS Zero。

所以,如果你想添加,我将选择一个像水槽一样的东西,对吧?这是一个巨大的语言功能。而且,每次他们推出新语言功能时,都会出现所有这些安全漏洞,所有这些问题,所有这些都是为了将新事物添加到JavaScript核心而进行的大量工作。嗯,所以,我认为人们误解了,但我认为那也不清楚,但是,我认为想法是冻结JavaScript所做的事情,以及任何新事物,比如,我想,以一种可以像语法一样自定义糖的方式,你可以编写它,然后将其传输到承诺或其他类似的东西。

嗯,我想……我不知道,当我第一次看到演示文稿时,我就像,哦,不,在Discord上的评论有点破坏了它,写了一篇博客文章,我们可以在这里发布,但是,嗯,我读完后,我就像,我有点明白他们想说什么。我讨厌JavaScript是一种脚本语言的想法……就像你只是写它,它工作,你不需要编译任何东西……但是,当我读完后,我有点不喜欢它了。所以,嗯,是的,不要……

知道我的意思吗?它感觉就像世界上的这些提升,不会……太多,太多。我不知道你如何称呼当前流程的势头?当然,这是一个巨大的提升。

但是,像这样的事情一直在发生。我们是否得到了大事情?绝对。我们一直在得到大事情。

所以,这到底有多大问题?这个问题是……我有点明白。你知道,JavaScript中有很多功能会不断推出。实际上,它只是不断变化的语言,与Go不同,你知道,它变化非常缓慢,并且几乎没有提供任何糖。

这只是以我认为人们越来越喜欢的不同方式使用语言,JavaScript以其不断变化的性质,就像,天哪,我们现在需要学习什么,这只是某人的小项目。但是,有些事情绝对只是合成糖。嗯,有些人可能会说,语言中的大多数东西只是合成糖,但是你可以想象出一些新的循环遍历数组的方法或其他什么。

你就像,看看这个。这是一种新方法。事实上,当我查看另一篇博文时,我看到了PowerGZ或其他什么,一位很棒的博主。

是的,是的。8月早些时候,Atmosphere中有什么新内容?Pt 2024。

它只是列出了现在在2024年出现的新内容。其中一个叫做cash。它是什么?数组分组。所以,将会有一个对象。分组,是的,这有点酷,对吧?他们拿走了我的……

分组对象的函数,现在我……

甚至无法告诉……

或者其他什么,对吧?就像你总是……你总是会寻找一些方法来做到这一点,就像基本上,按任何东西组织。如果我有一篇关于列表的博客文章,就像……按标签或其他什么组织。

对象里面,是的,在数组里。所以就像一层嵌套很深,但是这会查看数组并提取一个值,然后给你一个回调函数,这样你就可以根据其他一些看起来不错的因素对它们进行分组。它看起来也很赚钱,或者说很低风险,就像它以前那样。

那字面意思就是低风险,对吧?我想这会说我们不应该直接将其添加到 JavaScript 语言中。那是在一些更高层次的抽象事物中,我明白了,就像把它留在那儿,留到其他步骤。

我明白了。但是我也想,让我们做得更好。你知道,就像,我喜欢的是,这些都由,比如,海量二进制文件支持,对吧?

就像射线组的海量二进制文件,希望比我在 JavaScript 客户端上做它更快。所以,就像,给我那个。你知道,我想要那个。所以,嗯,我不想让语言冻结。

我想知道著名的“只允许四重循环”的含义,这是你唯一可以拥有的循环类型,并且是有意如此,因为它是最快的类型。所以任何其他更快的,因此最好的。

但这就是交易。

如果在 Jaws 组中是真的,那么你希望所有其他类型都在战术糖中。你希望,希望将它编译成四重循环。因为那正是它需要快速并完成任务的方式。

从我冰冷的、死去的双手里取出来。这是一个好主意。

就像我记得的那样。

是的,一次好。一个来自一千三十四的,四和四,你就像这些都不是正确的。

它只是没有很好地解释差异。这对我来说不是什么大问题。我可以在一两秒钟内弄清楚,我喜欢一些更具自我解释性的功能。

是的,是的。

但是,其他一些事情感觉不能归入同一类别。民意调查帖子中的第一个关于测试 Unicode 版本的有效性的,关于情绪的位,你可以看到它是否格式正确。对我来说,这有点像语言特性,需要与 Unicode 标准的更深层部分进行对话,感觉你无法以同样的方式在 CSS 世界中进行转换。

它让我想起了容器查询。你不能只用 Polly 填充容器查询。不会发生的。

没有其他语法可以使容器查询工作。它需要成为浏览器本身的一部分才能工作,你知道。但我猜这里的重点是,有时情况就是这样。

如果它需要成为低级语言特性,因为它需要与浏览器中的计算机以及更深层次的东西进行对话,那么它可以进入 JS 零或其他什么。但是如果它只是糖,可以编译掉,那应该在其他地方。我的意思是,这太理论化了。

我的工作电脑,我将收到 HR 的电话。路由到非常糟糕的网站是否违法?不好,我想,但听听,Java 旅行现在我被解雇了吗?

因为我...

我们可能需要在,嗯,我们应该开一家商店,比如“从我冰冷的、死去的双手里取出来”是一个不错的衬衫,啊,我之前想到的是什么?星期天是为 RS、S 而设,会是一个不错的鞋子。我还有另一个非常棒的。

但是任何人,我们只需要一些口号。天哪,我们需要更多标准。

我很乐意这样做。我很乐意。

现在我们已经到了年龄。

意识到 T 恤没有钱,只是为了好玩,是的。

而且它必须是按需打印,因为我知道快时尚不好,但我也不想在我的房子里再有一堆装满 T 恤的盒子。太糟糕了。我也被禁止拥有那个。是的,我相信我只有...

一些问题我们可以从人们那里得到。这是达比·迪克斯在...

第三个令人惊叹的名字。我希望它能激励我。

感觉有点南方...

是的,现在画...

在这道题中,在两种不同类型的网站之间划一条线,说,你知道,我在一家大学工作,知道 DW,大型集团交易,大型复杂项目,无论它可能为其构建的其他东西,就像使用 Nelia Y 和一些 11ty,无论如何。小型网站。并将它们视为两种极端,简单的托管,无论如何。

以及单双坏男孩的事情。足够了。但是在这两种极端之间,我想深入研究一下,扩展我的技能,并使用一点数据库。我想在网站上说一个动态数据片段,我可以进行后台管理,以便在任何时间任何地点更新该数据片段,并将该数据片段导入一个漂亮的公共网站。所以,一点数据库,你会用什么?

嗯,你知道,有很多,你知道,无头 CMS 工具,对吧?你有一些托管的,比如 Contentful,嗯,我立刻看到了...

就像每月 550 美元,所以它真的面向企业,但是...

昂贵的,嗯,是的,但是 Strapi 是另一个选择,当你,你知道,你只需要云中的数据库...

你知道,去...

赫库,我想不起来,是的,但是,就像你可以,就像你可以使用 Heroku 在 Heroku 中启动一个数据库,它可能为零美元或 8 美元左右,然后你可以在类似 Retool 的东西上进行操作,它连接到该数据库,你知道吗?但诀窍在于,你的小型应用程序需要安全地访问数据库。所以你谈论的是在运行时访问它,你可能需要一个服务器端函数,或者,你知道,或者甚至看看 Cloudflare 上的云工作器。

嗯,那对,我立刻会去...

我明白了。是的。

你需要一点数据库。这就是它的意义所在。K、V,意思是键值,意思是它不像关系数据库。你不能使用 SQL 查询。它就像一个扁平的 D、V。它是有意设计的超级简单。你可以有一个键,然后请求该键的值,它就会给你。

所以,在你的情况下,Darbey X,你可以说,我的数据是键,我的数据的值就像 A,我不知道,它可以是整数或字符串,或者更可能的是,对你来说,是一个小片段的字符串化 JSON,你提取出来,你做任何事情,然后你把它放回 JSON 中。现在,关于这个的酷之处在于,像这样的云函数。你可以访问客户端,你将有一个 URL,并且你可以根据需要对其进行获取。

但是,这有多酷?因为这有点令人困惑。但是,当 Cloudflare 工作器可以按请求运行时,就像它正在提供 HTML 时,你可以运行云...

工作器在提供 HTML 的过程中,如果需要,可以处理 HTML,这意味着你可以获取 JSON 片段并将其放入文本区域隐藏文本区域中,或者获取或其他脚本,注入脚本标签,你知道,说,window.data = JSON 字符串或其他什么,你可以做那种事情,这意味着客户端对数据的请求甚至是不必要的。它已经在那里了,这增加了它的力量。现在我不会深入探讨,但重点是启动一个关系数据库并创建经过身份验证的客户端端函数来访问它,这就像很多。

我当时想,是的,我认为 K、V 超出了范围。所以你得到一个 K、V 的管理仪表盘,它就像完全...这有问题吗?不。就像如果我正在获取客户数据,比如你的社会安全号码,我只需要一个应用程序...

每个应用程序都有这个问题。

好的,如果你...

有一个团队或其他什么,Cloudflare,网站本身有角色和权限,你可以授予不同的人访问不同的...

部分内容。好的,是的,我认为,是的,我认为我会说 Cloudflare 是一个不错的选择,然后,如果你只需要一点数据...是的,因为否则你就会陷入整个安全环境,比如,只有经过身份验证的管理员用户才能访问它,并且知道你想要构建什么。

太棒了。你可以做到。我还想看看 Turso 或类似的东西,当这些 SQL 类型的东西,你知道,只是...

访问数据库,嗯,是的,请注意,如果你仍然可以使用,这有点晚...

但通知通知 Blob,它们有点类似...

好的,所以,是的,它是一种非结构化数据,作为简单的键值数据存储。而且它们也,我认为它们甚至更灵活,而且非常容易编写。

好了,就是这样。现在,我的意思是,我认为这是一种非常简单的方法。

我想这只是你想要走多远?你要更新多少数据?这真的只是一个键值对吗?尽可能简单地处理它,你知道吗?然后,就像现在数据库的权利一样,你需要一个缓存层,这样你就不必每次刷新网站时都丢弃数据库。然后你会有整个事情,就像 Cloudflare 似乎真的很持久,这可能是正确的选择。

是的,我们正在谈论如此抽象的事情,你是否需要任何东西?因为你试图构建的是,啊,你知道,这会使复杂性增加很多。这是你昨天发布的,你想构建一个简单的网站。你会怎么做?你知道,这是一个有趣的思想实验,但我认为我们正在 Discord 中讨论。

我想这真的很有趣,就像,你会如何根据这些客户简报来构建它?你知道,就像客户位于华盛顿。客户 A 只有三名工程师。

客户,你知道,有这个和那个,你知道,对字体非常挑剔,想每天都修改网站上的文字。你知道,你可以查看所有你的客户,比如,你的过去客户,并完全抽象地写出来。你知道,就像,你会如何为这个人构建一个网站,满足这些需求,也许你混合了图像,所有这些东西,并随机地...

生成感觉就像你在描述一个,你知道,AI 提示,不是...

某种程度上像 AI 提示,但是,你知道,但是这取决于人们。Discord 中最初的想法是,我们有一个括号,一个,一个 CMS 技术的四强括号,等等。

然后你,你知道,每个人都会选择他们最喜欢的元素来赢得它,对吧?但是,根据情况,谁赢得括号,我认为这将是一种像肉搏战一样有趣的方式。我喜欢。这将是一个有趣的家庭游戏或街头游戏。

所以也许我会构建它。我会构建它。好的。不,我不会构建...

对未来开发人员将如何快速构建应用程序的总体问题,或者在未来它是否会像这样,或者不是这样。这可能将是 AI 的某种东西。

也许,但是,是的,看到它真的很好,是的。

我现在正在思考最近发生的最令人印象深刻的事情,StackBlitz 发布了这个 Bolt 新版本,你见过那个 Bolt 新版本吗?天哪,你应该。对我来说,这非常令人印象深刻。它有点像 VS Code 或其他什么。

你知道,你必须输入提示,但是它有很多示例和内容,但是,你知道,输入任何内容,它都会为你构建一个完整的可运行应用程序,基于你的提示。而且它对我来说做得很好,比我想象的要好得多。它有一个,它有一个 AI,我不知道它是如何构建的。

我想让你为我写一封电子邮件。在考虑这封电子邮件。我绝对害怕为我写一封 HTML 电子邮件。

它就像首先安装,然后是 JS,你知道,它使它成为一个 TypeScript 类型的东西。然后我写了一封电子邮件。最终结果有点酷,但就像,嗯,这是你可能选择的最糟糕的技术组合。

我甚至没有试图挑剔,因为这个东西的目标受众是使用 JavaScript 构建应用程序。我的意思是,人们使用 StackBlitz 的目的就是这个。它正在推动你朝着 StackBlitz 擅长的事情发展。

所以没有真正的形状。我有点对它能做的事情印象深刻。这让我思考,当然,这就是人们将如何开始。他们会像...

给我这个蓝色,但做...嗯,我说,你能用流畅的 UI 为我构建一个搜索结果页面吗?

Web 组件?然后我开始使用 React 组件。所以无论如何。

钉住它,它真的很喜欢 React。所以...

它将,他将把这个转过来,看看下周它会是什么,看看 AI 是否构建了一个网站,嗯,我们会发现。嗯,感谢大家收听,并打包三个物种,启动她最喜欢的。嗯,亚当·阿戈指出,在两个 X 上,这听起来像衬衫。

当我提到启动她最喜欢的,这听起来像衬衫。所以我会继续这样说。所以,在应用程序中关闭它。然后,嗯,对于一些人来说,这是一个好主意,然后,嗯,在这些关节上,因为我们很酷,对吧?H 克里斯,你还有什么想说的吗?

感觉就像你六岁的时候,你认为这很好,但是如果你放屁,你认为这是一个问题,知道这些是不同的词。