」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 前端悄然普遍的貶值

前端悄然普遍的貶值

發佈於2024-11-07
瀏覽:149

The quiet, pervasive devaluation of frontend

前提

以下是对 Josh Collinsworth 精彩文章的回应,您可以在这里找到。

我决定通过引用他在文章中提出的每一条摘要引用来构建此内容,并以我的观点回应每一条引用。

因此,本文应被视为一系列表明个人观点的想法。在报告的 12 条引用中,我发现自己同意 ✅ 8,不同意 ❌ 3,并且对 没有意见? 1

[TL;DR] 我总体上同意作者的意见和他的观点,尽管在某些情况下文章所创造的扭曲观点导致我不同意某些陈述。在我看来,对偏见的分析造成了作者对发展世界同样多的偏见。

我觉得我看到前端实践的普遍减少。几乎在我所看到的所有地方,我都注意到它的重要性被最小化,它的挑战也被忽视。

✅ 我完全同意这个说法。

前端长期以来被认为是后端的“小兄弟”,这是一个错误。前端是最终用户看到并与之交互的应用程序的一部分,因此是产品成功的基础。它的重要性不可低估,但这种情况经常发生,我自己有时认为我作为前端开发人员的工作“不如”我在后端所做的事情。

为什么会出现这种情况?从我的角度来看,我相信这是因为在过去的十年中,前端开发的世界已经被框架和库入侵,这些框架和库使每个人的工作变得更简单、更容易访问。这导致解决了许多过去出现的问题,导致前端开发变得“更简单”。这导致前端开发人员的角色被贬低,他们通常被视为“代码猴子”。然而,简单并不意味着容易,前端开发人员经常被要求解决复杂的问题并做出重要的决定,正是因为他或她不再被期望解决框架已经解决的“简单”问题,而是以新颖和创新的方式丰富用户体验。

就像 CSS 存在于某种奇怪的量子态一样;不知何故,既太复杂而无法使用,又太简单而无法认真对待,同时发生。

✅ 在这里,我也同意。

CSS 是 Web 开发领域中最被低估和贬值的语言之一。 CSS 是一种强大而复杂的语言,它允许您创建复杂而详细的用户界面。然而,与正常的代码编写方式相距甚远,其特定的语法和操作逻辑往往导致其难以掌握和使用。 CSS 是一门需要时间和奉献精神才能掌握的语言,CSS-in-JS 运动所发生的事情是一个明显的例子,说明社区如何试图通过创建一个不存在的问题来解决这个问题。新的语言,同时还为已经非常复杂的语言添加抽象。

在许多方面,CSS 对用户体验的影响比任何其他语言都大,而这往往直接影响成功。那么,为什么它的作用如此被贬低呢?

✅ 我同意。

正如前面引用中提到的,我认为CSS的问题是由于它的操作逻辑和特定的语法造成的。问题在于,与 JavaScript 相比,它通常被视为一种“第二”语言,而实际上它本身就是一种语言,有其规则和特性,并且需要与编程相当的学习时间。 CSS是一门强大而复杂的语言,其作用不可低估。

大多数情况下,实际上没有人说前端不那么重要,或者不那么真实,或者你不需要那么聪明才能做到这一点。但这似乎常常是暗示的。

✅ 我部分同意。

说实话,我认为这个主题比作者说的要明确得多。事实上,我经常发现自己不得不与那些认为前端与后端相比是“次要”工作的人争论,他们认为前端开发人员不应该是程序员,而应该是支持那些真正从事后端工作的人。当他们问我的角色是什么时,我总是回答全栈,因为在我的训练和成长中有各种各样不同的元素,硬币的两面对我来说都很重要。

我相信社区需要采取更多措施来消除这种心态。前端开发人员在各方面都是专业人士,他的工作是产品成功的基础。

前端开发人员需要在不断发展的工具的支持下解决复杂的问题(这大大增加了认知负荷),并做出直接影响用户体验的重要决策,这是成功产品的堡垒。

在某种程度上,我们的产出是艺术性的,而艺术性的东西有着悠久而传奇的历史,仅仅因为它们看起来简单而有趣而被悲惨地贬值。

✅ 我同意。

缺乏对角色和责任的理解在我们的行业中起着根本作用。前端开发人员经常被视为“艺术家”、“创意人员”,他的工作被贬低,因为它不像后端开发人员那样“技术性”。这是两个方面的错误。

首先,决定应用程序设计的往往不是前端开发人员,而是设计师(UX、UI,随你怎么称呼)。前端开发人员需要将设计转化为代码,并以高效、高性能的方式进行。这需要技术技能和特定知识,这远远超出了简单地编写代码的范围。

其次,正如上面已经提到的,前端开发人员的职责通常远远超出了简单地编写代码。如果我修改后端应用程序中的代码,自动测试很可能会比我更早地注意到任何回归。如果我修改前端应用程序中的代码,很可能注意到任何回归的唯一方法是手动测试应用程序或等待最终客户的报告*。这使得前端开发人员的工作比人们想象的更加复杂和艰巨。更不用说大量的业务逻辑状态管理——两者都迅速涌入前端——这使得该角色与业务越来越融合。

*注意:我很清楚端到端测试的存在,但它们的实现比传统的自动测试复杂得多,成本也高得多,而且由于其随机性和外部条件,它们的可靠性经常受到质疑。

该语言意味着界面与软件分离,而不是软件的实际部分。

?对此没有意见。

这里提到的是一个悖论,在我们的行业中,开发人员工程师之间似乎存在差异,并且必须显示为更多东西。我对这个问题没有意见,但我同意现在标题和横幅的泛滥只会让我们每个人实际所做的事情变得更加混乱。

编写 CSS 似乎很像在会议中做笔记,其中隐含着性别歧视,并且贬低了记录者在会议中的重要性。

✅ 我同意。

正如本文前面已经提到的,我同意 CSS 和整个前端世界的错误贬值。此外,在文章的这一部分中,提到了我们行业中存在的沙文主义,虽然我从未直接认识到它,但我了解它的现实性和严重性。我们的行业仍然常常是对女性充满敌意的环境,我相信社区需要采取更多措施来消除这种心态。

就好像支持过去、现在和未来所有可能的设备、操作系统、屏幕尺寸、浏览器、用户偏好和界面这一几乎不可能的工作是如此简单,我们自己发明了所有的复杂性,只是因为我们感到无聊。

✅ 我同意这句话的内在含义。

当今世界的复杂性使得前端开发者的角色比以往任何时候都更加复杂,当前端笑话和妙语变成偏见时,很容易陷入贬低前端工人工作价值的陷阱。

是的,作为一个团队,我们对新事物感到兴奋。但这为什么不能让我们感到好奇、适应或好奇呢?为什么我们不因学习的乐趣而受到赞扬,反而因拒绝留在原地而受到诽谤?

❌这个我不太同意。

尽管前端世界的发展确实(如前所述)导致了思想、工具和方法的激增,但闪亮对象综合症是一个真实且普遍的问题,尤其是在前端社区。这并不意味着你不应该有好奇心或适应能力,而是你经常陷入采用新技术的陷阱,而没有充分了解其利弊,也没有评估它们是否真的有必要。

如果我们的技能就像胶带一样有价值,可以掩盖组织缺陷的裂缝,那么为什么它们在导致这些缺陷的规划和决策过程中没有价值,而我们有可能阻止它们呢?

✅ 完全同意。

确切地说,作为软件架构师(或技术主管,或负责架构的人员),必须让团队的每个成员参与架构选择 - 尽管拥有最终决定权并最终对他们负责 - 以及决策- 导致创建应用程序或其一部分的制作过程应该涉及团队的每个成员,包括前端开发人员。那些已经这样做了足够长时间的人可能能够发现其他人看不到的用户体验或设计中的差距,并且让他们参与决策过程可以带来更好的用户体验和成功的产品。

前端工具在推销自己时就好像前端是没人想做的事情,而且没有人应该关心任何不必要的事情。

❌你可以清楚地看到随着帖子的发展,挫败感越来越大,但在这种情况下我只能不同意。

前端工具的营销——正如 Josh 所定义的那样——从来没有轻视或试图简化开发人员的挑战,除了一些罕见的例外。这些工具越来越多地致力于使前端开发人员的工作更简单、更高效,但绝不平庸,而且方向保持不变是正确的。我们的承诺永远不是让前端开发人员成为代码猴子,而是让他专注于真正重要的事情:创造成功的用户体验以及对业务和周围世界的影响。后端世界也是如此,工具的发展使开发人员能够专注于产品,而不是技术选择或配置问题。

最后,让我们记住,开发者关系的世界近年来已经以结构化的方式发展,一些公司的任何失误都不应该被视为常态。

似乎没有人再认为前端是产品的关键部分了;他们只认为它是产品到达时的漂亮盒子。

❌在这里,唉,我也不同意乔希的观点。

前端是产品的基本组成部分,其重要性不可低估,但这并不意味着您必须沉迷于复杂性和抽象性。前端开发已经足够复杂,不需要超复杂的设计或深奥的架构,而且正如后端世界一样,标准化,如果在充分了解事实的情况下完成,可以让我们不增加不必要的认知负担并专注于其他方面产品的。

版本聲明 本文轉載於:https://dev.to/cadienvan/the-quiet-pervasive-devaluation-of-frontend-26h7?1如有侵犯,請洽[email protected]刪除
最新教學 更多>
  • 在 Fedora 24 伺服器和工作站上使用 MariaDB 和 PHP/PHP-FPM 設定 Nginx
    在 Fedora 24 伺服器和工作站上使用 MariaDB 和 PHP/PHP-FPM 設定 Nginx
    托管网站和在线应用程序需要设置 Web 服务器基础设施。在本文中,我们将尝试使用 MariaDB 和 PHP/PHP-FPM 了解在 Fedora 24 服务器和工作站上设置 Nginx。这种组合创建了一个强大的堆栈来管理数据库和呈现动态内容。这里介绍的主要概念可以应用于 Fedora 或其他 Li...
    程式設計 發佈於2024-11-07
  • 使用 React Hooks 和事件監聽器時,為什麼狀態控制台日誌顯示錯誤訊息?
    使用 React Hooks 和事件監聽器時,為什麼狀態控制台日誌顯示錯誤訊息?
    事件監聽器和React Hooks問題:使用React hooks和事件監聽器時,狀態控制台日誌顯示不正確的資訊。 問題描述考慮提供的CodeSandbox:https://codesandbox.io/s/lrxw1wr97m。當您按一下「新增卡片」按鈕兩次,然後按一下第一張卡片中的「Butto...
    程式設計 發佈於2024-11-07
  • 如何用Javascript實現IFRAME載入完成時的回呼?
    如何用Javascript實現IFRAME載入完成時的回呼?
    使用Javascript 回調載入Iframe要在IFRAME 完成載入時執行回調,請依照下列步驟操作: 建立IFRAME 與載入處理程序以程式設計方式建立IFRAME:var iFrameObj = document.createElement('IFRAME'); iFrameObj.src =...
    程式設計 發佈於2024-11-07
  • 如何管理部署到子資料夾的 MVC 應用程式的 URL 修改?
    如何管理部署到子資料夾的 MVC 應用程式的 URL 修改?
    了解應用程式子資料夾的URL 修改在開發部署到子資料夾的MVC 應用程式時,必須適應應用程式子資料夾的更改基本網址。這可確保 JavaScript 參考和 URL 在本機和部署環境中正常運作。 確定應用程式根的解決方案要確定根URL 並相應地修改JavaScript,有兩種方法:簡單方法:利用領先J...
    程式設計 發佈於2024-11-07
  • 如何將已知和未知鍵/值對的 JSON 解析為 Go 結構?
    如何將已知和未知鍵/值對的 JSON 解析為 Go 結構?
    使用任意鍵/值對解組JSON 到結構問題如何解析具有已知和未知鍵/值對的JSON 字符串進入Go 結構體?未知欄位可以具有任何名稱和值類型(字串、布林、float64 或 int)。 解決方案使用已知字段和未知字段的映射切片創建一個結構體:type Message struct { Know...
    程式設計 發佈於2024-11-07
  • [Go][Excelize] 確定儲存格值是否有刪除線
    [Go][Excelize] 確定儲存格值是否有刪除線
    簡介 我想確定儲存格的值是否有刪除線。 確定儲存格的值是否有刪除線 要確定儲存格的值是否有刪除線,我必須透過兩種方式取得儲存格樣式。 如果只有單元格的某些值被刪除,例如“A1”,我應該從“excelize.RichTextRun”取得單元格樣式。 如果單元格中...
    程式設計 發佈於2024-11-07
  • php:與進程的並發。角與 shmop 的進程間通信
    php:與進程的並發。角與 shmop 的進程間通信
    php isn't the sort of language where developers usually think about things like memory. we just sort of sling around variables and functions and let t...
    程式設計 發佈於2024-11-07
  • Kotlin vs. Java:Android 開發終極指南 4
    Kotlin vs. Java:Android 開發終極指南 4
    说到 Android 开发,争论最多的话题之一是 Kotlin 和 Java 之间的选择。两者都是功能强大的语言,各有优缺点,并且决策可以显着影响开发过程和最终产品。本博客将深入探讨 Kotlin 和 Java 的细微差别,从各个方面对它们进行比较,以帮助您决定哪种语言最适合您的 Android 开...
    程式設計 發佈於2024-11-07
  • 使用 Spring Boot 建立您的第一個微服務系統:初學者指南
    使用 Spring Boot 建立您的第一個微服務系統:初學者指南
    Introduction In this guide, we'll walk through the creation of a simple yet comprehensive microservices system using Spring Boot. We will cov...
    程式設計 發佈於2024-11-07
  • POST 請求能否觸發後退按鈕確認警報以及如何抑制它們?
    POST 請求能否觸發後退按鈕確認警報以及如何抑制它們?
    防止 POST 在按後退按鈕時確認警報透過 Web 表單提交大量參數時,經常使用 POST 請求而不是取得。但是,當使用者在頁面顯示後點選「後退」按鈕時,Firefox 會顯示確認警報。此警報警告 Firefox 將重新發送可能會重複先前操作的信息,例如搜尋或訂單確認。 雖然此行為可能旨在防止意外重...
    程式設計 發佈於2024-11-07
  • 用 PHP 建立一個簡單的頁面路由器
    用 PHP 建立一個簡單的頁面路由器
    建立文件 首先,我們將建立index.php、router.php和.htaccess檔案。 將所有請求重定向到.htaccess 中的index.php RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f R...
    程式設計 發佈於2024-11-07
  • 如何使用 :focus-visible 實現僅鍵盤焦點樣式?
    如何使用 :focus-visible 實現僅鍵盤焦點樣式?
    現代瀏覽器中僅鍵盤焦點樣式在現代瀏覽器中,:focus-visible 偽類可以用來實現鍵盤-僅焦點樣式。當使用者透過鍵盤或其他非指點裝置與頁面互動時,此偽類會符合焦點元素,從而在幫助使用者時指示焦點。因此,當使用者透過點擊或點擊進​​行互動時,聚焦環會被抑制。 自訂焦點樣式:focus-visib...
    程式設計 發佈於2024-11-07
  • 將 Google 日曆連接到 Django 應用程式
    將 Google 日曆連接到 Django 應用程式
    将 Google 日历与 Django 应用程序无缝集成以增强日程安排和事件管理的分步指南。 将 Google 日历与您的 Django 应用程序集成可以通过启用日程安排、事件管理和日历同步来显着增强您的 Web 应用程序的功能。本指南将引导您完成将 Google 日历连接到 Django 应用程序...
    程式設計 發佈於2024-11-07
  • 掌握 React 路由:應用程式導航完整指南
    掌握 React 路由:應用程式導航完整指南
    1. React Router簡介 React Router 是一個用於在 React 應用程式中處理路由的函式庫。它允許您的應用程式在不同的元件和視圖之間導航,而無需重新載入整頁,從而實現無縫的用戶體驗。 2. 基本設定 先安裝react-router-dom:...
    程式設計 發佈於2024-11-07
  • 如何重命名Python字典中的鍵?
    如何重命名Python字典中的鍵?
    字典中的鍵重命名重命名字典鍵可以透過多種方式實現,具體取決於字典的類型以及您是否想要保持鍵的位置。 常規字典對於常規字典,可以使用以下語法重新命名鍵:mydict[k_new] = mydict.pop(k_old)此操作將項目移至字典的末端。如果 k_new 已經存在,它的值將會被覆寫。 Orde...
    程式設計 發佈於2024-11-07

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3