精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Htmx 只是另一個 JavaScript 框架嗎?

開發 前端
無論你在項目中的何處使用 htmx,你都會在 HTML 中包含 htmx 屬性(即 hx-post 、 hx-target ),編寫使用 htmx 格式數據調用的端點(使用某些請求標頭),并從這些端點返回以 htmx 期望的方式格式化的數據(帶有 hx-* 控件的 HTML)。

對 htmx 最常見的批評之一通常來自第一次聽說它的人,如下所示:

你抱怨現代前端框架的復雜性,但你的解決方案只是另一個復雜的前端框架。

這是一個很好的反對意見!對于你引入到項目中的任何第三方 (3P) 代碼,你都有權提出疑問。即使你沒有親自編寫 3P 代碼,但只要將其納入項目,你就必須了解它--如果你想升級它,就必須重新了解它。

讓我們將這些批評分解成其組成部分,并確定htmx在其聲稱要解決的傷害中到底有多少沉迷其中。

庫和框架的區別

一些 htmx 捍衛者向我們求助:“htmx 不是一個框架,它是一個庫。”這可能是不正確的。

“框架”是一個口語術語——對于某些第三方代碼從“庫”演變為“框架”的程度沒有硬性規定——但我們仍然應該嘗試定義它。在這種情況下:

  • 庫 - 3P 代碼,其 API 不會顯著影響應用程序的其余部分
  • 框架 - 3P 代碼,其 API 決定應用程序的整體結構

如果你更喜歡比喻:庫是你添加到機器上的一個齒輪,框架是一個預先構建的機器,你可以通過自定義其齒輪來控制它。

這種區別雖然可能很模糊,但很重要,因為它描述了替換某些第三方代碼的容易程度。例如,使用 CSV 解析庫的 JavaScript 服務可能可以輕松地交換不同的 CSV 解析庫;然而,使用 NextJS 框架的 JavaScript 服務可能在其整個使用壽命中都依賴于 NextJS,因為大量代碼是在假設它與 NextJS 結構交互的情況下編寫的。

因此,如果你的服務是在框架之上構建的,則其使用壽命與該框架的使用壽命相關。如果該框架被放棄,或被鄙視,或以其他方式不受歡迎,那么修改項目的難度將穩步增加,直到你放棄修改它,并最終將其完全封存。

這就是人們在問“htmx 只是另一個 JavaScript 框架嗎?”時所擔心的問題。他們希望確保自己不會致力于一個很快就會過時的系統,就像過去的許多 Web 開發框架一樣。

那么:htmx是一個框架嗎?它是否會很快被淘汰,在其迅速消亡后留下一系列無法維護的網站?

htmx(通常)是一個框架

對我們社區關于這個問題的持續爭論表示歉意——我認為 htmx 顯然是一個框架,至少在大多數用例中是這樣。但這確實取決于你如何使用它。

無論你在項目中的何處使用 htmx,你都會在 HTML 中包含 htmx 屬性(即 hx-post 、 hx-target ),編寫使用 htmx 格式數據調用的端點(使用某些請求標頭),并從這些端點返回以 htmx 期望的方式格式化的數據(帶有 hx-* 控件的 HTML)。所有這些屬性以及標頭和端點相互交互以創建一個系統,元素通過該系統通過網絡請求進入和退出 DOM。

如果你使用 htmx 來處理網站的大量網絡請求,那么在應用程序中包含 htmx 會對項目的結構產生重大影響,從構建前端標記的方式到端點進行的數據庫查詢。這是類似框架的行為,在這種情況下,htmx 不能輕易被替換。

你絕對可以以類似庫的方式使用 htmx,為網頁的幾個部分添加動態功能。但你也可以用這種類似于庫的方式編寫 React,沒有人會說 React 不是一個框架。我只想說,許多在應用程序中使用 htmx 的人都是為了滿足 htmx 的需求,將其作為構建超媒體應用程序的框架。

如果能發揮 htmx 的優勢,那么使用 htmx 構建程序的效果會更好。如果你真的堅持,可以發送 JSON 格式的表單體。但你不應該這樣做!application/x-www-form-urlencoded 格式的表單體并編寫一個可接受它們的端點會更簡單。如果你真的堅持,你可以編寫一個在多個不同客戶端之間重復使用的端點。但你不應該這樣做!將數據和超媒體 API 分離到不同的 URL 中會更簡單。是的,htmx 可以作為一個庫使用,但或許也可以讓它成為你的框架。

然而,這并不意味著 htmx 只是另一個 JavaScript 框架,因為 htmx 具有其他框架沒有的巨大優勢:HTML。

htmx 用于編寫 HTML

假設你使用 htmx 作為框架 - 它是 JavaScript 框架嗎?從一種明顯的意義上來說,是的:htmx 是用大約 4k 行 JS 實現的。但從另一個更重要的意義上來說,它不是:React、Svelte、Solid 等等,你寫的 JS(X) 框架會轉換成 HTML;htmx 只是讓你編寫 HTML。這就免去了可能會讓你放棄其他框架的各種維護工作。

當你想要升級或更改某些依賴項,但你使用的框架與該更改不兼容時,代碼庫往往會陷入困境。Java 是這里最臭名昭著的罪犯——生產中有數百萬行 Java 永遠不會離開 Java 8,因為升級 Spring 太難了——但 npm 包生態系統緊隨其后。當你使用 htmx“框架”時,你永遠不會遇到這個問題,因為 htmx 是一個零依賴、客戶端加載的 JavaScript 文件,因此保證它永遠不會與你的服務器所依賴的任何構建過程或依賴鏈發生沖突。

瀏覽器渲染 HTML,因此無需編譯器或轉譯器即可使用 htmx。雖然許多 htmx 用戶很樂意使用 JSX 渲染 API 響應,但 htmx 與經典模板引擎配合得很好,使其可移植到你喜歡的任何語言。不管你對 Django 和 Rails 有何看法,但它們在 2008 年和今天都很重要 — htmx 與它們無縫集成。這是 htmx 驅動開發的一個反復出現的主題:htmx 與新舊開發工具都能很好地配合,因為所有這些工具的共同點是 HTML,而 htmx 是用于編寫 HTML 的。

圖片

推動用戶主要通過 HTML 而不是 JS 來定義其應用程序的行為有太多優點,本文無法一一介紹,因此我將重點談談人們最痛恨的 JavaScript 成名之作:“churn”。根據你編寫 React 應用程序的時間,你可能在編寫表單時使用了受控類組件、react Hooks 或這種實驗性的 <form> 擴展。這確實讓人抓狂,尤其是如果你和我一樣,最初是通過類組件學習如何制作網絡表單的。

然而,無論你是何時編寫的 htmx 應用程序,htmx 表單的行為都是以與普通 HTML 表單大致相同的方式定義的:使用 <form>。隨著 htmx 增加了額外的網絡功能,你終于可以使用 PUT 請求并控制響應的去向,但在所有其他方面--驗證、輸入、標簽、自動完成--你都只能使用默認的 <form> 元素行為。

最后,因為 htmx 只是在一個非常狹窄的域中擴展 HTML(網絡請求和 DOM 替換),所以你編寫的大多數“htmx”只是普通的舊 HTML。當你可以訪問復雜的狀態管理機制時,實現自定義可折疊 div 變得非常容易;如果不這樣做,你可能會停下來足夠長的時間來搜索 <details> 元素。每當問題可以通過本機 HTML 元素解決時,代碼的壽命就會大大提高。這是一種學習 Web 開發的不太陌生的方式,因為只要 HTML 存在,你的大部分知識就將保持相關性。

在這方面,htmx 比 React 更像 jQuery(htmx 的前身 intercooler.js 是 jQuery 擴展),但它通過使用聲明性的、基于 HTML 的界面對 jQuery 進行了改進:jQuery 讓你轉到 <script> 標簽來指定AJAX行為,htmx只需要一個簡單的 hx-post 屬性。

簡而言之,雖然 htmx 可以用作框架,但與 JavaScript 框架相比,它與 Web 語義的偏差要小得多,并且將受益于這些語義的改進,而無需用戶進行額外的工作,這要歸功于 Web 的出色性能向后兼容性保證。如果你想建立一個持續很長時間的網站,這些品質使 htmx 成為比許多同時代網站更好的選擇。

注:盡管卡森(Carson)同意這一分析,認為這篇文章沒有邏輯缺陷,并允許我在他的網站上發表,但他仍然堅持認為 htmx 是一個庫。

圖片圖片

原文:https://htmx.org/essays/is-htmx-another-javascript-framework/

責任編輯:武曉燕 來源: 獨立開發者張張
相關推薦

2016-12-26 15:23:21

戴爾

2011-11-14 09:41:10

Linux Mint

2012-01-12 10:09:55

Elementary 思路

2011-11-15 10:16:04

Linux操作系統

2011-03-28 14:02:07

MirahJava對手

2020-06-18 15:15:02

物聯網網關物聯網IOT

2021-05-29 07:13:26

微軟Nobelium網絡攻擊

2018-12-05 09:00:46

DevOps持續交付持續集成

2021-04-15 14:56:21

云計算去中心化

2017-05-26 18:06:47

2011-11-10 09:46:41

云計算云管理

2021-06-16 12:03:49

WindowsLinux游戲

2009-12-11 09:40:40

傲游Chrome OS

2012-03-02 09:22:11

程序員

2020-05-17 14:52:22

大數據人工智能技術

2015-03-09 14:32:12

2009-04-23 09:42:39

FubuMVCASP.NET MVCMVC

2010-07-22 09:12:26

2023-07-11 13:34:19

Rust開發軟件

2021-06-08 07:48:26

iOS 15 Linux 操作系統
點贊
收藏

51CTO技術棧公眾號

高清一区二区中文字幕| 免费成人看片网址| 少妇一晚三次一区二区三区| 在线观看日韩精品视频| 高清全集视频免费在线| 欧美日韩一本| 亚洲男同性视频| 国产精品国语对白| 可以直接看的无码av| 日韩专区av| 极品少妇xxxx偷拍精品少妇| 亚洲美女中文字幕| 久久久久99精品成人片| 99精品在线看| 久久精品国产www456c0m| 欧美丝袜一区二区| 精品国产免费一区二区三区| 免费一级片在线观看| 日韩一级特黄| 一区精品在线播放| 国产原创欧美精品| 最新日韩免费视频| 亚洲色图综合| 中文字幕亚洲欧美在线不卡| 国产精品国产亚洲精品看不卡15| 青娱乐在线视频免费观看| 群体交乱之放荡娇妻一区二区| 欧美日韩国产一级二级| 杨幂一区欧美专区| 一区二区日韩视频| 68国产成人综合久久精品| 欧美色图12p| 亚洲欧美99| 91黄色在线视频| 久久国产毛片| 一本色道久久88精品综合| 欧美xxxxx在线视频| 欧美白人做受xxxx视频| 日欧美一区二区| 中文字幕亚洲一区二区三区| 九九久久久久久| gogo在线观看| 亚洲国产高清aⅴ视频| 国产在线精品播放| 天干夜夜爽爽日日日日| 日韩在线观看电影完整版高清免费悬疑悬疑| 欧美亚洲国产一区二区三区va| 亚洲综合第一| 成人av一区| 国产精品一区二区久激情瑜伽| 久久久女人电视剧免费播放下载| 国产精品第七页| 亚洲精品一级二级| 亚洲视频一二三区| 国产视频99| 日韩免费av网站| 午夜在线精品偷拍| 美日韩精品免费视频| 国产精品久久AV无码| 亚洲一区二区三区免费| 色综合久久天天| 做爰高潮hd色即是空| 可以免费观看的毛片| 久久综合网络一区二区| 久久不射热爱视频精品| 亚洲少妇18p| 青青国产精品| 欧美人xxxx| 一区二区三区四区毛片| av在线播放资源| 日本一区二区不卡视频| 日韩wuma| 四虎免费在线观看| 六月丁香婷婷久久| 午夜精品久久久久久久白皮肤| 国产91丝袜美女在线播放| 亚洲一区 二区| 亚洲成人久久电影| 日本美女视频一区| 亚洲欧美小说色综合小说一区| 中文字幕免费不卡| 久久免费视频2| 黄网av在线| 国产精品大尺度| 久久久久无码国产精品一区| 国产视频手机在线观看| 国产成人日日夜夜| 国产精品视频精品| 欧美三日本三级少妇99| 亚洲综合小说| 中文字幕亚洲精品| 欧美三级免费看| 999国产精品永久免费视频app| 久久精品国产99国产精品澳门| 一区二区三区四区免费| 美国十次av导航亚洲入口| 正在播放亚洲一区| 亚洲人辣妹窥探嘘嘘| 性国裸体高清亚洲| 欧美日韩一卡二卡三卡 | 黄网址在线观看| 91亚洲永久精品| 国产精品综合久久久久久| 欧美xxx.com| 亚洲另类色综合网站| 1024精品视频| 美女高潮视频在线看| 亚洲一区二区在线免费看| 91xxx视频| 久久久久久久久免费视频| 亚洲在线视频免费观看| 欧洲金发美女大战黑人| 二区三区在线观看| 精品国产老师黑色丝袜高跟鞋| a天堂资源在线观看| 午夜小视频在线观看| 日韩欧美中文在线| 国产艳妇疯狂做爰视频| 日韩在线精品强乱中文字幕| 欧美一区二区在线观看| 91aaa精品| 激情婷婷综合| 色av吧综合网| av最新在线观看| 国产精品久久久久一区二区三区厕所| 在线观看欧美日韩国产| 国产污视频在线观看| 亚洲人妖在线| 青草成人免费视频| 中文字幕精品无| 成人天堂资源www在线| 精品一区二区三区日本| 成人区精品一区二区不卡| 欧美亚洲国产一区二区三区va | 中文天堂在线视频| 免费看日韩精品| 国产精品一区二区三区久久| 亚洲最新av网站| 国产在线视频一区二区| 成人综合国产精品| 亚洲国产精品久久久久久久| 成人18视频日本| 欧美日韩免费观看一区| 99re热久久这里只有精品34| 亚洲欧美区自拍先锋| 免费看污污网站| 国产成人av| 日韩免费高清在线观看| 国产又粗又猛又黄又爽| 国产成人在线视频免费播放| 咪咪色在线视频| 青青久久精品| 久久久99免费视频| 国产又爽又黄又嫩又猛又粗| 国产精品视频第一区| 艳母动漫在线观看| 在线观看欧美| 欧美精品在线免费| 国产成人免费看一级大黄| 成人久久久精品乱码一区二区三区| 日日噜噜夜夜狠狠久久丁香五月| 高清不卡一区| 色综合色综合网色综合| 国产成人精品一区二三区| 另类的小说在线视频另类成人小视频在线 | 欧美国产欧美综合| 熟女人妇 成熟妇女系列视频| 伊人久久精品一区二区三区| 911精品国产一区二区在线| 欧美福利在线视频| 国产亚洲在线| 亚洲自拍偷拍色图| 男生女生差差差的视频在线观看| 一本色道久久综合亚洲aⅴ蜜桃| 精品人伦一区二区三电影| 欧美1级日本1级| 国产精品久久久久久久久| 91亚洲欧美| 日韩欧美色综合| 成年人看的免费视频| 国产做a爰片久久毛片| 久久人人爽人人爽人人av| 五月激激激综合网色播| 超碰91人人草人人干| www精品国产| 亚洲欧洲www| 日本人妻一区二区三区| 欧美成人自拍| 爱情岛论坛亚洲入口| 在线免费看a| 日韩欧美中文字幕一区| 福利视频第一页| 国产成人av在线影院| 椎名由奈jux491在线播放| 人人视频精品| 日韩精品在线视频| www.天天色| 高清av一区二区| av片中文字幕| 久久综合色占| 国产成人精品999| 欧美日本韩国一区二区| 欧美人与z0zoxxxx视频| 在线观看免费国产视频| 国产精品国产三级国产aⅴ无密码| 精品人妻一区二区三区免费| 欧美独立站高清久久| 国产精品香蕉视屏| 成人mm视频在线观看| 这里只有精品丝袜| 男人的天堂a在线| 亚洲午夜精品网| 久久久免费看片| 99热国产精品| 国产成人a亚洲精v品无码| 在线电影一区二区| 日韩精品久久一区二区三区| 果冻天美麻豆一区二区国产| 久久免费观看视频| 无遮挡动作视频在线观看免费入口| 欧美亚洲动漫另类| 日本一级黄色大片| 亚洲精品视频一区| 免费一级suv好看的国产网站| 久久午夜电影网| 欧美精品无码一区二区三区| 亚洲一本视频| 鲁丝片一区二区三区| 中文字幕视频精品一区二区三区| 国产精品一区二区三| 另类中文字幕国产精品| 17婷婷久久www| 成人精品一区二区三区校园激情| 亚洲国产精品成人av| 99精品视频在线播放免费| 欧美日韩国产成人在线免费| 无码人妻精品一区二区蜜桃色欲| 天天亚洲美女在线视频| 国产成人在线免费观看视频| 亚洲一区二区高清| 久久久久久久久久久久久久免费看 | 成人国产精品| 中文字幕av一区| 国产一级在线观看| 91精品国产欧美一区二区成人| 久久久久久在线观看| 欧美日韩一区二区三区 | 成人小说亚洲一区二区三区| 91精品久久久久久久久99蜜臂| 影音先锋黄色网址| 欧美日韩成人激情| 国产免费黄色大片| 欧美一级精品在线| 亚洲黄色片视频| 亚洲成人av片| 午夜成人鲁丝片午夜精品| 欧美亚洲综合久久| 国产一级片一区二区| 一区二区在线观看av| 人妻体内射精一区二区| 久久亚洲一级片| 阿v天堂2014| 成人18视频日本| 亚洲男人在线天堂| 久久久久久亚洲综合影院红桃| 中文字幕第66页| 国产经典欧美精品| 2一3sex性hd| 2020国产精品| 亚洲色图日韩精品| 亚洲欧洲性图库| 久久久久久天堂| 天天综合日日夜夜精品| 成人午夜精品视频| 91精品国产乱| 日韩有码第一页| 精品视频在线导航| 日本www在线| 国产视频综合在线| 美女羞羞视频在线观看| 欧美激情在线狂野欧美精品| 黄色网址在线免费| 久久久久久噜噜噜久久久精品| 亚洲一二三四| 亚洲自拍小视频| 久久99国内| 妞干网这里只有精品| 精品不卡视频| 亚洲性生活网站| 国产精品影音先锋| 深爱五月激情网| 亚洲女人的天堂| 亚洲国产成人无码av在线| 亚洲一区视频在线观看视频| 久久久久在线视频| 日韩欧美黄色影院| 国产系列电影在线播放网址| 日韩精品免费电影| 神马午夜一区二区| 日韩在线免费av| 蜜桃视频m3u8在线观看| 成人在线视频网| 97精品资源在线观看| 国产精品视频免费一区二区三区| 成人情趣视频网站| 亚洲韩国在线| 亚洲精品日本| 99中文字幕在线| 国产午夜三级一区二区三| 久久精品视频18| 亚洲综合一区在线| 亚洲资源在线播放| 亚洲人成人99网站| 韩国中文免费在线视频| 欧美成人中文字幕在线| 全球最大av网站久久| 久久精品综合一区| 欧美视频成人| 亚洲 欧美 日韩 国产综合 在线 | 国产精品美日韩| 国产一级片视频| 欧美一级国产精品| 激情影院在线观看| 国产区精品在线观看| 精品国产乱码久久久久久果冻传媒 | 99精品视频免费在线观看| 91精品一区二区三区蜜桃| 亚洲欧洲精品一区二区三区不卡| 久久久国产高清| 日韩免费成人网| 国产精品实拍| 91九色国产视频| 色综合蜜月久久综合网| 91在线视频观看免费| 久久国产精品免费| 国产精品二区视频| 99精品国产一区二区三区不卡| 男人操女人的视频网站| 亚洲成人动漫精品| 国产性生活视频| 亚洲国产精品999| 国产91足控脚交在线观看| 99在线视频播放| 欧美激情1区| 成年人看片网站| 亚洲午夜免费电影| 亚洲女人18毛片水真多| 久久久久久国产| 牛牛视频精品一区二区不卡| 国产精品一区二区免费在线观看| 美女国产一区二区三区| 日本xxxxxxxxx18| 欧美日韩一区二区三区四区五区 | 国产亚洲天堂网| 久久综合九色综合久久久精品综合 | 视频免费一区二区| 久99久在线| 亚洲在线播放| 国产免费一区二区三区网站免费| 欧美视频在线观看免费| 飘雪影院手机免费高清版在线观看 | 亚洲高清免费在线观看| 成人午夜激情片| 国产乡下妇女做爰视频| 亚洲男人天堂九九视频| 成人四虎影院| 免费观看中文字幕| 岛国精品一区二区| 婷婷激情五月网| 日韩视频在线一区二区| 欧美xxxx免费虐| 国产主播在线一区| 99re66热这里只有精品8| 人妻巨大乳一二三区| 天天综合色天天| eeuss影院www在线播放| 亚洲r级在线观看| 亚洲免费大片| 国产精品久久久久野外| 午夜激情一区二区| www.日韩在线观看| 午夜精品美女自拍福到在线| 久久97视频| 亚洲制服在线观看| 色哟哟精品一区| 在线免费观看a视频| 国产精品视频精品视频| 欧美激情成人在线| 免费的av网站| 欧美日韩久久久| wwwwxxxx在线观看| 亚洲欧美一区二区原创| 丁香另类激情小说| 中文字幕丰满人伦在线| 久久777国产线看观看精品| 欧美日韩视频免费看| 日韩电影免费观看高清完整| 国产剧情av麻豆香蕉精品| 国产专区第一页| 麻豆乱码国产一区二区三区|