cordova 美洽_现代JavaScript Web开发的大图,词典和分类法

Spellbook of Modern Web Dev

A Big Picture, Thesaurus, and Taxonomy of Modern JavaScript Web Development

This document originated from a bunch of most commonly used links and learning resources I sent to every new web developer on our full-stack web development team.

For each problem domain and each technology, I try my best to pick only one or a few links that are most important, typical, common or popular and not outdated, base on the clear trends, public data and empirical observation.

Prefer fine-grained classifications and deep hierarchies over featureless descriptions and distractive comments.

Ideally, each line is a unique category. The " / " symbol between the links means they are replaceable. The ", " symbol between the links means they are complementary.

I wish this document could be closer to a kind of knowledge graph or skill tree than a list or a collection.

It currently contains 2000+ links (projects, tools, plugins, services, articles, books, sites, etc.)

Feel free to submit the missing or better links in your opinion. Also, please provide the reason.

Table of Contents

Platforms and Languages

Open Web Platform

Learning, Reference, Visual Tools

Performance, Security, Semantics / SEO / Accessibility

HTML5 Features

HTML/DOM, Appearance, Interaction, Access, Network, Media, Graphics, Computing...

CSS Features

RWD, Layout, Typography, Text, Animation, Effects...

Next Generation CSS

CSS Module, PostCSS, CSS in JS

Best Practices (Skeleton, Methodology, Code Style...)

Know More about Web Design / UI Design / UX Design (RWD, Atomic Design, Motion Design, Grid System, Typography, Style Guide...)

Next Generation JS

ES6+ Features, Intro to ES6+, Re-intro to JS, Important Proposals, Functional Programming, FRP, Static Typing, Code Style...

Node.js

Intro, Workshop, Best Practices...

Platform Compatibility and Proposal Status

Platform Status / Releases / Updates, ECMAScript Compatibility

Proposal Status (W3C WG, WICG, WHATWG, ECMA TC39, Node.js CTC)

JS Engine (V8, JSC, Chakra), Web/JS Runtime (Electron, Cordova, React Native...), Device...

Cross-browser / Polyfill Libraries

Appearance, Interaction, Access, Network, Performance, Offline, Media...

npm Ecosystem

Finding Packages (Search, Stats, Rank)

Dependency Management / Release / Maintenance (npm, yarn, lerna, ncp...)

Convention (Open Source, SemVer, package.json, Small modules, Isomorphic JS / Universal JS...)

Universal Utility Libraries

Standard Library Extensions (FP, OOP, Async...)

Hashing / Generating

Parsing / Manipulating (URL, Validator, i18n, Date, Numbers, Color, Text, Buffer / Blob...)

Logic, Network, Storage, NLP, ML...

Universal Web Apps / Web Pages

GUI Framework

View / ViewModel / ViewController (React)

Model / App State (Redux)

API (GraphQL)

GUI Architectures (MVC, MVP, PM, MVVM, Flux, Redux, Elm, MVI, SAM...)

UI Toolkits

CSS, React...

Standalone UI Components

Layout, Icon, Button, Form, Overlay, Picker, Content, Editor...

Client Side

UX Libraries

Drag & Drop, Gesture, Scrolling, Zoom, Tooltip, Tour...

Graphic Libraries

Animation (Effects, Loading, Scrolling, Parallax, Transition, Timeline, Motion / Curved Path...)

2D (Canvas, SVG, Physics...), 3D (WebGL, Physics...)

Data Visualization, Game...

Hybrid Libraries

Electron, React Native

Server Side

Network

HTTP (Intro, Same-origin policy, Performance, HTTPS, HTTP/2, gRPC...)

TCP, UDP...

Server-side Best Practices

Restful API, SaaS, Microservices (API Gateway, Serverless)

Cloud / Distributed, Web Hosting / Non-distributed

Authentication / Authorization, Security, Logging / Monitoring, DevOps...

Microservices / API Services (Node.js)

Frameworks (RESTful API, Microservices, Serverless, Bots...), GraphQL, DocGen + CodeGen...

Server-side Libraries (Node.js)

Configuration, Debugging, Protocols, Network, Crypto, Auth, Storage, Jobs, Scraping, Images, Parsing / Generating, NLP...

Cloud Services (Global)

Compute (FaaS / Serverless / WebHook, PaaS, CaaS)

Storage (Object Storage, DBaaS)

BaaS (CRUD, Auth, Search, Email, SMS...)

AIaaS / BDaaS (Natural Language, Computer Vision...)

Cloud Services (China)

The evil twins inside the Great Firewall of China

Tooling

Testing

Unit Testing / Test Runner, Test Doubles

Web Testing (Integration Testing, Functional Testing, Visual testing, Monkey Testing, Headless Browsers)

Server-side Testing (Functional Testing, Load Testing)

Benchmark Testing

Analysis (Code Coverage, Node.js Security...)

Documentation

JS, API, CLI, CSS / Style Guide, Writing

Toolchain

Compiler / Transpiler / Preprocessor (Babel, PostCSS...)

Loader / Builder / Bundler (Webpack, Rollup...)

Minifier / Compressor / Optimizer (Prepack, Babili / Uglify, imagemin, cssnano / clean-css...)

Formatter (Prettier, Stylefmt...)

Static Analysis (ESLint, Flow, StyleLint...)

Task Automation (npm scripts, Gulp...)

Workflow

Development (Micro Generator, Live Reload / Watch / Preview, Dev Tools, HTTP Inspector, Debugging Proxy...)

Deployment (Process Supervisor, Containers, Container Clusters, PaaS)

Monitoring (Error Tracking, Logging, APM...)

Command-line Environment (Mac)

Terminal, Homebrew, Zsh, Vim, Git, Docker, dotfiles, Utilities...

Command-line Libraries (Node.js)

Input (Options/Arguments Parser, Interactive, Configuration...)

Output (Color / Style, Icon, Updating Log, Notice, Columns, Curses, Drawing...)

Delivery, OS, API, Parser...

IDE / Editors

Atom Plugins (UI, Formating, Operating, Static Analysis, Docs, Assistant, Integration...)

Out-of-the-box Atom IDE, Other Electron-based IDE, Programming Fonts...

Useful Apps

Playground, Visual Tools, Viewer, Docs, Automation...

Collaboration

Version Control, ChatOps, Kanban, Markdown, Design...

A Subset as a Learning Path

A Subset for Finding Libraries

A Subset for Architecture and Infrastructure

Platforms and Languages

Open Web Platform

HTML5 Features

CSS Features

Next Generation CSS

Next Generation JS

Node.js

Platform Compatibility and Proposal Status

Cross-browser / Polyfill Libraries

Access

Web Notifications API - Push.js / Notify.js

Fullscreen API - Screenfull

Page Visibility API - Visibility.js

Performance

document-write - PostScribe

User Timing API - marky

Offline

Service Work - sw-toolbox

File / FileReader API

IndexedDB

LocalStorage API - localForage

Media

- Video.js

Web Audio API - Waud.js, Tone.js

npm Ecosystem

Universal Utility Libraries

Parsing / Manipulating

URL

URL Parsing - qs, URI.js

IP Address Manipulation - ip

Validator

String Validation - validator.js

Schema Validation - joi / Ajv

Date

Date Manipulation - Moment.js

Buffer / Blob

Size Detection - probe-image-size

Image Manipulation - jimp

Image Crop - Smartcrop.js

QR Code / Barcode - qrcode / jsbarcode

Logic

Network

HTTP / XHR

High-level -Axios / Hifetch (author's own project)

GraphQL - lokka

Storage

File Database

JSON - Lowdb

IndexedDB / WebSQL / localStorage / Memory

MongoDB API - NeDB

CouchDB API - PouchDB

Realtime / P2P - Gun, ShareDB

Universal Web Apps / Web Pages

GUI Framework

UI Toolkits

Standalone UI Components

Client Side

UX Libraries

Graphic Libraries

Hybrid Libraries

Server Side

Network

Server-side Best Practices

Microservices / API Services (Node.js)

Server-side Libraries (Node.js)

Storage

NOSQL

Redis Client - ioredis

MongoDB ORM - Mongooose

DynamoDB ORM - vogels

HBase Client - hbase

RDS

RDS ORM - Sequelize

SQL Builder - Knex.js

Scraping

HTML Traversing - cheerio, jsdom

Extract Metadata - url-unshort / embedza

Headless Browsers - see Tooling > Testing > Web Testing > Headless Browsers

Images

Canvas / WebGL API - node-canvas / gl

Image Manipulation - gm / sharp

Capture Screenshots - pageres

QR Code / Barcode - qr-image

Computer Vision - tracking.js / opencv

Parsing / Generating

Cloud Services (Global)

Cloud Services (China)

The evil twins inside the Great Firewall of China

Tooling

Testing

Documentation

Toolchain

Workflow

Command-line Environment (Mac)

Command-line Libraries (Node.js)

Input

Options/Arguments Parser - minimist / commander / yargs

Interactive - inquirer

Rapidly Building - cli / vorpal

Configuration - Liftoff

Output

Delivery

Reporting Usage - insight

Self-contained Executable - pkg

Framework

Generator - Yeoman

OS

Shell Commands - ShellJS

Filesystem

Wildcard Matching - glob / globby, matcher

Virtual Filesystem - vinyl

Temporary File - tmp

IDE / Editors

Useful Apps

Collaboration

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值