CSS is essential for creating a good user experience, ensuring that websites are functional, accessible, and easy to use. It plays a critical role in how users interact with a product, making it a valuable skill even as other technologies evolve.
Accessibility ensures that all users, including those with disabilities, can use a website. Neglecting accessibility can lead to technical debt, as retrofitting accessibility issues later is more time-consuming and costly. Focusing on accessibility from the start avoids this and ensures no users are left behind.
Technical debt refers to taking suboptimal approaches to development, which accumulate work that needs to be fixed later. It's like real debt, where you incur interest in the form of a website that doesn't work as well as it could, and eventually, you have to pay the principal with interest by fixing it.
Before Flexbox and Grid, layouts were created using tables or floats, which were hacks. Flexbox and Grid introduced proper layout tools, making it easier to create responsive designs. Flexbox is great for flexible, content-based layouts, while Grid allows for more control over placement, similar to table-based layouts but more user-friendly.
Responsive web design allows websites to adapt to different screen sizes and devices. Before responsive design, developers had to maintain separate mobile and desktop versions of a site, which was inefficient. Responsive design, introduced by Ethan Marcotte, uses flexible layouts and media queries to make websites work on any device.
Mobile apps have simplified layouts due to limited screen real estate, making designs more uniform. However, they have also made web development more challenging by requiring developers to ensure websites are mobile-friendly and responsive. Progressive web apps (PWAs) have become a solution, allowing developers to create apps using HTML, CSS, and JavaScript that work across all platforms.
Kevin started his YouTube channel as a hobby while working as a teacher. His channel grew slowly over time, focusing solely on CSS. He gained recognition through collaborations and engaging content, eventually becoming synonymous with CSS education on YouTube, earning him the unofficial title of 'King of CSS'.
Tutorial hell is when learners follow tutorials step-by-step but struggle to apply the knowledge on their own. Skateboarding taught Kevin that understanding a concept isn't enough; practice is crucial. Just as skateboarding requires physical practice, coding requires hands-on experience to build the necessary skills and confidence.
Teaching in a classroom helped Kevin understand the beginner mindset and anticipate common questions. It also taught him to break complex topics into smaller, digestible pieces. These insights have made his YouTube tutorials more effective, as he can address common pitfalls and explain concepts clearly.
CSS is a foundational web technology that ensures developers have control over the user experience. While frameworks and tools can speed up development, understanding CSS allows developers to make customizations and maintain their code more effectively. As web technologies evolve, CSS knowledge remains relevant for creating responsive and accessible designs.
CSS是许多开发者的一个挫折来源。他们对CSS有什么不理解呢?不过最大的问题是,因为CSS是一种声明式语言,尤其是早期像背景蓝色那样简单的设置就能生效,而像字体大小26像素这样的设置则会让你的字体变大。刚开始做的时候,这一切都很简单,它的简洁性让它看起来像是一种非常简单的语言。
直到突然之间,它变得更加复杂。但一旦你理解了这些决策背后的原因,以及幕后发生的事情,实际上这一切都是有意义的。你正在收听Free Code Camp播客,这是你获取开发者原始、未编辑访谈的来源。请花两分钟时间完成描述中的听众调查。
本周的音乐开场,由我亲自演奏,鼓、吉他、贝斯和键盘,1986年任天堂娱乐系统经典游戏《泡泡龙》。泡泡龙。
♪♪♪ ♪♪♪
所以
欢迎回到Free Code Camp播客。我是Quincy Larson,FreeCodeCamp.org的教师和创始人。每周我们都会为你带来来自开发者、创始人和进入科技领域的雄心勃勃的人的见解。本周我们将与Kevin Powell交谈。他是一名设计师、一名软件工程师,也是CSS的专家。他经营着一个专注于CSS的YouTube频道,拥有近百万的订阅者。
这并不是一些耸人听闻的猫视频频道。它实际上只是他在谈论CSS并教人们如何使用它。所以我非常期待与Kevin的对话。很快,这个播客的支持来自Wix Studio的资助。Wix Studio为开发者提供工具,以快速构建网站,所有功能都开箱即用,然后通过代码扩展、替换和打破界限。了解更多信息,请访问wixstudio.com。
支持也来自11,043位通过每月捐款支持Free Code Camp的善良人士。加入这些善良的人士,通过访问freecodecamp.org/donate来帮助我们的使命。Kevin,很高兴你能来到这里,伙计。我非常兴奋。非常感谢你邀请我。是的,我将直接进入主题,伙计。为什么人们在2025年仍然应该学习CSS?
仅仅因为它真的很有趣就足够了吗?还是我们需要更好的理由?好吧,我认为如果你喜欢它,那就太好了。但很多人都非常忙,他们面临着许多他们可以学习的东西。他们可以学习如何进行机器学习。他们可以学习系统工程。他们可以学习很多后端开发者类型的东西。他们可以直接抓取一些现成的材料UI,放进去,然后不必担心,对吧?是的。
为什么人们在2025年仍然应该学习CSS?是的,什么是,我想,附加值?什么是仍然值得投入时间的有说服力的理由?最终,这是一种可以以多种方式应用的极其深奥的技术。
是的,这是一个非常好的问题,尤其是当你这样提问时。我认为最大的部分就是CSS是我们与使用你所创建的任何东西的用户之间的连接方式。因此,你知道,用户体验显然应该是最高优先级之一,因为如果用户使用某个东西很困难,他们就不会想要使用它。因此。
CSS在用户体验中占据了非常重要的部分,它使事物看起来应该的样子,确保一切……或者说,它不那么关注功能性,而是,嗯,有一些东西是……
它不需要看起来令人愉悦,但它需要是功能性的,布局需要到位,并且需要足够简单,让用户能够弄清楚发生了什么。而大部分都是通过CSS来完成的。是的。在功能性和易用性方面,你是一个强烈倡导从一开始就考虑可访问性的人,在构建网站或设计时考虑这一点。为什么?嗯哼。
是的。所以我认为首先确保所有用户都能使用你所创建的东西是极其重要的。如果从一开始就没有把它放在心上,你就会积累大量的技术债务。
所以,如果你构建了一些东西并且它有效,但后来你意识到存在可访问性问题,你可能需要重新工作的量实际上可能会相当可观。然后你就会陷入困境,像是,值得回去修复它吗?尤其是当涉及到利益相关者时,时间也很重要,比如,你的老板可能不希望你花费所有时间去做这个。你有其他事情需要专注于的冲刺,无论是什么。
而如果这是你从一开始就关注的事情,
你知道,有些事情可能会更复杂,但对于很多事情来说,如果你从一开始就将其融入其中,
你知道,只需使用正确的HTML元素,你可能就已经走得很远了。这通常是第一步攻击。而且你不会积累任何技术债务,你可以继续前进。嗯,是的,我认为不让任何用户掉队是非常重要的。是的,我的意思是,这确实很重要。在美国有超过4000万人。我知道你不在美国。你在美国的上方,加拿大,但,
在美国有4000万残疾人。我个人有视觉和听觉障碍。它们很小。我有一只好眼睛和一只好耳朵,但我基本上是部分失明,右眼看不见,所有东西都模糊不清。我的左耳由于童年耳部感染而受损,我无法听到某些频率。因此,对我来说,可访问性有很大的不同。我使用巨大的字体。
我使用大量的键盘快捷键,这样我就不必不断跟踪鼠标光标和其他东西。我认为很多人对可访问性考虑得不够。你曾经争辩过有一个非常明确的商业案例,你最终需要将其添加回来,否则你的网站将像Domino's那样被起诉。但积累技术债务。那么我们来谈谈什么是技术债务。也许你可以描述一下。
是的。基本上,当你说,采取次优的方法,然后有所有这些工作现在积累起来,你必须在后面去修复。基本上。我认为就是这样。是的。是的。从我听到的技术债务的描述来看,它非常像真实的债务。你在承担利息,因为你的网站没有像它应该的那样工作。
最终,当你坐下来构建功能时,你将不得不支付本金和利息。有时作为一个小型的,快速构建和打破事物的科技初创公司,这确实是有意义的。我不喜欢这个短语,但我会用它。我是开玩笑的。这不是我实际进行软件开发的方式。我也不鼓励其他人这样做,但,
在很多情况下,不完全理顺你的DevOps是有意义的,因为最终用户不会在乎。但几乎没有什么比实际渲染页面的CSS和通过CSS暗示的设计决策更直接地面对最终用户。
是的。这是其中之一,提到设计决策可能会很困难,因为如果你是开发者,你可能并不负责设计。有时你会被告知做一些不可访问的事情,比如文本对比度水平。我认为这是,
设计师现在对这些事情的意识比以前要强得多。但这仍然是一个大问题,你仍然会得到设计,比如,是的,它看起来不错,因为文本更淡,但你会说,给它,你需要阅读那个文本。对于许多用户来说,如果对比度不够高,这将是一个问题。有些人会只是编码他们面前的东西并去做。
我总是鼓励的一件事是,因为设计和CSS之间有那种奇怪的重叠,显然,人们并不总是知道该怎么做。你知道,如果这个东西很难创建,或者如果它是不可能的,或者其他什么的。就像与设计师进行关于潜在问题的对话,无论是可访问性问题还是其他问题。我认为尝试保持开放的沟通渠道是超级重要的。是的。是的。
100%。那么我们来谈谈设计师和开发者之间的角色和动态,比如前端开发者。当然,很多人都是独角兽。他们是全栈开发者。他们可以做后端的事情。他们可以做前端的事情。坦率地说,大多数开发者都是全栈开发者,但,
他们在网络工作,但他们有专业化,你知道,后端开发者并不是说从来没有接触过CSS,也从来没有构建过任何东西。就像,有些人对CSS有一种厌恶,但,通常来说,我会说大多数开发者对堆栈和在不同阶段使用的工具有相当不错的了解。但,
但今天大多数设计师也是开发者,如果他们在网络上。我不知道现在有多少真正的专业人士,因为商业需要以更少的资源做更多的事情。因此,每个人都不得不成为独角兽,前后端设计师类型的人。但让我们谈谈在一个组织内的假设劳动分工。假设这是一个有50人的初创公司。
也许他们有10个开发者和1到2个设计师。也许你可以描述一下这些人的角色和关系。你曾经在这样的组织中工作过吗?
不是从头开始,但我做过一些咨询工作……通常是因为存在一种问题,当他们之间的差距太大时,他们只是各自工作在自己的孤岛上,没有沟通。然后这就导致了双方的问题。好吧,更多的是设计师交接工作,然后要么没有正确发生,要么就像……
编写代码的人做的工作比他们需要做的要多,因为这种孤立的沟通正在发生。因此,是的,在这些情况下,我认为,再次,沟通是关键。我认为我们所做的一切都不必是设计到前端,前端到后端,所有的事情。沟通越多越好。但,是的,我认为,
CSS,我认为你会看到很多,因为它实际上是将设计转化为你知道的东西,从Figma或你使用的任何设计软件到浏览器。因此,它就变成了我认为设计师知道的代码越多越好。开发者拥有的设计技能越多越好。但显然,你知道,正如你提到的,很多人确实在某种程度上有一些交叉。而且你每天只有这么多空闲时间来学习你需要的所有技能,这总是有趣的部分。但,是的,我认为,
这可能会很困难,具体取决于组织,以及在代码方面的事情是如何处理的,如果你只是被交给,像是这里有这个小的孤立设计,去实现它。就像我可以编码,但同时也要从更大的角度来看待它。我认为这更多地归结于项目管理,以及如何在更大范围内处理这一切,以确保,
你不会重新创建已经存在的东西,因为这种情况经常发生。好吧,让我们谈谈已经存在的东西。CSS自引入以来已经走了很长一段路,你知道,1993年或其他什么时候。它是什么时候引入的?你记得吗?93听起来对,但我可以……CSS首次发布。那确实是在那个时间框架内。
1996年。好的,所以接近。哦,六。好的。是的。我在1994年上网,所以我们仍然……网站主要是用GIF和其他JPEG类型的图像做得很花哨。它们没有样式文本。它们只是有图像,这样是……
超级无障碍且加载速度超级慢。作为一个孩子,你以前会去一个网页,然后你会起身去洗手间,或者去倒饮料,因为导航栏加载需要很长时间。它会像滚动一样。如今,当然,CSS使你可以拥有优雅,你可以拥有美丽,
但你也可以拥有高性能。因此,在近30年的CSS历史中,工具链已经取得了很大进展。有哪些最大的改进,不仅在性能方面,而且在使CSS成为人类可以合理使用的工具方面?
是的。如果我们想追溯得更远,我确实认为……当CSS3发生时,兴奋感是如此之大,因为我们从你刚才谈到的那种情况转变过来,如果你想要一个带圆角的按钮,你必须进入Photoshop并切片,获取角落的图像,因为没有办法做圆角。阴影效果和所有其他东西都是图像。因此,
现在回头看,我总是有点笑,我们对这些新功能感到如此兴奋,你会说,哦,这是一个圆角。那真的令人兴奋吗?但在当时确实是。这是使其成为一种更可用语言的重要一步。
但我认为Flexbox和Grid是轻松的胜利,因为我们实际上花了20年才有一个布局工具。就这样,花了很长时间才有专门用于创建布局的东西。但,是的,我认为这是我们在可用性方面获得的最大好处。是的,我们可以制作布局,因为我们有一个合适的布局工具。听起来很愚蠢,但花了很长时间才到达那里。是的。
是的,我的意思是工具,像是来自.NET套件的人,他们几乎为每件事情都有工具,因为他们有这个巨大的公司在努力确保人们拥有每一个小工具。而CSS并不是某个巨大的公司。就我所知,它只是一个大型开放的联盟。
进展缓慢,但进展是显而易见的。我的意思是,当你回顾过去构建网站的方式,以及担心CSS与今天的对比时,你所拥有的工具是原生的,甚至不使用任何非原生CSS工具。
你有CSS Grid和CSS Flexbox。也许你可以描述这两个工具,以及它们如何革命化CSS和网页构建过程。是的,当然。在此之前,我们最初是用表格创建布局,并使用表格将图像放在正确的位置。当时一切基本上都是图像。
然后我们转向,实际上,你只需使用表格并将图像插入到需要的位置以创建布局。我认为最著名的例子就是Space Jam网站,大家都喜欢,因为它实际上不是这种传统布局。它在不同的位置而不是仅仅在盒子里。然后最终我们得到了,或者有些人发现我们可以使用浮动来创建布局,这些浮动可以帮助,
浮动的最初想法是你可以有一张图像,然后让文本环绕着那张图像,就像你在杂志中看到的那样。他们会说,如果我可以用这个把东西放在一起,我可以使用这些浮动。实际上这是一种黑客方式,但它使我们能够做更多的事情。我们可以创建列系统。我认为这就是为什么我们有很多框架的兴起,包括Bootstrap显然是最大的,因为创建列系统
是一件麻烦事。然后这里有这个工具,给我们一个可以使用的列系统,只需将内容插入其中,它就能工作。因此,这真的很好。然后最终我们得到了Flexbox。Flexbox的兴起有点慢,因为它
我不记得它花了多少年才能得到正确的实现,但它的第一个版本非常有缺陷。存在很多跨浏览器的不兼容性和问题,但最终我们达到了一个安全的使用空间。这使我们能够以一种适当的方式创建列,而不是像浮动那样,正如我所说的那样,是一种黑客解决方案,勉强完成了工作。最终使我们能够垂直居中。这是经典的梗,CSS中如何居中某个东西?它打开了那扇门。
它给了我们一个强大的布局工具,我们以前从未拥有过。因此,它完全改变了我们编写CSS的方式。我认为它使得布局方面的事情变得如此简单,以至于你不再浪费时间在上面。就像我们之前可能做的那样。然后最终从那时起,我们也得到了网格。
Flexbox更多的是关于子元素的,你使用display flex,然后子元素就变成列,它们的大小取决于这些列中的内容。
因此,如果你想要相等的列,你实际上必须调整列的大小,以确保它们都是相同的大小。然后它真的很好。它是灵活的,正如名字所暗示的那样。它旨在成为一种非常灵活的工作方式。这是响应式网页设计的一个方面,因此我们可以调整大小。但它有局限性。因此我们有网格,你创建一个网格,然后将东西放在里面。在某种程度上,它回到了基于表格的布局,但以一种更可用和用户友好的方式来实际创建这些布局。
是的。是的。所以我认为有些,哦,抱歉。抱歉,继续。没有,我只是想说,有些人想知道为什么我们需要布局工具,他们将其视为CSS的失败,像是我们不应该只有一个布局工具吗?但这两者就像是,其中一个在这方面非常好,更像是灵活布局的Flexbox。然后网格是父元素控制并将内容插入其中。我认为这两者确实,
我认为我们可以做得更多,因为我们有两个各自具有优势的工具,而不是一个试图做所有事情的工具。是的。是的。这很有道理。那么你提到的事情之一,响应式设计在我进入网页开发时是一个大问题,那是2010年,2011年,那是我第一次开始编程。在此之前,我只是一个教师和学校主任。我学习编码只是为了优化我们的学校,并改善我们的教师和学生的生活等等。然后我深入学习,成为了一名软件工程师,最终开始教授这些东西。但,
当我入门时,响应式设计是一个热门话题。每个人都在谈论如何让我们的网站在手机上看起来不错,当时有各种不同的形态爆炸。现在,有些东西必须在巨型屏幕上看起来不错,有些东西必须在iPod Touch上看起来不错。你知道,我们该如何做到这一点?响应式设计就是答案。你能谈谈什么是响应式设计,以及为什么它在当时如此重要吗?
是的。首先,我认为,起初我们根本不需要担心这个。那时,大家的屏幕都是桌面屏幕。我们没有其他设备需要担心。它们通常都是相同的大小。你只需将你的网站做成640x480,你知道这对每个人来说都是安全的。因此,我认为这更像是印刷设计,对吧?这是布局,我只是要制作它,我可以完全按照我想要的方式来做。
然后,当所有这些新形态开始出现时,像是,人们实际上可以在这个小设备上连接到互联网,我们必须找到在这两种情况下使布局工作的方式。第一波并不是响应式设计。第一波是MDOT过程。
你会有m.freecodecamp.org,那将是它的移动版本。然后你会有一个完全独立的网站作为常规版本。然后你必须维护两个代码库,因为你有它的移动版本和它的大版本。我认为我们很快意识到,为一个网站维护两个独立的网站是个坏主意。
所以这就是响应式网页设计出现的地方。这个术语是由Ethan Marcotte在一篇《A List Apart》的文章中创造的。如果你想要一点历史课,你可以去查一下。它谈到了灵活网站的概念,可以适应不同的屏幕尺寸。媒体查询在使这些工作方面是非常重要的。是的,只要我们的网站能够适应你投放的任何东西,基本上在屏幕尺寸、分辨率和其他一切方面,它就能正常工作。是的。
太棒了。我会链接到那篇文章,我刚刚找到了。所以一定要查看节目说明,里面有很多东西,比如原始的Space Jam网站。我会尽量在互联网档案馆找到它,并将其包含在内。假设在你收听这个时,互联网档案馆没有被起诉到灭绝。我认为……
是的,我认为那个网站仍然在线,因为我不记得电影制片厂对Space Jam做了什么。在某个时候,他们将其下架,引发了巨大的骚动和请愿。我认为原始网站仍然在原始URL上,一切都恢复了。他们把它放回去了。我会尽量找到它。因此,像往常一样,我们在节目中讨论的所有内容,我都会尽量包括相关链接。所以我希望你在散步时互动地收听这个,或者你知道,洗碗的时候。哦,来看看这个。是的。所以是的。
你提到的事情之一,真的很有趣,当你谈到我们曾经认为一切都是600x480时,我认为这是每个人编码的尺寸。我清楚地记得在大学时做一些非常非常基础的网页设计类型的事情,就像……
我认为那是,呃,是什么?就像,呃,它被收购了Dreamweaver。我会使用Dreamweaver。是的,吃这些Twizzlers。我有一个实习,直接为一位文科教授工作,我们,我正在为教授创建一个非常基础的网站,以便他们能够,呃,就像是一个非常基础的参考网站。
但是,我清楚地记得坐在那里,将一切设置为那个尺寸。然后,呃,必须将一切缩放到那个尺寸,并确保一切看起来不错。天哪,那个网站的可访问性一定是个噩梦,但我只能想象用屏幕阅读器导航那样的情况会有多可怕。很多人确实使用屏幕阅读器。世界上有很多盲人,他们可以像有视力的人一样在计算机上完成事情。呃,
但他们的方式是通过屏幕阅读器,而这是一个很酷的考虑。显然,他们将体验网站。他们不一定能够欣赏你添加的圆角等细微差别。
但你提到的事情之一,移动,呃,拥有移动网站。当然,现在我们只有响应式网站,你去像,我不知道,freecodecamp.org。呃,你去freecodecamp.org,它在手机上看起来很棒,因为我们有意花了很多时间和精力让它在手机上看起来很棒。但是,
许多人在体验网站时,除了他们从Reddit或你知道的某个网站,纽约时报应用程序或其他东西中点击到某个外部网站。显然,网络在某种程度上已经转向了这些应用程序,无论是好是坏。呃,在你看来,这对网页开发和网页设计产生了什么影响?许多人正在,
<context>为什么开发者不必害怕CSS – CSS之王Kevin Powell亲自讲述 请快速参加我们的年终freeCodeCamp播客听众调查:https://forms.gle/2M9NW776723uSdDT7 在本周的播客中,freeCodeCamp创始人Quincy Larson采访了Kevin Powell。他是一名设计师,一名软件工程师,也是CSS的专家。他经营着一个专注于CSS的YouTube频道,拥有近百万的订阅者。没有什么轰动的事情——他实际上只是教人们CSS。这个播客的支持来自Wix Studio的资助。Wix Studio为开发者提供工具,以快速构建网站,所有功能开箱即用,然后通过代码扩展、替换和打破界限。了解更多信息,请访问https://wixstudio.com。支持还来自11,043位通过每月捐款支持freeCodeCamp的善良人士。加入这些善良的人士,通过访问https://www.freecodecamp.org/donate来帮助我们的使命。更正:我(Quincy)在采访中提到Uber找到了一种在iOS上未经用户同意访问麦克风的方法。确实有文献记录的恶意软件这样做(如Pegasus),但Uber并没有这样做。他们确实做了很多其他可疑的事情,比如在你删除他们的应用后继续收集数据——但麦克风监视并不是其中之一。是的,早期的Uber确实是一个伦理上的灾难。但在这里准确获取事实是很重要的。我们讨论了:- 为什么你在2025年仍然应该学习CSS - 教授概念如何改善你对它们的理解 - 学习滑板如何帮助Kevin逃离教程地狱 - CSS即将迎来的巨大改进 我们在对话中提到的链接:- Kevin的YouTube频道:https://www.youtube.com/kevinpowell - Kevin提到的原始Space Jam网站:https://www.spacejam.com/1996/ - 首次提出响应式设计一词的文章:https://alistapart.com/article/responsive-web-design/ - Kevin在freeCodeCamp上发表的关于学习滑板如何帮助他逃离教程地狱的文章:https://www.freecodecamp.org/news/how-learning-to-skateboard-helped-me-find-a-way-out-of-tutorial-hell/ - Kevin在freeCodeCamp上关于构建和部署个人作品集页面的课程:https://www.freecodecamp.org/news/how-to-build-a-portfolio-website-and-deploy-to-digital-ocean/ - Quincy提到的可玩CSS扫雷游戏:https://codepen.io/bali_balo/pen/BLJONZ - 永久编码到CSS中的已知错误:https://wiki.csswg.org/ideas/mistakes - 关于为什么CSS如此奇怪的演讲:https://www.youtube.com/watch?v=aHUtMbJw8iA</context> <raw_text>0 主要使用移动应用程序,这些应用程序可能会使用或不使用CSS?CSS对移动应用程序开发者的相关性有多大?是的,这是个好问题。我认为这仍然是一个问题。
嗯,我的意思是,我确实认为,虽然不太是CSS,但从设计的角度来看,仅仅因为移动设备在很大程度上占据了主导地位。从某种意义上说,它简化了布局,但也使它们变得有点无聊,因为你有有限的屏幕空间。你只能做到这么多。因此,它们往往只是常规的自上而下的布局类型。尽管我认为有一些新事物正在出现,可以让事情变得更加令人兴奋,因为用户交互和其他东西变得更容易,无论是
通过动画或其他东西,以及微动画等,都是应用程序中非常重要的一部分,你可以看到其中的细节关注。至于CSS,在应用程序开发方面,显然这有点依赖于情况。我认为对于很多人来说,它仍然是相关的。一个巨大的优势是,我们被拖延了很长时间,因为苹果没有支持渐进式Web应用程序。
但我确实认为这个想法,我想他们现在是否支持它们?还是因为一些欧盟的变化被迫支持它们?我不记得了。但是,你知道,如果你可以一次性做某件事,而不必为每个不同的环境创建一个应用程序。我认为这总是好事。如果你以渐进式Web应用程序的形式做,那么你只需使用HTML和CSS,以及你知道的JavaScript或其他方式来处理事情,但它实际上是一个有效的应用程序,可以跨所有不同的操作系统运行,这非常酷且非常有用。
我认为,即使,显然,如果你只是在一家公司工作,并且你只是在那个应用程序上,无论它必须在哪个生态系统中运行,那就是你的工作,那么你可能不会担心CSS,这没关系。但我认为对于很多人来说,这也不是现实,尤其是你整个职业生涯都只是被困在一件事情上。它可能是你做几年的事情,但通常你最终会四处跳跃和变化。
我认为至少对大多数人来说,关注一下CSS、HTML、JavaScript等在前端的工作原理可能是个好主意。是的。我的意思是,实际上,我不会使用没有Web版本的应用程序。
因为我实际上对我的手机非常安全,你不会在我的手机上找到TikTok,对吧?当然不会有微信,也不会有任何Facebook的产品;我就是拒绝安装这些类型的应用程序,因为我知道像Uber能够通过苹果的系统获得麦克风访问权限;而且很长一段时间,我无法使用很多应用程序,仅仅因为没有移动应用程序版本,而这些
应用程序的移动应用程序版本通常大大减少。我的意思是,如果你想构建一些实质性的东西,并且实际上有很多聪明的人在使用它,而不仅仅是你知道的那些人,像无意识地在你的应用程序中滚动之类的,你想要有一个Web版本。嗯,你想要让它有一个API,以便人们可以通过所有这些不同的客户端来使用它,等等。
所以我会在一秒钟内下台,但我只想说Web应用程序与以往一样相关。如果你正在构建它,像大多数实际赚钱的应用程序都是企业类型的应用程序,人们在笔记本电脑或台式机上工作九个小时,并且他们在一天中使用你的工具。
对吧。呃,很多内容将在浏览器中进行,比如Web应用程序和类似的东西。那么,你会说你做过任何多平台开发吗?比如构建Web应用程序,并在移动应用程序中重用一些内容或类似的事情?我没有,我在玩弄一些东西之外没有太多经验。因为我很好奇,关于实际的应用程序开发,
是的。
是的,手机在知道你在哪里方面确实很酷。你在餐厅。洗手间在哪里?我在新的城市或其他地方时总是使用Google地图,它会画出一个箭头,告诉我该去哪里,等等。所以我不想让你们都认为我是什么不懂技术的人,不欣赏手机让我们的生活变得更轻松,但我认为它们也...
是技术的捷径,就像它有点像,我不确定怎么描述,但它就像是一个极其稀释的、平庸的实现,对于很多人来说足够好,但它只是对真实事物的苍白模仿,这就是我对它的看法。呃,所以无论如何,作为开发者和设计师工作的实际现实,我将问你很多关于CSS的具体问题,因为我
正如我在介绍中所说,你确实是CSS专家。你实际上不得不写一篇文章说,我不是CSS之王,因为人们不断称你为CSS之王。我想你赢得了某种CSS战斗。你在你的频道上有一些很棒的CSS战斗类型视频,嗯,你试图快速设计某些东西,而其他人也在尝试这样做。然后就像谁做得最好或谁完成得最快。嗯,让所有测试通过。这真是一个很酷的事情。嗯,
但你与CSS是同义词。每当我听到Kevin Powell,我立刻想到的就是,哦,CSS专家,对吧?
你是如何成为CSS专家的?给我讲讲你从加拿大的谦卑起源到今天,几乎有百万订阅者和你的新闻通讯,以及你所做的所有不同事情,所有的会议演讲。我看了很多你的会议演讲。那不是空话。这是硬核CSS。如果人们对CSS感兴趣...
我把你视为经典。可能有一些优秀的CSS教科书,但如果你在寻找一个活生生的、行走的CSS百科全书,我认为你是这个非常事物的伟大典范。所以我会停止赞美你,让我们深入探讨你是如何到达这里的,伙计?是的。首先,我非常感谢你。谢谢你的好话和高度赞扬。是的。
当我想到这一点时,仍然很奇怪,看看我现在的位置。确实不是计划好的。我知道有些人设定目标,他们会说,“哦,我要进入内容创作。”这是他们规划如何尝试发展他们的频道或博客等。我是因为对YouTube感到好奇而开始这个项目的,基本上是因为我对我在工作中所做的事情感到厌倦。
所以追溯得更远,你知道,起源故事是,我在90年代末的高中时开始接触Web开发。你提到Dreamweaver。我会在Photoshop中设计,切片,然后带入Dreamweaver,为一些随机的我感兴趣的事情制作网站。然后这就像是慢慢地,每隔一段时间我会做一些事情。是的,
所以这就像是,我有一个随机的爱好,偶尔会接触一下。我喜欢学习新事物和玩弄新事物。所以你做一段时间,学到足够的东西,就停止了。快进,经过学校,获得了很多学位,因为我不知道我想做什么。最后我进入了设计,
我是一名平庸的设计师,赚的钱不够。所以我开始在业余时间做自由职业。大多数我做的自由职业工作是UI网页设计的东西。我想,哦,我玩过并制作了很多网站,也许他们会付我钱把这些变成实际的网站,一旦设计得到批准。所以我得到了几个客户。
这让我意识到,首先,一旦我弄明白了,我更喜欢编码方面,因为从制作我随机的小Photoshop作品到实际上必须制作可以得到客户批准的东西之间有很大的区别。但我最终弄明白了。
我实际上是从WordPress开发开始的,我在那方面感觉相当不错,做了很多基于Genesis主题的子主题工作,我基本上删除CSS文件,从零CSS开始制作子主题,然后从那里开始构建。然后我最终被聘为教师。
教学从来不是我设想自己会进入的领域。但正如我提到的,我在全职工作中赚的钱不够。全职工作加上业余自由职业的工作量很大。我当时刚有了一个孩子。所以不得不,知道这一点并在晚上工作,所有这些都很糟糕。然后我的老学校来了,那里的一个老师说,哦,我们在招聘。你应该申请。我想,好吧,薪水看起来比我现在的要好。我想我可以试试,看看会怎样。
因此,我最终在那所学校教授HTML和CSS入门课程。这就是我进入这一切的起点。然后我对它感到厌倦,因为我教授了好几年HTML和CSS入门课程。所以我想花的时间有限,我不想一直教人们如何在键盘上找到大括号。我想,我会在这里落后,无法跟上所有的事情。所以...
部分是出于对开始YouTube频道的兴趣,部分是为了给自己一个借口去做不同于我在课堂上所做的事情。我开始制作YouTube视频,然后从那里开始,增长非常缓慢而逐渐,直到今天。现在仍然很奇怪,但我很高兴我可以整天做这个。是的。哇。一些观察。首先,
有一句关于经验的说法,就是你知道,你可以有十年的经验,但这并不意味着你是一个有经验的开发者、设计师或教师。嗯,你基本上可以在十年内拥有相同的一年或两年的经验。很多人对此感到满意。有很多人只是把工作当作养家糊口的手段,他们并不把自己的自我与他们所做的工作联系在一起。嗯,坦率地说,有些领域,
很难想象能够将自己和自我实现与所做的工作联系在一起。我曾经做过一周的电话推销员。那是一份噩梦般的工作。我简直无法想象那是一份让人满足的工作,人们会说,是的,我今天打了很多电话。我相信他们会感到成就感,但在做了很多年之后,我无法想象他们会回头看...
想着,哇,那是一种完整的生活。你知道,就像,他们可能会回头看他们的孩子和生活中所有其他有趣的方面,而忽略电话推销的工作。是的。
再说一次,如果有人是电话推销员,没有任何贬低的意思。但这与我认为的令人满足的工作完全相反。我在超市擦地板时感到更有成就感,因为至少这是我让地板变得更干净。我没有通过打电话打扰某人,问一堆问题,试图引导他们购买他们不需要的东西。所以...
这让我觉得你在教授相同的基本知识几年后感到厌倦,并开始制作视频。这是...
是的。
我的意思是,显然,如果你能负担得起一个只是站在那里教的导师,我保证我不会对此多说,但这在教育中是个大问题。学生与教师的比例极其重要。当你有一个巨大的讲堂,里面有一些杰出的,嗯,你知道,写过一些论文并获得诺贝尔奖的家伙在上面讲课时,像那样。
这有点像一种表演或可以在视频中捕捉到的表演,因为你不会和那个人进行一对一的对话。也许如果你幸运的话,你可以在讲座结束时问一两个问题,但在视频中拥有这一点。我认为这就是大学的未来。我认为这就是教育总体上正在朝着更个性化和互动的方向发展。但,是的,
能够以某种形式奠定基础,然后在你与人们的时间中,能够根据他们的需求定制学习,像翻转课堂模型那样,这要有用得多且有趣得多。因此,听起来一旦你开始制作这些视频,你就能够专注于更具体的内容,比如—
不那么频繁出现的事情,而不是“嘿,键盘上的大括号在哪里?我找不到它。我该怎么做?”之类的事情。对吧。所以,呃,这种情况让你有了自由。而我想回到学生与教师的比例,呃,理想的学生与教师比例可能是一个,一个学习者,一个教师,
就像经典的辅导情况。如果你去像哈佛这样的名校,可能会有一些小型研讨会类型的设置。如果你去像哈佛这样的名校,你会得到一些课程,里面有一些学识渊博的教授,可能有很多成就,正坐在那里与四五个学生进行研讨会类型的课程。但这非常昂贵,让一个如此知名的人坐在那里与你交谈。我们谈论的是,可能,
每小时几百美元,让五个人。所以,学生每个学习者的成本大幅上升。拥有500人的巨大讲堂,听迈克尔·桑德尔在舞台上谈论正义,可能更经济。我认为这是有史以来最好的在线课程之一,哈佛的正义课程。所以,我并不是在单独挑出哈佛,但他们确实有优秀的,
免费的在线课程,其中一些你会在freeCodeCamp频道上找到。但是,回到我刚才说的,你知道,你更愿意做什么?教人们,嗯,你知道,你已经教过很多次的同样的事情,还是能够进入像这样有趣的边缘案例,通过你的教学出现的事情。我想我只是想赞扬你,因为很多人会说,哦,我知道如何完美地做我的工作。就像我基本上只是一次又一次地回答同样的问题。酷。我只是这样做,放松一下,玩一堆视频游戏,放松一下,存钱,偿还我的房子,所有这些事情。对吧?这就是很多人对待生活的方式,他们很高兴在其他地方实现自我。对吧。
他们不需要有一个有趣的工作生活。但听起来你对CSS充满热情,对学习和分享你所学的东西充满热情,以至于你不满足于停留在那个高原上。是的,确实...我的意思是,首先,关于连续几年教授相同的内容,
这也是有巨大价值的,因为我真的很擅长学习,像只是如何教授那些基础知识。像我第一次做的时候,我为那个班级感到遗憾。像我,我知道我在做的时候,你意识到你犯了错误,但然后你从中学习,你变得更好。在某个时刻,正如你所说,我就像,好的,现在我掌握了这一点。呃,所以我想做更多的事情,然后
我只是把它当作一个爱好项目开始。我没有任何雄心壮志。幸运的是,因为它花了很长时间才能真正获得动力,但它达到了一个点,如果一个视频获得了100个观看,我就会想,哦,那是,嗯,这个视频的影响力比我在课堂上教书时更大。因为我有30到40个学生的班级。所以我想,能够有一个视频接触到更多的人,这让我觉得很酷,然后显然它的潜力。
你开始意识到那里的长期潜力也可能发生。所以我认为这成为了一个激励因素,呃,同时也是,嗯,我自私地想要探索和玩弄的事情。是的。是的。
是的。那么,让我们花一点时间。这不是一个创业播客。我们确实与很多企业家交谈,我会认为你是一个企业家,因为你设法为自己开辟了一个生存来源,基本上作为一个独立的人。你不必向任何人负责,除了你的观众,可能还有税务局的收税员,嗯,但你没有太多的责任去对其他组织负责,理论上,你可以,嗯,可能在很长一段时间内仅靠你所建立的动力生存。
对吧。呃,所以,我并不是想教人们如何做到这一点。这是,你知道,我只是想告诉人们,我对想要谋生的人的建议是,出去为别人工作,获得报酬以学习。然而,你设法做到这一点,我认为值得询问的是,作为YouTube创作者,你的职业发展是怎样的?你是如何逐渐找到一种方法,离开全职教学,能够专注于你现在所做的事情?
是的,正如我之前提到的,开始时非常缓慢。嗯,我开始时承诺从一开始就尝试每周做一个视频。大多数情况下,我坚持下来了。嗯,正如我所说,我有一个年轻的家庭,所以有时如果事情很忙,这显然会优先考虑,但我大多数时间保持每周一个视频,嗯,持续了好几年,中间有几次休息。
前六个月,我想,嗯,我认为花了六个月才获得100个订阅者。在四到六个月之间获得100个订阅者,视频的观看次数在20到100之间。然后在那之后,我开始看到一些动力,但实际上并没有什么值得一提的。
大约花了两年的时间,频道才开始有一点收入。虽然并不多,但这就像是约会之夜的钱或额外的奖金。但我甚至不会把它视为副业。这只是一个在旁边的很酷的额外事情。
嗯,然后在我认为的第二年和第三年之间,我想,哦,这开始真正获得一些像样的动力,呃,以一种令人兴奋的方式。那时我有点重新,我并不是说,哦,我能辞掉我的工作,但我想,这可能会变成更大的东西。我不知道更大的东西意味着什么,但我觉得它获得了动力,并且正在做一些事情,
事情可能在地平线上。但因为我在全职工作,并且有一个年轻的家庭和所有其他事情,我从来没有坐下来思考,那个更大的东西是什么。我没有商业背景或任何东西。我相信如果有些人对那方面的事情了解更多,他们可能会坐下来,弄清楚事情的进展,计划事情,可能会更快成功,或者只是有一个更好的,我知道我们要去哪里。
嗯,但我确实,我不记得确切是什么时候,但我确实决定在第二年和第三年之间的某个阶段制作我的第一个课程,呃,只是看看会发生什么。所以我开始了一个新闻通讯,因为有人告诉我你应该开始一个新闻通讯,以便获得你的观众。是的。
嗯,搞笑的是,新闻通讯是我现在所做的事情中我最喜欢的部分之一。呃,我在星期四早上有整个早晨的时间专门用于我的新闻通讯。因为我只是喜欢,这是一种不同形式的创造性表达,我想。这是不同的。嗯,我不,我谈论的内容与前端开发相关,但,嗯,你知道,主题范围更广,更个人化,其他一切。所以我真的很享受写作。
我花了一段时间来找到形式,像我的声音和所有东西。就像视频一样,我认为如果你进入视频创作,可能需要很长时间才能弄清楚过程、你的声音和所有其他事情。新闻通讯也是如此。它经历了几次迭代,慢慢发展到今天的样子。
但,是的,所以从那时起,我卖了一门课程。它没有赚很多钱,但我想,“哦,那比我去年在YouTube上赚的钱还要多,这是我创建的一个课程。这真是太酷了。”所以我当时意识到,在那次课程发布中,正如我所说,它赚的钱比我在YouTube上赚的任何钱都要多。
它不到10,000美元。并不是这个突然改变生活的数目,但就像,“哦,哇,你可以通过这种不同的方式赚钱。”人们也想支持你。那些从YouTube关注我的人很高兴购买它,因为首先,他们信任我,因为他们知道我的内容,但也因为他们很高兴找到支持我的方式,这让我觉得很有趣。然后,是的,从那时起,
频道确实经历了几次飞跃。所以我认为大约在2019年,2019年初,频道有了很大的提升。这是一种你有几个视频表现得很好,然后它就提高了频道的标准的事情。所以如果我回顾过去,人们通常认为这是一条不断增长的曲线,但对我来说,实际上是,
你在努力前行,然后你遇到几个好的视频,这提高了你的标准,然后它又上升。所以是阶梯式的变化。所以,是的,确切地说。如果你不介意我问,我们稍后会详细讨论你所说的一切,但我很好奇,哪些视频对你来说是那些阶梯式变化的视频?
呃,其中一个比较大的,还有几个同时出现,所以我不记得它们是什么,但就在那个时候,其中一个是我和Kyle做的CSS战斗视频。是的。嗯,这是我第一次和他在他的频道上做一个视频,然后在我的频道上做一个。所以这两个都导致了大量的增长。我认为,
那可能是我第一次做一个视频,虽然显然与CSS相关,但它也是,嗯,所谓的教育娱乐。是的。Kyle还没有成为Freecode Camp电影宇宙的一部分。我最终会采访他。抱歉。他是谁?是的。更广为人知的是WebDevSimplified。WebDevSimplified。所以他也有一个非常大的YouTube频道。是的。
呃,他的频道比我自己的更好。呃,是的。技术或技术YouTube。在我看来,他就像,几乎像,呃,莱昂纳多·迪卡普里奥一样。是的。无论如何,抱歉,我们不会在这里诗意地赞美他,但我只是想给人们提供一些关于他是谁的背景,因为你提到了他的名字。是的。嗯,所以是的,我和他做了几次合作,这真的很有帮助。呃,这是我第一次尝试,正如我所说,进入更多的...
<context>为什么开发者不必害怕CSS – CSS之王Kevin Powell 快速参加我们的年终freeCodeCamp播客听众调查:https://forms.gle/2M9NW776723uSdDT7 在本周的播客中,freeCodeCamp创始人Quincy Larson采访了Kevin Powell。他是一名设计师,一名软件工程师,也是CSS的专家。他经营着一个专注于CSS的YouTube频道,拥有近百万的订阅者。这里没有什么轰动的内容——他实际上只是教人们CSS。这个播客的支持来自Wix Studio的资助。Wix Studio为开发者提供工具,以快速构建开箱即用的网站,然后通过代码扩展、替换和打破界限。了解更多信息,请访问https://wixstudio.com。支持还来自11,043位通过每月捐款支持freeCodeCamp的善良人士。加入这些善良的人士,通过访问https://www.freecodecamp.org/donate来帮助我们的使命。更正:我(Quincy)在采访中提到Uber找到了一种在iOS上在用户不知情的情况下访问麦克风的方法。确实有文献记录的恶意软件这样做(如Pegasus),但Uber并没有这样做。他们确实做了很多其他可疑的事情,比如在你删除他们的应用后继续收集数据——但麦克风监视并不是其中之一。是的,早期的Uber确实是一个伦理上的灾难。但在这里准确获取事实是很重要的。我们讨论了:- 为什么你在2025年仍然应该学习CSS - 教授概念如何提高你对它们的理解 - 学习滑板如何帮助Kevin逃离教程地狱 - CSS即将迎来的巨大改进 我们在对话中提到的链接:- Kevin的YouTube频道:https://www.youtube.com/kevinpowell - Kevin提到的原始Space Jam网站:https://www.spacejam.com/1996/ - 首次提出响应式设计一词的文章:https://alistapart.com/article/responsive-web-design/ - Kevin在freeCodeCamp上关于学习滑板如何帮助他逃离教程地狱的文章:https://www.freecodecamp.org/news/how-learning-to-skateboard-helped-me-find-a-way-out-of-tutorial-hell/ - Kevin在freeCodeCamp上关于构建和部署个人作品集页面的课程:https://www.freecodecamp.org/news/how-to-build-a-portfolio-website-and-deploy-to-digital-ocean/ - Quincy提到的可玩CSS扫雷游戏:https://codepen.io/bali_balo/pen/BLJONZ - 永久编码到CSS中的已知错误:https://wiki.csswg.org/ideas/mistakes - 关于为什么CSS如此奇怪的演讲:https://www.youtube.com/watch?v=aHUtMbJw8iA</context> <raw_text>0 像娱乐风格的视频,这很有道理。因为这总是很难的事情。即使我的观众都是想要学习的前端开发者,他们每次上YouTube时,可能也不想查找如何用CSS做某件事。通常情况下,当人们进入YouTube时,要么是为了搜索他们想要解决的特定问题,要么是因为他们只是无聊,想花15分钟看一个搞笑视频或其他什么。因此,这让我意识到,人们,你知道,
当然,再说一次,如果我在这方面更好,我可能会更早意识到。但这种类型的视频实际上可以做得很好,因为你发现了前端开发者想要观看的娱乐性视频的交集。这并不是我频道的一个大部分,但我会试着偶尔插入这些内容。是的。只是为了让它变得更有趣一些。
低调,放松,更有趣。我认为这很重要,但我仍然坚持99%的内容都是教育性的,而不想走得太远,因为我不想成为那些追求观看次数的人。因为我知道,所有我认识的因YouTube而感到疲惫的人都是在尝试这样做。
呃,所以,我,你知道,我会在某个时候达到一个阈值,我想,这有效。有足够多的人对我所做的事情感兴趣。我可以继续做我感兴趣的事情,而不去追逐其他东西。这也挺不错的。是的。是的。再说一次,为了让事情有个背景,我之前提到过,你的YouTube频道几乎有一百万的订阅者,这些人对CSS感兴趣,并且,
你知道,这是一个非常具体的话题。你并没有真正扩展太多。CSS是非常深奥的。你知道,有人制作出逼真的,嗯,是的,
合成器,像相机一样,像物理对象一样,精美设计的物理对象。他们用CSS制作这些。我和一位CSS艺术家谈过。如果你愿意,在听完这个播客后,你可以搜索CSS艺术家,freeCodeCamp。你应该能找到它。但她,她做那些逼真的东西。然后还有人用CSS制作完全互动的,
有点像用CSS创建Minecraft的体验。是的。
我不确定这是否是图灵完备的,如果这在今天还有什么意义。但你可以深入CSS的深度是令人惊讶的。你选择了不去扩展,比如说,好吧,现在我们也要谈论Photoshop。或者我们要谈论设计的其他方面。或者我们要进行JavaScript课程。不,你只是专注于CSS。我发现你能够在这个工具上深入研究多年,这非常令人耳目一新和令人钦佩。
所以,这不是一个问题。这只是一个观察。我觉得这真的很酷。嗯,让我来解读一下你所说的一些事情。首先,我想解读一下,关于成为所谓的YouTuber或内容创作者的炒作。我不喜欢这个词,但基本上,呃,确实有很多事情可以做。呃,YouTube很棒。我花了很多时间。我甚至不看Netflix,除了和我的孩子一起看《海贼王》。整个《海贼王》都在Netflix上,值得拥有Netflix,只是为了能和我的孩子一起看《海贼王》。呃,或者对不起,和我的孩子一起看《海贼王》。呃,顺便说一下,Netflix上有很多好的儿童节目。我们并没有得到Netflix的赞助,但如果你有孩子,真的考虑一下获得Netflix,因为这真的是一个完美的事情,可以让他们坐下来观看。而且我们,我们看所有的内容都是中文,因为我们试图让我们的孩子学习中文。显然,《海贼王》没有中文配音。我们看的是《海贼王》的英文配音,太棒了。声音表演很棒。无论如何,
我对Netflix的推荐。呃,父母们。但我想说的是,呃,我对你坚持自己的信念并不断制作这些视频感到震惊,这些视频只获得了几十个观看。你花了几个月,六个月才达到100个订阅者。就像,
我认为很少有人有耐心去完成你所做的事情。我认为听起来你耐心的一个巨大来源就是你忙于做其他事情。这只是一个副业。你知道,如果你不播种一堆种子,你永远不会收获丰硕的果实。所以你有点像在YouTube频道上播撒一堆种子。就像我们以前发布视频时,只有寂静回应。
对吧?就像,我们会说,哇,那得到了1000个观看。在最初的几年里,我们就是那样。然后我们就有一些视频爆炸了。现在,如果你只看原始订阅者数量,我们就是YouTube上最大的编程频道。但原始订阅者数量并不重要。真正重要的是观看时间。我们每个月有数百万小时的观看时间,我对此感到非常自豪。呃,这很大程度上要感谢你这样的,愿意广泛分享他们学习资源的人。因此,我们多年来与许多创作者交叉发布了很多课程。这太棒了。呃,你知道,我只是想把这一点放在上下文中。
你并不是一夜成名。你就像那台小引擎,可以继续前进。我想我可以。我想我可以。像是继续前进。你在什么时刻达到了那个阈值?你创建了你的课程,并且你在那门课程上赚的钱比你在YouTube上赚的多。是的。
你在什么时刻实际上想到,哇,我实际上可以成为一名技术教育者,特别是像CSS教师,我可以利用……我可以通过技术扩大我的努力,而不是一对一或在课堂上教学。你什么时候真正意识到这一点,觉得,哇,我真的可以做到这一点?是的。所以,
是在2019年,当频道开始跃升的时候,同时我在那时制作了其他几门课程。因此,在那时,YouTube的收入仍然不算太好,但结合课程的收入,我开始觉得,哦,也许这可以成为一个安全的选择。这是一个艰难的决定,因为……
我需要能够,你知道,我家里有两个孩子,我有房贷要还,还有其他事情在进行中。离开我的工作是不是疯狂?所以我和我的妻子谈了谈,讨论了不同的事情,随着想法的出现。我决定我最终存了一些钱。好吧,所有其他事情的收入在某个时候足够了,我想我大约存了九个月的工资。而我产生的收入大约相当于我的全职工作。
所以我想,好吧,我认为在这一点上是安全的,我可以采取行动,因为……
我正在产生的收入可能不会在一夜之间消失,但即使它真的消失了,YouTube下线了,我的所有课程消失了,明天每个人都退订了我的新闻通讯,至少我有九个月的缓冲期,我可以想办法解决。所以我需要这个,仅仅因为我所处的位置。我认为如果我是一名单身汉,住在一间不太贵的公寓里,我可能会更谨慎。
呃,但我花了一段时间来坐下来,想,好吧,这实际上是我可以做的事情。然后我确实需要坐下来想,这是否是我想做的事情,因为显然,经营自己的事情和做自己的事情是非常不同的。但在那时,我并没有太大的疑问,但我确实问过自己,但我对能够独立出去的前景感到非常兴奋。呃,部分原因是有点误导,
因为我确信……
我在做这件事作为副业,并全职教学。正如你所知道的,教学是一项非常繁重的工作。是的。所以,是的,这是一场表演。作为一名教师,你不能有糟糕的一天,你不能像在电脑后面懒散地表现得忙碌一样。如果你没有足够的睡眠,因为你出去聚会了,可能没人会注意到。如果你是一名教师,站在一群付钱来上课的人面前,或者,知道税收资金在为学校提供资金来教他们的孩子。
你有这么多努力工作的人,他们的孩子在你的课堂上,他们在看着你。你不能懒惰,对吧?这会显而易见。在课堂前面没有藏身之处。是的。所以我确信,我想,如果我每周能做一部视频,每年能出一门课程,如果我在副业上做到这一点,如果我全职去做,我就会成为这个内容创作机器。我将能够做到……
每周三部视频,加上我将能够做更多的课程。加上我只是有那种“天空是极限”的雄心壮志,想象那将意味着什么。那在某种意义上并没有真正实现,因为我确实每周增加到两部视频,然后加上一个短视频,短视频很简单。所以我确实喜欢短内容成为一种趋势,因为它相对容易制作,而不是长视频。
呃,但我确实每周增加到两部视频,然后我在推出另一门课程时遇到了困难。我刚完成的那一门课程花了我大约两年半的时间,我想。哇。呃,这有点尴尬。是的。所以像这样的组合,然后我意识到每周两部视频实际上是一个疯狂的内容量,当我查看我实际投入的时间时。
呃,部分原因我认为我提高了质量和研究的数量,以及我在做副业时所做的一切。但是的,我没有达到那些目标。我没有成为我认为的那种内容创作机器,但一切仍然运转良好。但是的,我也是,我显然还有另一个好处。
好处可能不是正确的词,但当疫情发生时,一切都转到线上,那正好是在我做出那个决定的时候,因为频道达到了一个新的点。然后我基本上做出了决定,然后疫情发生了。然后作为一名内容创作者,所有事情在那一方面都爆炸了,因为每个人都在观看YouTube视频并在家工作。
所以在这一点上的时机是,好的,这实际上是我现在可以做的事情。呃,这对我来说确实运作得很好。呃,显然从商业角度来看。是的。我很高兴它对你来说运作得如此顺利。呃,尽管有一些,我认为每个人在实际操作时,事情比理论上要复杂得多。就像我们有这个惊人的Yogi Bear的名言,
在理论上,理论和实践是相同的。在实践中,它们并不是。对吧?就像,哦,这很酷。我只是要创建一个视频,我将获得这种线性增长和所有这些东西。事情仍然运作得很好。但听起来你在一段时间内咬下了比你能咀嚼的更多的东西,花了一段时间才能退后反思,弄清楚你将如何使一切运作并保持理智。是的。正是这样。是的。是的。
所以,呃,现在仍在努力弄清楚,但也是。呃,我想问你关于滑板的事情。你滑板吗?
我不太好,但说到和孩子们一起的活动,我最小的孩子在大约八岁时决定他想滑板。我想,哦,我会和他一起学习。这对一个三十多岁的人来说可能会很有趣。但所以我确实学会了足够的知识,以至于偶尔会伤到自己。你大约多大时开始认真对待滑板的?是的,那是在三十多岁末。
三十多岁。所以你和我一样,你可能四十岁。我不会像,是的,是的。是的。是的。呃,因为你有这篇惊人的文章,像是,学习滑板如何帮助我找到逃离教程地狱的方式。我一直认为这是一个惊人的,呃,像是反思,首先,如果你能描述一下什么是教程地狱,也许谈谈这个过程,呃,
学习滑板如何帮助你消除一些东西并看到一条线。是的。所以教程地狱是当你……
学习新东西时,你在观看教程或阅读博客文章,所有这些事情,你理解正在发生的一切。你观看那个视频,视频中每一行代码都是你完全理解的,是的,你可以告诉你知道他们为什么这样做。你可以逐行理解他们在做什么。然后你坐下来做某件事,你盯着一个空白的屏幕。你不知道从哪里开始。
呃,这是世界上最令人沮丧的经历。呃,滑板的想法是,或者我意识到的是,你不能,我认为这适用于任何身体活动,我想,在哪里你不能真正逃避,因为当你通过观看或阅读来做某事时,仅此而已。你理解正在发生的事情。就像你觉得你应该能够做到这一点。
而如果你谈论滑板,这就很有意义。就像如果你只是观看YouTube视频来学习滑板,你甚至不会期望自己能够做到像Ollie那样的跳跃,或者在滑板上做任何技巧或其他事情。就像站在上面,人们知道这会很困难,因为你需要保持平衡,你需要在能够做到这一点之前练习所有这些其他事情。因此,即使你完全理解你需要做什么,也并不意味着你实际上能够完成它。对我来说,滑板,
在家里比很多其他事情更难,因为一开始真的很难。就像站在滑板上向前滚动看起来并不那么难。但那头几天,实际上是很多尝试,像是我能推多少次,像是,你知道,如果你能站在上面三秒钟,你会感到非常自豪。
这真的强调了,好的,我需要知道我在做什么。我需要理解这一切是如何运作的,但然后我只需要反复练习做那件非常简单的事情,直到我真正知道如何做到这一点。这个同样的事情适用于任何技能,但在需要你身体能够做到的事情上更明显。因此,当你编码时,
实际写代码的步骤是如此重要。所以,如果你看到有人写出来,你知道,你跟着演示或其他东西,你可以逐行跟随。就像,好的,暂停,删除那段代码,做最后五分钟你刚刚做的事情。
而且大多数时候,如果这是你正在学习的新东西,你无法做到。就像,你只是,哦,天哪,我忘记了第一件事。或者,你知道,前两件事,然后某些事情就偏离了轨道,你又卡住了。这正是试图站在滑板上,你在摇晃,试图做到这一点。你有点理解,但你还没有建立起你需要的平衡。这和编码是一样的。你还没有建立起足够的知识。
以便能够完成这些事情。这需要大量的重复和经历,学习所有的细微差别,理解你知道的事物之间的联系,但你只是还不能应用。而且,是的,我想就是这样。但如果你坚持下去,你将能够建立这些联系。是的。这就是事情。就像,我只是想简短地说教一下。很多人,
你知道,不能实际滑板。他们可能在某种程度上有问题,无法站立或有某种运动问题或其他事情。很多人可能尝试滑板对他们来说是不明智的。我不会建议70或80岁的人去做,因为他们可能会受伤,对吧?我可能甚至不会尝试,坦率地说。我为你这样做感到钦佩。但你所谈论的,我会将其映射到学习打鼓。
好的,所以我不是一个真正的鼓手,因为我实际上没有一个响亮的鼓组。我的妻子不让我给她一个,所以我只是在电子垫上打鼓,使用脚踏板和其他东西。这是实际打鼓的模拟。但是,你知道,就像很容易观看像是——
哦,好的。这是一个非常简单的鼓模式。就像你可以轻松观看一个视频,认为,哦,打鼓很简单。这有多难呢?然后当你坐下来,实际上试图掌握节奏和身体感时,像是试图把握时间,这很难描述理论和实践之间的差异。
在智力层面上,你可以理解。在身体层面上,你不一定能做到。而在编码方面,情况正好相反。在身体层面上,是的,你把手放在键盘上。你可以机械地模仿Kevin Powell,突然间,哦,我和Kevin Powell一样擅长CSS。看,我的结果艺术很美,因为我只是跟着Kevin的教程。但在智力层面上,你不一定理解为什么做出这样的决定。你不一定理解所有不同层次的
正在发生的事情等等。因此,我认为这是一个美丽的类比,我将链接到那篇文章。我鼓励你阅读它。这是一篇老文章,但很不错。是的,伙计。我认为这真的很新鲜……
我再次为你继续学习新事物而感到钦佩。呃,我的整个生活目标不是赚很多钱或帮助很多人,尽管我乐于这样做,而是死时拥有一个完全解锁的技能树。呃,这对我来说是一个巨大的事情,我喜欢学习新事物,我喜欢那种向前推进的感觉,呃,就像我得到的那样,好的,你知道,今天我的打鼓稍微好一点。也许,你,最近还经常去滑板吗?是的。
我已经有一段时间没去了,但我可以肯定地说我能理解你所说的。是的。是的。所以……我只是想说,我的妻子,我让我的妻子发疯,因为我总是喜欢学习新事物。所以我一直在不断学习新爱好,然后说,哦,是的,我在学习那个。并且我在某种程度上感到惊讶的是,YouTube频道运作得很好,因为我真的很擅长获得足够的知识,然后说,哦,我可以去做其他事情。现在我明白了。就像我不想要某些东西。现在我认为,随着年龄的增长,我更喜欢深入研究事物。而当我年轻时,更像是散弹枪式的学习,尽可能多地学习不同的东西。是的。
我的确认为,深入研究的收益递减。你想更深入地了解某件事情时,激活能量,如果你愿意,增长得非常快。就像,你想更深入地了解某件事情,突破的数量会减少。对吧?所以我完全可以理解为什么人们只想成为万事通,而不是精通任何一项。但为什么不成为万事通,同时精通几项呢?
对吧?我认为这只是弄清楚优先级的问题。呃,费曼,著名的教师和物理学家,他喜欢杂耍。他喜欢魔术。他做过各种各样的不同的特技,骑独轮车,像是各种古怪的爱好,你知道,他会沉迷于这些,并且他真的很享受学习新事物,并且使用他的头脑,像是,呃,
我不知道。他有像是完整的孔雀大脑,像是每个不同的技能树至少都有一点映射出来。对吧?我认为这真的很酷。那么让我们谈谈你如何接近学习新事物。也许在过去的一两年中,你开始学习了什么?也许我们可以分解一下你学习新事物的过程。因为我认为这是一种非常有帮助的方法,尤其是因为你和我一样年纪稍长。这不是你第一次骑马,你可能在这些年中尝试学习了很多技能。
是的,这是个好问题。我在想我在过去一年中开始了什么。我想,如果我们想将其与开发相关联,我开始做几个个人项目,如果我将自己描述为前端开发者,那就是,我是前端开发者的前端开发者,显然是CSS,但像是,让我们让事情看起来漂亮。我喜欢这样。让我们做布局和所有这些。但我已经,
我正在做的一个或两个项目有很多后端工作。因此,我一直在尝试学习更多关于数据库和SQL的知识,并享受这一切。所以,这是一段有趣的小旅程。因此,是的,我认为这是我最近在深入研究的最新事物,不仅仅是为了好玩。我实际上在尝试将我所学应用到我正在进行的项目中。
你是如何接近它的?
是的,我绝对改变了我的接近方式,因为我过去甚至作为一名教师,那个教程地狱的事情对我来说非常真实,我会遇到像是,我想让这个,特别是如果这是我正在进行的项目。我需要让这个工作。所以我会跟随一个可以让我到达那里教程。但不可避免地,教程和你正在尝试做的事情之间会有差异。因此,你走了95%的路程,你在跟随,但然后你需要让它为你做事。然后你就卡住了,因为你没有那种基础知识,
像是,我需要调整什么,或者我需要如何调整它才能让它为我工作?所以对我来说,一个重要的部分是尝试像我所说的那样,学习基础知识。我想知道更多关于像是
不是如何完成我正在做的这一个任务,而是像,好的,这里有像是,我会看到一个教程,它会谈论像是,你需要做的步骤。然后我变得非常注重记笔记。我认为部分原因也是因为当我为视频和其他事情做准备时,我倾向于做很多要点,以提醒自己所有事情,即使这是我很熟悉的主题。
而且我也在学习,当我谈论我非常了解的事情时,我仍然不断学习新事物,因为我只是深入到那个主题中。因此,对我来说,如果我试图涵盖任何内容,我正在
我试图深入了解某件事情,而不是它的实际使用,显然我们需要看到事物是如何被使用的。我认为这非常重要,也是学习的重要部分,但只是说,好的,这是我想要完成的事情。然后我遇到像是六件事情,我只是,嗯,我对这些部分一无所知。我需要学习这些部分。
快速参加我们的年终freeCodeCamp播客听众调查:https://forms.gle/2M9NW776723uSdDT7 在本周的播客中,freeCodeCamp创始人Quincy Larson采访了Kevin Powell。他是一名设计师,一名软件工程师,也是CSS的专家。他经营着一个专注于CSS的YouTube频道,拥有近百万的订阅者。没有什么轰动的事情——他实际上只是教人们CSS。这个播客的支持来自Wix Studio的资助。Wix Studio为开发者提供工具,以快速构建网站,所有功能开箱即用,然后通过代码扩展、替换和打破界限。了解更多信息,请访问https://wixstudio.com。支持还来自11,043位通过每月捐款支持freeCodeCamp的善良人士。加入这些善良的人士,通过访问https://www.freecodecamp.org/donate来帮助我们的使命。更正:我(Quincy)在采访中提到Uber找到了一种在iOS上在用户不知情的情况下访问麦克风的方法。确实有文献记录的恶意软件这样做(如Pegasus),但Uber并没有这样做。他们确实做了很多其他可疑的事情,比如在你删除他们的应用后继续收集数据——但麦克风监视并不是其中之一。是的,早期的Uber确实是一个伦理上的灾难。但在这里准确获取事实是很重要的。我们讨论了:- 为什么你在2025年仍然应该学习CSS - 教授概念如何改善你对它们的理解 - 学习滑板如何帮助Kevin逃离教程地狱 - CSS即将迎来的巨大改进 我们在对话中提到的链接:- Kevin的YouTube频道:https://www.youtube.com/kevinpowell - Kevin提到的原始Space Jam网站:https://www.spacejam.com/1996/ - 首次提出响应式设计一词的文章:https://alistapart.com/article/responsive-web-design/ - Kevin在freeCodeCamp上关于学习滑板如何帮助他逃离教程地狱的文章:https://www.freecodecamp.org/news/how-learning-to-skateboard-helped-me-find-a-way-out-of-tutorial-hell/ - Kevin在freeCodeCamp上关于构建和部署个人作品集页面的课程:https://www.freecodecamp.org/news/how-to-build-a-portfolio-website-and-deploy-to-digital-ocean/ - Quincy提到的可玩CSS扫雷游戏:https://codepen.io/bali_balo/pen/BLJONZ - 永久编码到CSS中的已知错误:https://wiki.csswg.org/ideas/mistakes - 关于为什么CSS如此奇怪的演讲:https://www.youtube.com/watch?v=aHUtMbJw8iA</context> <raw_text>0 而且,深入研究这些个别事物并阅读它们。这让我慢了很多,因为我最终像是,好的,这是我认为我可以在两个小时内完成的项目或功能。然后两天半后才完成。嗯,
我让它工作,我理解我做了什么以及为什么它有效,我实际上可以对其进行更改并稍微玩一下。尽管有很多内容,但仍然是非常表面层次的。因为像是研究某件事两天与一个真正了解该主题的人相比,差别很大,但至少我觉得我在理解我在做的事情。我认为这就是我尽量做到的,确保这不仅仅是复制粘贴任何东西。我试图理解我实际编写的代码与任何事物的关系。
是的。所以,是的,这在初学者程序员之间是一个巨大的区别,初学者程序员可能只是机械地复制,而不太理解,坦率地说,你不必过于担心这一点。你试图同时做太多事情。只需从机械地复制开始。随着时间的推移,你自然会开始询问,嗯,那很奇怪。为什么它是那样工作的?然后你会深入探讨并追随那种好奇心。
所以,我不想给人们留下这样的印象:如果你尝试打鼓,假设你要同时使用四肢,对吧?你会用左脚踩高帽,用右脚踩低音鼓。然后你可能甚至会有一个双踏板,你在两者之间切换。然后你会有所有的汤姆鼓和所有的镲。然后你会尝试在小军鼓上做鬼音。如果你试图这样做,你永远不会在打鼓上取得进展。对吧?
你应该做的是拿一个鼓垫,只练习基本的节奏和机械地再现非常基本的节奏,获得所有的运动技能。我认为在开发中也是类似的,你应该熟练打字。你应该熟练在文档之间切换,你应该熟练查找信息,以及作为初学者开发者所需的所有这些不同的事情。我认为批评正在学习代码的人是愚蠢的,比如,嗯,你真的理解它是如何工作的?他们会明白的。对吧?是的,我百分之百同意。是的。我现在正在处理一些非常初学者级别的材料。因为我的YouTube视频或我的YouTube播放列表已经有八年了。因为这是我做的第一件事之一,像是HTML和CSS的介绍。我觉得,它有点过时。因为它确实是基础的,非常基础,但我觉得它可能需要更新。我觉得,
找到一个绝对初学者在那个阶段实际上需要知道多少信息是很难的。当我创建内容时,很多时候是这样的,好的,我把所有内容都写下来,然后是,好的,去掉那些,去掉那些。他们不需要知道那些,他们只需要知道,他们正在改变颜色。就像,你知道,我正在改变某样东西的颜色。我不需要知道像级联或特异性之类的东西。我们将在三节课后到达那里,但只是保持他们学习的顺序,但保持简单。
在早期很容易出现认知过载。我认为这是人们在任何事情的早期阶段挣扎的一个重要原因。
如果你正在学习一个新主题,你需要担心语法。你有所有这些你从未见过的单词,你正在学习它们是什么,它们的作用以及它们如何协同工作。然后谈论它的功能是什么,它实现了什么,以及这些不同的东西之间的关系,学习任何东西的早期阶段都有大量的信息。因此,是的,我认为对于减少和我自己所做的事情,
我所说的步骤是试图以某种方式减少这一点,但我试图隔离我想要学习的那些部分。所以,我不是,
如果我从整体上看,我想对我正在处理的新事物有一个了解。但我想先弄清楚这三件我不理解的事情。我只是主动去弄清楚这些事情。但再一次,我有开发的背景。所以,
已经有很多背景信息或背景知识在帮助我,当你第一次接触这些事情时,如果你没有,那就要小心认知过载的想法,感觉你需要理解一切,因为那是不可能的,没有人能做到。
百分之百同意。我还想补充一点,这是对Free Code Camp课程的常见批评,可能也是对你课程的常见批评。你会有某人像跳伞一样降落。你为什么不谈论这个?你为什么不涵盖这个?你怎么能有一个不讨论X、Y、Z的课程?他们不理解。他们失去了初学者的心态。他们不理解第一次进入某件事情的感觉。你必须进行分类。你必须优先考虑分类。
某些事情。有时你甚至必须早期教授反模式,以便让人们能够实际使用最佳实践。
很多人,如果你问,free code camp好不好?如果你谷歌一下,你会看到一些在Reddit或其他地方发脾气的人说,是的,他们不教这个。他们怎么能教这个?他们为什么要教X、Y、Z?那就像,没有人使用那个,你知道的。你会听到很多这样的批评,但我向你保证,我们在我们的教学设计中意识到这些设计权衡。你也会收到很多这样的反馈吗?你必须有点为此辩护吗?
作为教师的教学设计决策?是的,绝对是。与CSS有点不同,因为一旦你过了最开始的阶段,你就会进入流畅的状态。但有时我非常想深入到那些你可以在文档中阅读的真正细致的基础知识中。因为对我来说,当我发现有多少其他事情开始变得有意义时。
但我也总是必须提醒自己,甚至我写的那一门课程,我现在正在进行的课程,我与人们分享了一些课程以获取反馈。这是其中一课,深入探讨了一些内容。他们只是说,他们现在不需要知道这些。我说,你说得对。他们不需要知道那个。把它加进去是个错误。但是的,我,
我提到的任何事情,都会有人对我说,为什么你要那样做?或者你为什么不这样做?我只是觉得,因为对我来说那是最有意义的。我认为这与人们产生共鸣。所以我会坚持这个。我不知道。是的。是的。我只想说,如果你随便去找一个开发者,哦,我应该学什么?这不是一个好的练习。不要根据这个来决定你的学习。一般来说,你确实想和一个真正的老师交谈,对吧?
教学是一种专业。教师有各种各样的教学法,对吧?他们有学习者的心理模型。他们知道什么是概率上可能有效的,而不是,他们还有历史上有效的广泛交叉部分。他们拥有所有的背景知识,他们可以以某种方式引导你,而不是某个可能非常擅长构建某些东西的外行人,对吧?就像,
我在想,如果你去找一个非常有经验的鼓手,他在10岁时学会了打鼓,像,好的,我应该如何学习打鼓,他们不一定会告诉你,他们会说,哦,是的,只需放上ACDC的《Back in Black》,跟着打就行了,你就好了。这并不是特别有帮助。对吧。但这就是一个非常有经验的鼓手可能会给你的建议,而没有意识到你只是会像个傻瓜一样打鼓,而你不一定会理解从那里该去哪里。你知道的,就像,
再说一次,我希望我没有越界。我不是一个优秀的鼓手。我是一个非常普通的鼓手,但我正在练习以变得更好。但这是我在天真地问某个鼓手时得到的建议,像,我应该怎么做?而且
与此同时,有一些优秀的鼓手YouTube频道,他们会将一切分解。当然,请记住,如果你只是随便在网上搜索,像,哦,CSS,你会偶然发现一些更高级的东西。或者如果你第一次接触CSS是观看你的CSS与WebDev Simplified的对战Kyle,那么你可能会觉得,哦,这不一定有用。它有助于向你展示什么是可能的,以及高水平技能的人是如何操作的。
但再说一次,不要只是设定目标,像,我要和他们一样,我想在两年内达到那个水平。像我有不切实际的时间表和这样的东西。我认为导致人们精疲力竭的最大原因是他们没有去学习基础知识,他们有这种—
立即应用。因此,作为学习者,存在这种紧张感,你想做一些实际的事情,构建一些可以向人们展示的东西,像项目导向的学习。但与此同时,你又不想咬下超过你能咀嚼的东西,因为这样阻力就会袭来,你就会觉得,哦,我做不到。像,某些事情会阻止你,事情会变得越来越困难。这就是人们放弃的方式,
他们遇到某种模糊性,不知道如何跨越那座桥。我不明白。为什么我不能像Neil Peart那样打鼓?我已经练习了很多,对吧?为了联系一位著名的加拿大鼓手,因为你来自加拿大。再说一次,我答应过我会做一些其他事情,而不是谈论鼓,但这只是我可以抓住并用作我们讨论的类比的主题。是的,没问题。
我会说,你让我想到的两件事,我已经忘记其中一件,但其中一件,尤其是视频,我看到很多初学者在观看时,认为像这个家伙是专业的。这就是我在任何时间框架内想要成为的样子,像是专业开发者看起来像写CSS。然后我会有直播,或者我会做一系列未编辑的视频。
错误会发生。然后我在检查,我试图找出错字在哪里。所有的事情都出错了。我在那些视频上收到的评论数量,人们说,哦,看到你犯错真是令人耳目一新。你是如何修复它的,这真的很有启发性。我认为这是教学的一个重要方面,就是找出如何调试问题等等。但就像...
我确实认为,YouTube教程或视频教程特别存在这个问题,设定了不切实际的期望。因为我已经构建了...我做的任何视频,我已经构建了我展示的任何东西。如果我遇到问题,我可以参考它,
就像,如果这是一个20分钟的视频,我正在讲解的内容的第一稿可能花了我40分钟或一个小时来构建。我遇到了问题,我解决了这些问题。因此,我不必再遇到它们,因为人们不一定想看我笨拙地摸索很长时间。但只是那种想法,像,对于开发者来说,坐下来写完美的代码是不现实的。
当我开始看到关于这一点的评论时,这对我来说是非常启发性的,像,哦,我真的需要确保我留下些错误,即使是编辑过的录制类型的东西,只是为了表明没有人是完美的,不要给人一种错误的感觉,关于成为一个优秀开发者是什么样的。
是的,我对此感到非常强烈。我觉得你可以观看某个YouTube短片,某人只是这样做,这样,这样,这样,这样,好吧,你完成了。像,哇,你真是个优秀的开发者。但我没有学到任何东西。你知道,我学会了尊重你作为开发者。但与此同时,你知道,
一个演员可能在读剧本。那可能是某个来自Fiverr的随机人读剧本,对吧?可能是代码只是由GPT生成的,或者其他什么,对吧?可能是一个被盗的项目,谁知道呢,然后他们只是屏幕录制自己快速打字,或者使用某些软件让它看起来像他们在快速打字。你不知道。而我非常强烈地认为,
你知道,真实地描绘人们,对吧?就像你和我正在进行实时对话。这是未经编辑的。我不编辑这些播客。我对此感到非常强烈。如果你和我想坐下来,我们可能会找出我们想说的确切内容。我们可能会把这个视频提炼成主要观点,然后我们可以成为演员,对吧?我会说,好的,Kevin,你对X、Y、Z有什么看法?哦,这是个很好的问题。好吧,我认为我们可以直接从剧本中阅读,我们可以假装这是一次真正的即兴对话,对吧?有各种各样的虚假和这样的东西。你可以做到,这就像是去看一场魔术表演的区别,他们有所有这些道具和工具,而去看一些街头魔术师,直接在你眼前表演,对吧?
我认为,呃,那种东西,像软件开发并不是像观看某人玩,知道吗,呃,某个视频游戏,像爆炸和所有这些事情发生。你实际上是在观看某人打字和思考,打字和思考,
也许在像,知道吗,网页视图之间来回切换。如果你在做CSS,它实际上更适合这种实时教学。你可能可以做一个直播,在实时中构建设计。这会很有趣。看到某人实时构建API可能不会那么有趣。哦,是的。你知道,我们在API点上得了200分。对吧。但我确实认为重要的是,
我们要真实,并且至少有一个播客是两个开发者之间未经编辑的对话,正是出于这个原因,他们如何开发者实际上交谈,他们实际上是如何思考的,他们认为重要的是什么,你知道,呃,这些事情,所以我会下台,我有一堆快速问题想问你,Kevin,你准备好了吗?是的,绝对准备好了。
CSS是许多开发者的挫折来源。我忍不住想,他们只是做错了。但你不会当面告诉人们,你只是做错了。这就是你遇到困难的原因。但那些讨厌CSS或无法使用CSS的开发者,或者我想我注定只是一个后端开发者,构建API,他们做错了什么?他们对CSS有什么不理解?是的。
是的。我认为这有几个方面。最大的问题是,因为CSS是一种声明性语言,尤其是因为一开始像背景蓝色,它有效,然后像字体大小,26像素,你的字体变大。起初是如此简单,无论你是来自计算机科学学位,还是只是从YouTube视频或博客文章学习HTML和CSS的人,
当你第一次开始做这件事时,它的简单性让它看起来像是一种非常简单的语言,直到突然变得更复杂。但因为它的声明性特征,你告诉它做某事,它就有效,并且在学习的前几天一直如此,当你开始遇到问题时,很多人首先感受到的是,哦,它坏了,或者它没有按照我告诉它做的那样做。因为到现在为止,它一直是如此直接。因此,我认为...
它在某种程度上欺骗了我们,让我们认为它是一种比实际更简单的语言。因为在幕后,尤其是在布局方面,以及许多其他方面,一旦你过了那些真正基本的声明,
你开始遇到浏览器在幕后运行的算法,以确定所有这些事情是极其复杂的。我们必须用声明性语言的属性值对来控制这些超级复杂的算法。因此,这些简单的控制隐藏在幕后,实际上是非常复杂的事情。所以我认为很大一部分原因就是没有意识到它实际上可能有多复杂。
然后因为你没有深入研究它,因为它就像,哦,这是一个简单的声明性语言。我不打算去了解这些算法是如何工作的,布局算法是什么,以及不同的格式模型和所有其他事情,因为你从未想到你需要这样做。我知道对我来说,在教授它时,那是...
我获得的理解的数量,比如如果我有一个我从未接触过的新事物,在这个阶段,我已经谈论和教授它超过10年了。所以希望我对它有相当好的理解,但很多早期的教学迫使我去了解这些基础知识,
只是让我对这门语言有了更深的理解。我认为这很重要,而且这是你不常听到的格式上下文。它并不常出现。当你做display flex时,实际上发生了什么?或者当你做display grid时,好的,display flex生成列,但它是如何确定这些列的大小的?我认为初学者不需要知道这一点,但一旦你对这门语言有了相当好的理解,或者你开始遇到问题,事情没有按预期工作,就像,好的,让我们深入探讨并弄清楚...
这应该以这种方式工作,或者我认为它应该以这种方式工作。为什么它不这样做?实际上,有很多人总是说,它是一种反直觉的语言,但一旦你理解了为什么做出这些决定,以及幕后发生的事情,实际上它是非常有意义的。它变成了一种总是有这些小事情。
与它一起的事情可能会有点烦人,但大多数情况下,大多数事情实际上是非常直观的,并且在你理解为什么会发生的上下文后,变得非常有意义。所以,如果我可以总结你刚才所说的,它是欺骗性复杂的。人们认为,好的,我明白了,这很简单,然后他们会想,等等,为什么它没有按预期工作?这应该是这样工作的,而这只是因为他们低估了它的复杂性。
嗯,这与许多事情都是一样的。如果你只是上法语课,你知道,练习你的法语,然后你说,好的,我要去法国,我会没事的。就像,这并不难。这很简单。然后你第一次对话时,你听不懂他们说的任何东西。就像,等等,为什么他们不按我法语书中的方式说话?好吧,问题是因为你低估了学习法语的复杂性,对吧?你低估了,生活中的几乎所有事情都是这样的,但人们忘记了,人们忘记,
宇宙是复杂的,宇宙并不在乎。它没有义务让你容易理解。因此,我确实认为,人们在脑海中认为CSS只是,哦,是的,这就像儿童游戏。没什么大不了的。它甚至不是一种编程语言,你知道的。然后当它没有完全按照他们的预期工作时,他们会生气,因为他们无知于它是如何工作的。所以,是的,正是这样。是的。是的。很棒的回答。
你曾经是一名课堂教师,当然。你知道,我曾是一名课堂教师。我非常重视教学经验。大多数freeCodeCamp的员工在某个时候也曾担任过课堂教师。
作为一名实际的课堂教师,如何影响你在YouTube上的教学方法?你认为那些没有在课堂上教学的人可能不会想到的一些重要收获是什么?如果你通过教程进行教学,思考像教师一样的技能,或者也许志愿教学或辅导或做一些类似的事情,是否值得追求,如果人们想成为在线教师,实际上花一些时间进行面对面的教学?
百分之百同意。我认为你获得的见解,你之前提到的,回到初学者心态。如果你只是在线教学,你可以尝试让自己达到那个状态,但你并不总是意识到你所采取的步骤。而如果你在课堂前教学,你说了某些东西,可能使用了一个你甚至没有意识到的行话术语,因为你习惯于使用它,或者你谈论某些事情,只有这种隐含的知识,而实际上没有人拥有,
当你在面对面教学时,看到房间里空白的面孔会立刻让你意识到这一点。然后你得到的问题,对我来说,这是最大的事情,尤其是在...
我一些视频中,我在做的很多初学者内容中,评论中会有人说,在我的视频中,我正在回答他们的问题。能够做到这一点的唯一原因是因为我已经知道他们的问题是什么,因为我在课堂上反复遇到过这些问题。所以我知道如果我说这个,人们会对另一个事情感到好奇。因此,我能够像
将这些问题融入我制作的视频中,我可以回答。我知道由此产生的问题,简单地说,是的。并且让你处于初学者心态变得容易得多,因为如果你不是,他们会通过问这些问题迅速将你带到那里,让你想出新的解释方式和理解方式。很多时候,
你会变得更擅长将复杂的事情分解成更小的部分,因为当你第一次教授某些东西时,它几乎需要微观化。是的,百分之百同意。呃,有一句话,天哪,那是一个非常好的Yogi Berra名言,我突然想不起来了。呃,我可能稍后会记得。呃,但我只想观察到。哦,是的。是的。
过度自信是疾病。反馈是解药。你是...
你知道,教学,也许有几个人留下评论,像对于每一个人想到的事情,像想法在他们脑海中冒出来,可能有千分之一的人会真正去留评论。像,是的,我不知道我是否理解你刚才说的,或者我不同意你,或者类似的事情。对吧?大多数人只是会想,嗯,我不明白。然后他们就会继续前进。也许他们会离开视频,或者他们可能只是继续观看,他们只是,嗯,只是一个过眼云烟的想法。但当你在面对面教学时,这种情况是行不通的,你可以立即看到
你学习者、学生脸上的困惑。你只是,嗯,好吧,让我试着用不同的方式来解释这个。因此,当你在面对面教学时,你可以非常快速地迭代你的教学风格。所以,是的,我认为这是一个非常敏锐的观察。UI框架和设计系统之间有什么区别?你能描述这两件事并给出一些例子吗?是的。所以我认为,
UI框架,我认为会是像Bootstrap这样的东西,我认为大多数人如果做过前端工作都会熟悉,它的UI组件为你准备好了。你做你的按钮类,你就有一个按钮,然后有修饰类,你可以改变这些东西。因此,布局在那里。他们有jumbotron。他们有所有这些不同的部分,你可以使用。所以这就是所有这些UI部分,基本上是为你存在的。而设计系统则是...
0 会更深入一步。比如说,你甚至可以让设计系统来指导你如何为所有的 Bootstrap 组件进行样式设置。所以 UI 和设计系统之间是有联系的。大多数情况下,设计系统从非常基础的层面开始,比如说,这里是所有使用的颜色。假设有 60 种颜色,它们都在这里。然后你将这些颜色连接起来。通常设计系统有不同的层次。
像是某种抽象,或者说,我,
我忘了我们会称它们为什么,但就像是一般的标记,比如说,红色 400、红色 500、红色 600。然后你会在其上有一个语义层,在这个层上,你的警告颜色可能基于红色 400,但你并不关心它是什么红色。你只是说,这是我的警告颜色。所以当你在系统中使用它时,你就有了这个。设计系统就是一种更深入的构建方式,类似于构建 UI 的所有层次。
嗯,是的,如果这样说有道理的话。好的,太棒了。我有一个问题是,CSS 的工具已经变得好多了。嗯,我的意思是,即使在 2012 年左右,你也可以只使用 Bootstrap,你就会觉得,我不需要太多考虑 CSS。我只需了解类是什么,CSS 类是什么,我将它们应用到我的 div 上,我就完成了。我的网站看起来会像其他人的网站,但看起来足够好。
对,很多人今天对此感到满意。工具变得更好了,对吧?你可以有所谓的 AI 工具,其中很多实际上并不是 AI。它们只是像,你知道的,模板,现在一切都是 AI,因为这就是随机选择模板中的不同部分,这就是 AI。是的,是的。
是的,这基本上只是条件逻辑或某种随机数生成器逻辑之类的东西。也许它们确实在某个层面上结合了 LLM。但我的意思是,工具正在变得更好。你会如何证明投资时间和精力去深入学习前端设计概念和工具,如 CSS 的必要性?当然,还要学习相关的 CSS 网格和 CSS Flex,我认为我没有说错,你鼓励人们学习这两者,并了解它们在底层是如何工作的,使用使这些功能成为可能的原生 CSS。
那么,你最大的理由是什么,为什么仍然要学习这些东西?你知道,如果有人在犹豫,是否应该学习这些东西,或者 AI 是否会解决一切?我会说第一件事是:你问自己,为什么要使用其中之一?比如说,我看到我孩子的网站,如果我必须登录他们的账户为他们的学习做点什么,新的那个,我不知道它使用的是什么,但他们旧的那个肯定是使用 Bootstrap 的,所有的东西都连接到后端。你知道吗?对于这个,它工作得很好。如果这就是你所需要的,因为你只需要一个简单的界面供某人使用,而后端和功能更重要,我认为这就是这些类型的东西的完美用例。
但我总是说,你可能想要了解它们的原因是,因为不可避免地,你会想要做一些更改或调整,或者做一些事情。那时你就会开始遇到问题。所以当你依赖这些系统时,你,
或者你在使用的这些不同的东西。一旦你需要做一些自由职业的工作,事情可能会迅速失控。因此,如果你理解核心语言是如何工作的,当你确实需要做这些更改时,你实际上有好的方法来做到这一点。这可能只是关于在你已经建立的系统上构建一个层次。因此你正在使用...
Material UI,而你只需要像这样进行更改,或者有一些自定义的东西你需要能够实现,因为它并没有覆盖你所需要的每一个用例,或者无论是什么,或者需要从它已经的状态进行调整。因此你只是在它上面有你的层次。那个层次可以做得很好,工作得非常好。
或者如果你只是像把东西扔到墙上,希望它能工作,因为你只有一个用例,但然后你有第二个、第三个和第四个用例。它就变成了一个无法维护的堆叠,而不是一个真正有效的东西。所以这就是我认为了解 CSS 本身有很多价值的原因之一。
另一个原因是,现在 CSS 正在变得越来越... 它曾经是这样的,好的,我们需要制作列。但现在有很多功能正在进入 CSS,我不知道它们如何融入这样的系统。我们有即将推出的弹出层功能。我们有基于滚动的动画,子网格... 层叠是另一回事,但子网格。子网格在这些更通用的情况下构建起来非常困难。因为它实际上是针对这些一次性情况的,你需要在特定情况下更独特的东西。因此,随着 CSS 的发展和复杂性增加,我认为依赖这些其他东西也可能会阻碍你实现可能性,或者让你依赖次优的解决方案。当,老实说,如果人们还没有看到弹出层的东西,如果你一直在使用像第三方 JavaScript 这样的东西来处理工具提示,
以及其他一切,你会对即将到来的弹出层感到非常兴奋。嗯,但还有其他用例。我只是认为这两者的结合,既能够解决你需要的问题,也能应对所有即将到来的新事物,
此外,它们可以再次给你额外的层,或者很多时候人们依赖这些第三方的东西,而你可以用自己的代码轻量级地进入,因为你不需要任何复杂的东西,自己编写代码。我总是喜欢这样,但我喜欢写 CSS,所以我在这方面有偏见。因此,我从你的回答中得到的是一个分解,因为你说了很多事情。可维护性,显然很重要。嗯哼。
独立于依赖关系。我是说,依赖于一个工具,尤其是如果它是一个付费工具,那是一个在长时间内花费大量金钱的好方法。而且很多低代码工具和无代码工具,我认为它们很棒。我们也使用这些工具,尽管我们是可以做其他事情的开发者。很多时候,使用这样的工具更快更简单,但你必须接受这些东西是有成本的。
而且实际上知道如何自己做,并且用你自己控制的一切正确地做到这一点,使得维护变得容易得多。事情不会随意地随机出错。然后你就会觉得,我甚至不知道从哪里开始解决这个问题。你不会打开某个与某个无关的库的票据,希望他们最终能修复那个...
潜在的问题。因此,可维护性、控制,以及随着工具的进步,你的代码库不一定,你可以在上面添加东西,因为你知道如何利用这些。我的下一个问题与 CSS 本身的进展有关。CSS 作为一个组织是如何运作的?有哪些你最兴奋的重大事情正在发生?
是的。所以一切都通过 W3 或 CSS 工作组进行。所以是 CSS WG。你会经常看到它出现。因此,CSS 工作组基本上决定一切,但这一切都是公开进行的,你可以在任何新功能或新事物出现时参与讨论。现在有一个关于砖石布局的巨大辩论,
这有点有趣,因为它在苹果和谷歌之间分裂,尽管这并不是它的真正意义,但只是每个 Safari 团队都有他们的想法,而谷歌团队或 Chrome 团队则有他们的想法,处于对立的两端。因此,现在有这个辩论,你可以在 GitHub 上找到。正在进行讨论。你可以看到其他人说了什么。你可以参与你认为的意见。在过去,工作组非常像是
他们自己做自己的事情,然后他们会实施东西。然后这就是发生的事情。他们意识到他们在做... 有一个页面,我从来不记得是什么,但如果你去... 也许是在工作组。它要么在工作组页面上,要么在 w3.org。我不记得了,但它就像是他们在 CSS 中承认的错误。这是一个大约 30 个项目的列表。
所以就像是,有一些错误是被犯下的。有些只是措辞、语法、沿途的不同事情。这只是因为他们做出了太快的决定。因此,他们意识到现在,
当我们做出决定时,它将永远存在。因此,他们花了更多的时间来确保这些事情实际上是有意义的,并且没有错误,无论是语法上的问题,还是它的工作方式、功能性。所有这些不同的事情现在都有更多的考虑,他们普遍寻求更多的用户反馈。
这真是令人耳目一新,非常酷,顺便说一下,他们如此... 我想花一点时间来赞美这个过程的优点。是的,这有点慢。是的,你可以采用独裁者模式,有人只是说,我们要这样做,大家都这样做,对吧?或者你可以有一个模型,完全像一个巨大的社区,像是一个漫长的过程...
走出去,对吧?这需要更长的时间来达成决定,但这个决定可能是更高质量的决定,并且是透明的,你可以更高程度地理解背后的动机,因为你知道谁参与了所有的决定。因此,这有点像是对这种财团方法的辩护。这就是科学通常是如何进行的,对吧?
这是科学与国家治理之间的区别,国家治理通常是由某人做出决定,然后为该决定找出一些事后解释。每个人都在这样做,你知道的,所以我真的很喜欢这种方法,我将链接到那个页面。那里有数十个像是永久性的,你知道,CSS 中的缺陷,你不能真的去除它。对,因为有些人依赖于它。你只需接受,
然后继续前进。我觉得这个播客,也许我说错了。我可能说过你可以在 CSS 中构建 Minecraft,但我实际上是指扫雷。视频描述/播客节目说明中也有链接到 CSS 扫雷。
虽然它比在 CSS 中运行的 Minecraft 不那么令人印象深刻。但仍然,会有错误,我们只需要承认这些错误,而不是试图抹去历史。我只是喜欢他们不试图把自己放在过于美好的光环下。他们只是...
人类工程师,其中许多人是志愿者,正在帮助推动我们用来构建最先进技术和工具的状态。还有许多其他事情建立在此之上。他们意识到自己在这个层级中的位置。他们意识到作为一个基础,他们不能做出太多突然的动作,否则上面的东西就会开始动摇。人们会觉得,
人们开始变得非常焦虑,对吧?我们在开源世界中经常看到这种情况。某个基础工具的许可证被更改。突然间,一切都悬而未决,混乱不堪。这真的很可怕。我喜欢 CSS 就是这个开放标准,我们不必担心有人拥有 CSS,就像 Java 被甲骨文收购一样。这让我感到恐惧。
对。无论如何,嗯,非常酷。感谢你提供的背景信息,也感谢你指出那个有用的资源。我鼓励任何与 CSS 一起工作的人查看所犯的错误,然后了解这些是好的,但你可以说,哦,这在这里,但你不应该使用它。你知道吗?嗯。是的。嗯,所以还有一件事,我会很快提到,因为我知道你想让我谈谈我感兴趣的事情,但还有一件事也真的帮助推动了事情的发展,那就是在过去的,
三年,我认为,两三年,所有浏览器一起进行的互操作性,以及一些独立小组和用户反馈。用户提交的反馈,但就像是,这里是我们拥有的所有功能,我们希望确保它们在每个浏览器引擎中都得到正确支持,没有错误。因此,他们收集反馈,创建这个列表,然后互操作性小组制作一套测试来
让所有浏览器通过。到年底的目标是所有浏览器都能够做到这些事情。因此,2024年的重点是,他们有一大堆很酷的东西。
基本上就是确保这些即将推出的新功能实际上在所有浏览器中获得支持,但也没有错误。浏览器在这方面共同努力真的很酷。他们与工作组合作,但也要确保我们不处于这种奇怪的境地,不同的浏览器支持不同的功能。
是的。是的。这是一个,很多人甚至不会考虑的复杂性,但我们仍然生活在一个多浏览器的世界中,很多人使用 Safari,还有很多人试图使用 Chrome 的替代品。因此,我们仍然有 Firefox 的用户。真是个大口舌。然后我们还有其他浏览器的用户。像是注重隐私或安全的东西。是的。是的。
所以感谢你给我们提供了一些关于 CSS 作为工具如何运作的见解。我想问你的一件事是,传统设计技能在 CSS 中的延续程度如何?比如说,假设你是一名平面设计师,习惯于在印刷中工作。我们在 freeCodeCamp 播客上有很多人曾作为平面设计师转型为网页开发者。他们不得不学习,基本上是使用 CSS 进行网页设计。多少,
技能集重叠,在哪里相似之处开始破裂?是的,我认为在某种程度上确实有相当多的重叠... 我最近实际上做了一个视频,谈到有一个最大的设计软件之一是 Adobe 的 InDesign,这是一个印刷软件。我喜欢它。它真是一个出色的软件。我不是一个大 Adobe 粉丝,但 InDesign 非常棒。它的一个优点是...
它在排版样式方面做得非常好。如果你以正确的方式设置它,基于样式和其他东西,它的工作方式与 CSS 在继承和级联等方面的工作方式非常相似。因此,我认为像段落样式、字符样式等这些概念与 CSS 的类之间的关系非常好。正如我所说,继承和其他东西。因此,
我认为一些这样的概念,比如更大的概念,以及事物之间的关系如何工作,肯定是存在的。
并且拥有那种组织事物的想法,无论是,你知道的,可能是不同的东西,但如果你在设计软件中处理图层和其他一切,知道我需要将我所做的所有事情组织得很好。这有助于我项目的维护和可扩展性。如果你具备这些类型的技能,从大局来看审视一个项目,百分之百会有回报,因为 CSS 的可扩展性维护始终是那些可能会很困难的事情之一。
因此,如果你以正确的心态进入,即使这是一个新语言,并且它的工作方式与你习惯的不同,至少你有那种正确的心态来处理事情,我认为,或者至少提出正确的问题,让自己处于一个良好的位置。最大的区别显然是,在印刷中,你制作的是一个不移动或不改变的东西。或者即使你只是来自,不必是印刷,任何类型的设计,你通常在静态布局中工作,并考虑的不仅仅是如何
静态到我们所谈论的响应式网页设计,但你知道的,你并不是在做一个移动端,然后是一个平板电脑,然后是一个桌面视图。这是你可以在设计软件中做到的。但在现实世界中,所有这些以及你能想象的其他一切都是更困难的。我认为这需要一点心态的转变,
意识到其中的差异。实际上有一个非常好的视频。说到 Firefox,那是当 Miriam Susan 仍在 Firefox 团队工作时。它叫做“为什么 CSS 如此奇怪?”
在其中,她讨论了与印刷相比的所有不同之处,从分辨率、色域。你知道,有些人,是否是屏幕阅读器在查看网站,像是用户可以与之交互的不同方式?而如果它是一个静态的东西在屏幕上,某人正在查看它。而某人可能正在通过页面进行键盘导航。某人可能在使用鼠标。它可能是一个指针或触摸设备。还有所有不同的屏幕尺寸。基本上有无限种不同的方式,用户可以与您的网站进行交互。我们必须考虑所有这些,或者至少意识到这是一个可能性。我们没有最终的控制权,因为用户可以在他们的设置中进行更改。就像在 Windows 中,
在系统级别,有一个强制的颜色模式。你所有的颜色都消失了。我认为有六种基本颜色。用户可以选择不同的主题。它会清除网站中的每种颜色,比如画布颜色、文本颜色、链接颜色,还有其他几种。知道实际上是用户对网站的消费方式拥有最终控制权,我认为这是与我们之前任何其他媒介非常不同的事情。是的。是的。
而且很多作为开发者工作的人,比如说,进行移动应用开发,或者更现实地说,很多人,大约三分之一的听众是学生。三分之一的听众是正在工作的开发者。还有三分之一的人是其他领域的人,试图转型为开发者。因此,对于很多这些人来说,他们在想,哦,我只是要构建移动应用。
你知道,移动应用是未来。我并不太关心网页。像是有人在你看来,主要是构建移动应用的人,是否仍然值得花时间和精力学习 CSS?在你看来?是的,我认为是的。我认为这有点像你之前提到的,首先,有一个庞大的用户基础,仍然在桌面或计算机上,或者其他什么。像,他们并不一定在下载应用。我认为... 而且即使像我...
我和你一样,如果可以的话,我更喜欢拥有一个网页体验。我知道我们并不孤单。我认为有很多人确实更喜欢这种方式。我还认为这是很难知道的,但 HTML、CSS 和 JavaScript 作为这些核心语言,没有人拥有,这是一个非常重要的事情。我认为
它比...
而且,显然 Android 和 Apple 似乎会永远存在。但我认为我们在过去也曾对以前的事物这样说过。你永远不知道会发生什么。我认为如果你要从一种类型的移动开发切换到另一种,你可能,知道足够的编程知识,你就能搞定。并不是说,哦,我的天,我又要从零开始了。但我只是,知道。我是一个大力支持基于开放标准的知识,因为我认为这有...
最大的潜力和持久性。是的。是的,百分之百。就像,我的意思是,很难想象苹果和谷歌在移动应用、手机上的双头垄断会消失。很难想象手机作为一种事物会消失,但我们很快就会有智能眼镜。
这将是一个巨大的突破,不必看着设备,只需将一切呈现出来,或者谁知道,也许我们甚至会有脑机接口之类的东西。呃,有些东西非常可怕,但它可能会到来,可能会有需求,人们愿意接受像将他们的大脑连接到接口的隐私影响,像,知道如何使用 CSS,这是一种如此成熟的模式,
未来,界面设计可能会在很大程度上源于 CSS,因为没有任何东西像 CSS 那样被充分探索和映射。就像它绝对是我们拥有的最复杂的,像是模板工具。对吧?至少从我理解的角度来看。是的。
所以,是的,有充分的理由认为,即使你不直接使用 CSS,如果你在做 React Native,或者如果你在做,呃,你知道,Flutter 开发或其他东西,我认为你可能会在其中使用 CSS。并且可能使用 CSS 比使用任何像是,呃,谷歌的,
应用 UI 库等工具更好。可能更好,因为你可以使用它并在更多地方呈现。如果它被转译成其他工具,可能会有伪影和其他东西。因此,回归基础,如果你愿意,使用 CSS 这个原始工具,作为网络的三大工具之一,对吧?HTML、CSS、JavaScript,
理论上,所有事情都可以用这三种工具完成,即使这不一定是最好的方法。你为投资时间在这方面做出了一个有说服力的论点。因此,再问两个快速问题。你一直在学习。你经常写博客。你鼓励其他人写博客并公开学习。你认为在获取见解时分享见解有多重要?作为一名教师,是否有某种结构上的东西可以通过谈论它来帮助强化学习?是的,我认为...
我很快意识到,当我开始教学时,我学习我试图教授的内容的效果要好得多。这不仅仅是通过制定课程计划,因为显然你在规划课程时,需要研究它,找出所有内容。但我在解释某件事情的过程中,很多次我在句子中间有一个灵光乍现的时刻,这个连接是我在试图解释某件事情时产生的。
在尝试将其口头化时。写作也是如此。如果你在写博客文章或其他任何东西时,经过这个过程,而不仅仅是理解它是如何工作的并能够做到这一点,当你试图向某人解释为什么那件事情会这样做时,你会不经意间建立起你之前没有的连接。你以更深的方式学习这个主题,
这听起来像是,哦,是的,我肯定这真的会发生,但我认识的每一个这样做的人都可以证明这种事情,你只是开始以新的方式理解它。再一次,你只是试图做,我认为你只是使用了你大脑的不同部分,而不是我试图做这件事。我试图解释它,这迫使你更深入地分析并以更深层次的理解来理解它。我发现,嗯,确实改变了我的事情。它让我在我所做的一切中变得更好。我认为,
这在这方面确实有帮助。我认为公开学习也是,知道是一个很好的方式来建立
0 让自己与众不同一点。如果你是一个正在学习的学生,沿途分享你所学的所有内容,这会建立你的在线形象。它向人们和潜在雇主展示了你正在建立一个可以展示你所做不同事情的内容目录,而不仅仅是一个项目,比如很多其他的待办事项列表,你深入探讨待办事项列表,它是如何运作的,所有不同的部分。所以你在向人们展示,
他们在面试中可能会问的问题,他们看到你已经知道这些事情。我认为这是一个很好的方式来让自己与众不同,并且拥有这个额外的内容目录来展示。我认为,这两者结合在一起,确实是一个很有说服力的理由,说明人们应该这样做。是的。这是一个很好的表达方式。你在综合你的学习。这与谈论,比如说,
考虑骑滑板与实际去骑滑板,在某种程度上,你拥有所有的知识,也许你在思考它,但通过实际表达出来并试图将其包装成另一个人可以理解的方式,这迫使你真正去思考它。我相信是爱因斯坦说过,如果你不能向一个五岁的小孩解释某件事,那你自己就没有充分理解它。
所以这迫使你去思考,最终达到理解,可能还会削减很多粗糙的边角,意识到你自己知识的局限,并找出你需要去补充的地方。所以,是的,绝对如此。这也是一个很好的观点。它让你更加意识到自己的知识空白。
是的,因为你被许多人视为CSS之王,尽管你已经放弃了这个称号,但因为你在CSS领域如此有影响力,你在我为这次采访做准备时听到的许多播客采访中提到的一件事是,你常常说,
即使是一个随意的评论也能影响某人,甚至一些随意的。这就是为什么我试图非常小心我所说的话,尽管在这个播客上听起来我可能像是口无遮拦。我确实花了很多时间思考,好的,在这里说什么是负责任的?对吧。我不想不负责任。我认为有很多播客,人们只是无责任地谈论
他们对某些事情没有太多理解的事情。我试图在我的相对专业知识的限制内保持。你是如何分享意见的,知道这么多人可能会把它当作真理?你又是如何谈论那些你自己并不完全理解或对自己理解没有完全信心的事情的?是的,我认为我变得更加
让人们知道,当我最近做一个工作坊时,我所说的很多内容都是:这是我喜欢的做法。这就是我喜欢这样做的原因。
给出完整的解释,比如说,这对我有效是因为,并向他们展示原因,但也有其他有效的替代解决方案,这些是其他人更有效的替代方案。如果你知道,展示这一点。所以我认为我更加,虽然这是一个例子,但我更愿意让人们知道我并不知道一切,或者我的方法不是唯一的方法,并确保人们对此非常清楚。
而且,我发现这在YouTube视频中真的很难,因为我仍然会收到评论,我会做一些,比如你所说的,这是一个随意的评论,然后会有回复。我只是想,哦,是的,我想我可以稍微不同地说那件事。很多时候这不是大问题,但可能只是,哦,我们...
我有一个视频,我用了一种更复杂的方式来做某事。然后有一个评论说,为什么你不这样做呢?这就像,是的,我可能应该那样做。我希望这是一篇博客文章,我可以稍微编辑一下,添加一个注释,但我想我可以在YouTube视频上固定一个评论,但就这些。但就是,必须更加意识到人们把我视为专家。所以,
首先要确保他们知道我在谈论一些我并不100%确定的事情,或者有讨论的余地。同时也要小心不要展示不良实践或错误。这也是我认为专注于单一主题的原因之一,因为我对我所谈论的许多事情感到自信。
每当我做一个稍微超出我舒适区的视频时,花费的时间是平常的六倍,因为需要进行大量的研究和其他一切,以确保我确实在正确地做这件事。是的,我很欣赏你的认识论诚实。我觉得...
在出卖自己方面有很多好处,比如说,哦,我们要成为一个政治播客。我们要成为一个流行文化八卦播客。就像,我相信你可以和其他人一起跳上这个潮流,谈论AI,谈论任何当下热门的话题,但你没有,你坚持在你的领域,
发布这些视频是常常得不到回报的——我不知道你频道上有多少个视频。太多了。关于某个CSS的混合体的视频。但这是诚实的工作,必须有人去做。这些话题必须被覆盖,必须被教授。我只想以对你建立这个小众市场的钦佩结束,你没有——你不是那种—
到处走动,表现得像是世界上最好的开发者。你只是说,嘿,我是一个在CSS方面有很多经验的开发者。我认为在这个人们假装和夸大自己专业知识的时代,这种态度是如此清新,因为很多天真的人会 flock to those people who overstate their expertise. 有这样一句我喜欢的名言:如果你只能擅长一件事,那就擅长撒谎,那么你就擅长一切。是的。
对吧?人们实际上总是会相信这些东西。很多人并不那么复杂。我意识到你所做的牺牲,你可能会成为这样一个大人物……我不是说...
你可以走Mr. Beast的路线,或者类似的事情,对吧?只发布疯狂的轰动性内容。但不,你只是坚持于艰难的工程。所以我将以对你所做的事情表示敬意结束,并感谢你花两个小时的时间和我以及收听Free Code Camp播客的好人交谈。是的,我真的很感激你邀请我。这是一次非常有趣的对话。谢谢。
太棒了。和往常一样,我已经包含了很多链接,供你查看Kevin Powell的YouTube频道、他正在进行的其他项目、课程。如果你想深入了解CSS,我强烈建议你更多地了解他,并花更多时间与他在公共教学中十多年职业生涯中创造的作品。非常感谢你来参加这个节目,伙计。是的,谢谢。好的,所有收听的人。下周见,祝编码愉快。