- 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.
- What I'm doing in this document now is trying to provide the complete view angle of modern web (app or page) development ruled by JavaScript, reflect technological advance and help developers to acquire APIs, libraries, tools, services, best practices and learning resource which are not outdated and most commonly used.
- I hope this document can help one developer to have more power to do much more and much better, just like a spellbook does in fantasy worlds.
- The JS/web technology is like an ocean of stuff you don’t know. Simply collecting more stuff or composing dozens of "awesome lists" into a single one will only exacerbate the Javascript Fatigue. So this document must stay lean and focus on the most frequent problems and the most commonly used stuff.
- So for each problem domain and each technology, I try my best to pick only one or a few links.
- Which link belongs to "not outdated and most commonly used stuff" is not only decided by clear trends, empirical observation, and working experience, also by public data and web scraping scripts.
- The npm package statistics (like download count) are given more weight than Github repo statistics (like starring data) because npm statistics can better reflect the actual usage and popularity.
- 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.
- Why not add a Europe (or other regions) section? Why not add your project? Why so many React-based projects? Why not Angular/Vue.js/XXX?
- 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...
- Open Web Platform
- 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...
- GUI Framework
- 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
- UX Libraries
- 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
- Network
- 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...
- Testing
A Subset as a Learning Path
- Open Web Platform
- HTML5 Features
- CSS Features
- Next Generation CSS
- Next Generation JS
- Platform Compatibility and Proposal Status
- Network
- Node.js
- npm Ecosystem
- Command-line Environment (Mac)
- IDE / Editors
- GUI Framework
- Microservices / API Services (Node.js)
- Testing
A Subset for Finding Libraries
- Cross-browser / Polyfill Libraries
- Hybrid Libraries
- GUI Framework
- UI Toolkits
- Standalone UI Components
- UX Libraries
- Graphic Libraries
- Universal Utility Libraries
- Microservices / API Services (Node.js)
- Server-side Libraries (Node.js)
- Command-line Libraries (Node.js)
A Subset for Architecture and Infrastructure
- GUI Framework
- Toolchain
- Workflow
- Microservices / API Services (Node.js)
- Server-side Best Practices
- Cloud Services (Global) / Cloud Services (China)
- Documentation
- Learning
- Reference
- Visual Tools
- see Tooling > Useful Apps > Visual Tools
- Performance
- Security
- Semantics / SEO / Accessibility
>> Return to Table of Contents
- HTML / DOM
- Appearance
- Interaction
- Desktop
- Mobile
- Hardware Agnostic
- Gamepad, Web Speech
- Access
- Network
- Offline
- Overview
- Web Storage, IndexedDB
- FileReader, File, Blob
- Service Worker
- Progressive Web Apps
- Media
- Graphics
- SVG
- Canvas
- WebGL
- WebVR
- Status - WebVR Rocks
- Workshop - Codelabs - Building for Virtual Reality on the Web
- Computing
>> Return to Table of Contents
- Basics
- Responsive Web Design
- Intro - see Platforms and Languages > Next Generation CSS > Know More about Web Design
- Media Queries
- Images
- Units
- Layout
- Web Typography
- Text
- Animation
- CSS Transition
- CSS Animation
- Motion Path
- Effects
>> Return to Table of Contents
- CSS Modules
- The End of Global CSS
- Tools - see Tooling > Toolchain > Builder / Bundler > Webpack
- PostCSS
- Intro
- CSSNext
- More Plugins - see Tooling > Toolchain > Compiler / Transpiler / Preprocessor > PostCSS
- CSS in JS
- Best Practices
- Skeleton.css / Normalize.css / Reset.css
- Methodology
- Code Style
- Know More about Web Design / UI Design / UX Design
- Responsive/Adaptive Web Design
- Atomic Design (Book)
- Motion Design
- Grid System - A Comprehensive Introduction to Grids in Web Design
- calc() grid system - Lost Grid
- flexbox grid system - Flexbox Grid
- The 8-Point Grid
- Typography
- Style Guide
- Style Guide Driven Development / Living Style Guides
- Tools - see Tooling > Documentation > Style Guide
- Reference
- Apple's Human Interface Guidelines
- Google's Material Design
- Microsoft's Fluent Design System
- Airbnb's new design system
- Github's Primer
- Atlassian's Design Guidelines
- Salesforce's Lightning Design System
- Yelp's Styleguide
- IBM's Living Language
- BBC's GEL Guidelines
- A List Apart's pattern library
- USA.gov's Web Design Standards
- MailChimp's Email Design Guide
>> Return to Table of Contents
- ES6+ Features
- Intro to ES6+
- Re-intro to JS
- Articles
- MDN
- Dmitry Soshnikov
- JavaScript. The Core
- ECMA-262-3 in detail
- ECMA-262-5 in detail
- Properties and Property Descriptors, Strict Mode
- Lexical environments: Common Theory, ECMAScript implementation
- Notes
- Dmitri Pavlutin
- Other
- Books
- Articles
- Reference
- Important Proposals
- Functional Programming
- FRP (Functional Reactive Programming)
- Static Typing
- Code Style
>> Return to Table of Contents
- Intro
- The Art of Node
- You Don’t Know Node
- RisingStack's / NodeSource's Understanding the Node.js Event Loop
- Node.js Garbage Collection Explained
- Stream Handbook
- Keeping the Node.js core small
- Debugging Node.js with Google Chrome
- Workshop
- Best Practices
>> Return to Table of Contents
- Web
- Platform Status
- Platform Releases
- Platform Updates
- Writing forward-compatible websites
- Polyfill - What is a Polyfill?
- Feature Detection - Modernizr/feature-detects, feature.js
- Browser/Device/Runtime Detection - see Platforms and Languages > Universal Utility Libraries > Parsing / Manipulating
- Graded Browser Support - Grade components, not browsers
- ECMAScript
- ECMAScript compatibility table
- Node.js ES2015 Support
- Node 8.x - V8 5.9, Ignition + Turbofan launched
- Node 8.0 LTS - V8 5.8, Five New Features You Need To Know
- Node 7.6 - V8 5.5, Async functions
- Node 6.0 LTS - V8 5.0, 93% of ES6 language features
- Performance - Six Speed
- Proposal Status
- W3C WG (World Wide Web Consortium Working Groups)
- WICG (Web Incubator Community Group)
- WHATWG (Web Hypertext Application Technology Working Group)
- ECMA TC39 (Ecma International Technical Committee 39)
- Node.js CTC (Node.js Core Technical Committee)
- JS Engine
- A Guide to JavaScript Engines for Idiots
- V8
- JSC
- Chakra
- Benchmarks
- Web Runtime / JS Runtime
- Electron
- Tutorials - Essential Electron
- Cordova
- Platform Support
- Top Mistakes by Developers new to Cordova/Phonegap
- Curated Plugins - Awesome Cordova Plugins, Telerik Verified Plugins
- Finding Plugins - plugreg / Plugin Search
- React Native / NativeScript / Weex
- Electron
- Device
>> Return to Table of Contents
- Appearance
- Responsive Web Design
- Media Queries - Enquire.js
- Responsive Image - Picturefill
- Viewport Units Buggyfill
- Web Typography
@font-face
- Font Face Observer
- Web Animation API
- Web Components
- Responsive Web Design
- Interaction
- Keyboard - Mousetrap
scroll-behavior: smooth;
- Smoothscroll Polyfill- PointerEvent - PEP / React Pointable
- ResizeObserver Polyfill
- Access
- Web Notifications API - Push.js / Notify.js
- Clipboard API - Clipboard.js / copy-to-clipboard
- Fullscreen API - Screenfull
- Page Visibility API - Visibility.js
<iframe>
- iframe-resizer
- Network
- XHR - window.fetch Polyfill
- Server-Sent Events - EventSource Polyfill
- WebSocket - Socket.IO-client / Engine.IO-client / SockJS-client
- Performance
document-write
- PostScribe- User Timing API - marky
- Offline
- Service Work - sw-toolbox
- File / FileReader API
- IndexedDB
- LocalStorage API - localForage
- Media
>> Return to Table of Contents
- npm
- Finding Packages
- Search
- Stats
- Rank
- Dependency Management / Release / Maintenance
- Convention
- Open Source
- SemVer
- package.json
- Small Modules
- Isomorphic JS / Universal JS
>> Return to Table of Contents
- Standard Library Extensions
- Utilities
- FP
- Ramda
- Immutable
- Lightweight Alternative - object-path-immutable / dot-prop-immutable
- OOP
- Async
- Syntax
- Node.js API
- Debugging
- Hashing / Generating
- Parsing / Manipulating
- URL
- Environment
- UA Sniffing - UAParser.js / useragent
- Information - platform.js
- Runtime Detection - is-electron-renderer / electron-is
- Validator
- String Validation - validator.js
- Schema Validation - joi / Ajv
- i18n
- Date
- Date Manipulation - Moment.js
- Numbers
- Number Manipulation - Numeral.js
- Money - accounting.js
- Computation - Math.js, Simple Statistics, ndarray
- Color
- Color Manipulation - Chroma.js, Chromatism, randomColor
- Color Extraction - node-vibrant / Colorify.js
- Text
- Text Manipulation - Voca.js / string.js
- Characters - string-width, string-length
- HTML Entities - he
- Human-readable Slug - speakingurl
- XSS Sanitizer - DOMPurify / xss
- HTTP - mime-types, content-type
- JSON Superset - serialize-javascript, JSON5
- Markdown - marked / markdown-it
- Links Recognition - linkify-it
- Language Detection - franc
- Text Differencing - diff
- Search - Fuse.js / fuzzysearch / Lunr.js / js-worker-search, regexgen / escape-string-regexp
- DSL Paser - PEG.js / nearley
- Buffer / Blob
- Type Detection - file-type, image-type
- Size Detection - probe-image-size
- Image Manipulation - jimp
- Image Crop - Smartcrop.js
- QR Code / Barcode - qrcode / jsbarcode
- Logic
- Rate Limiter - Bottleneck / Limiter
- Network
- HTTP / XHR
- Low-level - Isomorphic Fetch
- High-level -Axios
- GraphQL - lokka
- TCP
- UDP / P2P
- HTTP / XHR
- Storage
- NLP
- ML
>> Return to Table of Contents
- View / ViewModel / ViewController
- React
- Learning
- Pete Hunt's react-howto
- React - Basic Theoretical Concepts
- SurviveJS React
- React Cheat Sheet
- Best Practices
- Next Gen - React Fiber Architecture
- Component Utilities
- Browser Utilities
- Use React Alone
- Lightweight Alternative
- Learning
- Angular
- Vue.js
- React
- Model / App State
- API
- GraphQL
- Learning
- Learn GraphQL
- Queries and Mutations
- Playground - GraphQLHub
- React Apollo, Learn Apollo
- Learning
- GraphQL
- Offline First
- Routing
- i18n
- Monitoring
- React GA
- Redux Raven Middleware
- Redux Segment
- Services - see Tooling > Workflow > Monitoring
- Debugging
- Server-side Rendering
- see Tooling > Workflow > Deployment > Publishing App
- Static Web
- Defining Static Web Apps
- JAMstack
- see Tooling > Workflow > Deployment > Publishing App
- Scaffold / Boilerplate / Generator
- create-react-app / angular-cli / vue-cli
- react-starter-kit / react-boilerplate
- JavaScript Stack from Scratch
- Static Site Generator - Gatsby / Metalsmith / Hexo / Assemble
- GUI Architectures
- Comparison
- Patterns For Large-Scale JavaScript Application Architecture
- MVC - A, B, C
- Understanding MVC And MVP (For JavaScript And Backbone Developers)
- Understanding MVVM - A Guide For JavaScript Developers
- Flux Concepts
- Redux - Reinventing Flux - Interview with Dan Abramov
- The Elm Architecture
- MVI (Model-View-Intent) in Cycle.js
- SAM (State-Action-Model)
>> Return to Table of Contents
- CSS
- React
>> Return to Table of Contents
- Layout
- Grid - React FlexBox Grid
- Masonry - React Masonry Component / masonry-layout / bricks.js / Justified Layout
- Split - React Split Pane / Split.js
- Dashboard - React Grid Layout
- Icon
- Progress
- Button
- Buttons
- Indicators - React Ladda / Ladda / React Progress Button
- Accordion
- Picker
- Input
- Form
- Overlay
- Content
- Carousel - React Slick / Nuka Carousel
- React Paginate
- React Rating
- List / Table - React Virtualized / React Table / React List
- Spreadsheet - React Data Grid / React Handsontable / React Datasheet
- TreeView - React TreeView / React Treebeard
- JSON Viewer - React JSON Tree
- React QR Code
- Email Table - Oy Vey
- Editor
- Widget
>> Return to Table of Contents
- Drag & Drop
- Gesture
- Scrolling
- Viewport and Elements
- React Pull to Refresh
- Smooth Scrolling - React Scroll
- Scrollable - React iScroll / iScroll / Zynga Scroller
- Scrollable Container - React Custom Scrollbars / React Scroll Box / React Scrollbar / Overthrow
- Zoom
- Image Loupe - Drift / React Image Magnify
- Image Viewer - React Images / React Image Lightbox / LightGallery / SmartPhoto
- Crop
- Resize
- Tooltip
- Tour
- Accessiblity
>> Return to Table of Contents
- Animation
- Effects
- Easing
- Scrolling
- Parallax
- Scrolling - Rellax / React Springy Parallax
- Orientation - Parallax
- FLIP
- Characters
- Keyframe / Transition
- Style
- Anything
- Anime.js / React Anime
- Between Shapes - flubber
- Lightweight Tweening Engine - shifty / tween.js
- GSAP - TweenLite, GSAP - TweenMax
- Keyframe + Timeline
- Motion / Curved Path
- Shape - mo-js
- SVG - Vivus
- Ant Motion
- 2D
- Canvas
- Pixi.js / Fabric.js / React Konva
- Isometric - obelisk.js
- Creative - p5.js
- Fonts - opentype.js
- SVG
- Physics
- Canvas
- 3D
- WebGL
- Physics
- Data Visualization
- React Sparklines / React Trend / vx
- Recharts / Victory
- ECharts / Highcharts (Commercial) / React Highcharts / Google Charts / React Google Charts
- Plotly.js
- AntV G2
- Chart.js / React ChartJS / Chartist.js
- Graph - Cytoscape.js, AntV G6
- Timesheet.js, Canvas Gauges
- GIS - Leaflet, Turf.js, OpenLayers, Cesium
- D3.js
- Word Cloud - d3-cloud
- Constraint - d3-force / cola.js
- Awesome D3
- Game
>> Return to Table of Contents
- Electron
- Persistence
- UI
- Interaction
- Debug
- React Native
- UI Toolkits
- Standalone UI Components
- UX
- Access
- Graphic
- Media
- Storage
>> Return to Table of Contents
- HTTP
- Intro
- Reference
- Same-origin policy
- HTTP access control (CORS) / Using CORS
- Content Security Policy (CSP) - Google / Mozilla
- Performance
- HTTPS
- HTTP/2
- gRPC
- TCP
- UDP
>> Return to Table of Contents
- SaaS
- Restful API
- Microservices
- A pattern language for microservices
- Microservice Architecture, Monolithic Architecture
- Decompose by business capability, subdomain
- Service instance per container, Service deployment platform
- Externalized configuration, Microservice chassis
- Service discovery (Server-side, Client-side), Service registry, Remote Procedure Invocation
- Database per service, Shared database
- Microservices: From Design to Deployment
- Microservices Resource Guide
- API Gateway
- Serverless
- Pattern: Serverless deployment
- Microservices without the Servers
- The Next Layer of Abstraction in Cloud Computing is Serverless
- The essential guide to serverless technologies and architectures,
An essential guide to the serverless ecosystem - Serverless Architecture: Five Design Patterns,
Serverless Code Patterns
- A pattern language for microservices
- Cloud / Distributed
- Architecture
- AWS Well-Architected
- Azure's Cloud Fundamentals - Architecture styles, Pillars of software quality, Design principles
- Static
- Queue / Jobs
- Decompose
- Configuration
- Storage / Querying
- Resiliency / Availability
- Multitenant
- Architecture
- Old-fashioned Web Hosting / Non-distributed
- Authentication / Authorization
- Security
- Logging / Monitoring
- DevOps
- Deployments Best Practices
- Start your DevOps journey
- The Practical DevOps Playbook
- Tools - see Tooling > Workflow > Deployment > DevOps
>> Return to Table of Contents
- Frameworks
- GraphQL
- DocGen + CodeGen
- API Blueprint / Swagger / RAML
- Parser - Protagonist / Drafter
- Renderer - Aglio
- Validator - Dredd
- Parser - Protagonist / Drafter
- JSON Schema
- See Tooling > Documentation
- API Blueprint / Swagger / RAML
- Scaffold / Boilerplate / Generator
>> Return to Table of Contents
- Configuration
- Debugging
- Protocols
- Network
- WebSocket - ws / Socket.IO / Engine.IO / SockJS-node
- Server-Sent Event - faye-websocket
- HTTP/2 - spdy
- gRPC - grpc
- AMQP - amqplib
- download
- Email - Nodemailer
- Email HTML - mailgen
- Crypto
- Auth
- JWT - jsonwebtoken
- passwordless
- oauth
- OAuth Providers - hello.js / grant
- Storage
- Jobs
- Parallel - webworker-threads
- Queue - kue / bull
- Scheduler - node-schedule
- Scraping
- HTML Traversing - cheerio, jsdom
- HTML Parsing - parse5 / htmlparser2
- Extract Article - read-art / node-readability
- Extract Metadata - url-unshort / embedza
- Web Crawler - simplecrawler / x-ray / scrape-it
- 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
- NLP
>> Return to Table of Contents
- Compute
- FaaS / Serverless / WebHook
- PaaS
- See Tooling > Workflow > Deployment > DevOps > PaaS
- CaaS
- Storage
- Object Storage
- DBaaS
- In-Memory Key-Value NoSQL - Amazon ElastiCache
- Redis - Compose / Redise Cloud / Heroku Redis
- Document NoSQL - Amazon DynamoDB / Google Cloud Datastore
- MongoDB - Compose / mLab / MongoDB Atlas
- CouchDB - Couchbase / Cloudant
- Wide Column NoSQL - Google Bigtable
- SQL - Amazon RDS / Google Cloud SQL
- PostgreSQL - Compose / Heroku Postgres
- MySQL - Compose
- NewSQL - Google Cloud Spanner
- Queue - Amazon SQS / Amazon Kinesis / Google Cloud Pub/Sub
- Kafka - Heroku Kafka
- RabbitMQ - Compose
- Analytics - Amazon CloudSearch
- Elasticsearch - Amazon Elasticsearch Service / Elastic Cloud / Bonsai
- Warehouse - Amazon Redshift / Google BigQuery
- In-Memory Key-Value NoSQL - Amazon ElastiCache
- BaaS
- CRUD
- Realtime
- GraphQL
- CMS
- Auth
- Auth0 / Amazon Cognito / Firebase Authentication
- OAuth.io
- CAPTCHA
- Search - Algolia
- Email - SendGrid / Mailgun / Mandrill / Amazon SES
- SMS - Nexmo / Twilio / Amazon SNS
- Payment - Stripe
- Maps - Mapbox
- Customer Support - Intercom / Zendesk
- IM - Discord
- Form - Typeform.io / Form.io
- CRUD
- AIaaS / BDaaS
- Natural Language
- NLP - Google Natural Language API
- Speech Recognition / Speech Synthesis
- Translation - Google Cloud Translation API
- Computer Vision
- Natural Language
>> Return to Table of Contents
The evil twins inside the Great Firewall of China
- Compute
- FaaS / Serverless / WebHook
- PaaS
- See Tooling > Workflow > Deployment > DevOps > PaaS
- CaaS
- Storage
- Object Storage
- DBaaS
- In-Memory Key-Value NoSQL
- Redis - 阿里云-云数据库 Redis 版 / 腾讯云-云存储 Redis
- Document NoSQL
- MongoDB - 阿里云-云数据库 MongoDB版 / 腾讯云-文档数据库 MongoDB
- Wide Column NoSQL - 阿里云-表格存储 OTS
- HBase - 阿里云-云数据库 HBase 版 / 腾讯云-列式数据库 HBase
- SQL
- PostgreSQL - 阿里云-云数据库 PostgreSQL 版 / 腾讯云-云数据库 CDB for PostgreSQL
- MySQL - 阿里云-云数据库 MySQL 版 / 腾讯云-云数据库 CDB for MySQL
- Queue - 阿里云-消息服务 MNS / 腾讯云-消息服务 CMQ
- Kafka - 腾讯云-消息服务 CKAFKA
- Analytics - 阿里云-开放搜索 OpenSearch / 腾讯云搜 TCS
- Warehouse - 阿里云-MaxCompute (ODPS) / 腾讯云-大数据处理套件TBDS
- In-Memory Key-Value NoSQL
- BaaS
- AIaaS / BDaaS
- Natural Language
- NLP
- Speech Recognition / Speech Synthesis
- Translation - 腾讯云-机器翻译
- Computer Vision
- Graphs / Networks / Clusters
- Persona
- Natural Language
>> Return to Table of Contents
- Unit Testing / Test Runner
- Web Testing
- Integration Testing
- Functional Testing
- Headless Browser Automation - Selenium WebDriverJS / WebDriverIO / Nightwatch.js / Nightmare / CasperJS
- Cloud - BrowserStack Automate / Sauce Labs
- Visual Testing
- Monkey Testing
- Headless Browsers
- Browsers
- Chromium - Headless Chrome/Chromium
- Chromium + Node.js - electron-prebuilt
- WebKit - PhantomJS
- Gecko - SlimerJS
- In-memory X11 Display Server
- Docker
- Browsers
- Server-side Testing
- Benchmark Testing
- JS
- Network
- Test Doubles (Fakes, Mocks, Stubs and Spies)
- Fake Data
- HTTP Mocking - Nock
- Monkey Patching - Mockery, babel-plugin-rewire
- SinonJS / testdouble.js
- Analysis
- Code Coverage
- Software Complexity
- Node.js Security
- Web Page
>> Return to Table of Contents
- JS
- API
- CLI
- CSS / Style Guide
- Writing
>> Return to Table of Contents
- Compiler / Transpiler / Preprocessor
- Babel
- Setting up ES6
- Babel User Handbook, Babel Plugin Handbook
- Presets
- Plugins
- Proposals
- Shims - Runtime Transform / Polyfill
- async/await - fast-async (NoDent)
- Stage 3, Stage 2, Stage 1, Stage 0
- Shims - Runtime Transform / Polyfill
- Node.js
- React
- Libraries
- Optimization
- Proposals
- TypeScript
- PostCSS
- Standards
- Utilities
- Assets
- Syntax
- node-sass
- PostHTML
- Babel
- Loader / Builder / Bundler
- Formatter
- Static Analysis
- Minifier / Compressor / Optimizer
- Task Automation
- npm-run-script, npm-scripts
- task automation with npm run,
How to Use npm as a Build Tool - Git Hooks - Husky
- Environment Variables - env-cmd, cross-env
- get-port, public-ip
- task automation with npm run,
- Gulp
- npm-run-script, npm-scripts
>> Return to Table of Contents
- Development
- Micro Generator
- Live Reload / Watch / Preview
- webpack Dev Server
- React Hot Loader 3
- Browsersync
- Electron - Electron Connect
- React Native - Expo
- Node.js - nodemon
- Dev Tools
- Chrome DevTools
- Console - Console API, Command Line API
- Third-party Panels
- Reactotron
- Electron - Devtron
- Chrome DevTools
- HTTP Inspector
- Debugging Proxy
- Deployment
- Publishing App
- Server-side Rendering
- Static Web
- Dynamic Routing + CDN
- Object Storage + CDN
- Packaged App
- DevOps
- Process Supervisor
- Containers
- Container Clusters
- PaaS
- Global
- China
- LeanCloud-云引擎 (云函数, 网站托管) - lean-cli
- Publishing App
- Monitoring
- Error Tracking
- Logging
- Global
- China
- APM (Application Performance Management)
- Global
- China
- OneAPM / 听云
- 腾讯云-云拨测 CAT / 百度云观测
- alinode
>> Return to Table of Contents
- Intro
- Terminal
- Package Manager
- Shell
- Oh My Zsh
- Zsh Plugins
- Vim
- Git
- Docker for Mac
- dotfiles
- Utilities
>> Return to Table of Contents
- Input
- Output
- Delivery
- update-notifier
- Reporting Usage - insight
- Self-contained Executable - pkg
- Framework
- Generator - Yeoman
- OS
- Shell Commands - ShellJS
- Filesystem
- Local
- API
- Git - simple-git / nodegit
- Docker - dockerode
- SSH - ssh2
- Parser
>> Return to Table of Contents
- Atom Plugins
- UI
- Formating
- Operating
- Static Analysis
- Docs
- Assistant
- Integration
- Out-of-the-box Atom IDE
- Other Electron-based IDE
- WebStorm
- Programming Fonts
>> Return to Table of Contents
- Playground
- CodePen / WebpackBin
- CDN for npm - unpkg
- RunKit
- RequestBin
- jsPerf
- Apollo Launchpad
- GLSL Sandbox
- CodePen / WebpackBin
- Visual Tools
- Performance
- CSS
- cssreference.io
- EnjoyCSS
- Easing - cubic-bezier / Ceaser CSS Easing Animation Tool / Custom easing functions / Easing functions
- Flexbox - Fibonacci Flexbox Composer / CSS Flexbox Please! / Flexy Boxes / Flexbox Playground / flexplorer
- Animation - CSS3 Keyframes Animation Generator / Mantra / Bounce.js
- Gradient - Ultimate CSS Gradient Generator
- Quantity Queries Builder
- Shapes - CSS triangle generator, Tridiv CSS 3D Editor
- HTML Table Generator
- JS
- Viewer
- Docs
- Automation
>> Return to Table of Contents
- Version Control
- ChatOps
- Kanban
- What is Kanban? - A, B
- Getting Started With Trello
- Github Project Boards
- Markdown
- Design
>> Return to Table of Contents