前端前線 2026 年 7 月 1 日

2026-07-01 — Deno 2.9 帶來桌面應用與後量子密碼學;Safari 27 原生可自訂 Select 登場

primary=https://deno.com/blog/v2.9 primary=https://github.com/denoland/deno/releases/tag/v2.9.0 primary=https://webkit.org/blog/18117/the-golden-rule-of-customizable-select/






2026-07-01 前端工程週報

Deno 2.9 正式發布:桌面應用、效能飛躍與後量子密碼學

deno.com · 2026-06-25

Deno 團隊於 2026-06-25 發布 v2.9.0,帶來實驗性桌面應用建構工具、大幅降低的啟動延遲,以及 NIST 後量子加密演算法支援。此版本同時強化 Node.js 26.3.0 相容性,並讓從 npm/pnpm/yarn/Bun 的遷移流程更加順暢。

核心改動

deno desktop 指令(實驗性)可將現有 Web 框架專案打包為原生桌面應用,支援 macOS、Windows 及 Linux 單一可執行檔。後端可選原生 WebView 或內嵌 Chromium(CEF),並自動偵測 Next.js、Astro、Fresh、SvelteKit 等主流框架。

效能方面,冷啟動時間34.2ms 降至 17.3ms(約快 2 倍),記憶體用量從 142MB 縮至 64MB,主因來自 V8 模組程式碼快取與精簡化快照。Deno.serve 的 realworld 吞吐量提升至 72.4k req/s

Web Cryptography 新增 NIST FIPS 後量子演算法,包含 ML-KEM 金鑰封裝(512/768/1024)、ML-DSA 簽章及 SLH-DSA,另有 SHA-3 家族、ChaCha20-Poly1305、Argon2,以及新的 SubtleCrypto.supports() 特性偵測方法。

const kp = await crypto.subtle.generateKey(
  { name: "ML-KEM-768" }, true,
  ["encapsulateBits", "decapsulateBits"]
);
const { ciphertext, sharedKey } =
  await crypto.subtle.encapsulateBits(
    { name: "ML-KEM-768" }, kp.publicKey
  );

影響範圍

測試工具新增 Deno.test.each() 參數化測試、--changed 僅跑受影響案例、--shard 分片執行,以及覆蓋率門檻設定。依賴管理新增 deno link/unlinkdeno list 指令,並可直接讀取既有 package-lock.jsonpnpm-lock.yamlbun.lock 鎖定檔。

  • deno fmt 新增 HTML/XML/SVG、CSS/SCSS/Less、SQL 格式化支援
  • 供應鏈安全:預設啟用 24 小時 min-release-age,阻擋剛發布的 npm 套件版本
  • Web Locks API(navigator.locks)正式實作
  • deno compile --bundle 實驗性樹搖,大幅縮減二進位大小
  • deno watch 作為 deno run --watch-hmr 的短別名

原始來源:github.com — denoland/deno v2.9.0 release notes


可自訂 Select 的黃金法則:Safari 27 原生支援即將到來

WebKit Blog · 2026-06-15

WebKit 團隊於 2026-06-15 發文說明即將在 Safari 27 正式落地的可自訂 <select> 元件規範,並提出一條開發者必須遵守的核心原則:永遠為 <option> 元素提供文字內容或無障礙文字屬性。違反此規則將同時損害一般使用者體驗、輔助技術相容性,以及在不支援瀏覽器上的降級行為。

核心改動

開發者只需在 CSS 加上 appearance: base-select 即可啟用完整樣式控制,包含自訂箭頭、圖示、色票及選項版面,無需任何 JavaScript 函式庫或額外 DOM 元素。鍵盤導覽與無障礙語義由瀏覽器原生保留,舊版瀏覽器則自動降級為平台預設 <select> 樣式。

/* 啟用可自訂模式 */
@supports (appearance: base-select) {
  select { appearance: base-select; }
}

<option> 內擺放圖示時,文字標籤必須同時存在,裝飾性圖片使用 alt="",輔助技術所需文字可用 .visually-hidden 隱藏於視覺層但保留於無障礙樹。

<option>
  <img src="bird.svg" alt="">
  <span>Wildlife</span>
</option>

影響範圍

此功能讓前端開發者得以淘汰長期依賴的自製下拉選單元件,減少對 JavaScript 替代方案的依賴,並獲得瀏覽器原生的鍵盤操作與螢幕閱讀器支援。特性偵測方式為 @supports (appearance: base-select),可安全漸進增強。

原始來源:webkit.org — The golden rule of Customizable Select



End of article
0
Would love your thoughts, please comment.x
()
x