Total Pageviews

Showing posts with label javascript. Show all posts
Showing posts with label javascript. Show all posts

Wednesday, 2 September 2026

一个极简风格的基于免费API的音乐播放器Solara


🌐 由轻量后端服务支撑的现代化网页音乐播放器,整合多种音乐聚合接口,覆盖搜索、播放与音频下载全流程。

感谢 GD音乐台(music.gdstudio.xyz)提供的免费API

感谢 来自Linux.do 牛就是牛@ufoo 大佬 https://linux.do/t/topic/942415 提供的灵感

🌟 主要特性

  • 🔍 跨站曲库检索:一键切换数据源,支持分页浏览并批量导入播放队列。
  • 🚀 智能边缘缓存:基于 Cloudflare Cache API 实现。具备智能过滤机制,仅缓存有效搜索结果,自动识别并拦截“API 繁忙”导致的空结果或错误结果存入缓存,大幅提升二次搜索速度。
  • ☁️ 轻量后端代理:通过 Cloudflare Pages Functions 统一聚合,并对搜索关键词进行 URL 签名剥离,最大化缓存命中率。
  • 🎨 主题美学:内置亮/暗模式与玻璃拟态界面。采用前后端双重取色算法:优先通过后端进行封面调色板分析,若失败则自动降级到前端 Canvas API 提取颜色,确保 100% 沉浸式背景覆盖。
  • 📱 竖屏移动端:全新竖屏布局匹配移动端手势与屏幕比例。针对单手操作深度优化,支持双击 Logo 或点击设置按钮打开高级设置。
  • 📝 动态歌词视图:逐行滚动高亮,当前行自动聚焦,手动滚动后锁定视图并支持 3 秒自动回位。
  • ❤️ 收藏列表:搜索结果与播放列表均可一键收藏,收藏列表拥有独立的播放进度、播放模式与批量操作面板。
  • 📻 队列管理灵活:新增、删除、清空操作即时生效,具备状态自洽性校验,防止播放列表为空时的“幽灵播放”现象,并自动持久化。
  • 📥 多码率下载:可挑选 128K / 192K / 320K / FLAC 等品质并直接获取音频文件。
  • 🔒 锁屏播放控制:锁屏界面自动显示专辑封面与播放控件,支持 MediaSession 标准。
  • 🔄 列表导入导出:支持播放队列与收藏列表统一导入/导出,可一键迁移或恢复歌曲。
  • 🛠️ 调试控制台:按下 Ctrl + D 呼出实时中文日志面板,支持监控核心中间件状态。

🚀 快速上手

 

Cloudflare Pages 部署 (适合免服务器托管)

如果您没有自己的服务器,可以直接使用 Cloudflare 免费部署:

  1. Fork 或克隆本仓库到您自己的 GitHub 账号下。
  2. 登录 Cloudflare 控制台,按照 Cloudflare Pages 文档创建站点,并将本仓库作为构建来源或直接上传静态资源。
  3. 部署完成后,通过 Cloudflare Pages 分配的域名访问站点即可。

⚙️ 配置提示

  • API 基地址定义在 functions/proxy.ts 中的第1行,可替换为自建接口域名。
  • 默认主题、播放模式等偏好可在 state 初始化逻辑中按需调整。

☁️ Cloudflare D1 绑定与建表

  1. 在 Cloudflare Dashboard 的 Workers & Pages → D1 → Create 中新建数据库,建议命名为 solara-db(名称可自定)。
  2. 打开 Pages 项目设置,依次进入 Settings → Functions → Bindings → Add binding → D1 Database
    • Binding name 填写 DB(必须与 functions/api/storage.ts 中的环境变量一致)。
    • D1 Database 选择上一步创建的数据库并保存。
  3. 在数据库详情页切换到 Query 标签页,执行下方建表语句初始化两个独立的键值存储表(播放数据与收藏数据分离):
    CREATE TABLE IF NOT EXISTS playback_store (
      key TEXT PRIMARY KEY,
      value TEXT,
      updated_at TEXT DEFAULT CURRENT_TIMESTAMP
    );
    
    CREATE TABLE IF NOT EXISTS favorites_store (
      key TEXT PRIMARY KEY,
      value TEXT,
      updated_at TEXT DEFAULT CURRENT_TIMESTAMP
    );
  4. 重新部署或预览站点。前端会优先检测 D1 绑定:播放状态、播放列表等写入 playback_store,收藏相关写入 favorites_store;未绑定时自动退回浏览器 localStorage。

🧭 探索雷达

  • 探索雷达会在「流行、摇滚、古典音乐、民谣、电子、爵士、说唱、乡村、蓝调、R&B、金属、嘻哈、轻音乐」等分类中随机挑选关键词,自动为播放列表补充新歌。
  • 您可以双击Logo点击侧边栏设置按钮进入设置界面,自由勾选想要开启或排除的音乐分类,配置将实时保存并生效。

🔐 访问控制设置

  • Cloudflare Pages: 在项目的 Settings → Functions → Environment variables 中新增名为 PASSWORD 的环境变量,值为希望设置的访问口令。
  • Docker 部署:docker-compose.ymlenvironment 中设置 PASSWORD 环境变量,例如 - PASSWORD=your_password。如果不需要密码,可不配置该变量。
  • 部署完成后,未登录的访问者会被自动重定向到 /login 页面并需输入该口令;若想关闭访问口令,删除该环境变量并重新部署或重启容器即可。

🌐 多语言设置 (English Version)

  • Cloudflare Pages: 在项目的 Settings → Functions → Environment variables 中新增名为 LANGUAGE 的环境变量,值为 ENG
  • Docker 部署:docker-compose.ymlenvironment 中设置 language 环境变量为 ENG,即 - language=ENG(注意:Docker 环境下环境变量名是小写 language,以与 wrangler 本地开发环境一致)。
  • 部署完成后,站点将会自动切换为全英文界面。若想恢复中文界面,删除该环境变量或修改为其他值后重新部署或重启容器即可。

🎵 使用流程

  1. 输入关键词并选择想要的曲库后发起搜索。
  2. 在结果列表中可试听、播放、下载或加入播放队列。
  3. 点击列表中的心形图标即可收藏歌曲,收藏列表支持快捷下载、添加至播放列表或批量清空。
  4. 右侧播放/收藏列表展示当前曲目,可拖动播放、移除或一键清空。
  5. 底部控制栏提供播放控制、播放模式切换、进度条与音量滑块。
  6. 打开歌词面板即可查看实时滚动的高亮歌词。

📱 移动端体验提示

  • 将网页添加到手机主屏或通过移动浏览器访问,即可自动切换至竖屏布局;
  • 底栏控件重新排布,保证竖向滑动不遮挡核心信息;
  • 点击封面可以切换到歌词面板,可通过点击展开/收起。

❓ 常见问题解答

  • 搜索没有结果怎么办? 检查浏览器控制台日志,如接口被阻挡可尝试切换数据源或更新 API.baseUrl 至可用服务,很有可能是免费API炸了。
  • 如何重置本地数据? 在浏览器开发者工具的 Application / Storage 面板清理 localStorage,即可恢复默认播放列表和配置。
  • 收藏或播放列表如何备份? 使用播放队列或收藏列表顶部的「导出」按钮生成 JSON 文件,日后可通过对应列表的「导入」按钮恢复,同时可一键将收藏歌曲添加回播放列表。

🛠️ 调试模式

按下键盘上的 Ctrl + D 即可呼出实时中文调试日志面板。该面板可帮助您监控播放器的核心运行状态,各项标签含义如下:

调试标签 状态/含义 说明
[边缘缓存] HIT (命中) 请求直接从 Cloudflare 边缘节点缓存获取,速度极快。

MISS (穿透) 缓存未命中,请求已转发至源服务器并存入缓存。

BYPASS (跳过) 接口配置为不缓存,直接拉取实时数据。
[回源拉取] 接口详情 显示当前请求的具体 API 类型(如 netease, kuwo 等)。
[背景取色] Backend 成功通过后端云函数完成封面调色板分析。

Canvas 后端取色失败,自动降级至浏览器前端提取颜色。
[URL 签名] 剥离详情 显示对 API 请求中冗余签名的清理过程,以提高缓存命中率。

🗂️ 项目结构

Music-Player/
├── css/
│   ├── desktop.css   # 桌面端布局与组件样式
│   ├── mobile.css    # 移动端适配样式
│   └── style.css     # 公共主题与变量定义
├── functions/
│   ├── _middleware.ts # Cloudflare Pages Functions 中间件
│   ├── api/           # 各曲库代理函数入口
│   ├── lib/           # 请求封装与工具模块
│   ├── palette.ts     # 封面取色算法
│   └── proxy.ts       # 音频直链代理
├── js/
│   ├── index.js       # 播放器核心逻辑、状态管理与探索雷达分类
│   └── mobile.js      # 移动端交互与事件处理
├── server/            # Node.js 独立/流式 Express 服务器(Docker 版核心宿主)
│   ├── routes/        # 服务器代理路由与取色分析逻辑
│   ├── index.js       # Express 服务入口
│   └── db.js          # 高性能 SQLite 数据库控制器 (WAL 模式)
├── Dockerfile         # Docker 镜像构建文件(基于混合双引擎高性能服务形态)
├── docker-entrypoint.sh # Docker 容器入口脚本(并行启动后台 Wrangler 与前台 Express)
├── docker-compose.yml # Docker Compose 配置文件
├── favicon.png
├── favicon.svg
├── index.html         # 主界面结构、资源引入与配置项
├── login.html         # 访问控制登录页
└── README.md          # 项目说明 
from  https://github.com/akudamatata/Solara

Sunday, 28 June 2026

NEJ - 一个基于JavaScript的框架

 WEB前端开发框架.

概述

跨平台WEB前端开发框架,主要提供Web端SDK用于开发Web应用,服务器端SDK用于整合解决方案的服务器端实现

主要特性包括:

使用

API手册

页面引入define.js,可以下载到本地也可以使用NEJ服务器上的define.js( http://nej.netease.com/nej2/src/define.js ),通过切换define.js的路径切换使用的NEJ库

<!DOCTYPE html>
<html>
  <head>
    <title>use nej</title>
    <meta charset="utf-8"/>
  </head>
  <body>
    <textarea id="txt-0"></textarea>
    <input type="text" id="input-id-0" maxlength="100"/>
    
    <script src="/path/to/nej/define.js"></script>
    <script>
      NEJ.define([
        'util/counter/counter'
      ],function(_e){
          _e._$counter('txt-0');
          _e._$counter('input-id-0');
          
          // TODO
      });
    </script>
    <script>
      // 习惯链式的同学也可以这样使用
      NEJ.define([
        'util/chain/chainable',
        'util/counter/counter'
      ],function($){
          $('#txt-0')._$counter();
          $('#input-id-0')._$counter();
          
          // TODO
      });
    </script>
  </body>
</html>

文档

from  https://github.com/genify/nej

Sunday, 21 June 2026

CS-Notes

 编程语言语法基础与工程实践,JavaScript | Java | Python | Go | Rust | CPP | Swift 

 https://ng-tech.icu/books/ProgrammingLanguage-Series

Introduction | 前言

参考某熊的技术之路指北 中对于知识结构的划分,本仓库存放了笔者在编程语言方面学习与实践总结而来的笔记。

Programmers who program “in” a language limit their thoughts to constructs that the language directly supports. If the language tools are primitive, the programmer’s thoughts will also be primitive.

Programmers who program “into” a language first decide what thoughts they want to express, and then they determine how to express those thoughts using the tools provided by their specific language.

-- Steve McConnell’s Code Complete

程序指一组指示计算机或其他具有消息处理能力装置每一步动作的指令;代码指一套转换信息的规则系统编码。编程的本质是把我们人类想做的事情通过代码命令计算机来执行。譬如设定好了 10 个步骤,也就是 10 条指令,然后计算机通过程序计数器(时钟周期振荡器)按步骤从存放指令的内存区域一条一条取出来,扔到 CPU 执行。每条指令都有一个唯一的地址,当遇到需要选择的时候,当前指令执行完就会把下一条要执行的指令的地址返回给程序计数器。

计算机底层程序一直都是已 0 和 1 为基础执行不同的指令,而代码却一直在进化。最原始的代码其实就是计算机执行的程序,但是由于程序是指导计算机运行的,硬件处通过高低电平来处理信号再计算信息。对于机器很快就可以执行,但是对于人类来讲确异常痛苦。刚开始我记住不同组合的指令代表的意义,慢慢就发展成助记符,来表示程序,从而有了代码的概念。有了助记符很方便人类的记忆,毕竟记住一个单词比记住一串数字要好记得多。我们从最开始用一连串 0 和 1 来写指令,到后面采用了助记符,才发展成汇编语言,而随着硬件的性能提升,旧的代码语言已经无法满足人们的需求,高级语言也应运而生。

纵观计算机发展历史,软件研发效率提升就是弥合现实世界和计算机二进制世界的鸿沟。从二进制编码到汇编,到 C 语言,到面向对象的 C++、Java。编程语言随着硬件的发展变得越来越接近人类语言,语法也越来越简练;本质上不同语言最终都是被翻译成计算机自己认识的机器程序来执行。从古老的 Fortran 到现在的 Java 或者 PHP,还有其他庞大的计算机语言家族,把这些语言抽象出共性来,那么基础的语言规则都是相同的。

编程语言发展史

在这样一个优秀编程语言百花齐放的时代,掌握多门编程语言无疑是一件必须要做的事情。学习一门语言的基本语法并无意义,但是这是你真正了解这门语言魅力的基石。语言无论其语法之间具备多大的差异性,从 Java、C 这样严谨的语言到 Ruby ,Python, JavaScript 这样想怎么写就怎么写的脚本语言,在学习一门语言时需要知道的基本知识却是大同小异。编程语言的两大要素分别是数据类型(字符,字符串,整形,浮点型,集合等)与操作类型(顺序,判断,选择,循环,分支等)。在下面的知识脑图中,我们会了解编程语言学习中通用的知识点。

mindmap

from https://github.com/wx-chevalier/CS-Notes

Wednesday, 10 June 2026

前端学习路线

 

Html学习

  1. 入门教程(词典版)https://www.w3school.com.cn/html/index.asp
  2. 入门教程(精简版)https://www.fqysharing.top/2021/05/23/basic_html/
  3. 页面美化库教程(官网版)https://getbootstrap.com/
  4. 页面美化库教程(中文版)https://www.w3school.com.cn/bootstrap5/index.asp
  5. 实战教程(进阶版)https://zhuanlan.zhihu.com/p/210920545?ivk_sa=1024320u

笔者的话:

  • bootstrap页面美化可以好好学一学
  • 实战教程不用做了,到时候做vue的实战

Css学习

  1. 入门教程(词典版)https://www.w3school.com.cn/css/index.asp
  2. 入门教程(精简版)https://www.fqysharing.top/2021/05/23/basic_css/

笔者的话:

除非对自己的配色和审美有绝对自信,简单学一学就可以了,开发可以用bootstrap。

Javascript学习

  1. 入门教程(词典版)https://www.w3school.com.cn/js/index.asp
  2. 入门教程(精简版)https://www.fqysharing.top/2021/07/17/basic_js_summary/

笔者的话:

JavaScript的入门曲线不算曲折,但是深入后很复杂,潜力也很大。要了解基本的语法,但是不必太过于详细的、花太多时间去学习基础。把时间花在vue这类的框架上更有价值。

Vuejs学习

  1. 官网教程(看不懂版)https://cn.vuejs.org/index.html
  2. 实战教程(必看版)https://zmrenwu.com/courses/vue2x-todo-tutorial/

Monday, 25 May 2026

bazinga.tools

https://bazinga.tools

 The best all-in-one toolbox. Bazinga! 

 

Development

First, install dependencies:

npm install

Second, run the development server:

npm run dev

Open http://localhost:3000 with your browser to see the result. The page auto-updates as you edit the file.

Add New Tools

All tools are located at pages/. To add a new tool, just follow the convention of the exsiting tools. The tech stack is TypeScript + React + CSS Modules.

Your feedback and contributions are welcome!

from  https://github.com/luin/bazinga

Thursday, 30 April 2026

ebook

 一路走来收藏的电子书.

from  https://github.com/lanzhi-lee/ebook

( https://github.com/briteming/ebook/)

Wednesday, 22 April 2026

awesome-jamstack

 

Carefully curated list of awesome Jamstack resources。

jamstack.org

Modern web development architecture based on client-side JavaScript, reusable APIs, and prebuilt Markup.

This is a carefully curated list of awesome Jamstack resources.

You might also like Awesome Static Generators.

Contents

General

Chats

Platforms

  • Netlify - All-in-one platform for automating modern web projects.
  • Vercel - All-in-one serverless platform for modern web apps with config-free tools and workflows.
  • Layer0 - All-in-one Jamstack platform focused on large, dynamic websites and best-in-class performance through an integrated CDN, EdgeJS, predictive prefetching, and performance monitoring.
  • Azure Static Web Apps - Full-stack serverless hosting with integrated CI/CD workflow, authentication, CDN and more.
  • Stormkit - Powerful all in one infrastructure for modern javascript apps. It integrates with your git flow and builds, deploys and scales your apps seamlessly.
  • Cloud 66 - Builds and deploys static websites to your own cloud account.

For more resources about Static Web Apps see (Awesome Static Web Apps)[https://github.com/staticwebdev/awesome-azure-static-web-apps].

No-Code Platforms

  • Jamstack.new - Create a new Jamstack website with 1 click, brought to you by Stackbit
  • Storipress - All-in-one publishing + blogging platform with integrated site builder and workflow management.
  • Draftbox - Lightning fast, secure front-end for your WordPress or Ghost blog, without coding.
  • Plasmic - Powerful design tool for building your React components and Jamstack websites visually.
  • TeleportHQ - Front-end Design & Development Platform. TeleportHQ is the collaborative front-end platform to create and publish your headless static websites instantly. Free code export, 3 free projects, unlimited collaborators.

Jamstack Sites Showcase

  • React - Built on Gatsby.
  • Squoosh.app - Hosted on Netlify, demonstrates advanced features from a modern Web Application.
  • Hopper - Built on Gatsby and hosted on Netlify.
  • VSCode Power User Course - PWA built on Gatsby and hosted on Netlify.
  • CloudyCam - PWA built on Next.js and hosted on Zeit Now v2 Serverless platform.
  • FbaMonthly - Hosted on Netlify, built with Jekyll, Netlify Functions and Netlify Forms.
  • Jarod Peachey - Built with Gatsby + MaterialUI and hosted on Netlify
  • ProtonDB - React/MaterialUI/Firebase hosted on Netlify since August 2018. Prominent in Linux gaming community.
  • Creative Designs Guru - Built on Eleventy.js hosted on Netlify and styled with Tailwind CSS
  • HandleDroid - Built with Next.js, MongoDB, Auth0, AWS CloudWatch, SendGrid, Stripe and hosted on Netlify.
  • Backlinko - Built with Next.js, headless WordPress and Netlify.

Static Site Generators

  • Gatsby - Blazing-fast static site generator for React.
  • Next.js - Lightweight framework for static and server-rendered applications.
  • Hugo - Hugo is a static site generator written in Go.
  • Jekyll - Jekyll is a simple, blog-aware, static site generator perfect for personal, project, or organization sites.
  • Hexo - A fast, simple & powerful blog framework, powered by Node.js.
  • Metalsmith - An extremely simple, pluggable static site generator.
  • Phenomic - A modular website compiler.
  • Gridsome - Vue-powered static site generator for building CDN-ready websites for any Headless CMS, APIs or Markdown-files.
  • Nuxt.js - Versatile vue-based framework for server-side-rendered, static and traditional single page applications.
  • eleventy - A simpler static site generator transforming various template files into HTML.
  • Nift - A cross-platform open source website generator developed in C++ that is lightning fast and extremely powerful.
  • Astro - Build faster websites, while shipping less to almost no Javascript.
  • FactorJS - Next-generation framework powered by Vite.

For a more complete list see StaticGen.

CMS

  • Cosmic - Headless CMS with REST and GraphQL API options.
  • Kentico Kontent - A cloud-native headless CMS that scales.
  • Contentful - Content infrastructure for digital teams.
  • Decap CMS - Open source Git-based CMS (Formerly known as Netlify CMS).
  • ButterCMS - Headless CMS and Content API.
  • Scrivito - Cloud-based JavaScript CMS built for digital agencies and medium to large-sized businesses.
  • Hygraph - The GraphQL Headless CMS.
  • Apito - A Cloud Based Headless CMS with CDN, Webhooks, Team Collaborations, Content Revision, Cloud Functions.
  • Prismic - Headless API CMS for both developers and marketers.
  • Siteleaf - A friendly CMS for your static site.
  • DatoCMS - The API-based CMS your editors will love.
  • Prose - Prose is a content editor for GitHub designed for managing websites.
  • Forestry - Headless CMS for sites built with static site generators.
  • Coisas - A client-side CMS for editing GitHub Markdown (and other) files.
  • Cockpit - A self-hosted headless and api-driven CMS.
  • HeadlessCMS - A List of Content Management Systems for Jamstack Sites.
  • TakeShape - Headless GraphQL API CMS with 1-click deploy to Netlify.
  • Ghost - A headless CMS for online publications
  • Strapi - The open source Headless CMS Front-End Developers love.
  • Flotiq - An effortless headless CMS.
  • TreacleWP - WordPress API hosting.
  • Agility CMS - The best of both worlds for developers and content editors.
  • CloudCannon - The Git-based CMS for your Jamstack sites.
  • Contember - Bespoke content management. Build and run GraphQL API and user-centric administration without any hassle.

API

Authentication

  • Auth0 - Single sign on and token based authentication.
  • Netlify Identity - Brings a full suite of authentication functionality, backed by the GoTrue API.
  • Stytch - Passwordless authentication and session management API, try it out on Vercel.
  • Clerk – Complete user management UIs and APIs, purpose-built for React, Next.js, and the modern web.
  • Corbado – Corbado helps you go passwordless by adding passkeys to your website or app in a few lines of code.
  • Scalekit – Add enterprise SSO (SAML, OIDC) and SCIM provisioning on top of existing auth systems like Auth0, Firebase, or Cognito without rewrites.

Comments

  • Disqus - Global comment system that improves discussion on websites and connects conversations across the web.
  • Facebook Comments - The comments plugin lets people comment on content on your site using their Facebook account.
  • Utterances - A lightweight comments widget built on GitHub issues. Use GitHub issues for blog comments, wiki pages and more.

Forms

  • Fetch Forms - Create forms with the speed of a form builder and use them in your applications by calling a simple API.
  • Formcarry - Hassle-free HTML form endpoints for your form, powerful dashboard, reliable spam blocking, attachment uploads and Zapier integrations.
  • Formcake - A form backend built for developers: Zapier integrations, zero dependencies, a simple API, and unlimited forms.
  • Getform - Form backend platform for designers and developers. Setup your form endpoints for your static site within minutes and expand your data with Zapier integration and Webhooks support.
  • Netlify Forms - Built-in form handling on building time by parsing HTML files directly at deploy time.
  • Arengu - Build signup and login forms with Arengu, enable social login, add 2FA or use passwordless flows to authenticate users with your API or identity provider.
  • Static Forms - Integrate HTML forms easily without any server side code. After user submits the form we'll send you content of the form to your registered email.
  • Form.taxi - An endpoint for HTML forms to handle submissions with ease. It offers a rich feature set with email notifications, file uploads, submissions archive, GDPR-compliant data processing and a lot more.

E-commerce

  • Astro Snipcart - Astro Snipcart allows developers to build E-Commerce sites using the Astro framework and the Snipcart platform.
  • Flatmarket - Flatmarket is a free, open source e-commerce platform for static websites.
  • GoCommerce - A headless e-commerce for Jamstack sites.
  • Snipcart - A powerful shopping cart platform for developers.
  • Moltin - eCommerce API for developers.
  • Trolley - A shopping cart designed for the Jamstack.
  • Shopify - Shopify headless e-commerce solution.
  • Commerce.js - API-first eCommerce platform for developers.
  • CartQL - GraphQL Shopping Cart and Checkout API built for the Jamstack and to work with any framework and inventory.
  • Medusa - Medusa is an open-source headless commerce engine that enables developers to create amazing digital commerce experiences.
  • Saleor - Saleor is open-source, GraphQL-first, technology agnostic commerce engine.

Search

  • Algolia - The most reliable platform for building search into your business.
  • Lunr - Search made simple (on frontend).
  • CloudSh - Powerful search with a few lines of JavaScript.

Database

  • GraphQL - Query language for APIs and a runtime for fulfilling those queries with your existing data.
  • Graphcool - Open-source and self-hosted backend-as-a-service to develop serverless GraphQL backends.
  • FaunaDB - Relational NoSQL database with joins, indexes, and multi-region ACID transactions in the cloud or on-premise.
  • Fireproof - Zero dependency, offline-capable CRDT database, runs in the browser and connects to any cloud.
  • Jexia DataSet - REST API Schema & Schemaless cloud data storage with built-in validators, relations, aggregation functions.
  • Tigris - Open-source data platform with databases, automatic search indexing for real-time search, caching and real-time pub/sub.

File management

  • Jexia FileSet - REST API File manager for your application with indexing and extra functions.

Automation

  • Zapier - Trigger actions connecting more than 1000 apps together.
  • DataFire - DataFire is an open source framework for building and integrating APIs.

Serverless

  • Netlify Functions - Netlify lets you deploy Lambda functions without an AWS account, and with function management handled directly within Netlify.
  • Amazon Lambda - Lets you run code without provisioning or managing servers.
  • Microsoft Azure
    • Azure Functions - Serverless compute service that enables you to run code on-demand without having to explicitly provision or manage infrastructure.
    • Azure Logic Apps - Simplifies building automated scalable workflows that integrate apps and data across cloud services and on-premises systems.
  • Google Cloud
    • App Engine - Serverless application that completely abstracts away infrastructure so you focus only on code.
    • Cloud Functions - Serverless environment to build and connect cloud services.
    • Cloud Datastore - Highly-scalable NoSQL database with automatic sharding and replication.
    • Cloud Storage - Geo-redundant object storage for high QPS needs.
    • Cloud Pub/Sub - Geo-redundant real-time messaging for all message sizes and velocities.
    • Apigee - Enterprise API management for multi-cloud environments.
    • Endpoints - API management apps built on Google Cloud.
    • Cloud Dataflow - Serverless stream and batch data processing service.
    • BigQuery - Serverless data warehousing services that help you to deploy advanced cloud data warehousing solutions for your enterprise.
    • Cloud ML Engine - Serverless machine learning services that automatically scales built on custom Google hardware (Tensor Processing Units).
  • Serverless - Toolkit for deploying and operating serverless architectures.
  • Cloudinary - Serverless media (images/videos) management platform. Provides SDKs in every popular language and media widgets for Jamstack to make it easy to manage media, CDN, storage, transformations, and more.
  • imgix - Serverless image delivery and management service. imgix connects to where your images are stored (e.g. S3, GCS, web folder) and transforms, optimizes, and intelligently delivers your images using simple and robust URL parameters.
  • TwicPics - Serverless images & videos optimization and transformation service. TwicPics can be plugged into any stack to optimize medias in real-time by giving full control to frontend developers.

For a more complete list see Awesome Serverless.

Videos

Tutorials / Articles

Podcasts

Books

from  https://github.com/automata/awesome-jamstack

Monday, 23 February 2026

值得关注的十大 JavaScript 框架

引言

JavaScript生态系统正在以极快的速度不断演进。五年前使用的技术在今天可能已经显得沉重或过时。随着2026年的临近,某些框架继续占据主导地位,而其他一些新兴框架则迅速崛起,响应着不断变化的性能需求、开发者体验优先级以及现代网页架构趋势(如边缘渲染、SSR、岛屿架构)。本文将探讨10个值得在2026年关注的前端、全栈/元框架或边缘准备框架,分析它们的特点、权衡和适用场景。

在选择值得关注的框架时,我们主要考虑以下标准:

  1. 性能与捆绑包大小:更小的捆绑包,更快的加载时间,最小的运行时开销。

  2. 渲染/部署模型的灵活性:能够支持SSR、SSG、边缘渲染、增量静态生成或混合渲染。

  3. 开发者体验与可维护性:语法干净,支持TypeScript,良好默认,最小的样板程序,以及流畅的开发者体验。

  4. 生态系统与社区支持:库、工具、插件、主动维护、日益增长的采用率。

  5. 与现代趋势保持一致:边缘优先、孤岛架构、最小化JS、反应优先、服务器客户端灵活性、SEO友好性以及对不断演变的浏览器/网页标准的准备。

十大框架概览

以下是2026年值得关注的十大JavaScript框架总结表:

排名

框架/元框架

2026年的突出特点

1

React

成熟的生态系统,通过并发渲染、服务器组件不断演进,广泛采用。

2

Vue.js

语法简单、反应迅速、采用灵活(从小到大型应用)、企业使用增长。

3

Next.js

全栈React元框架,支持SSR/SSG、边缘支持、现代路由和API支持。

4

Svelte/SvelteKit

以编译器为先的设计,运行时间极短,包小,开发者体验和速度都很棒。

5

SolidJS

细粒度的反应性,类似React的语法,卓越的运行时性能,小包大小。

6

Qwik

优先可重叠框架:初始加载几乎零JS,即时加载,对于性能要求极高的应用非常强大。

7

Astro

"岛屿+静态优先"理念,简约JS,支持多个前端框架,非常适合内容或营销网站。

8

Nuxt.js

基于Vue的全栈元框架(SSR/SSG),适合偏好Vue且需要服务器渲染或静态生成的团队。

9

Remix

重点是网页基础知识、渐进式增强、以服务器为中心的渲染,有助于构建有弹性且性能良好的网页应用。

10

Deno Fresh

Edge优先运行时,默认使用现代JS/TS,最小的占用,能够用现代运行时构建全栈。

各框架详细分析

1. React

多年来,React一直是安全且主导的选择。即使在2025-2026年,它依然保持着非常强劲的地位。

为什么React依然重要

  • 庞大的生态系统:成千上万的库、社区支持、测试工具、UI组件库、状态管理工具。

  • 成熟度和稳定性:行为和版本迁移路径是可预测的。

  • 随着现代功能不断演进:通过服务器组件、流式传输和改进的并发渲染,支持现代应用架构。

  • 熟悉度+就业市场需求:许多开发者都懂React;许多公司仍然用它开发新功能或维护现有应用。

    需要注意的事项

  • React更像是一个"库+生态系统",而不是一个有主见的全栈框架。

  • 根据复杂度,可能需要拼接多个库,增加维护成本。

  • 相比一些较新的编译时或基于岛屿的框架,运行时开销会增加。

    适用场景

适用场景

  • 大型SPA或仪表盘需要丰富的交互性。

  • 拥有现有React代码库的团队。

  • 生态系统支持、库多样性或长期维护比最小捆包大小更重要的项目。

2. Vue.js

近年来,Vue一直是首选,特别是在那些希望简洁、反应迅速且学习曲线比某些较重框架更温和的团队中。

2026年Vue.js的优势

  • 容易上手:学习曲线比其他一些框架更为缓和。

  • 灵活——渐进式框架:可用于小型UI部件、中等规模SPA或完整应用。

  • 强劲的反应模型:提供快速的用户界面更新,且模板化更少。

  • TypeScript支持提升:与TypeScript的兼容性改善。

  • 在初创企业、中小企业以及传统美欧以外的地区都很受欢迎。

    权衡

  • 生态系统比React小——整体库和组件更少。

  • 对于全栈需求(SSR、API路由、边缘),可能需要一个元框架(例如Nuxt.js)。

    适用场景

适用场景

  • 中型或新项目需要快速交稿和快速升级。

  • 团队倾向于追求可维护性和简洁性,而非最大性能优化。

  • 开发速度和易用性比推动最小化JS或边缘优化更重要的项目。

3. Next.js

虽然React依然作为UI库占据主导地位,但许多现代Web应用不仅需要UI——还需要服务器端渲染、API路由、静态站点生成、边缘部署、混合渲染等。这正是像Next.js这样的元框架发挥作用的地方。

为什么Next.js在2026年依然重要

  • 抽象了很多模板:路由、SSR/SSG/ISR、API端点、图像优化、代码拆分。

  • 边缘和服务器优先准备:支持部署到边缘平台。

  • 顺畅的增量采用:现有的React代码可以逐步迁移到Next.js。

  • 灵活性:可以纯粹用于SSR,也可以作为静态站点生成器,或混合SPA+服务器。

    需要注意的事项

  • 有额外的抽象——有时会隐藏复杂性。

  • 作为基于React的框架,继承了部分React的运行时开销。

  • 对于不熟悉服务器端渲染的团队来说,学习曲线可能比普通的SPA更高。

    适用场景

适用场景

  • 需要SEO、性能和服务器端功能的新应用(如电子商务网站、内容密集的门户、SaaS仪表盘)。

  • 全栈应用,希望前端和后端在同一个仓库里,共享代码或数据合同。

  • 偏好React但也需要稳健的路由、API路由、SSR或静态生成的团队。

4. Svelte/SvelteKit

Svelte通常被称为"编译器优先"框架。Svelte没有将繁重的运行时部署到浏览器,而是在构建时将组件编译成最小化的原版JS。这种方法在2025-2026年开始见效,尤其对注重性能、速度和代码简洁的开发者来说。

Svelte的强大之处

  • 没有虚拟DOM,运行时间极短——导致包更小,加载时间更快。

  • 语法简单、干净——相比React等框架,简化了模板化。

  • SvelteKit将Svelte扩展到全栈:SSR、路由、数据加载。

  • 开发者满意度非常好:许多开发者称赞其简洁、性能和开发者体验。

    权衡

  • 与React或Vue相比,生态系统更小且更年轻——第三方库更少。

  • 对于复杂的企业级项目,长期可维护性必须谨慎权衡。

  • 某些边缘或生态系统特性可能仍落后于React/Vue生态系统。

    适用场景

适用场景

  • 性能(初始加载时间、捆绑包大小)很重要的项目:营销网站、登陆页、仪表盘。

  • 中小型应用,或注重开发者生产力和快速交付的应用。

  • 偏好最小化的模板和清晰的语法,且运行时间开销较小的团队。

5. SolidJS

虽然还没那么主流,但SolidJS值得特别关注。它带来了强大的组合:类似React的语法(JSX),但拥有细粒度的反应系统,避免了虚拟DOM的开销。它以性能为先,但又易于亲近。

2026年SolidJS的优点

  • 细粒度响应:不重新渲染大型组件,而是选择性地跟踪依赖,只更新所需内容。

  • 运行时间非常小,开销极低——捆绑包大小和构建后性能都非常出色。

  • 熟悉语法(JSX)——对于从React转过来的开发者来说更容易采用。

  • 通过元框架(如SolidStart)支持全栈——支持SSR、路由、流式传输等。

    不足之处

  • 生态系统仍然较小;并非所有库/组件都比React/Vue成熟或可用。

  • 对于大型企业应用来说,与React或Vue相比,实际的长期数据较少。

  • 开发者的熟悉度很重要;对于大型团队来说,逐步升级可能需要时间。

    最佳使用场景

最佳使用场景

  • 性能关键的应用:仪表盘、数据密集的用户界面、实时更新。

  • 喜欢极低的开销,但又希望有类似React的语法和熟悉感的团队。

  • 捆绑包规模和运行时性能比生态系统广度更重要的项目。

6. Qwik

2025-2026年最有趣的新框架之一是Qwik。其核心理念——"可重复性"——试图重新思考网页应用如何交付给浏览器。Qwik不打算先发布大量JS,然后在客户端水合,而是计划初期几乎不发布JS,然后在需要时恢复执行。

Qwik在2026年的承诺

  • 即时加载:由于初始JS捆绑包极少,页面加载速度非常快。

  • 无水合瓶颈:通过从服务器离开的地方恢复,避免了大量客户端JS的执行。

  • 专注于性能和核心网页关键:对于需要速度、低交互时间和顺畅首次加载的应用,呈现了一个引人注目的模型。

    注意点

  • 由于生态和社区规模较小,相对较新。第三方库或插件可能不那么多。

  • 可能需要不同的思维模型(可重复性、懒加载、部分水合)。

  • 对于复杂的交互或动态化的界面,需要额外关注以确保用户体验在可恢复范式下保持流畅。

    适用场景

适用场景

  • 内容密集的网站、博客、电商商店、营销网站,或任何对初始加载性能和SEO极为重要的网站。

  • 渐进式网页应用(PWA)、移动优先网页应用或性能关键SPA。

  • 核心网页活力、用户感知性能和交互时间都很重要的应用。

7. Astro

Astro代表了另一种理念:"内容优先/岛屿架构/默认最小化的JS"。Astro不把它当作一个纯粹的SPA框架来思考,而是把交互性当作可选的,只发布所需的内容。

为什么Astro在2026年如此重要

  • 默认的最小客户端JS:对于许多网站(博客、文档、营销登陆页),大多数页面是静态的或轻微的互动。

  • 框架无关的"岛屿"方法:可以将React、Vue、Svelte、Solid等构建的UI部件整合在一起。

  • 对SEO、性能、静态生成都很有帮助:由于JS极简且生成的HTML是预渲染的,加载时间和SEO指标都非常出色。

    限制

  • 对于高度交互性或大规模的SPA,相比完全被动式框架可能会显得有些局限。

  • 需要管理部分互动性:在同一站点内混合多个框架可能会使状态管理或大型项目捆绑变得复杂。

  • 对于复杂的动态应用(复杂状态、实时更新、繁重的客户端逻辑)来说并不总是理想。

    适用场景

适用场景

  • 静态或半静态网站:博客、文档门户、营销网站、登陆页、内容密集的网站。

  • SEO和负载性能比动态交互更重要的用例。

  • 想混合小型互动小部件(如React或Svelte)和大部分静态内容的项目。

8. Nuxt.js

Nuxt.js是Vue的元框架——类似于React的Next.js。如果团队更喜欢Vue,但仍然需要SSR/SSG、路由和全栈功能,Nuxt.js就变得相关。

Nuxt在2026年的相关性

  • 为Vue带来服务器端渲染、静态生成和元框架便利性,享受Vue的全栈功能优势。

  • 良好的默认规范:路由、基于文件的页面、数据获取、配置——减少构建设置工作量。

  • 非常适合已经投入Vue生态系统、想构建需要SSR或静态导出应用的团队。

    不足之处

  • 相比React/Next.js组合,Vue + Nuxt的生态系统略小一些(但依然稳固)。

  • 抽象开销可能会掩盖一些细节——团队需要理解SSR/SSG的权衡、水合和缓存。

  • 对于非常大型和企业级应用,长期成熟度和库支持需要评估。

    适用场景

适用场景

  • 基于Vue的中大型应用需要SSR或静态生成(如博客、电子商务、内容密集门户)。

  • 更喜欢Vue语法和反应性,但仍希望拥有现代Web应用功能(路由、代码拆分、SSR、数据取用)的团队。

  • 初始加载性能、SEO或静态导出很重要,但团队不愿意切换到其他生态系统的项目。

9. Remix

虽然Remix并不总是位居每个"热门"榜单的首位,但它代表了一种深思熟虑、以网络为先、渐进式增强的方式,而非纯粹的SPA思维方式。

Remix的特点

  • 专注于网页基础:正确的HTTP语义、渐进式增强、SSR——通常能带来快速且有弹性的应用。

  • 对重客户端JS的依赖减少——适合性能敏感或无障碍需求的应用。

  • 数据加载、路由和渲染的简洁架构——相比过于复杂的SPA设置,感觉更可预测和直接。

    权衡

  • 相比React/Next、Vue/Nuxt、Svelte等,社区的活跃度要小一些。

  • 对于高度交互或实时应用,相比完整的SPA框架可能需要额外的努力。

  • 比较新的元框架;有些库/插件相对于更大的生态系统可能更少。

    理想场景

理想场景

  • 内容量大或数据量大的网站需要良好的SEO、可靠性和极少的客户端JS。

  • 渐进式增强、可访问性和性能(尤其是低带宽/老旧设备)很重要的应用。

  • 愿意接受以服务器为中心的渲染和客户端更简单的JS的团队。

10. Deno Fresh

虽然上述大多数框架都专注于网页应用的前端或元框架,但随着边缘计算、无服务器运行和次世代运行时的兴起,像Deno这样围绕运行时构建的框架也值得关注。Fresh(或称Deno Fresh)旨在构建基础上JavaScript开销最小、边缘准备和现代JS/TS的网页应用。

基于Deno的框架在2026年的重要性

  • 边缘优先/服务器优先的思维方式:为边缘运行时构建的框架带来了性能和可扩展性的优势。

  • 现代JS/TS开箱即用:Deno将TypeScript视为一等公民,简化了构建设置和工具。

  • 轻量化且极简——适合小型服务或微型应用,全面SPA会显得过于繁琐。

    限制

  • 与Node.js+React/Vue生态系统相比,生态系统仍然相对较小。

  • 对于富含界面的前端,可能仍需与前端框架集成——实现架构混合。

  • 成熟度和长期社区采纳尚不确定。

    适用场景

适用场景

  • 构建轻量级网页应用、微服务或边缘部署应用(着陆页、静态内容、小型API)。

  • 需要最小的运行时开销、简单部署以及现代JS/TS堆栈的项目。

  • 愿意尝试新的运行时,并愿意以管理较小的生态系统为交换性能和现代架构的团队。

如何为2026年的项目选择框架

没有单一的"最佳"框架——正确的选择取决于项目的需求、团队和未来计划。以下是一份指导原则:

  1. 大型企业应用、仪表盘、复杂SPA → React(配合Next.js)或Vue(配合Nuxt)依然有意义,考虑到生态系统的成熟度和长期稳定性。

  2. 性能关键的应用或轻量级UI → Svelte、SolidJS或Qwik——如果优先考虑捆绑包大小、速度和运行效率。

  3. SEO/内容量大/营销/静态网站 → Astro、SvelteKit、Next.js(SSG),或Remix。也许可以和岛屿架构结合。

  4. 边缘优先或微服务/服务器中心工作负载 → 基于Deno的框架(Fresh)或支持边缘部署的元框架。

  5. 迁移遗留代码或渐进式更新现有应用 → React或Vue能实现更平稳的升级;Next.js/Nuxt简化了SSR/SSG的采用。

    还需记住:需求是会变化的。最初是一个轻量级营销网站,可能会发展成一个动态的网络应用。选择足够灵活且可扩展的框架,以便适应未来的变化。

可能影响2026-2027年的趋势

现在选择框架时,请记住这些趋势——它们会影响未来合理的做法:

  1. 边缘部署与SSR无处不在:随着CDN边缘平台变得更便宜和普及,支持SSR/边缘渲染的框架将变得更有价值。

  2. 岛屿/极简JS架构:发布更少的JS,只发送所需内容,只在必要时使用客户端JS——这一趋势更倾向于Astro、Qwik和Svelte/Solid等框架。

  3. TypeScript优先且更严格的类型:团队将越来越要求类型安全;优先考虑支持良好TS的框架和工具。

  4. 更小的捆绑包、更好的性能、核心网页指标优化:这对移动用户或低带宽地区(如印度许多用户)尤其重要。

  5. 可组合的全栈解决方案:结合前端界面、服务器端渲染/API/数据获取和路由的元框架,将比临时堆栈更具吸引力。

  6. 框架无关的互作性:能够混合不同的UI框架(React、Svelte、Solid)或微前端,可能会成为大型项目中的标准。

为什么一些遗留或较旧的框架可能会逐渐消失

JavaScript生态系统发展迅速。不适应的框架可能会面临热情下降。导致这一转变的一些原因:

  1. 高运行时间和大捆包:这损害了性能指标和用户体验。

  2. 缺乏对现代部署模式的支持:使其不适合SEO或全球分发应用。

  3. 开发者体验差/流程繁琐:导致维护负担增加和迭代变慢。

  4. 社区规模更小或停滞:新库减少,支持减少,更难聘用熟悉这些内容的开发者。

    截至2025-2026年,明显倾向于更轻、更快、更灵活的框架,而非笨重、单一的框架。

结论

JavaScript框架的现状比以往任何时候都更加丰富。过去只有少数选择的日子已经一去不复返。2026年,随着网页性能、全球部署策略、边缘计算和开发者生产力成为焦点——像React和Vue这样的框架仍将是稳妥的选择,但像Svelte、SolidJS、Qwik、Astro以及边缘友好框架(Deno/Fresh)等新兴平台值得认真关注。


Sunday, 22 February 2026

githuber.cn


感谢您的访问!GitHuber正在进行重大升级维护,预计将持续数周。在此期间登录、搜索等服务暂时关闭,星榜将不定期在此更新。有任何问题请联系邮件


状元 榜眼 探花
C Espressif Systems 云风 July Linwei 黄健宏 Lippi Leo Ma Xinchen Hui 王浩 朱天龙 (Armink)
C# Lion Jeffrey Su Paddy Xu Kerry Jiang Perfare 浅墨(毛星云) Wayne Yiming Zhao Henry topameng
C++ Hao Chen Shuo Chen Shiqi Yu vn.py yangyangwithgnu 吴祖洋 YouTuber@iTeaTime Tech Xiang Gao huihut Jack Yu
CSS 后山人 Coco Yan Zhu Vince Ruan YiFeng 布客飞龙 zhaoolee Bo Wei Xia Mr.Simple
CoffeeScript Zhuang Ma xu han Jason Lee Fred Wu onplus Michael Yin Jinzhu binnng Wei Zhu KasperDeng
Go fatedier astaxie Joe Chen chai2010 Dreamacro xtaci iikira Julien Schmidt smallnest henrylee2cn
HTML Huang Haiguang Phodal Huang 小弟调调™ 王下邀月熊 utom Xuan Huang (黄玄) lifesinger PaddingMe Zhouxuan Yang 小鱼
Java CyC2018 代码家 程序员吴师兄 张鸿洋 布兰柯基 江南一点雨 纯洁的微笑 crossoverJie macro JessYan
JavaScript 小弟调调™ Ruan YiFeng DIYgod EGOIST 贤心 Fengyuan Chen iamkun Jackson Tian cangdu lucifer
Lua AlexaZhou Zhuang Liu Linwei coder 老竭力 云风 Xavier Wang 最萌小汐 新运维社区 午夜
Matlab Shaoqing Ren Googol Lee Alfred Xiang Wu Yu Liu (Louis) Shifeng Zhang Limin Wang Zhenqiang.Ying Ying Tai(邰颖) Yihui He Zehao Huang
Objective-C ibireme M了个J YouTuber@iTeaTime Tech 高少东 Draven Aufree bang yeBlueColor Kevin Wei Wang
PHP walkor Easy 安正超 Song Summer helloqingfeng warlee John Lui dodge 韩天峰-Rango
Perl hexsum Weibin Yao(姚伟斌) Orange Carl Chen 周晶 Hui Chen Fayland Lam Hu Zhifei Simon Joey
Python 骆昊 削微寒 Mort Yao Flood Sung Sun Junyi 神奇的战士 wenxianping Yang Milo Yip Shangtong Zhang
Ruby Richard Huang DeathKing W Shao Livoras Jason Lee Lin Xiangyu Rei Xinyu Fred Wu Eric Guo
Scala Liwei Lin smallnest Wang Zhe 涂名雷 Bo Xu oldpig Liang Depeng Sidney Xu Yang, Bo Cheng Lian
Shell 花果山大圣 hackerxu Teddysun Jimmy Song EtherDream 233boy Judas.n Linwei ZhangJun snowdream
Swift Wei Wang iPader Lex Tang Allen Wang Caldis_Chen zhuhaow Wenchao Ding John Lui Vincent Li 100mango
VimL yangyangwithgnu Maple zc he Barret李靖 Barry Arthur Rykk Juvenn Woo luofei Wang Shidong brookhong
  • 排名以GitHub官方数据作为唯一权威来源
  • 排名以开发者在某编程语言上的所有项目(repo)所收获的星星(star)总数为序
  • 项目的编程语言以GitHub认定的主要编程语言为准,这适用于使用了多种编程语言的项目
更新于2024-12-23 14:16:05 +0800 
 
from  https://githuber.cn