当您要开始一个新的网站时,您首先想到什么?您会从您知道的库或框架开始,例如 React 或 Vue,还是从构建在它们之上的元框架开始,例如 Next 或 Nuxt?您会调出一个快速的构建工具,例如 Vite,还是配置您的 webpack?
Phil Hawksworth 的一条很棒的推文,我几年前就收藏了,至今仍然很喜欢
您的网站开始时很快,直到您添加太多内容使其变慢。您真的需要任何框架吗?您可以在浏览器中本地完成您想做的事情吗?不使用框架是否会使您的网站更轻便,或者从长远来看,当您创建或优化其他人已经做过的事情时,实际上会更重?
我个人喜欢将更少的代码发送到浏览器,从而最终向浏览器发送更多价值。了解浏览器 API 以及“免费”提供的内容实际上可以减少重复造轮子,并在您使用提供的工具时可能提高可访问性。
与其为每个要执行的任务都引入一个库,不如尝试了解它们内部是如何工作的。例如,在一个我维护的项目中,我注意到我们导入了一个 React 组件,它发送了一个完整的 npm 包,用于一个小型(不到 10 行)组件,其中还有一些 CSS 撒在上面(我们用自己的设计系统覆盖了它)。当我们从头开始重写该组件时,我们的包大小更小,我们可以更多地对其进行自定义,并且我们不必围绕其他人的决定工作。
现在,我不是说您不应该使用任何现有的库、框架或组件。开源的存在是有原因的!我的意思是,要对您带入项目的项目有辨别力。让浏览器的强大功能为您服务,并使用更少的东西!
几年前,我决定在未来的项目中完全使用原生方法,并开始自己编写库来处理我每天使用的功能。不必导入 jQuery 和许多其他库,这些库会从一开始就拖慢网站速度,真是太好了!
这个。
我很高兴能够使用流行的 CMS 即时安装来设置我的网站,使用一个无 JS 主题,并使用静态/ varnish 插件运行它。
在几分钟内就可以发布和发布,用户没有任何服务器端操作。
我感谢这里提出的观点。我一直都是从头开始构建我的网站,并且避免使用(或学习)框架。我创建并维护了一个本地墓地网站,该网站无法为我或其他人支付我的工作费用(一项让我不断学习的爱心劳动)。我的设计对于目标受众来说非常基本,但我还有更多关于 UX 的待办事项。现在我 70 岁了,我意识到我需要在某一天将它移交出去(希望要到 80 多岁的时候)。因此,现在我担心我应该使用 WordPress,这样才能更容易地将其移交给其他人。但我对 WordPress 的唯一经验是修补使用它构建的网站,其中设计师早已离开,没有为他们的客户留下任何文档。
我怀疑 WordPress 在这种情况下是否会有积极的净效应。您的结果可能会受到影响,并且移交也不比从头开始的网站更有保障。两种情况下的难点都是找到一个既有能力又有热情的,让您和墓地都感到满意的人。只要您以合理的可维护方式创建了所有内容,即易读,就应该足够了。您面临的挑战是找到一个有激情的人。您可能可以教他们开始所需的一切。尽早将他们纳入您的流程中。祝好运!
正如您所说,“开源的存在是有原因的!”,而小型初创公司有时没有足够的资源或时间来构建甚至是最小的代码部分。
这里的关键点是尝试尽可能地隔离第三方库,以便在未来用您自己的更好、更优化的代码替换它们。
虽然有时,创建这种隔离接口所花费的精力可能比自己构建解决方案更多。
♂️
但我从来没有见过这种情况发生,:(
虽然我理解您的观点,并且在很大程度上同意您的观点,但许多开发人员过早地寻找可导入的包确实存在问题。我见过一些导入用于简单功能的代码,而这些功能用更短的时间编写出来,远比搜索它们所需的时间短。