🚀2021年5月28日,GitHub上面向Web开发者的十大热门项目
通讯链路
Notion SDK for JavaScript
雏菊UI 4
演示
灵感
特征
安装
govuk-react
《热门项目》以每周新闻简报的形式提供,请访问www.iainfreestone.com 注册, 以确保您不会错过任何一期。
1. 通讯链路
Comlink 让 Web Workers 的使用变得轻松愉快。Comlink 是一个体积小巧(仅 1.1kB)的库,它消除了你对 postMessage 的思考障碍,并隐藏了你正在使用 Workers 的事实。
Comlink 让 WebWorker 的使用体验更加愉快。
通讯链路
Comlink 让 Web Workers 的使用 变得轻松愉快。Comlink 是一个 体积小巧(仅 1.1kB)的库 ,它消除了用户在使用 Workers 时产生的心理障碍 postMessage,并隐藏了用户正在使用 Workers 的事实。
从更抽象的层面来说,它是 RPC postMessage和 ES6 代理的 实现。
$ npm install --save comlink
浏览器支持及软件包大小
不支持 ES6 Proxy 的 浏览器可以使用 proxy-polyfill 。
大小 :约 2.5k,压缩后约 1.2k,brotli 压缩后约 1.1k
介绍
在移动设备上,尤其是在低端移动设备上,保持主线程尽可能空闲至关重要,这样才能快速响应用户交互,提供流畅的用户体验。UI 线程应该只用于 UI 操作 。WebWorker 是一种 Web API,允许你在单独的线程中运行代码。WebWorker 提供了一个 postMessageAPI,用于与其他线程通信。你可以发送 JavaScript 对象……
2. Notion JavaScript SDK
官方 Notion JavaScript 客户端。一款简单易用的 Notion API 客户端。
安装
npm install @notionhq/client
用法
请使用 Notion 的 入门指南 来设置使用 Notion 的 API。
使用集成令牌 或 OAuth 访问令牌 导入并初始化客户端 。
const { Client } = require ( "@notionhq/client" )
// Initializing a client
const notion = new Client ( {
auth : process . env . NOTION_TOKEN ,
} )
Enter fullscreen mode
Exit fullscreen mode
向任何 Notion API 端点发出请求。
请参阅API 参考文档 中的完整端点列表 。
; ( async ( ) => {
const listUsersResponse = await notion . users . list ( { } )
} ) ( )
Enter fullscreen mode
Exit fullscreen mode
每个方法都会返回一个 Promise用于解析响应的结果。
console . log ( listUsersResponse )
Enter fullscreen mode
Exit fullscreen mode
{
results: [
{
object: 'user'
id: 'd40e767c-d7af-4b18-a86d-55c61f1e39a4',
type: 'person',
person: {
email: 'avo@example.org',…
3. 电容器
构建适用于 iOS、Android 和 Web 的跨平台原生渐进式 Web 应用
构建适用于 iOS、Android 和 Web 的跨平台原生渐进式 Web 应用 ⚡️
⚡️使用 JavaScript 和 Web 开发跨平台应用程序⚡️
Capacitor 允许您使用单一代码库和跨平台 API 在 iOS、Android、Web 等平台上原生运行 Web 应用程序。
Capacitor 提供了一个跨平台 API 和代码执行层,让您可以轻松地从 Web 代码调用原生 SDK,并编写应用所需的自定义原生插件。此外,Capacitor 还提供一流的渐进式 Web 应用 (PWA) 支持,因此您只需编写一个应用,即可将其部署到应用商店 和 移动 Web 端。
Capacitor 提供了一个插件 API,用于构建原生插件。插件既可以编写在 Capacitor 应用内部,也可以打包成 npm 依赖项供社区使用。我们鼓励插件作者使用 Swift 开发 iOS 插件,使用 Kotlin(或 Java)开发 Android 插件。
入门
Capacitor 的设计理念是即插即用,可以轻松集成到任何现有的现代 Web 应用程序中。运行以下命令即可初始化 Capacitor……
4. 雏菊界面
Tailwind CSS 组件。为 Tailwind CSS 添加 btn、card 等组件类。
🌼 🌼 🌼 🌼 🌼 最流行的免费开源 Tailwind CSS 组件库
雏菊UI 4
社区
༼つ◕_◕༽つ请分享
5. Notistack
高度可定制的通知栏(提示框),可以相互堆叠
易于使用、可自定义、过渡流畅、可堆叠和排队
目录
入门
使用您偏好的软件包管理器:
npm install notistack
yarn add notistack
版本指南
版本
笔记
v3.x.x
最新稳定版本。独立版本(即不依赖于 material-ui )。
<= v2.0.8
需要 Material-UI v5 作为对等依赖项。 npm install notistack@2.0.8
<= 1.0.10
需要 Material-UI <= v4 作为对等依赖项。 npm install notistack@latest-mui-v4
如何使用
实例化 SnackbarProvider组件并开始显示提示栏:( 有关可用属性的完整列表,请参阅 文档)
import { SnackbarProvider , enqueueSnackbar } from 'notistack' ;
const App = ( ) => {
return (
< div >
< SnackbarProvider / >
< button onClick = { ( ) => enqueueSnackbar ( 'That was easy!' ) } > Show snackbar< / button > …
Enter fullscreen mode
Exit fullscreen mode
6. 德拉古拉
拖放操作简单到令人难以置信。
拖放操作简单到令人难以置信。
浏览器支持包括所有主流浏览器以及 IE7+ 。 (前提是您已使用ES5中的函数式 Array方法进行polyfill)
框架支持包括原生 JavaScript、Angular 和 React。
演示
试试 演示版 !
灵感
你是否曾经想要一个开箱即用的拖放库?它不依赖于臃肿的框架,而且拥有强大的支持?它能够真正理解元素拖放后应该放置在哪里?它不需要你做很多设置才能正常工作?嗯,我也是!
特征
设置起来超级简单
没有臃肿的依赖项
自行 确定排序顺序
物品掉落位置的阴影可以提供 视觉反馈。
触摸事件!
无需任何配置 即可无缝处理点击操作
安装
你可以…
7. SimpleBar
SimpleBar 只做一件事:在不损失性能的前提下,用自定义 CSS 样式的滚动条替换浏览器的默认滚动条。
自定义滚动条原生 JavaScript 库,具有原生滚动功能,简单、轻量、易用且跨浏览器兼容。
SimpleBar 的功能只有一个:在不影响性能的前提下,用自定义 CSS 样式的滚动条替换浏览器的默认滚动条。与一些流行的插件不同,SimpleBar 不使用 JavaScript 模拟滚动,因此不会出现卡顿和奇怪的滚动行为。您可以保留原生滚动的流畅体验……同时拥有自定义滚动条。SimpleBar 并未实现自定义滚动行为 ,它保留了 原生 overflow: auto滚动, 仅 替换了滚动条的视觉外观。
按你的意愿设计
SimpleBar 使用纯 CSS 来设计滚动条样式。您可以轻松地根据需要进行自定义!甚至可以在同一页面上使用多种样式……或者保留默认样式(“Mac OS”滚动条样式)。
轻巧且性能优异
压缩后仅 6kb。SimpleBar 不使用 JavaScript 处理滚动,因此可以保留原生滚动条的性能和行为。
各地均有支持
SimpleBar 已在以下平台上进行过测试……
8. govuk-react
使用 CSSinJS 在 React 中实现 GOV.UK 设计系统
使用 CSSinJS 在 React 中实现 GOV.UK 设计系统
9. htmx
htmx 允许您使用属性直接在 HTML 中访问 AJAX、CSS 过渡、WebSocket 和服务器发送事件,因此您可以利用超文本的简洁性和强大功能构建现代用户界面。
用于 HTML 的高级工具
介绍
htmx 允许您使用属性 直接在 HTML 中 访问 AJAX 、 CSS 过渡、 WebSocket 和 服务器发送事件 ,因此您可以 利用 超文本的 简洁性 和 强大功能构建 现代用户界面。
htmx 文件很小( 压缩后最小约 14k ) ,无依赖项 且 可扩展。
动机
为什么只有 <a>主机 <form>才能发起HTTP请求?
为什么只有 click& submit事件才会触发它们?
为什么只允许使用 GET 和 POST 方法?
为什么只能更换 整个 屏幕?
通过移除这些任意约束,htmx 将 HTML 完善为 超文本。
快速入门
< script src ="https://unpkg.com/htmx.org@2.0.3 "> </ script >
<!-- have a button POST a click via AJAX -->
< button hx-post ="/clicked " hx-swap ="outerHTML ">
Click Me
</ button >
Enter fullscreen mode
Exit fullscreen mode
and hx-post属性 hx-swap告诉 htmx:
“当一个…
10. Vuestic UI
适用于 Vue 3 的免费开源 UI 库
Vuestic UI 是一个开源的 Vue 3 组件库,旨在实现快速开发、易于维护和高可访问性。由 Epicmax (@epicmaxco) 维护。
观星📈
过去7天涨幅最大的股票
Appwrite +1,890 星
编程面试大学 +1,234 星
代码服务器 +1,103 星
图 +926 颗星
免费编程书籍 +908 星
过去 7 天增长幅度最大(%)
使用状态机 +164%
图 +69%
Appwrite +27%
复原力 +7%
脉轮模板 ️ +7%
过去 30 天涨幅最大的股票
公共 API +5,557 星
编程面试大学 +5,500 星
免费编程书籍 +3,678 星
WinBox.js +3,668 星
开发者路线图 +3,609 星
过去 30 天增长幅度最大(%)
WinBox.js +653%
github-elements +160%
图 +159%
Supabase 实时性 +42%
Supabase +36%
《热门项目》以每周新闻简报的形式提供,请访问www.iainfreestone.com 注册, 以确保您不会错过任何一期。
如果你喜欢这篇文章,可以 关注我的 推特账号,我会定期发布与HTML、CSS和JavaScript相关的实用技巧。
文章来源:https://dev.to/iainfreestone/10-trending-projects-on-github-for-web-developers-28th-may-2021-2411