Skip to content

nepaul/awesome-web-development

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

Awesome Web Development

Awesome Last Commits Pull Requests Code size

A collection of awesome web development resources.

Show some ❤️ and star the repo to support the project.

Table of Contents

Guidelines

Some Reading List

  • developer-roadmap

  • browser-2020 - This repo contains a non-exhaustive list of less-known features implemented in browsers today.

    This list isn't intended for a technical audience; instead it wants to be a "I didn't know we could do that in a browser!" list.

    In many cases, listed features aren't yet part of the standard, and may only be available on certain browsers or configurations.

WEB Security

  • OWASP Cheat Sheet Series: the official repository for the Open Web Application Security Project® (OWASP) Cheat Sheet Series project. The project focuses on providing good security practices for builders in order to secure their applications.

In order to read the cheat sheets and reference them, use the project official website. The project details can be viewed on the OWASP main website without the cheat sheets.

JavaScript

API

  • httpbin: A tool to feeling RESTFul API.

Framework

  • sveltejs: a new way to build web applications. It's a compiler that takes your declarative components and converts them into efficient JavaScript that surgically updates the DOM.

    • sveltejs/kit - The Fastest Way to Build Svelte Apps
    • 💨 Blazing-Fast Production Sites
    • 🛠️ SSR, SPA, SSG, and In-Between
    • ⚡️ Instantly Visible Code Changes
    • 🔩 Existing Universe of Plugins
    • 🔑 Fully Typed APIs
  • blitz - The Fullstack React Framework: "Zero-API" Data Layer — Built on Next.js — Inspired by Ruby on Rails

    “Zero-API” data layer lets you import server code directly into your React components instead of having to manually add API endpoints and do client-side fetching and caching.

    New Blitz apps come with all the boring stuff already set up for you! Like ESLint, Prettier, Jest, user sign up, log in, and password reset.

    Provides helpful defaults and conventions for things like routing, file structure, and authentication while also being extremely flexible.

  • mitt - Tiny 200b functional event emitter / pubsub.

    • Microscopic: weighs less than 200 bytes gzipped

    • Useful: a wildcard "*" event type listens to all events

    • Familiar: same names & ideas as Node's EventEmitter

    • Functional: methods don't rely on this

    • Great Name: somehow mitt wasn't taken

      Mitt was made for the browser, but works in any JavaScript runtime. It has no dependencies and supports IE9+.

Reactive

Prototypes sites

Web Workers

Utilities

CSS

CSS-in-JS:

  • emotion - The Next Generation of CSS-in-JS: Emotion is a performant and flexible CSS-in-JS library. Building on many other CSS-in-JS libraries, it allows you to style apps quickly with string or object styles. It has predictable composition to avoid specificity issues with CSS. With source maps and labels, Emotion has a great developer experience and great performance with heavy caching in production.

JavaScript

Designer

Machine Learning & AI

Chart & Data Visualization

File

Upload

Save

Loader

Icon

Notification

Alert

Authentication

Animations

Images

Tools

Sprite

Compression

Lazyload

Filters

Lightbox gallery

Static Code Checking(Lint)

  • commitlint - Lint commit messages:

    🚓 Be a good commitizen

    📦 Share configuration via npm

    🤖 Tap into conventional-changelog

Font

  • LXGW WenKai / 霞鹜文楷: An open-source Chinese font derived from Fontworks' Klee One. 一款基于 FONTWORKS 的 Klee One 的开源中文字体。

  • free-font: 汉字字体制作是一个庞大的工程,不同于西文字库,汉字常用字库表就有 6763 个汉字,GBK标准中共有20902 个汉字,而新出版的 GB_18064,共有六万多个字符。而且汉字的字形相对较为复杂,一套中文字体的完成需要耗费大量专业人士的精力和时间,我们倡导大家使用正版字体,为中文字体的制作创造一个良性的环境。

    然而目前国内字体的授权体系还不是那么完善,不同的厂商对不同的使用场景都不同的授权,而授权协议里不那么好理解的专业术语往往也使用户望而却步。对于哪些刚起步的创业公司或者个人来讲动辄几千的授权费用也是一笔不小的开支,这里收录了一些在网上收集整理的可以免费商用的中文字体供大家使用。

  • 俐方體11號/Cubic 11 - 俐方體11號是基於 M⁺ gothic 12r 衍生的開源繁體中文點陣字型,可用於像素風格的遊戲以及美術當中。

Datetime & Step

  • react-chrono - A Flexible timeline component for React. react-chrono-showcase
    • 🚥 Render timelines in three different modes (Horizontal, Vertical, Vertical-Alternating).
    • 📺 Auto play the timeline with the slideshow mode.
    • 🖼️ Display Images & Videos in the timeline with ease.
    • ⌨ Keyboard accessible.
    • 🔧 Render custom content easily.
    • ⚡ Data driven API.
    • 🎨 Customize colors with ease.
    • 🎭 Use custom icons in the timeline.
    • 💪 Built with Typescript.
    • 🎨 Styled with emotion.

UI Kits

Vue

React

Out-of-box UI solution

WeChat

Others

Input

Modal

Popper

Drag

Flip

Menus

Editor

Code Highlight

  • shiki: a beautiful Syntax Highlighter. Demo.

Markdown

Highlight

Clipboard

Respond page

Touch

3D

Scroll & Parallax

Search

Slider|Swiper

Color

  • react-color: 1. 13 Different Pickers - Sketch, Photoshop, Chrome and many more; 2.Make Your Own - Use the building block components to make your own
  • TinyColor - TinyColor is a small, fast library for color manipulation and conversion in JavaScript. It allows many forms of input, while providing color conversions and other color utility functions. It has no dependencies.

Conversational

Tweening Engine

QRCode

Emoji

New Feature Introduction

Typography Stylesheet

Compatibility

Print

PDF

Sheet

Fingerprinting

  • supercookie - Supercookie uses favicons to assign a unique identifier to website visitors. Unlike traditional tracking methods, this ID can be stored almost persistently and cannot be easily cleared by the user.

    The tracking method works even in the browser's incognito mode and is not cleared by flushing the cache, closing the browser or restarting the operating system, using a VPN or installing AdBlockers. 🍿 Live demo.

Math

  • KaTeX - KaTeX is a fast, easy-to-use JavaScript library for TeX math rendering on the web.

    • Fast: KaTeX renders its math synchronously and doesn't need to reflow the page. See how it compares to a competitor in this speed test.
    • Print quality: KaTeX's layout is based on Donald Knuth's TeX, the gold standard for math typesetting.
    • Self contained: KaTeX has no dependencies and can easily be bundled with your website resources.
    • Server side rendering: KaTeX produces the same output regardless of browser or environment, so you can pre-render expressions using Node.js and send them as plain HTML.

    KaTeX is compatible with all major browsers, including Chrome, Safari, Firefox, Opera, Edge, and IE 11.

    KaTeX supports much (but not all) of LaTeX and many LaTeX packages.

Tools

Models & serializers

  • quicktype: generates strongly-typed models and serializers from JSON, JSON Schema, TypeScript, and GraphQL queries, making it a breeze to work with JSON type-safely in many programming languages.

TypeScript

Debug

APIs & Mock

Deploy

Monitor

  • signoz - SigNoz is an open-source APM. It helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc. 🔥 🖥. 👉 Open source Application Performance Monitoring (APM) & Observability tool.
  • openreplay - Session replay for developers: The most advanced open-source session replay to build delightful web apps.

Docs

Images

Icons

Project Manage

  • Lerna: A tool for managing JavaScript projects with multiple packages.

    Splitting up large codebases into separate independently versioned packages is extremely useful for code sharing. However, making changes across many repositories is messy and difficult to track, and testing across repositories becomes complicated very quickly.

    To solve these (and many other) problems, some projects will organize their codebases into multi-package repositories (sometimes called monorepos). Projects like Babel, React, Angular, Ember, Meteor, Jest, and many others develop all of their packages within a single repository.

    Lerna is a tool that optimizes the workflow around managing multi-package repositories with git and npm.

    Lerna can also reduce the time and space requirements for numerous copies of packages in development and build environments - normally a downside of dividing a project into many separate NPM packages. See the hoist documentation for details.

  • pnpm: Fast, disk space efficient package manager

    • Fast. Up to 2x faster than the alternatives (see benchmark).
    • Efficient. Files inside node_modules are linked from a single content-addressable storage.
    • Great for monorepos.
    • Strict. A package can access only dependencies that are specified in its package.json.
    • Deterministic. Has a lockfile called pnpm-lock.yaml.
    • Works everywhere. Supports Windows, Linux, and macOS.
    • Battle-tested. Used in production by teams of all sizes since 2016. Source Control:
  • simple-git-hooks - A tool that lets you easily manage git hooks

    • Zero dependency
    • Small configuration (1 object in package.json)
    • Lightweight:
      Package Unpacked size With deps
      husky v4 4.3.8 53.5 kB ~1 mB
      husky v6 6.0.0 6.86 kB 6.86 kB
      pre-commit 1.2.2 ~80 kB ~850 kB
      simple-git-hooks 2.2.0 10.1 kB 10.1 kB

IDE

  • CodeTour 🗺️ - CodeTour is a Visual Studio Code extension, which allows you to record and play back guided walkthroughs of your codebases. It's like a table of contents, that can make it easier to onboard (or re-board!) to a new project/feature area, visualize bug reports, or understand the context of a code review/PR change. A "code tour" is simply a series of interactive steps, each of which are associated with a specific directory, or file/line, and include a description of the respective code. This allows developers to clone a repo, and then immediately start learning it, without needing to refer to a CONTRIBUTING.md file and/or rely on help from others. Tours can either be checked into a repo, to enable sharing with other contributors, or exported to a "tour file", which allows anyone to replay the same tour, without having to clone any code to do it!

Mock

Test

CDN

HTTP Client/Request

Compile & Pack

Webpack

Desktop Apps

  • tauri: Tauri is a framework for building tiny, blazing fast binaries for all major desktop platforms. Developers can integrate any front-end framework that compiles to HTML, JS and CSS for building their user interface. The backend of the application is a rust-sourced binary with an API that the front-end can interact with.

    The user interface in Tauri apps currently leverages Cocoa/WebKit on macOS, gtk-webkit2 on Linux and MSHTML (IE10/11) or Webkit via Edge on Windows. Tauri uses (and contributes to) the MIT licensed project that you can find at webview and the related webview organization.

Static Sites

Audio & Video

Video Player

Push Notifications

  • Push: is the fastest way to get up and running with Javascript desktop notifications. A fairly new addition to the official specification, the Notification API allows modern browsers such as Chrome, Safari, Firefox, and IE 9+ to push notifications to a user's desktop. Push acts as a cross-browser solution to this API, falling back to use older implementations if the user's browser does not support the new API.

Universal

Store

  • localForage: localForage is a fast and simple storage library for JavaScript. localForage improves the offline experience of your web app by using asynchronous storage (IndexedDB or WebSQL) with a simple, localStorage-like API.

    localForage uses localStorage in browsers with no IndexedDB or WebSQL support. See the wiki for detailed compatibility info.

  • 👍👍👍 Store.js: Cross-browser storage for all use cases, used across the web.

Web DB

Polyfill

Gestures

Screenshots

AR & VR

MindAR is a lightweight library for web augmented reality. Highlighted features include: ⭐ Support Image tracking and Face tracking

⭐ Written in pure javascript, end-to-end from the underlying computer vision engine to frontend

⭐ Utilize gpu (through webgl) and web worker for performance

⭐ Developer friendly. Easy to setup. With AFRAME extension, you can get your app starts with only 10 lines of codes

Regex

Figerprint

Validation

Boilerplate

Dropload

Game && Engine

Functional

Record and replay

Router

Math

  • mathjs: An extensive math library for JavaScript and Node.js

WebAssembly

Admin

Low Code

  • grapesjs: is a free and open source Web Builder Framework which helps building HTML templates, faster and easily, to be delivered in sites, newsletters or mobile apps. Mainly, GrapesJS was designed to be used inside a CMS to speed up the creation of dynamic templates.
  • luban-h5: Mobile Page Builder&Generator with Drag&Drop

Node

Framework

Midddleware

CLI

  • pkg - This command line interface enables you to package your Node.js project into an executable that can be run even on devices without Node.js installed.

  • ncc - Simple CLI for compiling a Node.js module into a single file, together with all its dependencies, gcc-style.

    Motivation

    • Publish minimal packages to npm
    • Only ship relevant app code to serverless environments
    • Don't waste time configuring bundlers
    • Generally faster bootup time and less I/O overhead
    • Compiled language-like experience (e.g.: go)

    Design goals

    • Zero configuration
    • TypeScript built-in
    • Only supports Node.js programs as input / output
    • Support all Node.js patterns and npm modules
  • cfonts - This is a silly little command line tool for sexy fonts in the console. Give your cli some love

Open Source Apps

  • MarkText - Next generation markdown editor: A simple and elegant open-source markdown editor that focused on speed and usability. Available for Linux, macOS and Windows.

  • Slidev: Presentation slides for developers 🧑‍💻👩‍💻👨‍💻

  • jsonvisio.com - JSON Visio is a tool that generates graph diagrams from JSON objects. These diagrams are much easier to navigate than the textual format and to make it even more convenient, the tool also allows you to search the nodes. Additionally, the generated diagrams can also be downloaded or clipboard as image.

    You can use the web version at jsonvisio.com or also run it locally as Docker container.

  • AFFiNE - The Next-Gen Knowledge Base to Replace Notion & Miro.

  • tldraw: a tiny little drawing app: Try it 👉 online

  • Lepton is a lean code snippet manager powered by GitHub Gist.

  • twenty - The #1 Open-Source CRM. We’ve spent thousands of hours grappling with traditional CRMs like Pipedrive and Salesforce to align them with our business needs, only to end up frustrated — customizations are complex and the closed ecosystems of these platforms can feel restrictive.

    We felt the need for a CRM platform that empowers rather than constrains. We believe the next great CRM will come from the open source community. And we’ve packed Twenty with powerful features to give you full control and help you run your business efficiently.

  • Fakeflix: a Netflix Clone built with React, Redux.

  • lotion - An open-source Notion UI built with Vue 3.

  • wappalyzer - Wappalyzer identifies technologies on websites, such as CMS, web frameworks, ecommerce platforms, JavaScript libraries, analytics tools and more.

  • microsoft/Clarity: is an open-source behavioral analytics library written in typescript, with two key goals: privacy & performance. It helps you understand how users view and use your website across all modern devices and browsers. Understanding how users navigate, interact and browse your website can provide new insights about your users. Empathizing with your users and seeing where features fail or succeed can help improve your product, grow revenue and improve user retention.

    It's the same code that powers Microsoft's hosted behavioral analytics solution: https://clarity.microsoft.com. If you would like to see a demo of how it works, checkout live demo.

    We encourage the community to join us in building the best behavioral analytics library, that puts privacy first and prioritizes performance.

  • chalk.ist - Create beautiful images of your source code

Contribution

Your contributions and suggestions are heartily welcome.

Thanks to all the people who already contributed!

License

CC0

Releases

No releases published

Packages

No packages published