My open source work is supported by the community
Special thanks to:and avoiding access controls. Keep your team and servers in sync with Doppler.
Add Single Sign-On (and more) in minutes instead of months.
exclusively on supporting early-stage COSS (commercial open source) startup founders.
environments for all your branches. As a result team members can instantly start coding with fresh dev environments
for each new task - no matter if you are building a new feature, want to fix a bug, or work on a code review.
Just type node.cool to go here. Follow me on Twitter.
Node.js is an open-source, cross-platform, JavaScript runtime for writing servers and command-line tools.
Contents
- Official
- Packages
- Mad science
- Command-line apps
- Functional programming
- HTTP
- Debugging / Profiling
- Logging
- Command-line utilities
- Build tools
- Hardware
- Templating
- Web frameworks
- Documentation
- Filesystem
- Control flow
- Streams
- Real-time
- Image
- Text
- Number
- Math
- Date
- URL
- Data validation
- Parsing
- Humanize
- Compression
- Network
- Database
- Testing
- Security
- Benchmarking
- Minifiers
- Authentication
- Authorization
- Job queues
- Node.js management
- Natural language processing
- Process management
- Automation
- AST
- Static site generators
- Content management systems
- Forum
- Blogging
- Weird
- Serialization
- Miscellaneous
- Resources
- Related lists
Official
Packages
Mad science
- webtorrent - Streaming torrent client for Node.js and the browser.
- peerflix - Streaming torrent client.
- ipfs - Distributed file system that seeks to connect all computing devices with the same system of files.
- stackgl - Open software ecosystem for WebGL, built on top of browserify and npm.
- peerwiki - All of Wikipedia on BitTorrent.
- peercast - Stream a torrent video to Chromecast.
- BitcoinJS - Clean, readable, proven Bitcoin library.
- Bitcore - Pure and powerful Bitcoin library.
- PDFKit - PDF generation library.
- turf - Modular geospatial processing and analysis engine.
- webcat - p2p pipe across the web using WebRTC that uses your GitHub private/public key for authentication.
- NodeOS - The first operating system powered by npm.
- YodaOS - AI operating system.
- Brain.js - Machine-learning framework.
- Pipcook - Front-end algorithm framework to create a machine learning pipeline.
- Cytoscape.js - Graph theory (a.k.a. network) modeling and analysis.
- js-git - JavaScript implementation of Git.
- xlsx - Pure JS Excel spreadsheet reader and writer.
- isomorphic-git - Pure JavaScript implementation of Git.
Command-line apps
- np - Better
npm publish. - npm-name - Check a package name's availability on npm.
- gh-home - Open the GitHub page of the repo in the current directory.
- npm-home - Open the npm page of a package.
- trash - Safer alternative to
rm. - speed-test - Test your internet connection speed and ping.
- pageres - Capture website screenshots.
- cpy - Copy files.
- vtop - More better top, with nice charts.
- empty-trash - Empty the trash.
- is-up - Check whether a website is up or down.
- is-online - Check if the internet connection is up.
- public-ip - Get your public IP address.
- clipboard-cli - Copy & paste on the terminal.
- XO - Enforce strict code style using the JavaScript happiness style.
- ESLint - The pluggable linting utility for JavaScript.
- David - Tells you when your package npm dependencies are out of date.
- http-server - Simple, zero-config command-line HTTP server.
- Live Server - Development HTTP-server with livereload capability.
- bcat - Pipe command output to web browsers.
- normit - Google Translate with speech synthesis in your terminal.
- fkill - Fabulously kill processes. Cross-platform.
- pjs - Pipeable JavaScript. Quickly filter, map, and reduce from the terminal.
- license-checker - Check licenses of your app's dependencies.
- browser-run - Easily run code in a browser environment.
- tmpin - Adds stdin support to any CLI app that accepts file input.
- wifi-password - Get the current wifi password.
- wallpaper - Change the desktop wallpaper.
- pen - Live Markdown preview in the browser from your favorite editor.
- dark-mode - Toggle the macOS Dark Mode.
- Jsome - Pretty prints JSON with configurable colors and indentation.
- mobicon - Mobile app icon generator.
- mobisplash - Mobile app splash screen generator.
- diff2html-cli - Pretty git diff to HTML generator.
- trymodule - Try out npm packages in the terminal.
- jscpd - Copy/paste detector for source code.
- atmo - Server-side API mocking.
- auto-install - Auto installs dependencies as you code.
- lessmd - Markdown in the terminal.
- cost-of-modules - Find out which dependencies are slowing you down.
- localtunnel - Expose your localhost to the world.
- svg-term-cli - Share terminal sessions via SVG.
- gtop - System monitoring dashboard for the terminal.
- themer - Generate themes for your editor, terminal, wallpaper, Slack, and more.
- carbon-now-cli - Beautiful images of your code — from right inside your terminal.
- cash-cli - Convert between 170 currencies.
- taskbook - Tasks, boards & notes for the command-line habitat.
- discharge - Easily deploy static websites to Amazon S3.
- npkill - Easily find and remove old and heavy node_modules folders.
Functional programming
- lodash - Utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js.
- immutable - Immutable data collections.
- Ramda - Utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data.
- Mout - Utility library with the biggest difference between other existing solutions is that you can choose to load only the modules/functions that you need, no extra overhead.
- RxJS - Functional reactive library for transforming, composing, and querying various kinds of data.
- Kefir.js - Reactive library with focus on high performance and low memory usage.
HTTP
- got - Nicer interface to the built-in
httpmodule. - undici - High performance HTTP client written from scratch with zero dependencies.
- ky-universal - Universal HTTP client based on Fetch.
- node-fetch -
window.fetchfor Node.js. - axios - Promise based HTTP client (works in the browser too).
- superagent - HTTP request library.
- http-fake-backend - Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes.
- cacheable-request - Wrap native HTTP requests with RFC compliant cache support.
- gotql - GraphQL request library built on got.
- global-agent - Global HTTP/HTTPS proxy agent that is configurable using environment variables.
- smoke - File-based HTTP mock server with recording abilities.
- purest - REST client.
Debugging / Profiling
- debug - Tiny debugging utility.
- why-is-node-running - Node.js is running but you don't know why?
- njsTrace - Instrument and trace your code, see all function calls, arguments, return values, as well as the time spent in each function.
- vstream - Instrumentable streams mix-ins to inspect a pipeline of streams.
- stackman - Enhance an error stacktrace with code excerpts and other goodies.
- locus - Starts a REPL at runtime that has access to all variables.
- 0x - Flamegraph profiling.
- ctrace - Well-formatted and improved trace system calls and signals.
- leakage - Write memory leak tests.
- llnode - Post-mortem analysis tool which allows you to inspect objects and get insights from a crashed Node.js process.
- thetool - Capture different CPU, memory, and other profiles for your app in Chrome DevTools friendly format.
- swagger-stats - Trace API calls and monitor API performance, health, and usage metrics.
- NiM - Manages DevTools debugging workflow.
- dats - Minimalistic and zero-dependencies StatsD client.
Logging
- pino - Extremely fast logger inspired by Bunyan.
- winston - Multi-transport async logging library.
- console-log-level - The most simple logger imaginable with support for log levels and custom prefixes.
- storyboard - End-to-end, hierarchical, real-time, colorful logs and stories.
- consola - Console logger.
Command-line utilities
- chalk - Terminal string styling done right.
- meow - CLI app helper.
- yargs - Command-line parser that automatically generates an elegant user-interface.
- ora - Elegant terminal spinner.
- get-stdin - Easier stdin.
- log-update - Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc.
- Ink - React for interactive command-line apps.
- listr - Terminal task list.
- conf - Simple config handling for your app or module.
- ansi-escapes - ANSI escape codes for manipulating the terminal.
- log-symbols - Colored symbols for various log levels.
- figures - Unicode symbols with Windows CMD fallbacks.
- boxen - Create boxes in the terminal.
- terminal-link - Create clickable links in the terminal.
- terminal-image - Display images in the terminal.
- string-width - Get the visual width of a string - the number of columns required to display it.
- cli-truncate - Truncate a string to a specific width in the terminal.
- blessed - Curses-like library.
- Inquirer.js - Interactive command-line prompt.
- yn - Parse yes/no like values.
- cli-table3 - Pretty unicode tables.
- drawille - Draw on the terminal with unicode braille characters.
- ascii-charts - ASCII bar chart in the terminal.
- progress - Flexible ascii progress bar.
- insight - Helps you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics.
- cli-cursor - Toggle the CLI cursor.
- cli-columns - Columnated unicode and ansi-safe text lists.
- cfonts - Sexy ASCII fonts for the console.
- multispinner - Multiple, simultaneous, individually controllable CLI spinners.
- omelette - Shell autocompletion helper.
- cross-env - Set environment variables cross-platform.
- shelljs - Portable Unix shell commands.
- sudo-block - Block users from running your app with root permissions.
- sparkly - Generate sparklines
▁▂▃▅▂▇. - Bit - Create, maintain, find and use small modules and components across repositories.
- gradient-string - Beautiful color gradients in terminal output.
- oclif - CLI framework complete with parser, automatic documentation, testing, and plugins.
- term-size - Reliably get the terminal window size.
- Cliffy - Framework for interactive CLIs.
Build tools
- parcel - Blazing fast, zero config web app bundler.
- webpack - Packs modules and assets for the browser.
- rollup - Next-generation ES2015 module bundler.
- gulp - Streaming and fast build system that favors code over config.
- Broccoli - Fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions.
- Brunch - Front-end web app build tool with simple declarative config, fast incremental compilation, and an opinionated workflow.
- FuseBox - Fast build system that combines the power of webpack, JSPM and SystemJS, with first-class TypeScript support.
- pkg - Package your Node.js project into an executable.
Hardware
- johnny-five - Firmata based Arduino Framework.
- serialport - Access serial ports for reading and writing.
- usb - USB library.
- i2c-bus - I2C serial bus access.
- onoff - GPIO access and interrupt detection.
- spi-device - SPI serial bus access.
- pigpio - Fast GPIO, PWM, servo control, state change notification, and interrupt handling on the Raspberry Pi.
- gps - NMEA parser for handling GPS receivers.
Templating
- marko - HTML-based templating engine that compiles templates to CommonJS modules and supports streaming, async rendering and custom tags.
- nunjucks - Templating engine with inheritance, asynchronous control, and more (jinja2 inspired).
- handlebars.js - Superset of Mustache templates which adds powerful features like helpers and more advanced blocks.
- EJS - Simple unopinionated templating language.
- Pug - High-performance template engine heavily influenced by Haml.
Web frameworks
- Fastify - Fast and low overhead web framework.
- Next.js - Minimalistic framework for server-rendered universal JavaScript web apps.
- Nuxt.js - Minimalistic framework for server-rendered Vue.js apps.
- Hapi - Framework for building applications and services.
- Micro - Minimalistic microservice framework with an async approach.
- Koa - Framework designed by the team behind Express, which aims to be a smaller, more expressive, and more robust foundation for web applications and APIs.
- Express - Web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications.
- Feathers - Microservice framework built in the spirit of Express.
- LoopBack - Powerful framework for creating REST APIs and easily connecting to backend data sources.
- Meteor - An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework. (You might like awesome-meteor)
- Restify - Enables you to build correct REST web services.
- ThinkJS - Framework with ES2015+ support, WebSockets, REST API.
- ActionHero - Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients.
- seneca - Toolkit for writing microservices.
- AdonisJs - A true MVC framework for Node.js built on solid foundations of Dependency Injection and IoC container.
- Moleculer - Fast & powerful microservices framework.
- Nest - Angular-inspired framework for building efficient and scalable server-side apps.
- TypeGraphQL - Modern framework for creating GraphQL APIs with TypeScript, using classes and decorators.
- Tinyhttp - Modern and fast Express-like web framework.
- Marble.js - Functional reactive framework for building server-side apps, based on TypeScript and RxJS.
- Lad - Framework made by a former Express TC and Koa member that bundles web, API, job, and proxy servers.
- Ts.ED - Intituive TypeScript framework for building server-side apps on top of Express.js or Koa.js.
Documentation
- documentation.js - API documentation generator with support for ES2015+ and flow annotation.
- Docco - Documentation generator which produces an HTML document that displays your comments intermingled with your code.
- JSDoc - API documentation generator similar to JavaDoc or PHPDoc.
- Docusaurus - Documentation website generator that leverages React and Markdown, and comes with translation and versioning features.
Filesystem
- del - Delete files/folders using globs.
- globby - Glob files with support for multiple patterns.
- cpy - Copy files.
- chokidar - Filesystem watcher which stabilizes events from
fs.watchandfs.watchFileas well as using nativefseventson macOS. - find-up - Find a file by walking up parent directories.
- proper-lockfile - Inter-process and inter-machine lockfile utility.
- load-json-file - Read and parse a JSON file.
- write-json-file - Stringify and write JSON to a file atomically.
- fs-write-stream-atomic - Like
fs.createWriteStream(), but atomic. - filenamify - Convert a string to a valid filename.
- lnfs - Force create symlinks like
ln -fs. - istextorbinary - Check if a file is text or binary.
- fs-jetpack - Completely redesigned file system API for convenience in everyday use.
- fs-extra - Extra methods for the
fsmodule. - pkg-dir - Find the root directory of an npm package.
- filehound - Flexible and fluent interface for searching the file system.
- move-file - Move a file, even works across devices.
- tempy - Get a random temporary file or directory path.
Control flow
- Promises
- Observables
- RxJS - Reactive programming.
- observable-to-promise - Convert an Observable to a Promise.
- More…
- Streams
- Highland.js - Manages synchronous and asynchronous code easily, using nothing more than standard JavaScript and Node-like Streams.
Streams
- get-stream - Get a stream as a string or buffer.
- from2 - Convenience wrapper for ReadableStream, inspired by
through2. - into-stream - Convert a buffer/string/array/object into a stream.
- duplexify - Turn a writeable and readable stream into a single streams2 duplex stream.
- pumpify - Combine an array of streams into a single duplex stream.
- peek-stream - Transform stream that lets you peek the first line before deciding how to parse it.
- binary-split - Newline (or any delimiter) splitter stream.
- byline - Super-simple line-by-line Stream reader.
- first-chunk-stream - Transform the first chunk in a stream.
- pad-stream - Pad each line in a stream.
- multistream - Combine multiple streams into a single stream.
- stream-combiner2 - Turn a pipeline into a single stream.
- readable-stream - Mirror of Streams2 and Streams3 implementations in core.
- through2-concurrent - Transform object streams concurrently.
Real-time
- µWebSockets - Highly scalable WebSocket server & client library.
- Socket.io - Enables real-time bidirectional event-based communication.
- Faye - Real-time client-server message bus, based on Bayeux protocol.
- SocketCluster - Scalable HTTP + WebSocket engine which can run on multiple CPU cores.
- Primus - An abstraction layer for real-time frameworks to prevent module lock-in.
- deepstream.io - Scalable real-time microservice framework.
- Kalm - Low-level socket router and middleware framework.
- MQTT.js - Client for MQTT - Pub-sub based messaging protocol for use on top of TCP/IP.
- rpc-websockets - JSON-RPC 2.0 implementation over WebSockets.
- Aedes - Barebone MQTT server that can run on any stream server.
Image
- sharp - The fastest module for resizing JPEG, PNG, WebP and TIFF images.
- image-type - Detect the image type of a Buffer/Uint8Array.
- gm - GraphicsMagick and ImageMagick wrapper.
- lwip - Lightweight image processor which does not require ImageMagick.
- pica - High quality & fast resize (lanczos3) in pure JS. Alternative to canvas drawImage(), when no pixelation allowed.
- jimp - Image processing in pure JavaScript.
- probe-image-size - Get the size of most image formats without a full download.
- qrcode - QR code and bar code generator.
- ImageScript - Image processing in JavaScript, utilizing WebAssembly for performance.
Text
- iconv-lite - Convert character encodings.
- string-length - Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes.
- camelcase - Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar.
- escape-string-regexp - Escape RegExp special characters.
- splice-string - Remove or replace part of a string like
Array#splice. - indent-string - Indent each line in a string.
- strip-indent - Strip leading whitespace from every line in a string.
- detect-indent - Detect the indentation of code.
- he - HTML entity encoder/decoder.
- i18n-node - Simple translation module with dynamic JSON storage.
- babelfish - i18n with very easy syntax for plurals.
- matcher - Simple wildcard matching.
- unhomoglyph - Normalize visually similar unicode characters.
- i18next - Internationalization framework.
- nanoid - Tiny, secure, URL-friendly, unique string ID generator.
- StegCloak - Conceal secrets within strings, in plain sight.
Number
- random-int - Generate a random integer.
- random-float - Generate a random float.
- unique-random - Generate random numbers that are consecutively unique.
- round-to - Round a number to a specific number of decimal places:
1.234→1.2.
Math
- ndarray - Multidimensional arrays.
- mathjs - An extensive math library.
- math-clamp - Clamp a number.
- algebra - Algebraic structures.
- multimath - Core to create fast image math in WebAssembly and JS.
Date
- Luxon - Library for working with dates and times.
- date-fns - Modern date utility.
- Day.js - Immutable date library alternative to Moment.js.
- dateformat - Date formatting.
- tz-format - Format a date with timezone:
2015-11-30T10:40:35+01:00. - cctz - Fast parsing, formatting, and timezone conversation for dates.
URL
- normalize-url - Normalize a URL.
- humanize-url - Humanize a URL: https://sindresorhus.com → sindresorhus.com.
- url-unshort - Expand shortened URLs.
- speakingurl - Generate a slug from a string with transliteration.
- linkify-it - Link patterns detector with full unicode support.
- url-pattern - Easier than regex string matching patterns for URLs and other strings.
- embedza - Create HTML snippets/embeds from URLs using info from oEmbed, Open Graph, meta tags.
Data validation
- joi - Object schema description language and validator for JavaScript objects.
- is-my-json-valid - JSON Schema validator that uses code generation to be extremely fast.
- property-validator - Easy property validation for Express.
- schema-inspector - JSON API sanitization and validation.
- ajv - The fastest JSON Schema validator. Supports v5, v6 and v7 proposals.
- Superstruct - Simple and composable way to validate data in JavaScript (and TypeScript).
Parsing
- remark - Markdown processor powered by plugins.
- markdown-it - Markdown parser with 100% CommonMark support, extensions and syntax plugins.
- parse5 - Fast full-featured spec compliant HTML parser.
- @parcel/css - A CSS parser, transformer, and minifier written in Rust.
- strip-json-comments - Strip comments from JSON.
- strip-css-comments - Strip comments from CSS.
- parse-json - Parse JSON with more helpful errors.
- URI.js - URL mutation.
- JSONStream - Streaming JSON.parse and stringify.
- neat-csv - Fast CSV parser. Callback interface for the above.
- csv-parser - Streaming CSV parser that aims to be faster than everyone else.
- PEG.js - Simple parser generator that produces fast parsers with excellent error reporting.
- x-ray - Web scraping utility.
- nearley - Simple, fast, powerful parsing for JavaScript.
- binary-extract - Extract a value from a buffer of JSON without parsing the whole thing.
- Stylecow - Parse, manipulate and convert modern CSS to make it compatible with all browsers. Extensible with plugins.
- js-yaml - Very fast YAML parser.
- xml2js - XML to JavaScript object converter.
- Jison - Friendly JavaScript parser generator. It shares genes with Bison, Yacc and family.
- google-libphonenumber - Parse, format, store and validate phone numbers.
- ref - Read/write structured binary data in Buffers.
- xlsx-populate - Read/write Excel XLSX.
- Chevrotain - Very fast and feature rich parser building toolkit for JavaScript.
- fast-xml-parser - Validate and parse XML.
Humanize
- pretty-bytes - Convert bytes to a human readable string:
1337→1.34 kB. - pretty-ms - Convert milliseconds to a human readable string:
1337000000→15d 11h 23m 20s. - ms - Tiny millisecond conversion utility.
- pretty-error - Errors with less clutter.
- read-art - Extract readable content from any page.
Compression
- yazl - Zip.
- yauzl - Unzip.
- Archiver - Streaming interface for archive generation, supporting ZIP and TAR.
- pako - High speed zlib port to pure js (deflate, inflate, gzip).
- tar-stream - Streaming tar parser and generator. Also see tar-fs.
- decompress - Decompression module with support for
tar,tar.gzandzipfiles out of the box.
Network
- get-port - Get an available port.
- ipify - Get your public IP address.
- getmac - Get the computer MAC address.
- DHCP - DHCP client and server.
- netcat - Netcat port in pure JS.
Database
- Drivers
- PostgreSQL - PostgreSQL client. Pure JavaScript and native libpq bindings.
- Redis - Redis client.
- LevelUP - LevelDB.
- MySQL - MySQL client.
- couchdb-nano - CouchDB client.
- Aerospike - Aerospike client.
- Couchbase - Couchbase client.
- MongoDB - MongoDB driver.
- ODM / ORM
- Sequelize - Multi-dialect ORM. Supports PostgreSQL, SQLite, MySQL, and more.
- Bookshelf - ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js.
- Mongoose - Elegant MongoDB object modeling.
- Waterline - Datastore-agnostic tool that dramatically simplifies interaction with one or more databases.
- OpenRecord - ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord.
- pg-promise - PostgreSQL framework for native SQL using promises.
- slonik - PostgreSQL client with strict types, detailed logging and assertions.
- Objection.js - Lightweight ORM built on the SQL query builder Knex.
- TypeORM - ORM for PostgreSQL, MariaDB, MySQL, SQLite, and more.
- MikroORM - TypeScript ORM based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, PostgreSQL, MySQL and SQLite.
- Prisma - Modern database access (ORM alternative). Auto-generated and type-safe query builder in TypeScript. Supports PostgreSQL, MySQL & SQLite.
- Query builder
- Knex - Query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use.
- Other
- NeDB - Embedded persistent database written in JavaScript.
- Lowdb - Small JavaScript database powered by Lodash.
- Keyv - Simple key-value storage with support for multiple backends.
- Finale - RESTful endpoint generator for your Sequelize models.
- database-js - Wrapper for multiple databases with a JDBC-like connection.
- Mongo Seeding - Populate MongoDB databases with JavaScript and JSON files.
- @databases - Query PostgreSQL, MySQL and SQLite3 with plain SQL without risking SQL injection.
- pg-mem - In-memory PostgreSQL instance for your tests.
Testing
- AVA - Futuristic test runner.
- Mocha - Feature-rich test framework making asynchronous testing simple and fun.
- nyc - Code coverage tool built on istanbul that works with subprocesses.
- tap - TAP test framework.
- tape - TAP-producing test harness.
- power-assert - Provides descriptive assertion messages through the standard assert interface.
- Mochify - TDD with Browserify, Mocha, PhantomJS and WebDriver.
- trevor - Run tests against multiple versions of Node.js without switching versions manually or pushing to Travis CI.
- loadtest - Run load tests for your web application, with an API for automation.
- Sinon.JS - Test spies, stubs and mocks.
- navit - PhantomJS / SlimerJS wrapper to simplify browser test scripting.
- Nock - HTTP mocking and expectations.
- intern - Code testing stack.
- toxy - Hackable HTTP proxy to simulate failure scenarios and network conditions.
- hook-std - Hook and modify stdout/stderr.
- testen - Run tests for multiple versions of Node.js locally with NVM.
- Nightwatch - Automated UI testing framework based on Selenium WebDriver.
- WebdriverIO - Automated testing based on the WebDriver protocol.
- Jest - Painless JavaScript testing.
- TestCafe - Automated browser testing.
- abstruse - Continuous Integration server.
- CodeceptJS - End-to-end testing.
- Puppeteer - Headless Chrome.
- Playwright - Headless Chromium, WebKit, and Firefox with a single API.
- nve - Run any command on multiple versions of Node.js locally.
- axe-core - Accessibility engine for automated Web UI testing.
- testcontainers-node - Provides lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
Security
- upash - Unified API for all password hashing algorithms.
- themis - Multilanguage framework for making typical encryption schemes easy to use: data at rest, authenticated data exchange, transport protection, authentication, and so on.
- GuardRails - GitHub app that provides security feedback in pull requests.
- rate-limiter-flexible - Brute-force and DDoS attack protection.
- crypto-hash - Async non-blocking hashing.
- jose-simple - Encryption and decryption of data using the JOSE (JSON Object Signing and Encryption) standard.
Benchmarking
- Benchmark.js - Benchmarking library that supports high-resolution timers and returns statistically significant results.
Minifiers
- babel-minify - ES2015+ aware minifier based on the Babel toolchain.
- UglifyJS2 - JavaScript minifier.
- clean-css - CSS minifier.
- minimize - HTML minifier.
- imagemin - Image minifier.
Authentication
- Passport - Simple, unobtrusive authentication.
- Grant - OAuth providers for Express, Koa, Hapi, Fastify, AWS Lambda, Azure, Google Cloud, Vercel, and many more.
Authorization
- CASL - Isomorphic authorization for UI and API.
- node-casbin - Authorization library that supports access control models like ACL, RBAC and ABAC.
- Nodemailer - The fastest way to handle email.
- emailjs - Send text/HTML emails with attachments to any SMTP server.
- email-templates - Create, preview, and send custom email templates.
- MJML - Markup language designed to reduce the pain of creating responsive emails.
Job queues
- bull - Persistent job and message queue.
- agenda - MongoDB-backed job scheduling.
- idoit - Redis-backed job queue engine with advanced job control.
- node-resque - Redis-backed job queue.
- rsmq - Redis-backed message queue.
- bee-queue - High-performance Redis-backed job queue.
- RedisSMQ - Simple high-performance Redis message queue with real-time monitoring.
- sqs-consumer - Build Amazon Simple Queue Service (SQS) based apps without the boilerplate.
- better-queue - Simple and efficient job queue when you cannot use Redis.
Node.js management
- n - Node.js version management.
- nave - Virtual Environments for Node.js.
- nodeenv - Node.js virtual environment compatible to Python's virtualenv.
- nvm for Windows - Version management for Windows.
- nodenv - Version manager that is similar to Ruby's rbenv. It supports auto version switching.
- fnm - Cross-platform Node.js version manager built in Rust.
Natural language processing
- retext - An extensible natural language system.
- franc - Detect the language of text.
- leven - Measure the difference between two strings using the Levenshtein distance algorithm.
- natural - Natural language facility.
- nlp.js - Building bots, with entity extraction, sentiment analysis, automatic language identify, and more.
Process management
- PM2 - Advanced Process Manager.
- nodemon - Monitor for changes in your app and automatically restart the server.
- node-mac - Run scripts as a native Mac daemon and log to the console app.
- node-linux - Run scripts as native system service and log to syslog.
- node-windows - Run scripts as a native Windows service and log to the Event viewer.
- supervisor - Restart scripts when they crash or restart when a
*.jsfile changes. - Phusion Passenger - Friendly process manager that integrates directly into Nginx.
Automation
- robotjs - Desktop Automation: control the mouse, keyboard and read the screen.
- nut.js - Cross-platform native GUI automation / testing framework with image matching capabilities which integrates with Jest.
AST
- Acorn - Tiny, fast JavaScript parser.
- babel-parser - JavaScript parser used in Babel.
Static site generators
- DocPad - Static site generator with dynamic abilities and huge plugin ecosystem.
- docsify - Markdown documentation site generator with no statically built HTML files.
- Charge - Opinionated, zero-config static site generator using JSX and MDX.
Content management systems
- KeystoneJS - CMS and web application platform built on Express and MongoDB.
- ApostropheCMS - Content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB.
- Strapi - Content Management Framework (headless-CMS) to build powerful APIs.
- Factor - Vue.js dashboard framework and headless CMS.
- AdminBro - Auto-generated admin panel with CRUD for all your resources.
Forum
- nodeBB - Forum platform for the modern web.
Blogging
Weird
- cows - ASCII cows.
- superb - Get superb like words.
- cat-names - Get popular cat names.
- dog-names - Get popular dog names.
- superheroes - Get superhero names.
- supervillains - Get supervillain names.
- cool-ascii-faces - Get some cool ascii faces.
- cat-ascii-faces -
₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (=ↀωↀ=)✧ (^・o・^)ノ”. - nerds - Get data from nerdy topics like Harry Potter, Star Wars, and Pokémon.
Serialization
- snappy - Native bindings for Google's Snappy compression library.
- protobuf - Implementation of Protocol Buffers.
- compactr - Implementation of the Compactr protocol.
Miscellaneous
- execa - Better
child_process. - cheerio - Fast, flexible, and lean implementation of core jQuery designed specifically for the server.
- open - Opens stuff like websites, files, executables.
- hasha - Hashing made simple. Get the hash of a buffer/string/stream/file.
- dot-prop - Get a property from a nested object using a dot path.
- onetime - Only run a function once.
- mem - Memoize functions - an optimization technique used to speed up consecutive function calls by caching the result of calls with identical input.
- strip-bom - Strip UTF-8 byte order mark (BOM) from a string/buffer/stream.
- os-locale - Get the system locale.
- ssh2 - SSH2 client and server module.
- adit - SSH tunneling made simple.
- file-type - Detect the file type of a Buffer.
- Bottleneck - Rate limiter that makes throttling easy.
- ow - Function argument validation for humans.
- webworker-threads - Lightweight Web Worker API implementation with native threads.
- clipboardy - Access the system clipboard (copy/paste).
- node-pre-gyp - Makes it easy to publish and install Node.js C++ addons from binaries.
- opencv - Bindings for OpenCV. The defacto computer vision library.
- dotenv - Load environment variables from .env file.
- semver - Semantic version parser.
- nodegit - Native bindings to Git.
- json-strictify - Safely serialize a value to JSON without data loss or going into an infinite loop.
- jsdom - JavaScript implementation of HTML and the DOM.
- @sindresorhus/is - Type check values.
- env-dot-prop - Get, set, or delete nested properties of process.env using a dot path.
- emittery - Simple and modern async event emitter.
- node-video-lib - Pure JavaScript library for working with MP4 and FLV video files and creating MPEG-TS chunks for HLS streaming.
- basic-ftp – FTP/FTPS client.
- cashify - Currency conversion.
- genepi - Automatically generate a native Node.js addon from C++ code.
- husky - Create Git hook scripts.
- patch-package - Make and preserve fixes to npm dependencies.
- editly - Declarative video editing API.
Resources
Tutorials
- Node.js Best Practices - Summary and curation of the top-ranked content on Node.js best practices, available in multiple languages.
- Nodeschool - Learn Node.js with interactive lessons.
- The Art of Node - An introduction to Node.js.
- stream-handbook - How to write Node.js programs with streams.
- module-best-practices - Some good practices when writing new npm modules.
- The Node Way - An entire philosophy of Node.js best practices and guiding principles exists for writing maintainable modules, scalable applications, and code that is actually pleasant to read.
- You Don't Know Node.js - Introduction to Node.js core features and asynchronous JavaScript.
- Portable Node.js guide - Practical guide on how to write portable/cross-platform Node.js code.
- Build a real web app with no frameworks - A set of video tutorials/livestreams to help you build and deploy a real, live web app using a handful of simple libraries and the core Node.js modules.
Discovery
- npms - Superb package search with deep analysis of package quality using a myriad of metrics.
- npm addict - Your daily injection of npm packages.
- npmcompare.com - Compare and discover npm packages.
Articles
- Error Handling in Node.js
- Teach Yourself Node.js in 10 Steps
- Mastering the filesystem in Node.js
- Semver: A Primer
- Semver: Tilde and Caret
- Why Asynchronous?
- Understanding the Node.js Event Loop
- Understanding Object Streams
- Using Express to Quickly Build a GraphQL Server
Newsletters
- Node Weekly - Weekly e-mail round-up of Node.js news and articles.
Videos
- Introduction to Node.js with Ryan Dahl
- Hands on with Node.js
- Nodetuts - Series of talks, including TCP & HTTP API servers, async programming, and more.
- V8 Garbage Collector - Trash talk about the V8 garbage collector.
- 10 Things I Regret About Node.js by Ryan Dahl - Insightful talk by the creator of Node.js about some of its limitions.
- Mastering REST APIs in Node.js: Zero-To-Hero - Video course on how to make REST APIs using Node.js.
- Make a vanilla Node.js REST API - Building a REST API without using a framework like Express.
- Google I/O 2009 - V8: High Performance JavaScript Engine - The basics of V8 architecture and how it optimizes JavaScript execution.
- Google I/O 2012 - Breaking the JavaScript Speed Limit with V8 - How V8 optimizes JavaScript execution.
- Google I/O 2013 - Accelerating Oz with V8: Follow the Yellow Brick Road to JavaScript Performance - How to detect app bottlenecks and optimize performance with V8 knowledge.
- Node.js Internal Architecture | Ignition, Turbofan, Libuv - How Node.js works internally, with a focus on V8 and libuv.
- Introduction to libuv: What's a Unicorn Velociraptor? -
libuvarchitecture, thread pool, and event loop, with its source code. - libuv Cross platform asynchronous i/o -
libuvarchitecture in detail, such as where it's actually using threads. - You Don't Know Node - ForwardJS San Francisco - Explaining Node.js internals with quizzes about V8, libuv, event loop, module, stream, and cluster.
Books
- Node.js in Action
- Node.js in Practice
- Mastering Node
- Node.js 8 the Right Way
- Professional Node.js: Building JavaScript Based Scalable Software
- Practical Node.js: Building Real-World Scalable Web Apps
- Mixu's Node book
- Pro Express.js
- Secure Your Node.js Web Application
- Express in Action
- Practical Modern JavaScript
- Mastering Modular JavaScript
- Get Programming with Node.js
- Node.js Cookbook
- Node.js Design Patterns
Blogs
- Node.js blog
- webapplog.com - Blog posts on Node.js and JavaScript from the author of Practical Node.js and Pro Express.js Azat Mardan.
Courses
- Learn to build apps and APIs with Node.js - Video course by Wes Bos.
- Real Time Web with Node.js
- Learn and Understand Node.js
Cheatsheets
- Express.js
- Stream FAQs - Answering common questions about streams, covering pagination, events, and more.
- Strong Node.js - Checklist for source code security analysis of a Node.js web service.
Tools
- OctoLinker - Chrome extension that linkifies dependencies in package.json, .js, .jsx, .coffee and .md files on GitHub.
- npm-hub - Chrome extension to display npm dependencies at the bottom of a repo's readme.
- RunKit - Embed a Node.js environment on any website.
- github-npm-stats - Chrome extension that displays npm download stats on GitHub.
- npm semver calculator - Visually explore what versions of a package a semver range matches.
- CodeSandbox - Online IDE and prototyping.
Community
Miscellaneous
- nodebots - Robots powered by JavaScript.
- node-module-boilerplate - Boilerplate to kickstart creating a node module.
- modern-node - Toolkit for creating node modules with Jest, Prettier, ESLint, and Standard.
- generator-nm - Scaffold out a node module.
- Microsoft Node.js Guidelines - Tips, tricks, and resources for working with Node.js on Microsoft platforms.
- Module Requests & Ideas - Request a JavaScript module you wish existed or get ideas for modules.
- v8-perf - Notes and resources related to V8 and thus Node.js performance.
Related lists
- awesome-npm - Resources and tips for using npm.
- awesome-cross-platform-nodejs - Resources for writing and testing cross-platform code.
Contents
- Resources
- Applications
- Development environment
- Continuous integration
- Virtualization
- Compatibility
- Databases
- Libraries
- OS identification
- Shell
- Environment
- Filesystem
- Signals
- Processes
- Streams
- Desktop UI
- Windows registry
- Known issues
- Support
Resources
- Core Node.js documentation - Especially the
os,path,fs,processandchild_processmodules. - Cross-platform Node.js guide - How to write cross-platform Node.js code.
- Microsoft Node.js Guidelines - Tips, tricks, and resources for working with Node.js on Microsoft platforms.
- Writing Cross-Platform Node.js - Great tutorial covering many common issues that arise when writing cross-platform code: path creation, script execution, newline characters.
- Cross-platform terminal characters - All the characters that work on most terminals and most operating systems.
Applications
Development environment
- Node.js - Node.js installer for various platforms.
- nvm-windows - Manage multiple installations of Node.js on a Windows computer.
- nvm / n - Node version manager for macOS/Linux.
- npm-windows-upgrade - Upgrade npm on Windows.
- windows-build-tools - Install C++ Build Tools for Windows using npm.
Continuous integration
- AppVeyor - Focused on Windows. Free tiers are available for OSS projects.
- Travis - Windows/macOS/Linux. Free for OSS projects.
- Azure Pipelines - Windows/macOS/Linux. Free for OSS projects with 10 parallel jobs.
- Github Action - Windows/macOS/Linux. GitHub Actions makes it easy to automate all your software workflows.
- Gitlab CI - Windows/macOS/Linux. GitLab CI/CD is a tool built into GitLab for software development.
Virtualization
- ievms - Automated installer for the free virtual machine images that Microsoft provides for testing on multiple versions of IE. These images can be useful for cross-platform testing various technologies, however make sure you read and understand Microsofts' licensing.
- VirtualBox - General purpose software for running x86 virtual machines.
- Docker - Software platform to create, deploy and manage virtualized application containers on a common operating system, with an ecosystem of allied tools.
Compatibility
- Wine - Run Windows API calls on Linux, Mac, BSD and Solaris.
- Cygwin - Run POSIX on Windows.
- WSL - Run the Linux command line on Windows (ELF binary execution, system calls, filesystem, Bash, core utilities, common applications).
- MinGW -
gccon Windows. - msys / Git Bash - Bash on Windows.
Databases
- Redis - Native port of Redis for Windows.
Libraries
OS identification
- is-windows - Detect whether the current platform is Windows.
- is-wsl - Detect whether current platform is WSL (Windows Subsystem for Linux).
- getos - Retrieve the current OS, including Linux distribution.
- os-name - Get the name of the current operating system.
- systeminformation - Hardware/software system information.
Shell
- execa - Cross-platform implementation of
child_process.{execFile,exec}. - gulp-execa - Cross-platform command execution in Gulp.js.
- cross-spawn - Cross-platform implementation of
child_process.spawn(). - shelljs - Cross-platform Unix shell commands.
- node-windows - Windows support for Node.js scripts (daemons, eventlog, UAC, etc).
- log-symbols - Colored symbols for various log levels with Windows fallbacks.
- figures - Unicode symbols with Windows fallbacks.
- clipboardy / clipboard-cli - Cross-platform copy/paste.
Environment
- cross-env - Set environment variables cross-platform.
- user-home - Get the path to the user home directory. Cross-platform.
- username - Get the current username.
- osenv - Cross-platform environment variables.
- is-elevated - Check if the process is running with elevated privileges.
- which - Cross-platform implementation of Unix's
which.
Filesystem
- rimraf / del - Delete files and folders. Cross-platform.
- make-dir - Cross-platform
mkdir -p. - readdirp - Recursive version of
fs.readdir(). - cpy - Copy files. Cross-platform.
- chokidar - Improved cross-platform file watching.
- graceful-fs - Improves the
fsmodule, especially on Windows. - fs-extra - Combines
graceful-fswith better JSON file reading and promises. - any-path - Use Windows and POSIX paths interchangeably when fetching values from an object.
- dev-null-cli - Cross-platform
/dev/null.
Signals
- fkill - Kill processes. Cross-platform.
- signal-exit - Cross-platform
exithandler.
Processes
- ps-list - Get running processes.
- process-exists - Check if a process exists.
Streams
- noop-stream - Cross-platform
fs.createReadStream('/dev/null'). - random-bytes-readable-stream - Cross-platform
fs.createReadStream('/dev/urandom').
Desktop UI
- open - Opens stuff like websites, files, executables. Cross-platform.
- node-notifier - Cross-platform desktop notifications.
Windows registry
- node-winreg - Access the Windows registry.
- rage-edit - Access/modify the Windows registry.
- windows-registry-node - Access/modify the Windows registry and set file associations.
Known issues
- cmd.exe unicode woes - By default,
cmd.exedoes not display Unicode characters on Windows. - spawn issues -
child_process.spawn()behavior is not consistent between Windows and Linux. - exec() behavior between shells - Depending on the shell being used, e.g., bash vs. dash,
child_process.exec()has inconsistent exit behavior.
See also
- awesome-desktop-js - List of tools to build JavaScript applications on the desktop.
Support
If you found an error or would like to add more information, don't hesitate to submit an issue on GitHub.
Everyone is welcome regardless of personal background. We enforce a Code of conduct in order to promote a positive and inclusive environment.
Contributing
This project was made with ❤️. The simplest way to give back is by starring and sharing it online.
If the documentation is unclear or has a typo, please click on the page's Edit
button (pencil icon) and suggest a correction.
If you would like to help us fix an error or add more information, please check our guidelines. Pull requests are welcome!
Thanks go to these wonderful people:
Benjamin E. Coe 💻 🤔 📖 | ehmicky 💻 🤔 📖 | Sindre Sorhus 💻 🤔 📖 | Hongarc 🎨 📖 💻 | Kent C. Dodds 🤔 | Jason Cooke 📖 | Aron Hafner 📖 |
ShPelles 📖 | Xiaodan Mao 📖 | James Talmage 📖 | Sylvain PONTOREAU 📖 | Steven 🤔 |
This project follows the all-contributors specification.
License
Frontend Development 
Manually curated collection of resources for frontend web developers.
You are viewing a browseable version, split by category in many small files. There is also a really huge file with every single resource on one page. Proceed to the totally gigantic file if you are into this kind of thing.
This is the current version, which receives ongoing updates. If you want the good old bookmarks, please use the tag v.1.0. Keep in mind, that the old version has many outdated links.
Appearance
The outward or visible aspect of a website.
- Animation: The process of creating motion and shape change.
- Typography: The style, arrangement, or appearance of typeset matter.
- Visualization: Placing data in a visual context.
Architecture
High level structure of the frontend code and the discipline of creating such structures.
- Algorithms: A self-contained step-by-step set of operations to be performed. Algorithms perform calculation, data processing, and/or automated reasoning tasks.
- Design Patterns: Best practices that the programmer can use to solve common problems when designing an application or system.
- Designs: Ready to use and well documented structures and frameworks for frontend development.
- Event-Driven Programming: Event-driven programming is a programming paradigm in which the flow of the program is determined by events such as user actions, sensor outputs, or messages from other programs/threads.
- Functional Programming: Functional programming is a programming paradigm, that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data.
- Functional Reactive Programming (FRP): FRP is a programming paradigm for asynchronous dataflow programming using the building blocks of functional programming.
Compatibility
Ability of a product to work with different input/output devices and rendering software. Including printers, email, mobile devices and different browsers.
- Cross Browser: Cross-browser refers to the ability of a website, web application, HTML construct or client-side script to function in environments that provide its required features and to bow out or degrade gracefully when features are absent or lacking.
- E-Mail: Preparing HTML based electronic mail.
- Keyboard: Working with keyboard input in a web browser.
- Mobile: Development of websites optimized for viewing on smartphone and tablet devices.
- Printers: Manipulation of printer output through CSS.
- Responsive Web Design (RWD): RWD responds to the needs of the users and the devices they’re using. The layout changes based on the size and capabilities of the device.
- Web Accessibility: Web accessibility means that people with disabilities can perceive, understand, navigate, and interact with the Web, and that they can contribute to the Web.
Ecosystem
Important developers, companies, organizations and news sources.
- Communities Around Projects: Successful open source projects attract many developers who produce plugins, libraries, tutorials and other resources. This section collects such resources.
- News: Websites & newsletters which provide daily and weekly news related to frontend web development.
- Notable Community Members: Important engineers, evangelists, architects and other celebrities.
- Organizations: Commercial companies and nonprofit organizations around web development.
- Podcasts: A podcast is a form of digital media that consists of an episodic series of audio, video, digital radio, PDF, or ePub files subscribed to and downloaded automatically through web syndication or streamed online to a computer or mobile device.
Languages, Protocols, Browser APIs
Programming/mark-up languages and web related standards.
- Cascading Style Sheets (CSS): CSS are a stylesheet language used to describe the presentation of a document written in HTML or XML. It describes how elements should be rendered on screen, on paper, in speech, or on other media.
- Document Object Model (DOM): The DOM is a programming interface for HTML, XML and SVG documents. It defines methods that allow access to the tree, so that they can change the document structure, style and content.
- HyperText Markup Language (HTML): HTML is the standard markup language used to create web pages and its elements form the building blocks of all websites.
- Hypertext Transfer Protocol (HTTP): The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web.
- JavaScript (EcmaScript): JavaScript is a full-fledged dynamic programming language that, when applied to an HTML document, can provide dynamic interactivity on websites. It is defined by ECMAScript standard.
- JavaScript Object Notation (JSON): JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language.
- Scalable Vector Graphics (SVG): An XML-based vector image format for two-dimensional graphics with support for interactivity and animation.
- Service Workers: A method that enables applications to take advantage of persistent background processing, including hooks to enable bootstrapping of web applications while offline.
- Templating Languages and Engines: Template engines are tools to separate program-logic and presentation into two independent parts. This makes the development of both logic and presentation easier, improves flexibility and eases modification and maintenance.
- Transpiled Languages: Abstract languages converted to native, browser supported standards like JavaScript or CSS.
- Uniform Resource Identifier (URI): URI is a string of characters used to identify a resource. The most common form of URI is the Uniform Resource Locator (URL).
- Web Animations API: Web Animations is a new JavaScript API for driving animated content on the web. By unifying the animation features of SVG and CSS, Web Animations unlocks features previously only usable declaratively, and exposes powerful, high-performance animation capabilities to developers.
- WebAssembly: WebAssembly is meant to fill a place that JavaScript has been forced to occupy up to now: a low-level code representation that can serve as a compiler target.
User Interface Components
Drop-in UI components for web sites and applications.
- Buttons: The term button refers to any graphical control element that provides the user a simple way to trigger an event, like searching for a query at a search engine, or to interact with dialog boxes, like confirming an action.
- Code: Code viewers and editors designed for embedding inside a website.
- Forms: A HTML form on a web page allows a user to enter data that is sent to a server for processing. Web users fill out the forms using checkboxes, radio buttons, or text fields.
- Galeries & Image Sliders: A sophisticated way to present a collection of images on your website.
- Grid: CSS Grid Layout Systems.
- Rich Text Editors: A rich text editor is the interface for editing rich text within web browsers. The aim is to reduce the effort for users trying to express their formatting directly as valid HTML markup.
- Table Of Contents: Components for automatic table of contents generation.
- UI Kits: Collections of ready to use components.
- Video & Audio: Components for playing audio and video files on a website.
Workflow
Task automation and asset delivery.
- Automated Testing: Automated software testing is a process in which software tools execute pre-scripted tests on a software application before it is released into production.
- Build Tools: Toolkits and their ecosystems, that help you automate painful and repeated tasks.
- CSS Tools: Tools for analysis, pre and post processing of CSS files.
- Code Editors: Text editor programs designed specifically for editing source code of a website.
- Documentation: Writing, generating, publishing and consuming documentation for web deliverables.
- Fonts for Programmers: Programmers need special fonts, which help align the code and distinguish between characters, that look alike.
- Getting Started: Step by step guides for setting up a frontend development workflow.
- HTML Tools: Tools for pre and post processing of the HTML source code.
- Image Post Processing: Tools for image conversion and optimization.
- JavaScript Tools: Tools for static analysis, pre and post processing of JavaScript files.
- Package Management: A package manager or package management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing reusable libraries and components in a consistent manner.
- Sourcemaps: Sourcemap is a way to map a combined/minified file back to an unbuilt state.
- Version Control: Version control or source control is a system that records changes to a file or set of files over time so that you can recall specific versions later.
License

This work is licensed under a Creative Commons Attribution 4.0 International License.
Please provide a link back to this repository. This is not necessary for GitHub forks.
Content
- Courses
- Accessibility
- Alexa
- Analytics
- App Routing
- Apple TV
- Architecture Patterns
- ARKit
- Authentication
- Blockchain
- Bridging
- Cache
- Charts
- Code Quality
- Color
- Command Line
- Concurrency
- Core Data
- Database
- Data Structures / Algorithms
- Date & Time
- Debugging
- EventBus
- Files
- Functional Programming
- Games
- GCD
- Gesture
- Graphics
- Hardware
- Layout
- Logging
- Localization
- Machine Learning
- Maps
- Math
- Media
- Messaging
- Networking
- Notifications
- Objective-C Runtime
- Optimization
- Parsing
- Passbook
- Payments
- Permissions
- Products
- Reactive Programming
- Reflection
- Regex
- SDK
- Security
- Server
- Testing
- Text
- UI
- Activity Indicator
- Alert & Action Sheet
- Animation
- Transition
- Badge
- Button
- Calendar
- Cards
- Form & Settings
- Keyboard
- Label
- Login
- Menu
- Navigation Bar
- PickerView
- Popup
- Pull to Refresh
- Rating Stars
- ScrollView
- Segmented Control
- Slider
- Splash View
- Status Bar
- Stepper
- Switch
- Tab Bar
- Table View / Collection View
- Table View
- Collection View
- Expandable Cell
- Header
- Placeholder
- Collection View Layout
- Tag
- TextField & TextView
- UIPageControl
- Web View
- Utility
- User Consent
- VR
- Walkthrough / Intro / Tutorial
- Websocket
- Project setup
- Dependency / Package Manager
- Tools
- Rapid Development
- Injection
- Deployment / Distribution
- App Store
- Xcode
- Reference
- Style Guides
- Good Websites
- Social Media
- Facebook Groups
- Podcasts
- Books
- Other Awesome Lists
- Contributing
Courses
Getting Started
Courses, tutorials and guides
- Apple- Start Developing with iOS - Apple Guide.
- Apple - Object-Oriented Programming with Objective-C
- Apple - Programming with Objective-C
- CodeProject - Getting Started with iPhone and iOS Development.
- Lifehacker - I Want to Write iOS Apps. Where Do I Start?
- Ray Wenderlich - Learn to code iOS Apps.
- Stanford - Developing iOS 7 Apps for iPhone and iPad
- Stanford - Developing iOS 10 Apps with Swift - Stanford's 2017 iTunes U course.
- Stanford - Developing iOS 11 Apps with Swift - Stanford's 2017 iTunes U course updated for iOS 11 and Swift.
- Swifteducation - Teaching App Development with Swift
- Udacity - Intro to iOS App Development with Swift
- Udemy - ARKit - Beginner to Professional in Swift 4 and iOS 11
- ARStarter - Get started with ARKit - A little exercise for beginners.
- iOS 13 & Swift 5 - The Complete iOS App Development Bootcamp
- Classpert - A list of 500 iOS Development courses (free and paid), from top e-learning platforms - Complete catalog of courses from Udacity, Pluralsight, Coursera, Edx, Treehouse and Skillshare.
- iOS Lead Essentials Program - Online program meticulously thought out for iOS developers who want to become world-class senior developers and be part of the highest-paid iOS devs in the world. Focuses on key concepts like Swift, TDD, BDD, DDD, Clean Architecture, Design Patterns, Git, Automation, CI/CD, and Modular Design.
Accessibility
Frameworks that help to support accessibility features and enable people with disabilities to use your app
- Capable - Track accessibility features to improve your app for people with certain disabilities.
Alexa
Frameworks that help to support writing custom alexa skills in swift
- AlexaSkillsKit - Swift library to develop custom Alexa Skills.
Analytics
Analytics platforms, SDK's, error tracking and real-time answers about your app
- Instabug - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging.
- Mixpanel - Advanced analytics platform.
- Localytics - Brings app marketing and analytics together.
- Answers by Fabric - Answers gives you real-time insight into people’s experience in your app.
- ARAnalytics - Analytics abstraction library offering a sane API for tracking events and user data.
- Segment - The hassle-free way to integrate analytics into any iOS application.
- MOCA Analytics - Paid cross-platform analytics backend.
- Countly - Open source, mobile & web analytics, crash reports and push notifications platform for iOS & Android.
- Abbi - A Simple SDK for developers to manage and maximise conversions of all in-app promotions.
- devtodev - Comprehensive analytics service that improves your project and saves time for product development.
- Bugsnag - Error tracking with a free tier. Error reports include data on device, release, user, and allows arbitrary data.
- Inapptics - Helps analyze and visualize user behavior in mobile apps. Provides visual user journeys, heatmaps and crash replays.
- Matomo - The MatomoTracker is an iOS, tvOS and macOS SDK for sending app analytics to a Matomo server.
- Sentry - Sentry provides self-hosted and cloud-based error monitoring that helps all software teams discover, triage, and prioritize errors in real-time.
- Shake - In-app feedback and bug reporting tool. Fix app bugs up to 50x faster with detailed device data, repro steps, video recording, black box data, network requests and custom logging.
App Routing
Elegant URL routing, navigation frameworks, deep links and more
- WAAppRouting - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically!
- DeepLinkKit - A splendid route-matching, block-based way to handle your deep links.
- IntentKit - An easier way to handle third-party URL schemes in iOS apps.
- JLRoutes - URL routing library for iOS with a simple block-based API.
- IKRouter - URLScheme router than supports auto creation of UIViewControllers for associated url parameters to allow creation of navigation stacks
- Appz - Easily launch and deeplink into external applications, falling back to web if not installed.
- URLNavigator - Elegant URL Routing for Swift
- Marshroute - Marshroute is an iOS Library for making your Routers simple but extremely powerful.
- SwiftRouter - A URL Router for iOS.
- Router - Simple Navigation for iOS.
- ApplicationCoordinator - Coordinator is an object that handles navigation flow and shares flow’s handling for the next coordinator after switching on the next chain.
- RxFlow - Navigation framework for iOS applications based on a Reactive Flow Coordinator pattern.
- Linker - Lightweight way to handle internal and external deeplinks for iOS.
- CoreNavigation - Navigate between view controllers with ease.
- DZURLRoute - Universal route engine for iOS app, it can handle URLScheme between applications and page route between UIViewController.
- Crossroad - Crossroad is an URL router focused on handling Custom URL Schemes. Using this, you can route multiple URL schemes and fetch arguments and parameters easily.
- ZIKRouter - An interface-oriented router for discovering modules and injecting dependencies with protocol in OC & Swift, iOS & macOS. Handles route in a type safe way.
- RouteComposer - Library that helps to handle view controllers composition, routing and deeplinking tasks.
- LiteRoute - Easy transition between VIPER modules, implemented on pure Swift.
- Composable Navigator - An open source library for building deep-linkable SwiftUI applications with composition, testing and ergonomics in mind
- SwiftCurrent - A library for managing complex workflows.
Apple TV
tvOS view controllers, wrappers, template managers and video players.
- Voucher - A simple library to make authenticating tvOS apps easy via their iOS counterparts.
- XCDYouTubeKit - YouTube video player for iOS, tvOS and macOS.
- TVMLKitchen - Swifty TVML template manager with or without client-server.
- BrowserTV - Turn your Apple TV into a dashboard displaying any webpage!
- Swift-GA-Tracker-for-Apple-tvOS - Google Analytics tracker for Apple tvOS provides an easy integration of Google Analytics’ measurement protocol for Apple TV.
- ParallaxView - iOS controls and extensions that add parallax effect to your application.
- TvOSTextViewer - Light and scrollable view controller for tvOS to present blocks of text
- FocusTvButton - Light wrapper of UIButton that allows extra customization for tvOS
- TvOSMoreButton - A basic tvOS button which truncates long text with '... More'.
- TvOSPinKeyboard - PIN keyboard for tvOS.
- TvOSScribble - Handwriting numbers recognizer for Siri Remote.
- TvOSCustomizableTableViewCell - Light wrapper of UITableViewCell that allows extra customization for tvOS.
- TvOSSlider - TvOSSlider is an implementation of UISlider for tvOS.
Architecture Patterns
Clean architecture, Viper, MVVM, Reactive... choose your weapon.
- SwiftyVIPER - Makes implementing VIPER architecture much easier and cleaner.
- CleanArchitectureRxSwift - Example of Clean Architecture of iOS app using RxSwift.
- Viperit - Viper Framework for iOS. Develop an app following VIPER architecture in an easy way. Written and tested in Swift.
- Reactant - Reactant is a reactive architecture for iOS.
- YARCH - More clean alternative to VIPER with unidirectional data flow (flux-like).
- iOS-Viper-Architecture - This repository contains a detailed sample app that implements VIPER architecture in iOS using libraries and frameworks like Alamofire, AlamofireImage, PKHUD, CoreData etc.
- Tempura - A holistic approach to iOS development, inspired by Redux and MVVM.
- VIPER Module Generator - A Clean VIPER Modules Generator with comments and predfined functions.
- MMVMi - A Validation Model for MVC and MVVM Design Patterns in iOS Applications.
- ios-architecture - A collection of iOS architectures - MVC, MVVM, MVVM+RxSwift, VIPER, RIBs and many others.
- Clean Architecture for SwiftUI + Combine - A demo project showcasing the production setup of the SwiftUI app with Clean Architecture.
- Spin - A universal implementation of a Feedback Loop system for RxSwift, ReactiveSwift and Combine
ARKit
Library and tools to help you build unparalleled augmented reality experiences
- ARKit-CoreLocation - Combines the high accuracy of AR with the scale of GPS data.
- Virtual Objects - Placing Virtual Objects in Augmented Reality.
- ARVideoKit - Record and capture ARKit videos, photos, Live Photos, and GIFs.
- ARKitEnvironmentMapper - A library that allows you to generate and update environment maps in real-time using the camera feed and ARKit's tracking capabilities.
- SmileToUnlock - This library uses ARKit Face Tracking in order to catch a user's smile.
- Placenote - A library that makes ARKit sessions persistent to a location using advanced computer vision.
- Poly - Unofficial Google Poly SDK – search and display 3D models.
- ARKit Emperor - The Emperor give you the most practical ARKit samples ever.
Authentication
Oauth and Oauth2 libraries, social logins and captcha tools.
- Heimdallr.swift - Easy to use OAuth 2 library for iOS, written in Swift.
- OhMyAuth - Simple OAuth2 library with a support of multiple services.
- AuthenticationViewController - A simple to use, standard interface for authenticating to oauth 2.0 protected endpoints via SFSafariViewController.
- OAuth2 - OAuth2 framework for macOS and iOS, written in Swift.
- OAuthSwift - Swift based OAuth library for iOS
- SimpleAuth - Simple social authentication for iOS.
- AlamofireOauth2 - A swift implementation of OAuth2.
- SwiftyOAuth - A simple OAuth library for iOS with a built-in set of providers.
- Simplicity - A simple way to implement Facebook and Google login in your iOS and macOS apps.
- InstagramAuthViewController - A ViewController for Instagram authentication.
- InstagramSimpleOAuth - A quick and simple way to authenticate an Instagram user in your iPhone or iPad app.
- DropboxSimpleOAuth - A quick and simple way to authenticate a Dropbox user in your iPhone or iPad app.
- BoxSimpleOAuth - A quick and simple way to authenticate a Box user in your iPhone or iPad app.
- InstagramLogin - A simple way to authenticate Instagram accounts on iOS.
- ReCaptcha - (In)visible ReCaptcha for iOS.
- LinkedInSignIn - Simple view controller to login and retrieve access token from LinkedIn.
Blockchain
Tool for smart contract interactions. Bitcoin protocol implementations and Frameworks for interacting with cryptocurrencies.
- Web3.swift - Web3 library for interacting with the Ethereum blockchain.
- web3swift - Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions.
- EthereumKit - EthereumKit is a free, open-source Swift framework for easily interacting with the Ethereum.
- BitcoinKit - Bitcoin protocol toolkit for Swift, BitcoinKit implements Bitcoin protocol in Swift. It is an implementation of the Bitcoin SPV protocol written (almost) entirely in swift.
- EtherWalletKit - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge.
- CoinpaprikaAPI - Coinpaprika API client with free & frequently updated market data from the world of crypto: coin prices, volumes, market caps, ATHs, return rates and more.
- Bitcoin-Swift-Kit - Full Bitcoin library written on Swift. Complete SPV wallet implementation for Bitcoin, Bitcoin Cash and Dash blockchains.
Bridging
Sharing code between Objective-C and Swift, iOS and macOS, Javascript and Objective-C.
- RubyMotion - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and macOS applications for iPhone, iPad and Mac, all using the Ruby language.
- JSPatch - JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App.
- WebViewJavascriptBridge - An iOS/macOS bridge for sending messages between Obj-C and JavaScript in UIWebViews/WebViews.
- MAIKit - A framework for sharing code between iOS and macOS.
- Xamarin - Xamarin is a free, cross-platform, open-source platform that lets you quickly develop and test native iOS, watchOS and macOS applications for iPhone, iPad, Watch and Mac, all using the C# language.
Cache
Thread safe, offline and high performance cache libs and frameworks.
- Awesome Cache - Delightful on-disk cache (written in Swift).
- mattress - iOS Offline Caching for Web Content.
- Carlos - A simple but flexible cache.
- HanekeSwift - A lightweight generic cache for iOS written in Swift with extra love for images.
- YYCache - High performance cache framework for iOS.
- Cache - Nothing but Cache.
- MGCacheManager - A delightful iOS Networking Cache Managing Class.
- SPTPersistentCache - Everyone tries to implement a cache at some point in their iOS app’s lifecycle, and this is ours. By Spotify.
- Track - Track is a thread safe cache write by Swift. Composed of DiskCache and MemoryCache which support LRU.
- UITableView Cache - UITableView cell cache that cures scroll-lags on a cell instantiating.
- RocketData - A caching and consistency solution for immutable models.
- PINCache - Fast, non-deadlocking parallel object cache for iOS and macOS.
- Johnny - Melodic Caching for Swift.
- Disk - Delightful framework for iOS to easily persist structs, images, and data.
- Cachyr - A small key-value data cache for iOS, macOS and tvOS, written in Swift.
- Cache - Swift caching library.
- MemoryCache - MemoryCache is type-safe memory cache.
Charts
Beautiful, Easy and Fully customized charts
- Charts - A powerful chart / graph framework, the iOS equivalent to MPAndroidChart.
- PNChart - A simple and beautiful chart lib used in Piner and CoinsMan for iOS.
- XJYChart - A Beautiful chart for iOS. Support animation, click, slide, area highlight.
- BEMSimpleLineGraph - Elegant Line Graphs for iOS (charting library).
- JBChartView - iOS-based charting library for both line and bar graphs.
- XYPieChart - A simple and animated Pie Chart for your iOS app.
- TEAChart - Simple and intuitive iOS chart library. Contribution graph, clock chart, and bar chart.
- EChart - iOS/iPhone/iPad Chart, Graph. Event handling and animation supported.
- FSLineChart - A line chart library for iOS.
- chartee - A charting library for mobile platforms.
- ANDLineChartView - ANDLineChartView is easy to use view-based class for displaying animated line chart.
- TWRCharts - An iOS wrapper for ChartJS. Easily build animated charts by leveraging the power of native Obj-C code.
- SwiftCharts - Easy to use and highly customizable charts library for iOS.
- FlowerChart - Flower-shaped chart with custom appearance animation, fully vector.
- Scrollable-GraphView - An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift.
- Dr-Charts - Dr-Charts is a highly customisable, easy to use and interactive chart / graph framework in Objective-C.
- Graphs - Light weight charts view generator for iOS.
- FSInteractiveMap - A charting library to visualize and interact with a vector map on iOS. It's like Geochart but for iOS.
- JYRadarChart - An iOS open source Radar Chart implementation.
- TKRadarChart - A customizable radar chart in Swift.
- MagicPie - Awesome layer based pie chart. Fantastically fast and fully customizable. Amazing animations available with MagicPie.
- PieCharts - Easy to use and highly customizable pie charts library for iOS.
- CSPieChart - iOS PieChart Opensource. This is very easy to use and customizable.
- DDSpiderChart - Easy to use and customizable Spider (Radar) Chart library for iOS written in Swift.
- core-plot - a 2D plotting lib which is highly customizable and capable of drawing many types of plots.
- ChartProgressBar - Draw a chart with progress bar style.
- SMDiagramViewSwift - Meet cute and very flexibility library for iOS application for different data view in one circle diagram.
- Swift LineChart - Line Chart library for iOS written in Swift.
- SwiftChart - Line and area chart library for iOS.
- EatFit - Eat fit is a component for attractive data representation inspired by Google Fit.
- CoreCharts - CoreCharts is a simple powerful yet Charts library for apple products.
Code Quality
Quality always matters. Code checkers, memory vigilants, syntastic sugars and more.
- Bootstrap - iOS project bootstrap aimed at high quality coding.
- KZAsserts - Set of custom assertions that automatically generate NSError's, allow for both Assertions in Debug and Error handling in Release builds, with beautiful DSL.
- PSPDFUIKitMainThreadGuard - Simple snippet generating assertions when UIKit is used on background threads.
- ocstyle - Objective-C style checker.
- spacecommander - Commit fully-formatted Objective-C code as a team without even trying.
- DWURecyclingAlert - Optimizing UITableViewCell For Fast Scrolling.
- Tailor - Cross-platform static analyzer for Swift that helps you to write cleaner code and avoid bugs.
- SwiftCop - SwiftCop is a validation library fully written in Swift and inspired by the clarity of Ruby On Rails Active Record validations.
- Trackable - Trackable is a simple analytics integration helper library. It’s especially designed for easy and comfortable integration with existing projects.
- MLeaksFinder - Find memory leaks in your iOS app at develop time.
- HeapInspector-for-iOS - Find memory issues & leaks in your iOS app without instruments.
- FBMemoryProfiler - iOS tool that helps with profiling iOS Memory usage.
- FBRetainCycleDetector - iOS library to help detecting retain cycles in runtime.
- Buglife - Awesome bug reporting for iOS apps.
- Warnings-xcconfig - An xcconfig (Xcode configuration) file for easily turning on a boatload of warnings in your project or its targets.
- Aardvark - Aardvark is a library that makes it dead simple to create actionable bug reports.
- Stats - In-app memory usage monitoring.
- GlueKit - A type-safe observer framework for Swift.
- SwiftFormat - A code library and command-line formatting tool for reformatting Swift code.
- PSTModernizer - Makes it easier to support older versions of iOS by fixing things and adding missing methods.
- Bugsee - In-app bug and crash reporting with video, logs, network traffic and traces.
- Fallback - Syntactic sugar for nested do-try-catch.
- ODUIThreadGuard - A guard to help you check if you make UI changes not in main thread.
- IBAnalyzer - Find common xib and storyboard-related problems without running your app or writing unit tests.
- DecouplingKit - decoupling between modules in your iOS Project.
- Clue - Flexible bug report framework for iOS with screencast, networking, interactions and view structure.
- WeakableSelf - A Swift micro-framework to encapsulate
[weak self]andguardstatements within closures.
Linter
Static code analyzers to enforce style and conventions.
- OCLint - Static code analysis tool for improving quality and reducing defects.
- Taylor - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms.
- Swiftlint - A tool to enforce Swift style and conventions.
- IBLinter - A linter tool for Interface Builder.
- SwiftLinter - Share lint rules between projects and lint changed files with SwiftLint.
- AnyLint - Lint anything by combining the power of Swift & regular expressions.
Color
Hex color extensions, theming, color pickers and other awesome color tools.
- DynamicColor - Yet another extension to manipulate colors easily in Swift.
- SwiftHEXColors - HEX color handling as an extension for UIColor.
- Colours - A beautiful set of predefined colors and a set of color methods to make your iOS/macOS development life easier.
- UIColor-Hex-Swift - Convenience method for creating autoreleased color using RGBA hex string.
- Hue - Hue is the all-in-one coloring utility that you'll ever need.
- FlatUIColors - Flat UI color palette helpers written in Swift.
- RandomColorSwift - An attractive color generator for Swift. Ported from
randomColor.js. - PFColorHash - Generate color based on the given string.
- BCColor - A lightweight but powerful color kit (Swift).
- DKNightVersion - Manage Colors, Integrate Night/Multiple Themes.
- PrettyColors - PrettyColors is a Swift library for styling and coloring text in the Terminal. The library outputs ANSI escape codes and conforms to ECMA Standard 48.
- TFTColor - Simple Extension for RGB and CMKY Hex Strings and Hex Values (ObjC & Swift).
- CostumeKit - Base types for theming an app.
- CSS3ColorsSwift - A UIColor extension with CSS3 Colors name.
- ChromaColorPicker - An intuitive iOS color picker built in Swift.
- Lorikeet - A lightweight Swift framework for aesthetically pleasing color-scheme generation and CIE color-difference calculation.
- Gestalt - An unintrusive & light-weight iOS app-theming library with support for animated theme switching.
- SheetyColors - An action sheet styled color picker for iOS.
Command Line
Smart, beautiful and elegant tools to help you create command line applications.
- Swiftline - Swiftline is a set of tools to help you create command line applications.
- Commander - Compose beautiful command line interfaces in Swift.
- ColorizeSwift - Terminal string styling for Swift.
- Guaka - The smartest and most beautiful (POSIX compliant) Command line framework for Swift.
- Marathon - Marathon makes it easy to write, run and manage your Swift scripts.
- CommandCougar - An elegant pure Swift library for building command line applications.
- Crayon - Terminal string styling with expressive api and 256/TrueColor support.
- SwiftShell - A Swift framework for shell scripting and running shell commands.
- SourceDocs - Command Line Tool that generates Markdown documentation from inline source code comments.
- ModuleInterface - Command Line Tool that generates the Module's Interface from a Swift project.
Concurrency
Job schedulers, Coroutines, Asynchronous and Type safe threads libs and frameworks written in Swift
- Venice - CSP (Coroutines, Channels, Select) for Swift.
- Concurrent - Functional Concurrency Primitives.
- Flow - Operation Oriented Programming in Swift.
- Brisk - A Swift DSL that allows concise and effective concurrency manipulation.
- Aojet - An actor model library for swift.
- Overdrive - Fast async task based Swift framework with focus on type safety, concurrency and multi threading.
- AsyncNinja - A complete set of concurrency and reactive programming primitives.
- Kommander - Kommander is a Swift library to manage the task execution in different threads. Through the definition a simple but powerful concept, Kommand.
- Threadly - Type-safe thread-local storage in Swift.
- Flow-iOS - Make your logic flow and data flow clean and human readable.
- Queuer - A queue manager, built on top of OperationQueue and Dispatch (aka GCD).
- SwiftQueue - Job Scheduler with Concurrent run, failure/retry, persistence, repeat, delay and more.
- GroupWork - Easy concurrent, asynchronous tasks in Swift.
- StickyLocking - A general purpose embedded hierarchical lock manager used to build highly concurrent applications of all types.
- SwiftCoroutine - Swift coroutines library for iOS and macOS.
Core Data
Core data Frameworks, wrappers, generators and boilerplates.
- Ensembles - A synchronization framework for Core Data.
- Mogenerator - Automatic Core Data code generation.
- MagicalRecord - Super Awesome Easy Fetching for Core Data.
- CoreStore - Powerful Core Data framework for Incremental Migrations, Fetching, Observering, etc.
- Core Data Query Interface A type-safe, fluent query framework for Core Data.
- Graph - An elegant data-driven framework for CoreData in Swift.
- CoreDataDandy - A feature-light wrapper around Core Data that simplifies common database operations.
- Sync - Modern Swift JSON synchronization to Core Data.
- AlecrimCoreData - A powerful and simple Core Data wrapper framework written in Swift.
- AERecord - Super awesome Core Data wrapper in Swift.
- CoreDataStack - The Big Nerd Ranch Core Data Stack.
- JSQCoreDataKit - A swifter Core Data stack.
- Skopelos - A minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data. Simply all you need for doing Core Data.
- Cadmium - A complete swift framework that wraps CoreData and helps facilitate best practices.
- DataKernel - Simple CoreData wrapper to ease operations.
- DATAStack - 100% Swift Simple Boilerplate Free Core Data Stack. NSPersistentContainer.
- JustPersist - JustPersist is the easiest and safest way to do persistence on iOS with Core Data support out of the box.
- PrediKit - An NSPredicate DSL for iOS, macOS, tvOS, & watchOS. Inspired by SnapKit and lovingly written in Swift.
- PredicateFlow - Write amazing, strong-typed and easy-to-read NSPredicate, allowing you to write flowable NSPredicate, without guessing attribution names, predicate operation or writing wrong arguments type.
- CloudCore - Robust CloudKit synchronization: offline editing, relationships, shared and public databases, field-level deltas, and more.
Database
Wrappers, clients, Parse alternatives and safe tools to deal with ephemeral and persistent data.
- Realm - The alternative to CoreData and SQLite: Simple, modern and fast.
- YapDatabase - YapDatabase is an extensible database for iOS & Mac.
- Couchbase Mobile - Couchbase document store for mobile with cloud sync.
- FMDB - A Cocoa / Objective-C wrapper around SQLite.
- FCModel - An alternative to Core Data for people who like having direct SQL access.
- Zephyr - Effortlessly synchronize NSUserDefaults over iCloud.
- Prephirences - Prephirences is a Swift library that provides useful protocols and convenience methods to manage application preferences, configurations and app-state.
- Storez - Safe, statically-typed, store-agnostic key-value storage (with namespace support).
- SwiftyUserDefaults - Statically-typed NSUserDefaults.
- SugarRecord - Data persistence management library.
- SQLite.swift - A type-safe, Swift-language layer over SQLite3.
- GRDB.swift - A versatile SQLite toolkit for Swift, with WAL mode support.
- Fluent - Simple ActiveRecord implementation for working with your database in Swift.
- ParseAlternatives - A collaborative list of Parse alternative backend service providers.
- TypedDefaults - TypedDefaults is a utility library to type-safely use NSUserDefaults.
- realm-cocoa-converter - A library that provides the ability to import/export Realm files from a variety of data container formats.
- YapDatabaseExtensions - YapDatabase extensions for use with Swift.
- RealmGeoQueries - RealmGeoQueries simplifies spatial queries with Realm Cocoa. In the absence of and official functions, this library provide the possibility to do proximity search.
- SwiftMongoDB - A MongoDB interface for Swift.
- ObjectiveRocks - An Objective-C wrapper of Facebook's RocksDB - A Persistent Key-Value Store for Flash and RAM Storage.
- OHMySQL - An Objective-C wrapper of MySQL C API.
- SwiftStore - Key-Value store for Swift backed by LevelDB.
- OneStore - A single value proxy for NSUserDefaults, with clean API.
- MongoDB - A Swift wrapper around the mongo-c client library, enabling access to MongoDB servers.
- MySQL - A Swift wrapper around the MySQL client library, enabling access to MySQL servers.
- Redis - A Swift wrapper around the Redis client library, enabling access to Redis.
- PostgreSQL - A Swift wrapper around the libpq client library, enabling access to PostgreSQL servers.
- FileMaker - A Swift wrapper around the FileMaker XML Web publishing interface, enabling access to FileMaker servers.
- Nora - Nora is a Firebase abstraction layer for working with FirebaseDatabase and FirebaseStorage.
- PersistentStorageSerializable - Swift library that makes easier to serialize the user's preferences (app's settings) with system User Defaults or Property List file on disk.
- WCDB - WCDB is an efficient, complete, easy-to-use mobile database framework for iOS, macOS.
- StorageKit - Your Data Storage Troubleshooter.
- UserDefaults - Simple, Strongly Typed UserDefaults for iOS, macOS and tvOS.
- Default - Modern interface to UserDefaults + Codable support.
- IceCream - Sync Realm Database with CloudKit.
- FirebaseHelper - Safe and easy wrappers for common Firebase Realtime Database functions.
- Shallows - Your lightweight persistence toolbox.
- StorageManager - Safe and easy way to use FileManager as Database.
- RealmWrapper - Safe and easy wrappers for RealmSwift.
- UserDefaultsStore - An easy and very light way to store and retrieve -reasonable amount- of Codable objects, in a couple lines of code.
- PropertyKit - Protocol-First, Type and Key-Safe Swift Property for iOS, macOS and tvOS.
- PersistenceKit - Store and retrieve Codable objects to various persistence layers, in a couple lines of code.
- ModelAssistant - Elegant library to manage the interactions between view and model in Swift.
- MMKV - An efficient, small mobile key-value storage framework developed by WeChat. Works on iOS, Android, macOS and Windows.
- Defaults - Swifty and modern UserDefaults.
- MongoKitten - A pure Swift MongoDB client implementation with support for embedded databases.
- SecureDefaults - A lightweight wrapper over UserDefaults/NSUserDefaults with an extra AES-256 encryption layer.
- Unrealm - Unrealm enables you to easily store Swift native Classes, Structs and Enums into Realm.
- QuickDB - Save and Retrieve any
Codablein JUST ONE line of code + more easy usecases. - ObjectBox - ObjectBox is a superfast, light-weight object persistence framework.
Data Structures / Algorithms
Diffs, keypaths, sorted lists and other amazing data structures wrappers and libraries.
- Changeset - Minimal edits from one collection to another.
- BTree - Fast ordered collections for Swift using in-memory B-trees.
- SwiftStructures - Examples of commonly used data structures and algorithms in Swift.
- diff - Simple diff library in pure Swift.
- Brick - A generic view model for both basic and complex scenarios.
- Algorithm - Algorithm is a collection of data structures that are empowered by a probability toolset.
- AnyObjectConvertible - Convert your own struct/enum to AnyObject easily.
- Dollar - A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript https://www.dollarswift.org/.
- Result - Swift type modeling the success/failure of arbitrary operations.
- EKAlgorithms - Some well known CS algorithms & data structures in Objective-C.
- Monaka - Convert custom struct and fundamental values to NSData.
- Buffer - Swift μ-framework for efficient array diffs, collection observation and cell configuration.
- SwiftGraph - Graph data structure and utility functions in pure Swift.
- SwiftPriorityQueue - A priority queue with a classic binary heap implementation in pure Swift.
- Pencil - Write values to file and read it more easily.
- HeckelDiff - A fast Swift diffing library.
- Dekoter -
NSCoding's counterpart for Swift structs. - swift-algorithm-club - Algorithms and data structures in Swift, with explanations!
- Impeller - A Distributed Value Store in Swift.
- Dispatch - Multi-store Flux implementation in Swift.
- DeepDiff - Diff in Swift.
- Differ - Swift library to generate differences and patches between collections.
- Probably - A Swift probability and statistics library.
- RandMyMod - RandMyMod base on your own struct or class create one or a set of randomized instance.
- KeyPathKit - KeyPathKit provides a seamless syntax to manipulate data using typed keypaths.
- Differific - A fast and convenient diffing framework.
- OneWaySynchronizer - The simplest abstraction to synchronize local data with remote source.
- DifferenceKit - A fast and flexible O(n) difference algorithm framework for Swift collection.
Date & Time
Time and NSCalendar libraries. Also contains Sunrise and Sunset time generators, time pickers and NSTimer interfaces.
- Timepiece - Intuitive NSDate extensions in Swift.
- SwiftDate - The best way to manage Dates and Timezones in Swift.
- SwiftMoment - A time and calendar manipulation library.
- DateTools - Dates and times made easy in Objective-C.
- SwiftyTimer - Swifty API for NSTimer.
- DateHelper - Convenience extension for NSDate in Swift.
- iso-8601-date-formatter - A Cocoa NSFormatter subclass to convert dates to and from ISO-8601-formatted strings. Supports calendar, week, and ordinal formats.
- EmojiTimeFormatter - Format your dates/times as emojis.
- Kronos - Elegant NTP date library in Swift.
- TrueTime - Get the true current time impervious to device clock time changes.
- 10Clock - This Control is a beautiful time-of-day picker heavily inspired by the iOS 10 "Bedtime" timer.
- NSDate-TimeAgo - A "time ago", "time since", "relative date", or "fuzzy date" category for NSDate and iOS, Objective-C, Cocoa Touch, iPhone, iPad.
- AnyDate - Swifty Date & Time API inspired from Java 8 DateTime API.
- TimeZonePicker - A TimeZonePicker UIViewController similar to the iOS Settings app.
- Time - Type-safe time calculations in Swift, powered by generics.
- Chronology - Building a better date/time library.
- Solar - A Swift micro library for generating Sunrise and Sunset times.
- TimePicker - Configurable time picker component based on a pan gesture and its velocity.
- LFTimePicker - Custom Time Picker ViewController with Selection of start and end times in Swift.
- NVDate - Swift4 Date extension library.
- Schedule - ⏳ A missing lightweight task scheduler for Swift with an incredibly human-friendly syntax.
Debugging
Debugging tools, crash reports, logs and console UI's.
- Xniffer - A swift network profiler built on top of URLSession.
- Netfox - A lightweight, one line setup, iOS / macOS network debugging library!
- PonyDebugger - Remote network and data debugging for your native iOS app using Chrome Developer Tools.
- DBDebugToolkit - Set of easy to use debugging tools for iOS developers & QA engineers.
- Flex - An in-app debugging and exploration tool for iOS.
- chisel - Collection of LLDB commands to assist debugging iOS apps.
- Alpha - Next generation debugging framework for iOS.
- AEConsole - Customizable Console UI overlay with debug log on top of your iOS App.
- GodEye - Automatically display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift.
- NetworkEye - a iOS network debug library, It can monitor HTTP requests within the App and displays information related to the request.
- Dotzu - iOS app debugger while using the app. Crash report, logs, network.
- Hyperion - In-app design review tool to inspect measurements, attributes, and animations.
- Httper-iOS - App for developers to test REST API.
- Droar - Droar is a modular, single-line installation debugging window.
- Wormholy - iOS network debugging, like a wizard.
- AppSpector - Remote iOS and Android debugging and data collection service. You can debug networking, logs, CoreData, SQLite, NSNotificationCenter and mock device's geo location.
- Woodpecker - View sandbox files, UserDefaults, network request from Mac.
- LayoutInspector - Debug app layouts directly on iOS device: inspect layers in 3D and debug each visible view attributes.
- MTHawkeye - Profiling / Debugging assist tools for iOS, include tools: UITimeProfiler, Memory Allocations, Living ObjC Objects Sniffer, Network Transaction Waterfall, etc.
- Playbook - A library for isolated developing UI components and automatically snapshots of them.
- DoraemonKit - A full-featured iOS App development assistant,30+ tools included. You deserve it.
- Atlantis - A little and powerful iOS framework for intercepting HTTP/HTTPS Traffic from your iOS app. No more messing around with proxy and certificate config. Inspect Traffic Log with Proxyman app.
EventBus
Promises and Futures libraries to help you write better async code in Swift.
- SwiftEventBus - A publish/subscribe event bus optimized for iOS.
- PromiseKit - Promises for iOS and macOS.
- Bolts - Bolts is a collection of low-level libraries designed to make developing mobile apps easier, including tasks (promises) and app links (deep links).
- SwiftTask - Promise + progress + pause + cancel + retry for Swift.
- When - A lightweight implementation of Promises in Swift.
- then🎬 - Elegant Async code in Swift.
- Bolts-Swift - Bolts is a collection of low-level libraries designed to make developing mobile apps easier.
- RWPromiseKit - A light-weighted Promise library for Objective-C.
- FutureLib - FutureLib is a pure Swift 2 library implementing Futures & Promises inspired by Scala.
- SwiftNotificationCenter - A Protocol-Oriented NotificationCenter which is type safe, thread safe and with memory safety.
- FutureKit - A Swift based Future/Promises Library for iOS and macOS.
- signals-ios - Typeful eventing.
- BrightFutures - Write great asynchronous code in Swift using futures and promises.
- NoticeObserveKit - NoticeObserveKit is type-safe NotificationCenter wrapper that associates notice type with info type.
- Hydra - Promises & Await - Write better async code in Swift.
- Promis - The easiest Future and Promises framework in Swift. No magic. No boilerplate.
- Bluebird.swift - Promise/A+, Bluebird inspired, implementation in Swift 4.
- Promise - A Promise library for Swift, based partially on Javascript's A+ spec.
- promises - Google provides a synchronization construct for Objective-C and Swift to facilitate writing asynchronous code.
- Continuum - NotificationCenter based Lightweight UI / AnyObject binder.
- Futures - Lightweight promises for iOS, macOS, tvOS, watchOS, and server-side Swift.
- EasyFutures - 🔗 Swift Futures & Promises. Easy to use. Highly combinable.
- TopicEventBus - Publish–subscribe design pattern implementation framework, with ability to publish events by topic. (NotificationCenter extended alternative).
Files
File management, file browser, zip handling and file observers.
- FileKit - Simple and expressive file management in Swift.
- Zip - Swift framework for zipping and unzipping files.
- FileBrowser - Powerful Swift file browser for iOS.
- Ares - Zero-setup P2P file transfer between Macs and iOS devices.
- FileProvider - FileManager replacement for Local, iCloud and Remote (WebDAV/FTP/Dropbox/OneDrive/SMB2) files on iOS/tvOS and macOS.
- KZFileWatchers - A micro-framework for observing file changes, both local and remote. Helpful in building developer tools.
- ZipArchive - ZipArchive is a simple utility class for zipping and unzipping files on iOS and Mac.
- FileExplorer - Powerful file browser for iOS that allows its users to choose and remove files and/or directories.
- ZIPFoundation - Effortless ZIP Handling in Swift.
- AppFolder - AppFolder is a lightweight framework that lets you design a friendly, strongly-typed representation of a directories inside your app's container.
- ZipZap - zip file I/O library for iOS, macOS and tvOS.
- AMSMB2 - Swift framework to connect SMB 2/3 shares for iOS.
Functional Programming
Collection of Swift functional programming tools.
- Forbind - Functional chaining and promises in Swift.
- Funky - Functional programming tools and experiments in Swift.
- LlamaKit - Collection of must-have functional Swift tools.
- Oriole - A functional utility belt implemented as Swift protocol extensions.
- Prelude - Swift µframework of simple functional programming tools.
- Swiftx - Functional data types and functions for any project.
- Swiftz - Functional programming in Swift.
- OptionalExtensions - Swift µframework with extensions for the Optional Type.
- Argo - Functional JSON parsing library for Swift.
- Runes - Infix operators for monadic functions in Swift.
- Bow - Typed Functional Programming companion library for Swift.
Games
- Sage - A cross-platform chess library for Swift.
- ShogibanKit - ShogibanKit is a framework for implementing complex Japanese Chess (Shogii) in Swift. No UI, nor AI.
- SKTiled - Swift framework for working with Tiled assets in SpriteKit.
- CollectionNode - A swift framework for a collectionView in SpriteKit.
- AssetImportKit - Swifty cross platform library (macOS, iOS) that converts Assimp supported models to SceneKit scenes.
- glide engine - SpriteKit and GameplayKit based engine for making 2d games, with practical examples and tutorials.
- SwiftFortuneWheel - A cross-platform framework for games like a Wheel of Fortune.
GCD
Grand Central Dispatch syntax sugars, tools and timers.
- GCDKit - Grand Central Dispatch simplified with Swift.
- Async - Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch.
- SwiftSafe - Thread synchronization made easy.
- YYDispatchQueuePool - iOS utility class to manage global dispatch queue.
- AlecrimAsyncKit - Bringing async and await to Swift world with some flavouring.
- GrandSugarDispatch - Syntactic sugar for Grand Central Dispatch (GCD).
- Threader - Pretty GCD calls and easier code execution.
- Dispatch - Just a tiny library to make using GCD easier and intuitive.
- GCDTimer - Well tested Grand Central Dispatch (GCD) Timer in Swift.
- Chronos-Swift - Grand Central Dispatch Utilities.
- Me - A super slim solution to the nested asynchronous computations.
- SwiftyTask - An extreme queuing system with high performance for managing all task in app with closure.
Gesture
Libraries and tools to handle gestures.
- Tactile - A better way to handle gestures on iOS.
- SwiftyGestureRecognition - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds.
- DBPathRecognizer - Gesture recognizer tool.
- Sensitive - Special way to work with gestures in iOS.
- SplitViewDragAndDrop - Easily add drag and drop to pass data between your apps in split view mode.
- FDFullscreenPopGesture - An UINavigationController's category to enable fullscreen pop gesture in an iOS7+ system style with AOP.
Graphics
CoreGraphics, CoreAnimation, SVG, CGContext libraries, helpers and tools.
- Graphicz - Light-weight, operator-overloading-free complements to CoreGraphics!
- PKCoreTechniques - The code for my CoreGraphics+CoreAnimation talk, held during the 2012 iOS Game Design Seminar at the Technical University Munich.
- MPWDrawingContext - An Objective-C wrapper for CoreGraphics CGContext.
- DePict - A simple, declarative, functional drawing framework, in Swift!
- SwiftSVG - A single pass SVG parser with multiple interface options (String, NS/UIBezierPath, CAShapeLayer, and NS/UIView).
- InkKit - Write-Once, Draw-Everywhere for iOS and macOS.
- YYAsyncLayer - iOS utility classes for asynchronous rendering and display.
- NXDrawKit - NXDrawKit is a simple and easy but useful drawing kit for iPhone.
- jot - An iOS framework for easily adding drawings and text to images.
- SVGKit - Display and interact with SVG Images on iOS / macOS, using native rendering (CoreAnimation) (currently only supported for iOS - macOS code needs updating).
- Snowflake - SVG in Swift.
- HxSTLParser - Basic STL loader for SceneKit.
- ProcessingKit - Visual designing library for iOS & OSX.
- EZYGradientView - Create gradients and blur gradients without a single line of code.
- AEConicalGradient - Conical (angular) gradient layer written in Swift.
- MKGradientView - Core Graphics based gradient view capable of producing Linear (Axial), Radial (Circular), Conical (Angular), Bilinear (Four Point) gradients, written in Swift.
- EPShapes - Design shapes in Interface Builder.
- Macaw - Powerful and easy-to-use vector graphics library with SVG support written in Swift.
- BlockiesSwift - Unique blocky identicons/profile picture generator.
- Rough - lets you draw in a sketchy, hand-drawn-like, style.
- GraphLayout - UI controls for graph visualization. It is powered by Graphviz.
- Drawsana - iOS framework for building raster drawing and image markup views.
- AnimatedGradientView - A simple framework to add animated gradients to your iOS app.
Hardware
Bluetooth
Libraries to deal with nearby devices, BLE tools and MultipeerConnectivity wrappers.
- Discovery - A very simple library to discover and retrieve data from nearby devices (even if the peer app works at background).
- LGBluetooth - Simple, block-based, lightweight library over CoreBluetooth. Will clean up your Core Bluetooth related code.
- PeerKit An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps.
- BluetoothKit - Easily communicate between iOS/macOS devices using BLE.
- Bluetonium - Bluetooth mapping in Swift.
- BlueCap - iOS Bluetooth LE framework.
- Apple Family - Quickly connect Apple devices together with Bluetooth, wifi, and USB.
- Bleu - BLE (Bluetooth LE) for U.
- Bluejay - A simple Swift framework for building reliable Bluetooth LE apps.
- BabyBluetooth - The easiest way to use Bluetooth (BLE) in iOS/MacOS.
- ExtendaBLE - Simple Blocks-Based BLE Client for iOS/tvOS/watchOS/OSX/Android. Quickly configuration for centrals/peripherals, perform packet based read/write operations, and callbacks for characteristic updates.
- PeerConnectivity - Functional wrapper for Apple's MultipeerConnectivity framework.
- AZPeerToPeerConnection - AZPeerToPeerConnectivity is a wrapper on top of Apple iOS Multipeer Connectivity framework. It provides an easier way to create and manage sessions. Easy to integrate.
- MultiPeer - Multipeer is a wrapper for Apple's MultipeerConnectivity framework for offline data transmission between Apple devices. It makes easy to automatically connect to multiple nearby devices and share information using either bluetooth or wifi.
- BerkananSDK - Mesh messaging SDK with the goal to create a decentralized mesh network for the people, powered by their device's Bluetooth antenna.
Camera
Mocks, ImagePickers, and multiple options of customizable camera implementation
- TGCameraViewController - Custom camera with AVFoundation. Beautiful, light and easy to integrate with iOS projects.
- PBJVision - iOS camera engine, features touch-to-record video, slow motion video, and photo capture.
- Cool-iOS-Camera - A fully customisable and modern camera implementation for iOS made with AVFoundation.
- SCRecorder - Camera engine with Vine-like tap to record, animatable filters, slow motion, segments editing.
- ALCameraViewController - A camera view controller with custom image picker and image cropping. Written in Swift.
- CameraManager - Simple Swift class to provide all the configurations you need to create custom camera view in your app.
- RSBarcodes_Swift - 1D and 2D barcodes reader and generators for iOS 8 with delightful controls. Now Swift.
- LLSimpleCamera - A simple, customizable camera control - video recorder for iOS.
- Fusuma - Instagram-like photo browser and a camera feature with a few line of code in Swift.
- BarcodeScanner - Simple and beautiful barcode scanner.
- HorizonSDK-iOS - State of the art real-time video recording / photo shooting iOS library.
- FastttCamera - Fasttt and easy camera framework for iOS with customizable filters.
- DKCamera - A lightweight & simple camera framework for iOS. Written in Swift.
- NextLevel - Next Level is a media capture camera library for iOS.
- CameraEngine - Camera engine for iOS, written in Swift, above AVFoundation.
- SwiftyCam - A Snapchat Inspired iOS Camera Framework written in Swift.
- CameraBackground - Show camera layer as a background to any UIView.
- Lumina - Full service camera that takes photos, videos, streams frames, detects metadata, and streams CoreML predictions.
- RAImagePicker - RAImagePicker is a protocol-oriented framework that provides custom features from the built-in Image Picker Edit.
- FDTake - Easily take a photo or video or choose from library.
- YPImagePicker - Instagram-like image picker & filters for iOS.
- MockImagePicker - Mock UIImagePickerController for testing camera based UI in simulator.
- iOS-Depth-Sampler - A collection of code examples for Depth APIs.
- TakeASelfie - An iOS framework that uses the front camera, detects your face and takes a selfie.
- HybridCamera - Video and photo camera for iOS, similar to the SnapChat camera.
- CameraKit-iOS - Massively increase camera performance and ease of use in your next iOS project.
Force Touch
Quick actions and peek and pop interactions
- QuickActions - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts).
- JustPeek - JustPeek is an iOS Library that adds support for Force Touch-like Peek and Pop interactions on devices that do not natively support this kind of interaction.
- PeekView - PeekView supports peek, pop and preview actions for iOS devices without 3D Touch capibility.
iBeacon
Device detect libraries and iBeacon helpers
- Proxitee - Allows developers to create proximity aware applications utilizing iBeacons & geo fences.
- OWUProximityManager - iBeacons + CoreBluetooth.
- Vicinity - Vicinity replicates iBeacons (by analyzing RSSI) and supports broadcasting and detecting low-energy Bluetooth devices in the background.
- BeaconEmitter - Turn your Mac as an iBeacon.
- MOCA Proximity - Paid proximity marketing platform that lets you add amazing proximity experiences to your app.
- JMCBeaconManager - An iBeacon Manager class that is responsible for detecting beacons nearby.
Location
Location monitoring, detect motion and geofencing libraries
- IngeoSDK - Always-On Location monitoring framework for iOS.
- LocationManager - Provides a block-based asynchronous API to request the current location, either once or continuously.
- SwiftLocation - Location & Beacon Monitoring in Swift.
- SOMotionDetector - Simple library to detect motion. Based on location updates and acceleration.
- LocationPicker - A ready for use and fully customizable location picker for your app.
- BBLocationManager - A Location Manager for easily implementing location services & geofencing in iOS.
- set-simulator-location - CLI for setting location in the iOS simulator.
- NominatimKit - A Swift wrapper for (reverse) geocoding of OpenStreetMap data.
Other Hardware
- MotionKit - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple.
- DarkLightning - Simply the fastest way to transmit data between iOS/tvOS and macOS.
- Deviice - Simply library to detect the device on which the app is running (and some properties).
- DeviceKit - DeviceKit is a value-type replacement of UIDevice.
- Luminous - Luminous is a big framework which can give you a lot of information (more than 50) about the current system.
- Device - Light weight tool for detecting the current device and screen size written in swift.
- WatchShaker - WatchShaker is a watchOS helper to get your shake movement written in swift.
- WatchCon - WatchCon is a tool which enables creating easy connectivity between iOS and WatchOS.
- TapticEngine - TapticEngine generates iOS Device vibrations.
- UIDeviceComplete - UIDevice extensions that fill in the missing pieces.
- NFCNDEFParse - NFC Forum Well Known Type Data Parser for iOS11 and Core NFC.
- Device.swift - Super-lightweight library to detect used device.
- SDVersion - Lightweight Cocoa library for detecting the running device's model and screen size.
- Haptico - Easy to use haptic feedback generator with pattern-play support.
- NFCPassportReader - Swift library to read an NFC enabled passport. Supports BAC, Secure Messaging, and both active and passive authentication. Requires iOS 13 or above.
Layout
Auto Layout, UI frameworks and a gorgeous list of tools to simplify layout constructions
- Masonry - Harness the power of AutoLayout NSLayoutConstraints with a simplified, chainable and expressive syntax.
- FLKAutoLayout - UIView category which makes it easy to create layout constraints in code.
- Façade - Programmatic view layout for the rest of us - an autolayout alternative.
- PureLayout - The ultimate API for iOS & macOS Auto Layout — impressively simple, immensely powerful. Objective-C and Swift compatible.
- SnapKit - A Swift Autolayout DSL for iOS & macOS.
- Cartography - A declarative Auto Layout DSL for Swift.
- AutoLayoutPlus - A bit of steroids for AutoLayout.
- Neon - A powerful Swift programmatic UI layout framework.
- MisterFusion - A Swift DSL for AutoLayout. It is the extremely clear, but concise syntax, in addition, can be used in both Swift and Objective-C.
- SwiftBox - Flexbox in Swift, using Facebook's css-layout.
- ManualLayout - Easy to use and flexible library for manually laying out views and layers for iOS and tvOS. Supports AsyncDisplayKit.
- Stevia - Elegant view layout for iOS.
- Manuscript - AutoLayoutKit in pure Swift.
- FDTemplateLayoutCell - Template auto layout cell for automatically UITableViewCell height calculating.
- SwiftAutoLayout - Tiny Swift DSL for Autolayout.
- FormationLayout - Work with auto layout and size classes easily.
- SwiftyLayout - Lightweight declarative auto-layout framework for Swift.
- Swiftstraints - Auto Layout In Swift Made Easy.
- SwiftBond - Bond is a Swift binding framework that takes binding concepts to a whole new level. It's simple, powerful, type-safe and multi-paradigm.
- Restraint - Minimal Auto Layout in Swift.
- EasyPeasy - Auto Layout made easy.
- Auto Layout Magic - Build 1 scene, let Auto Layout Magic generate the constraints for you! Scenes look great across all devices!
- Anchorman - An autolayout library for the damn fine citizens of San Diego.
- LayoutKit - LayoutKit is a fast view layout library for iOS.
- Relayout - Swift microframework for declaring Auto Layout constraints functionally.
- Anchorage - A collection of operators and utilities that simplify iOS layout code.
- Compose - Compose is a library that helps you compose complex and dynamic views.
- BrickKit - With BrickKit, you can create complex and responsive layouts in a simple way. It's easy to use and easy to extend. Create your own reusable bricks and behaviors.
- Framezilla - Elegant library which wraps working with frames with a nice chaining syntax.
- TinyConstraints - The syntactic sugar that makes Auto Layout sweeter for human use.
- MyLinearLayout - MyLayout is a powerful iOS UI framework implemented by Objective-C. It integrates the functions with Android Layout,iOS AutoLayout,SizeClass, HTML CSS float and flexbox and bootstrap.
- SugarAnchor - Same native NSLayoutAnchor & NSLayoutConstraints; but with more natural and easy to read syntactic sugar. Typesafe, concise & readable.
- EasyAnchor - Declarative, extensible, powerful Auto Layout.
- PinLayout - Fast Swift Views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable.
- SnapLayout - Concise Auto Layout API to chain programmatic constraints while easily updating existing constraints.
- Cupcake - An easy way to create and layout UI components for iOS.
- MiniLayout - Minimal AutoLayout convenience layer. Program constraints succinctly.
- Bamboo - Bamboo makes Auto Layout (and manual layout) elegant and concise.
- FlexLayout - FlexLayout gently wraps the highly optimized facebook/yoga flexbox implementation in a concise, intuitive & chainable syntax.
- Layout - A declarative UI framework for iOS.
- CGLayout - Powerful autolayout framework based on constraints, that can manage UIView(NSView), CALayer and not rendered views. Not Apple Autolayout wrapper.
- YogaKit - Powerful layout engine which implements Flexbox.
- FlightLayout - Balanced medium between manual layout and auto-layout. Great for calculating frames for complex animations.
- QLayout - AutoLayout Utility for iOS.
- Layoutless - Minimalistic declarative layout and styling framework built on top of Auto Layout.
- Yalta - An intuitive and powerful Auto Layout library.
- SuperLayout - Simplify Auto Layout with super syntactic sugar.
- QuickLayout - QuickLayout offers a simple way, to easily manage Auto Layout in code.
- EEStackLayout - A structured vertical stack layout.
- RKAutoLayout - Simple wrapper over AutoLayout.
- Grid - The most powerful Grid container missed in SwiftUI.
- MondrianLayout - A DSL based layout builder for AutoLayout.
Localization
Tools to manage strings files, translate and enable localization in your apps.
- Hodor - Simple solution to localize your iOS App.
- Swifternalization - Localize iOS apps in a smarter way using JSON files. Swift framework.
- Rubustrings - Check the format and consistency of Localizable.strings files.
- BartyCrouch - Incrementally update/translate your Strings files from Code and Storyboards/XIBs.
- LocalizationKit - Localization management in realtime from a web portal. Easily manage your texts and translations without redeploy and resubmission.
- Localize-Swift - Swift 2.0 friendly localization and i18n with in-app language switching.
- LocalizedView - Setting up application specific localized string within Xib file.
- transai - command line tool help you manage localization string files.
- Strsync - Automatically translate and synchronize .strings files from base language.
- IBLocalizable - Localize your views directly in Interface Builder with IBLocalizable.
- nslocalizer - A tool for finding missing and unused NSLocalizedStrings.
- L10n-swift - Localization of an application with ability to change language "on the fly" and support for plural forms in any language.
- Localize - Easy tool to localize apps using JSON or Strings and of course IBDesignables with extensions for UI components.
- CrowdinSDK - Crowdin iOS SDK delivers all new translations from Crowdin project to the application immediately.
- attranslate - Semi-automatically translate or synchronize .strings files or crossplatform-files from different languages.
- Respresso Localization Converter - Multiplatform localization converter for iOS (.strings + Objective-C getters), Android (strings.xml) and Web (.json).
Logging
Debugging lives here. Logging tools, frameworks, integrations and more.
- CleanroomLogger - A configurable and extensible Swift-based logging API that is simple, lightweight and performant.
- CocoaLumberjack - A fast & simple, yet powerful & flexible logging framework for Mac and iOS.
- NSLogger - a high performance logging utility which displays traces emitted by client applications running on macOS, iOS and Android.
- QorumLogs — Swift Logging Utility for Xcode & Google Docs.
- Log - A logging tool with built-in themes, formatters, and a nice API to define your owns.
- Rainbow - Delightful console output for Swift developers.
- SwiftyBeaver - Convenient logging during development and release.
- SwiftyTextTable - A lightweight tool for generating text tables.
- Watchdog - Class for logging excessive blocking on the main thread.
- XCGLogger - A debug log framework for use in Swift projects. Allows you to log details to the console (and optionally a file), just like you would have with NSLog or println, but with additional information, such as the date, function name, filename and line number.
- puree - A log collector for iOS.
- Colors - A pure Swift library for using ANSI codes. Basically makes command-line coloring and styling very easy!
- Loggerithm - A lightweight Swift logger, uses
printin development andNSLogin production. Support colourful and formatted output. - AELog - Simple, lightweight and flexible debug logging framework written in Swift.
- ReflectedStringConvertible - A protocol that allows any class to be printed as if it were a struct.
- Evergreen - Most natural Swift logging.
- SwiftTrace - Trace Swift and Objective-C method invocations.
- Willow - Willow is a powerful, yet lightweight logging library written in Swift.
- Bugfender - Cloud storage for your app logs. Track user behaviour to find problems in your mobile apps.
- LxDBAnything - Automate box any value! Print log without any format control symbol! Change debug habit thoroughly!
- XLTestLog - Styling and coloring your XCTest logs on Xcode Console.
- XLFacility - Elegant and extensive logging facility for macOS & iOS (includes database, Telnet and HTTP servers).
- Atlantis - A powerful input-agnostic swift logging framework made to speed up development with maximum readability.
- StoryTeller - Taking a completely different approach to logging, Story Teller replacing fixed logging levels in It then uses dynamic expressions to control the logging so you only see what is important.
- LumberMill - Stupidly simple logging.
- TinyConsole - A tiny log console to display information while using your iOS app.
- Lighty - Easy to use and lightweight logger for iOS, macOS, tvOS, watchOS and Linux.
- JustLog - Console, file and remote Logstash logging via TCP socket.
- Twitter Logging Service - Twitter Logging Service is a robust and performant logging framework for iOS clients.
- Reqres - Network request and response body logger with Alamofire support.
- TraceLog - Dead Simple: logging the way it's meant to be! Runs on ios, osx, and Linux.
- OkLog - A network logger for iOS and macOS projects.
- Spy - Lightweight, flexible, multiplatform (iOS, macOS, tvOS, watchOS, Linux) logging utility written in pure Swift that allows you to log on different levels and channels which you can define on your own depending on your needs.
- Diagnostics - Allow users to easily share Diagnostics with your support team to improve the flow of fixing bugs.
- Gedatsu - Provide readable format about AutoLayout error console log.
Machine Learning
A collection of ML Models, deep learning and neural networking libraries
- Swift-Brain - Artificial Intelligence/Machine Learning data structures and Swift algorithms for future iOS development. Bayes theorem, Neural Networks, and more AI.
- AIToolbox - A toolbox of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians.
- Tensorflow-iOS - The official Google-built powerful neural network library port for iOS.
- Bender - Easily craft fast Neural Networks. Use TensorFlow models. Metal under the hood.
- CoreML-samples - Sample code for Core ML using ResNet50 provided by Apple and a custom model generated by coremltools.
- Revolver - A framework for building fast genetic algorithms in Swift. Comes with modular architecture, pre-implemented operators and loads of examples.
- CoreML-Models - A collection of unique Core ML Models.
- Serrano - A deep learning library for iOS and macOS.
- Swift-AI - The Swift machine learning library.
- TensorSwift - A lightweight library to calculate tensors in Swift, which has similar APIs to TensorFlow's.
- DL4S - Deep Learning for Swift: Accelerated tensor operations and dynamic neural networks based on reverse mode automatic differentiation for every device that can run Swift.
- SwiftCoreMLTools - A Swift library for creating and exporting CoreML Models in Swift.
Maps
- Mapbox GL - An OpenGL renderer for Mapbox Vector Tiles with SDK bindings for iOS.
- GEOSwift - The Swift Geographic Engine.
- PXGoogleDirections - Google Directions API helper for iOS, written in Swift.
- Cluster - Easy Map Annotation Clustering.
- JDSwiftHeatMap - JDSwiftMap is an IOS Native MapKit Library. You can easily make a highly customized HeatMap.
- ClusterKit - An iOS map clustering framework targeting MapKit, Google Maps and Mapbox.
- FlyoverKit - FlyoverKit enables you to present stunning 360° flyover views on your MKMapView with zero effort while maintaining full configuration possibilities.
- MapViewPlus - Use any custom view as custom callout view of your MKMapView with cool animations. Also, easily use any image as annotation view.
- MSFlightMapView - Add and animate geodesic flights on Google map.
- WhirlyGlobe-Maply - 3D globe and flat-map SDK for iOS. This toolkit has a large API for fine-grained control over the map or globe. It reads a wide variety of GIS data formats.
Math
Math frameworks, functions and libraries to custom operations, statistical calculations and more.
- Euler - Swift Custom Operators for Mathematical Notation.
- SwiftMath - A math framework for Swift. Includes: vectors, matrices, complex numbers, quaternions and polynomials.
- Arithmosophi - A set of protocols for Arithmetic and Logical operations.
- Surge - A Swift library that uses the Accelerate framework to provide high-performance functions for matrix math, digital signal processing, and image manipulation.
- Upsurge - Swift math.
- Swift-MathEagle - A general math framework to make using math easy. Currently supports function solving and optimisation, matrix and vector algebra, complex numbers, big int and big frac and general handy extensions and functions.
- iosMath - A library for displaying beautifully rendered math equations. Enables typesetting LaTeX math formulae in iOS.
- BigInt - Arbitrary-precision arithmetic in pure Swift.
- SigmaSwiftStatistics - A collection of functions for statistical calculation.
- VectorMath - A Swift library for Mac and iOS that implements common 2D and 3D vector and matrix functions, useful for games or vector-based graphics.
- Expression - A Mac and iOS library for evaluating numeric expressions at runtime.
- Metron - Metron is a comprehensive collection of geometric functions and types that extend the 2D geometric primitives provided by CoreGraphics.
- NumericAnnex - NumericAnnex supplements the numeric facilities provided in the Swift standard library.
Media
Audio
- AudioBus - Add Next Generation Live App-to-App Audio Routing.
- AudioKit - A powerful toolkit for synthesizing, processing, and analyzing sounds.
- EZAudio - An iOS/macOS audio visualization framework built upon Core Audio useful for anyone doing real-time, low-latency audio processing and visualizations.
- novocaine - Painless high-performance audio on iOS and macOS.
- QHSpeechSynthesizerQueue - Queue management system for AVSpeechSynthesizer (iOS Text to Speech).
- Cephalopod - A sound fader for AVAudioPlayer written in Swift.
- Chirp - The easiest way to prepare, play, and remove sounds in your Swift app!
- Beethoven - An audio processing Swift library for pitch detection of musical signals.
- AudioPlayerSwift - AudioPlayer is a simple class for playing audio in iOS, macOS and tvOS apps.
- AudioPlayer - AudioPlayer is syntax and feature sugar over AVPlayer. It plays your audio files (local & remote).
- TuningFork - Simple Tuner for iOS.
- MusicKit - A framework for composing and transforming music in Swift.
- SubtleVolume - Replace the system volume popup with a more subtle indicator.
- NVDSP - iOS/macOS DSP for audio (with Novocaine).
- SRGMediaPlayer-iOS - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application.
- IQAudioRecorderController - A drop-in universal library allows to record audio within the app with a nice User Interface.
- TheAmazingAudioEngine2 - The Amazing Audio Engine is a sophisticated framework for iOS audio applications, built so you don't have to.
- InteractivePlayerView - Custom iOS music player view.
- ESTMusicIndicator - Cool Animated music indicator view written in Swift.
- QuietModemKit - iOS framework for the Quiet Modem (data over sound).
- SwiftySound - Super simple library that lets you play sounds with a single line of code (and much more). Written in Swift 3, supports iOS, macOS and tvOS. CocoaPods and Carthage compatible.
- BPMAnalyser - Fast and simple instrument to get the BPM rate from your audio-files.
- PandoraPlayer - A lightweight music player for iOS, based on AudioKit.
- SonogramView - Audio visualisation of song.
- AudioIndicatorBars - AIB indicates for your app users which audio is playing. Just like the Podcasts app.
- Porcupine - On-device wake word detection engine for macOS, iOS, and watchOS, powered by deep learning.
- Voice Overlay - An overlay that gets your user’s voice permission and input as text in a customizable UI.
- ModernAVPlayer - Persistence player to resume playback after bad network connection even in background mode, manage headphone interactions, system interruptions, now playing informations and remote commands.
- FDWaveformView - An easy way to display an audio waveform in your app, including animation.
- FDSoundActivatedRecorder - Start recording when the user speaks.
GIF
- YLGIFImage - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory.
- FLAnimatedImage - Performant animated GIF engine for iOS.
- gifu - Highly performant animated GIF support for iOS in Swift.
- AnimatedGIFImageSerialization - Complete Animated GIF Support for iOS, with Functions, NSJSONSerialization-style Class, and (Optional) UIImage Swizzling
- XAnimatedImage - XAnimatedImage is a performant animated GIF engine for iOS written in Swift based on FLAnimatedImage
- SwiftGif - A small UIImage extension with gif support.
- APNGKit - High performance and delightful way to play with APNG format in iOS.
- YYImage - Image framework for iOS to display/encode/decode animated WebP, APNG, GIF, and more.
- AImage - A animated GIF&APNG engine for iOS in Swift with low memory & cpu usage.Optimized for Multi-Image case.
- NSGIF2 - Simplify creation of a GIF from the provided video file url.
- SwiftyGif - High performance GIF engine.
Image
- GPU Image - An open source iOS framework for GPU-based image and video processing.
- UIImage DSP - iOS UIImage processing functions using the vDSP/Accelerate framework for speed.
- AsyncImageView - Simple extension of UIImageView for loading and displaying images asynchronously without lock up the UI.
- SDWebImage - Asynchronous image downloader with cache support with an UIImageView category.
- DFImageManager - Modern framework for fetching images from various sources. Zero config yet immense customization and extensibility. Uses NSURLSession.
- MapleBacon - An image download and caching library for iOS written in Swift.
- NYTPhotoViewer - Slideshow and image viewer.
- IDMPhotoBrowser - Photo Browser / Viewer.
- Concorde - Download and decode progressive JPEGs.
- TOCropViewController - A view controller that allows users to crop UIImage objects.
- YXTMotionView - A custom image view that implements device motion scrolling.
- PINRemoteImage - A thread safe, performant, feature rich image fetcher.
- SABlurImageView - Easily Adding Animated Blur/Unblur Effects To An Image.
- FastImageCache - iOS library for quickly displaying images while scrolling.
- BKAsciiImage - Convert UIImage to ASCII art.
- AlamofireImage - An image component library for Alamofire.
- Nuke - Image loading, processing, caching and preheating.
- FlagKit - Beautiful flag icons for usage in apps and on the web.
- YYWebImage - Asynchronous image loading framework (supports WebP, APNG, GIF).
- RSKImageCropper - An image cropper for iOS like in the Contacts app with support for landscape orientation.
- Silo - Image loading framework with loaders.
- Ody - Ody is an easy to use random image generator built with Swift, Perfect for placeholders.
- Banana - Image slider with very simple interface.
- JDSwiftAvatarProgress - Easy customizable avatar image asynchronously with progress bar animated.
- Kingfisher - A lightweight and pure Swift implemented library for downloading and caching image from the web.
- EBPhotoPages - A photo gallery for iOS with a modern feature set. Similar features as the Facebook photo browser.
- UIImageView-BetterFace-Swift - The Swift version of https://github.com/croath/UIImageView-BetterFace
- KFSwiftImageLoader - An extremely high-performance, lightweight, and energy-efficient pure Swift async web image loader with memory and disk caching for iOS and Apple Watch.
- Toucan - Fabulous Image Processing in Swift.
- ImageLoaderSwift - A lightweight and fast image loader for iOS written in Swift.
- ImageScout - A Swift implementation of fastimage. Supports PNG, GIF, and JPEG.
- JLStickerTextView - A UIImageView allow you to add multiple Label (multiple line text support) on it, you can edit, rotate, resize the Label as you want with one finger ,then render the text on Image.
- Agrume - A lemony fresh iOS image viewer written in Swift.
- PASImageView - Rounded async imageview downloader lightly cached and written in Swift.
- Navi - Focus on avatar caching.
- SwiftPhotoGallery - Simple, fullscreen image gallery with tap, swipe, and pinch gestures.
- MetalAcc - GPU-based Media processing library using Metal written in Swift.
- MWPhotoBrowser - A simple iOS photo and video browser with grid view, captions and selections.
- UIImageColors - iTunes style color fetcher for UIImage.
- CDFlipView - A view that takes a set of images, make transition from one to another by using flipping effects.
- GPUImage2 - GPUImage 2 is a BSD-licensed Swift framework for GPU-accelerated video and image processing.
- TGLParallaxCarousel - A lightweight 3D Linear Carousel with parallax effect.
- ImageButter - Makes dealing with images buttery smooth.
- SKPhotoBrowser - Simple PhotoBrowser/Viewer inspired by Facebook, Twitter photo browsers written by swift.
- YUCIHighPassSkinSmoothing - An implementation of High Pass Skin Smoothing using Apple's Core Image Framework.
- CLImageViewPopup - A simple Image full screen pop up.
- APKenBurnsView - Ken Burns effect with face recognition!
- Moa - An image download extension of the image view for iOS, tvOS and macOS.
- JMCMarchingAnts - Library that lets you add marching ants (animated) selection to the edges of the images.
- ImageViewer - An image viewer à la Twitter.
- FaceAware - An extension that gives UIImageView the ability to focus on faces within an image when using AspectFill.
- SwiftyAvatar - A UiimageView class for creating circular avatar images, IBDesignable to make all changes via storyboard.
- ShinpuruImage - Syntactic Sugar for Accelerate/vImage and Core Image Filters.
- ImagePickerSheetController - ImagePickerSheetController is like the custom photo action sheet in iMessage just without the glitches.
- ComplimentaryGradientView - Create complementary gradients generated from dominant and prominent colors in supplied image. Inspired by Grade.js.
- ImageSlideshow - Swift image slideshow with circular scrolling, timer and full screen viewer.
- Imaginary - Remote images, as easy as one, two, three.
- PPAssetsActionController - Highly customizable Action Sheet Controller with Assets Preview.
- Vulcan - Multi image downloader with priority in Swift.
- FacebookImagePicker - Facebook album photo picker written in Swift.
- Lightbox - A convenient and easy to use image viewer for your iOS app.
- Ebblink - An iOS SDK for sharing photos that automatically expire and can be deleted at any time.
- Sharaku - Instagram-like image filter ViewController.
- CTPanoramaView - Displays spherical or cylindrical panoramas or 360-photos with touch or motion based control options.
- Twitter Image Pipline - streamlined framework for fetching and storing images in an application.
- TinyCrayon - A smart and easy-to-use image masking and cutout SDK for mobile apps.
- FlexibleImage - A simple way to play with image!
- TLPhotoPicker - Multiple phassets picker for iOS lib. like a facebook.
- YapImageManager - A high-performance image downloader written in Swift, powered by YapDatabase.
- PhotoEditorSDK - A fully customizable photo editor for your app.
- SimpleImageViewer - A snappy image viewer with zoom and interactive dismissal transition.
- AZImagePreview - A framework that makes image viewing easy.
- FaceCropper - Crop faces, inside of your image, with iOS 11 Vision api.
- Paparazzo - Custom iOS camera and photo picker with editing capabilities.
- ZImageCropper - A Swift project to crop image in any shape.
- InitialsImageView - An UIImageView extension that generates letter initials as a placeholder for user profile images, with a randomized background color.
- DTPhotoViewerController - A fully customizable photo viewer ViewController, inspired by Facebook photo viewer.
- LetterAvatarKit - A UIImage extension that generates letter-based avatars written in Swift.
- AXPhotoViewer - An iPhone/iPad photo gallery viewer, useful for viewing a large (or small!) number of photos
- TJProfileImage - Live rendering of componet’s properties in Interface Builder.
- Viewer - Image viewer (or Lightbox) with support for local and remote videos and images.
- OverlayComposite - An asynchronous, multithreaded, image compositing framework written in Swift.
- MCScratchImageView - A custom ImageView that is used to cover the surface of other view like a scratch card, user can swipe the mulch to see the view below.
- MetalPetal - A GPU-accelerated image/video processing framework based on Metal.
- ShadowImageView - ShadowImageView is a iOS 10 Apple Music style image view, help you create elegent image with shadow.
- Avatar - Generate random user Avatar images using CoreGraphics and QuartzCore.
- Serrata - Slide image viewer library similar to Twitter and LINE.
- StyleArt - Style Art library process images using COREML with a set of pre trained machine learning models and convert them to Art style.
- greedo-layout-for-ios - Full aspect ratio grid layout for iOS.
- ImageDetect - Detect and crop faces, barcodes and texts inside of your image, with iOS 11 Vision api.
- THTiledImageView - Provide ultra-high-quality images through tiling techniques.
- GPUImage3 - GPUImage 3 is a BSD-licensed Swift framework for GPU-accelerated video and image processing using Metal.
- Gallery - Your next favorite image and video picker.
- ATGMediaBrowser - Image slide-show viewer with multiple predefined transition styles, and ability to create new transitions with ease.
- Pixel - An image editor and engine using CoreImage.
- OnlyPictures - A simple and flexible way to add source of overlapping circular pictures.
- SFSafeSymbols - Safely access Apple's SF Symbols using static typing.
- BSZoomGridScrollView - iOS customizable grid style scrollView UI library to display your UIImage array input, designed primarily for SwiftUI as well as to interoperate with UIKit.
Media Processing
- SwiftOCR - Fast and simple OCR library written in Swift.
- QR Code Scanner - QR Code implementation.
- QRCode - A QRCode generator written in Swift.
- EFQRCode - A better way to operate two-dimensional code in Swift.
- NSFWDetector - A NSFW (aka porn) detector with CoreML.
- Reader - PDF Reader Core for iOS.
- UIView 2 PDF - PDF generator using UIViews or UIViews with an associated XIB.
- FolioReaderKit - A Swift ePub reader and parser framework for iOS.
- PDFGenerator - A simple Generator of PDF in Swift. Generate PDF from view(s) or image(s).
- SimplePDF - Create a simple PDF effortlessly.
- SwiftPDFGenerator - PDF generator using UIViews; Swift Version of 'UIView 2 PDF'.
- PSPDFKit - Render PDF, add/edit annotations, fill forms, add/edit pages, view/create digital signatures.
- TPPDF - Generate PDF using commands and automatic layout.
- FastPdfKit - A Static Library to be embedded on iOS applications to display pdf documents derived from Fast PDF.
- UIImagePlusPDF - UIImage extensions to simply use PDF files.
Streaming
- HaishinKit.swift - Camera and Microphone streaming library via RTMP, HLS for iOS, macOS.
- StreamingKit - A fast and extensible gapless AudioPlayer/AudioStreamer for macOS and iOS.
- Jukebox - Player for streaming local and remote audio files. Written in Swift.
- LFLiveKit - H264 and AAC Hard coding,support GPUImage Beauty, rtmp transmission,weak network lost frame,Dynamic switching rate.
- Airstream - A framework for streaming audio between Apple devices using AirPlay.
- OTAcceleratorCore - A painless way to integrate audio/video(screen sharing) to any iOS applications via Tokbox.
Video
- VIMVideoPlayer - A simple wrapper around the AVPlayer and AVPlayerLayer classes.
- MobilePlayer - A powerful and completely customizable media player for iOS.
- XCDYouTubeKit - YouTube video player for iOS, tvOS and macOS.
- AVAnimator - An open source iOS native library that makes it easy to implement non-trivial video/audio enabled apps.
- Periscope VideoViewController - Video view controller with Periscope fast rewind control.
- MHVideoPhotoGallery - A Photo and Video Gallery.
- PlayerView - Player View is a delegated view using AVPlayer of Swift.
- SRGMediaPlayer-iOS - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application.
- AVPlayerViewController-Subtitles - AVPlayerViewController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate.
- MPMoviePlayerController-Subtitles - MPMoviePlayerController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate.
- ZFPlayer - Based on AVPlayer, support for the horizontal screen, vertical screen (full screen playback can also lock the screen direction), the upper and lower slide to adjust the volume, the screen brightness, or so slide to adjust the playback progress.
- Player - video player in Swift, simple way to play and stream media in your iOS or tvOS app.
- BMPlayer - Video player in swift3 and swift2 for iOS, based on AVPlayer, support the horizontal, vertical screen. support adjust volume, brigtness and seek by slide.
- VideoPager - Paging Video UI, and some control components is available.
- ios-360-videos - NYT360Video plays 360-degree video streamed from an AVPlayer.
- swift-360-videos - Pure swift (no SceneKit) 3D library with focus on video and 360.
- ABMediaView - UIImageView subclass for drop-in image, video, GIF, and audio display, with functionality for fullscreen and minimization to the bottom-right corner.
- PryntTrimmerView - A set of UI elements to trim, crop and select frames inside a video.
- VGPlayer - A simple iOS video player in Swift,Support play local and network,Background playback mode.
- YoutubeKit - A video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app.
- Swift-YouTube-Player - Swift library for embedding and controlling YouTube videos in your iOS applications!
- JDVideoKit - You can easily transfer your video into Three common video type via this framework.
- VersaPlayer - Versatile AVPlayer implementation for iOS, macOS, and tvOS.
Messaging
Also see push notifications
- XMPPFramework - An XMPP Framework in Objective-C for Mac and iOS.
- Chatto - A lightweight framework to build chat applications, made in Swift.
- MessageKit - Eventually, a Swift re-write of JSQMessagesViewController.
- Messenger - This is a native iOS Messenger app, making realtime chat conversations and audio calls with full offline support.
- OTTextChatAccelerator - OpenTok Text Chat Accelerator Pack enables text messages between mobile or browser-based devices.
- chat-sdk-ios - Chat SDK iOS - Open Source Mobile Messenger.
- AsyncMessagesViewController - A smooth, responsive and flexible messages UI library for iOS.
- MessageViewController - A SlackTextViewController replacement written in Swift for the iPhone X.
- SwiftyMessenger - Swift toolkit for passing messages between iOS apps and extensions.
- Messenger Chat with Firebase - Swift messaging chat app with Firebase Firestore integration.
- SwiftKafka - Swift SDK for Apache Kafka by IBM.
- ChatLayout - A lightweight framework to build chat UI that uses custom
UICollectionViewLayoutto provide full control over the presentation as well as all the tools available inUICollectionView.
Networking
- AFNetworking - A delightful iOS and macOS networking framework.
- RestKit - RestKit is an Objective-C framework for iOS that aims to make interacting with RESTful web services simple, fast and fun.
- FSNetworking - Foursquare iOS networking library.
- ASIHTTPRequest - Easy to use CFNetwork wrapper for HTTP requests, Objective-C, macOS and iPhone.
- Overcoat - Small but powerful library that makes creating REST clients simple and fun.
- ROADFramework - Attributed-oriented approach for interacting with web services. The framework has built-in json and xml serialization for requests and responses and can be easily extensible.
- Alamofire - Alamofire is an HTTP networking library written in Swift, from the creator of AFNetworking.
- Transporter - A tiny library makes uploading and downloading easier.
- CDZPinger - Easy-to-use ICMP Ping.
- NSRails - iOS/Mac OS framework for Rails.
- NKMultipeer - A testable abstraction over multipeer connectivity.
- CocoaAsyncSocket - Asynchronous socket networking library for Mac and iOS.
- Siesta - Elegant abstraction for RESTful resources that untangles stateful messes. An alternative to callback- and delegate-based networking.
- Reachability.swift - Replacement for Apple's Reachability re-written in Swift with closures.
- OctopusKit - A simplicity but graceful solution for invoke RESTful web service APIs.
- Moya - Network abstraction layer written in Swift.
- TWRDownloadManager - A modern download manager based on NSURLSession to deal with asynchronous downloading, management and persistence of multiple files.
- HappyDns - A Dns library, support custom dns server, dnspod httpdns. Only support A record.
- Bridge - A simple extensible typed networking library. Intercept and process/alter requests and responses easily.
- TRON - Lightweight network abstraction layer, written on top of Alamofire.
- EVCloudKitDao - Simplified access to Apple's CloudKit.
- EVURLCache - a NSURLCache subclass for handling all web requests that use NSURLRequest.
- ResponseDetective - Sherlock Holmes of the networking layer.
- Pitaya - A Swift HTTP / HTTPS networking library just incidentally execute on machines.
- Just - Swift HTTP for Humans.
- agent - Minimalistic Swift HTTP request agent for iOS and macOS.
- Reach - A simple class to check for internet connection availability in Swift.
- SwiftHTTP - Thin wrapper around NSURLSession in swift. Simplifies HTTP requests.
- Netdiag - A network diagnosis library. Support Ping/TcpPing/Rtmp/TraceRoute/DNS/external IP/external DNS.
- AFNetworkingHelper - A custom wrapper over AFNetworking library that we use inside RC extensively.
- NetKit - A Concise HTTP Framework in Swift.
- RealReachability - We need to observe the REAL reachability of network. That's what RealReachability do.
- MonkeyKing - MonkeyKing helps you post messages to Chinese Social Networks.
- NetworkKit - Lightweight Networking and Parsing framework made for iOS, Mac, WatchOS and tvOS.
- APIKit - A networking library for building type safe web API client in Swift.
- ws ☁️ - Elegant JSON WebService in Swift.
- SPTDataLoader - The HTTP library used by the Spotify iOS client.
- SWNetworking - Powerful high-level iOS, macOS and tvOS networking library.
- Networking - Simple HTTP Networking in Swift a NSURLSession wrapper with image caching support.
- SOAPEngine - This generic SOAP client allows you to access web services using a your iOS app, macOS app and AppleTV app.
- Swish - Nothing but Net(working).
- Malibu - Malibu is a networking library built on promises.
- YTKNetwork - YTKNetwork is a high level request util based on AFNetworking.
- UnboxedAlamofire - Alamofire + Unbox: the easiest way to download and decode JSON into swift objects.
- MMLanScan - An iOS LAN Network Scanner library.
- Domainer - Manage multi-domain url auto mapping ip address table.
- Restofire - Restofire is a protocol oriented network abstraction layer in swift that is built on top of Alamofire to use services in a declartive way.
- AFNetworking+RetryPolicy - An objective-c category that adds the ability to set the retry logic for requests made with AFNetworking.
- SwiftyZeroMQ - ZeroMQ Swift Bindings for iOS, macOS, tvOS and watchOS.
- Nikka - A super simple Networking wrapper that supports many JSON libraries, Futures and Rx.
- XMNetworking - A lightweight but powerful network library with simplified and expressive syntax based on AFNetworking.
- Merhaba - Bonjour networking for discovery and connection between iOS, macOS and tvOS devices.
- DBNetworkStack - Resource-oritented networking which is typesafe, extendable, composeable and makes testing a lot easier.
- EFInternetIndicator - A little swift Internet error status indicator using ReachabilitySwift.
- AFNetworking-Synchronous - Synchronous requests for AFNetworking 1.x, 2.x, and 3.x.
- QwikHttp - a robust, yet lightweight and simple to use HTTP networking library designed for RESTful APIs.
- NetClient - Versatile HTTP networking library written in Swift 3.
- WANetworkRouting - An iOS library to route API paths to objects on client side with request, mapping, routing and auth layers.
- Reactor - Powering your RAC architecture.
- SWNetworking - Powerful high-level iOS, macOS and tvOS networking library. from the creator of SWNetworking.
- Digger - Digger is a lightweight download framework that requires only one line of code to complete the file download task.
- Ciao - Publish and discover services using mDNS(Bonjour, Zeroconf).
- Bamboots - Bamboots is a network request framework based on Alamofire, aiming at making network request easier for business development.
- SolarNetwork - Elegant network abstraction layer in Swift.
- FGRoute - An easy-to-use library that helps developers to get wifi ssid, router and device ip addresses.
- RxRestClient - Simple REST Client based on RxSwift and Alamofire.
- TermiNetwork - A networking library written with Swift 4.0 that supports multi-environment configuration, routing and automatic deserialization.
- Dots - Lightweight Concurrent Networking Framework.
- Gem - An extreme light weight system with high performance for managing all http request with automated parser with modal.
- RMHttp - Lightweight REST library for iOS and watchOS.
- AlamoRecord - An elegant yet powerful iOS networking layer inspired by ActiveRecord.
- MHNetwork - Protocol Oriented Network Layer Aim to avoid having bloated singleton NetworkManager.
- ThunderRequest - A simple URLSession wrapper with a generic protocol based request body approach and easy deserialisation of responses.
- ReactiveAPI - Write clean, concise and declarative network code relying on URLSession, with the power of RxSwift. Inspired by Retrofit.
- Squid - Declarative and reactive networking framework based on Combine and providing means for HTTP requests, transparent pagination, and WebSocket communication.
- Mail Core 2 - MailCore 2 provide a simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP.
- Postal - A swift framework providing simple access to common email providers.
Representations
- apollo-ios - A GraphQL client for iOS.
- JSONRPCKit - A JSON-RPC 2.0 library.
- protobuf-swift - Google ProtocolBuffers for Apple Swift
- swift-protobuf - Plugin and runtime library for using protobuf with Swift.
Notifications
Push Notifications
- Orbiter - Push Notification Registration for iOS.
- PEM - Automatically generate and renew your push notification profiles.
- Knuff - The debug application for Apple Push Notification Service (APNS).
- FBNotifications - Facebook Analytics In-App Notifications Framework.
- NWPusher - macOS and iOS application and framework to play with the Apple Push Notification service (APNs).
- SimulatorRemoteNotifications - Library to send mock remote notifications to the iOS simulator.
- APNSUtil - Library makes code simple settings and landing for apple push notification service.
Push Notification Providers
Most of these are paid services, some have free tiers.
- Urban Airship
- Growth Push - Popular in Japan.
- Braze
- Batch
- Boxcar
- Carnival
- Catapush
- Netmera
- OneSignal - Free.
- PushBots
- Pushwoosh
- Pushkin - Free and open-source.
- Pusher - Free and unlimited.
- Swrve
Local Notifications
- DLLocalNotifications - Easily create Local Notifications in swift - Wrapper of UserNotifications Framework.
Objective-C Runtime
Objective-C Runtime wrappers, libraries and tools.
- Lumos - A light Swift wrapper around Objective-C Runtime.
- Swizzlean - An Objective-C Swizzle Helper Class.
Optimization
- Unreachable - Unreachable code path optimization hint for Swift.
Parsing
CSV
- CSwiftV - A csv parser written in swift conforming to rfc4180.
- CSV.swift - CSV reading and writing library written in Swift.
- CodableCSV - Read and write CSV files row-by-row & field-by-field or through Swift's Codable interface.
JSON
- SBJson - This framework implements a strict JSON parser and generator in Objective-C.
- Mantle - Model framework for Cocoa and Cocoa Touch.
- Groot - Convert JSON dictionaries and arrays to and from Core Data managed objects.
- PropertyMapper - Data mapping and validation with minimal amount of code.
- JSONModel - Magical Data Modeling Framework for JSON. Create rapidly powerful, atomic and smart data model classes.
- SwiftyJSON - The better way to deal with JSON data in Swift.
- FastEasyMapping - Serialize & deserialize JSON fast.
- ObjectMapper - A framework written in Swift that makes it easy for you to convert your Model objects (Classes and Structs) to and from JSON.
- JASON - JSON parsing with outstanding performances and convenient operators.
- Gloss - A shiny JSON parsing library in Swift.
- SwiftyJSONAccelerator - Generate Swift 5 model files from JSON with Codeable support.
- alexander - An extremely simple JSON helper written in Swift.
- Freddy - A reusable framework for parsing JSON in Swift.
- mapper - A JSON deserialization library for Swift.
- Alembic - Functional JSON parsing, mapping to objects, and serialize to JSON.
- Arrow 🏹 - Elegant JSON Parsing in Swift.
- JSONExport - JSONExport is a desktop application for macOS which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language.
- Elevate - Elevate is a JSON parsing framework that leverages Swift to make parsing simple, reliable and composable.
- MJExtension - A fast, convenient and nonintrusive conversion between JSON and model. Your model class don't need to extend another base class. You don't need to modify any model file.
- AlamofireObjectMapper - An Alamofire extension which converts JSON response data into swift objects using ObjectMapper.
- JAYSON - Strict and Scalable JSON library.
- HandyJSON - A handy swift JSON-object serialization/deserialization library for Swift.
- Marshal - Marshaling the typeless wild west of [String: Any] (Protocol based).
- Motis - Easy JSON to NSObject mapping using Cocoa's key value coding (KVC).
- NSTEasyJSON - The easiest way to deal with JSON data in Objective-C (similar to SwiftyJSON).
- Serpent - A protocol to serialize Swift structs and classes for encoding and decoding.
- FlatBuffersSwift - This project brings FlatBuffers (an efficient cross platform serialization library) to Swift.
- CodableAlamofire - An extension for Alamofire that converts JSON data into Decodable objects (Swift 4).
- WAMapping - A library to turn dictionary into object and vice versa for iOS. Designed for speed!
- Himotoki - A type-safe JSON decoding library purely written in Swift.
- PMHTTP - Swift/Obj-C HTTP framework with a focus on REST and JSON.
- NativeJSONMapper - Simple Swift 4 encoding & decoding.
- PMJSON - Pure Swift JSON encoding/decoding library.
- jsoncafe.com - Online Template driven Model Class Generator from JSON.
- Mappable - lightweight and powerful JSON object mapping library, specially optimized for immutable properties.
XML & HTML
- AEXML - Simple and lightweight XML parser written in Swift.
- Ji - XML/HTML parser for Swift.
- Ono - A sensible way to deal with XML & HTML for iOS & macOS.
- Fuzi - A fast & lightweight XML & HTML parser in Swift with XPath & CSS support.
- Kanna - Kanna(鉋) is an XML/HTML parser for macOS/iOS.
- SwiftyXMLParser - Simple XML Parser implemented in Swift.
- HTMLKit - An Objective-C framework for your everyday HTML needs.
- SWXMLHash - Simple XML parsing in Swift.
- SwiftyXML - The most swifty way to deal with XML data in swift 4.
- XMLCoder - Encoder & Decoder for XML using Swift's
Codableprotocols.
Other Parsing
- WKZombie - WKZombie is a Swift framework for iOS/macOS to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript.
- URLPreview - An NSURL extension for showing preview info of webpages.
- FeedKit - An RSS and Atom feed parser written in Swift.
- Erik - Erik is an headless browser based on WebKit. An headless browser allow to run functional tests, to access and manipulate webpages using javascript.
- URLEmbeddedView - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card.
- SwiftCssParser - A Powerful , Extensible CSS Parser written in pure Swift.
- RLPSwift - Recursive Length Prefix encoding written in Swift.
- AcknowledgementsPlist - AcknowledgementsPlist manages the licenses of libraries that depend on your iOS app.
- CoreXLSX - Excel spreadsheet (XLSX) format support in pure Swift.
Passbook
- passbook - Passbook gem let's you create pkpass for passbook iOS 6+.
- Dubai - Generate and Preview Passbook Passes.
- Passkit - Design, Create and validate Passbook Passes.
Payments
- Caishen - A Payment Card UI & Validator for iOS.
- Stripe - Payment integration on your app with PAY. Suitable for people with low knowledge on Backend.
- Braintree - Free payment processing on your first $50k. Requires Backend.
- Venmo Make and accept payments in your iOS app via Venmo.
- Moltin - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required.
- PatronKit - A framework to add patronage to your apps.
- SwiftyStoreKit - Lightweight In App Purchases Swift framework for iOS 8.0+ and macOS 9.0+
- InAppFramework - In App Purchase Manager framework for iOS.
- SwiftInAppPurchase - Simply code In App Purchases with this Swift Framework.
- monza - Ruby Gem for Rails - Easy iTunes In-App Purchase Receipt validation, including auto-renewable subscriptions.
- PayPal - Accept payments in your iOS app via PayPal.
- card.io-iOS-SDK - card.io provides fast, easy credit card scanning in mobile apps.
- SwiftLuhn - Debit/Credit card validation port of the Luhn Algorithm in Swift.
- ObjectiveLuhn - Luhn Credit Card Validation Algorithm.
- RMStore - A lightweight iOS library for In-App Purchases.
- MFCard - Easily integrate Credit Card payments in iOS App / Customisable Card UI.
- TPInAppReceipt - Reading and Validating In App Store Receipt.
- iCard - Bank Card Generator with Swift using SnapKit DSL.
- CreditCardForm-iOS - CreditCardForm is iOS framework that allows developers to create the UI which replicates an actual Credit Card.
- merchantkit - A modern In-App Purchases management framework for iOS.
- TipJarViewController - Easy, drop-in tip jar for iOS apps.
- FramesIos - Payment Form UI and Utilities in Swift.
- YRPayment - Better payment user experience library with cool animation in Swift.
- AnimatedCardInput — Easy to use library with customisable components for input of Credit Card data.
Permissions
- Proposer - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location).
- ISHPermissionKit - A unified way for iOS apps to request user permissions.
- ClusterPrePermissions - Reusable pre-permissions utility that lets developers ask users for access in their own dialog, before making the system-based request.
- Permission - A unified API to ask for permissions on iOS.
- STLocationRequest - A simple and elegant 3D-Flyover location request screen written Swift.
- PAPermissions - A unified API to ask for permissions on iOS.
- AREK - AREK is a clean and easy to use wrapper over any kind of iOS permission.
- SPPermissions - Ask permissions on Swift. Available List, Dialog & Native interface. Can check state permission.
Reactive Programming
- RxSwift - Reactive Programming in Swift.
- RxOptional - RxSwift extensions for Swift optionals and "Occupiable" types.
- ReactiveTask - Flexible, stream-based abstraction for launching processes.
- ReactiveCocoa - Streams of values over time.
- RxMediaPicker - A reactive wrapper built around UIImagePickerController.
- ReactiveCoreData - ReactiveCoreData (RCD) is an attempt to bring Core Data into the ReactiveCocoa (RAC) world.
- ReSwift - Unidirectional Data Flow in Swift - Inspired by Redux.
- ReactiveKit - ReactiveKit is a collection of Swift frameworks for reactive and functional reactive programming.
- RxPermission - RxSwift bindings for Permissions API in iOS.
- RxAlamofire - RxSwift wrapper around the elegant HTTP networking in Swift Alamofire.
- RxRealm - Rx wrapper for Realm's collection types.
- RxMultipeer - A testable RxSwift wrapper around MultipeerConnectivity.
- RxBluetoothKit - iOS & macOS Bluetooth library for RxSwift.
- RxGesture - RxSwift reactive wrapper for view gestures.
- NSObject-Rx - Handy RxSwift extensions on NSObject, including rx_disposeBag.
- RxCoreData - RxSwift extensions for Core Data.
- RxAutomaton - RxSwift + State Machine, inspired by Redux and Elm.
- ReactiveArray - An array class implemented in Swift that can be observed using ReactiveCocoa's Signals.
- Interstellar - Simple and lightweight Functional Reactive Coding in Swift for the rest of us.
- ReduxSwift - Predictable state container for Swift apps too.
- Aftermath - Stateless message-driven micro-framework in Swift.
- RxKeyboard - Reactive Keyboard in iOS.
- JASONETTE-iOS - Native App over HTTP. Create your own native iOS app with nothing but JSON.
- ReactiveSwift - Streams of values over time by ReactiveCocoa group.
- Listenable - Swift object that provides an observable platform.
- Reactor - Unidirectional Data Flow using idiomatic Swift—inspired by Elm and Redux.
- Snail - An observables framework for Swift.
- RxWebSocket - Reactive extension over Starscream for websockets.
- ACKReactiveExtensions - Useful extensions for ReactiveCocoa
- ReactiveLocation - CoreLocation made reactive
- Hanson - Lightweight observations and bindings in Swift, with support for KVO and NotificationCenter.
- Observable - The easiest way to observe values in Swift.
- SimpleApiClient - A configurable api client based on Alamofire4 and RxSwift4 for iOS.
- VueFlux - Unidirectional Data Flow State Management Architecture for Swift - Inspired by Vuex and Flux.
- RxAnimated - Animated RxCocoa bindings.
- BindKit - Two-way data binding framework for iOS. Only one API to learn.
- STDevRxExt - STDevRxExt contains some extension functions for RxSwift and RxCocoa which makes our live easy.
- RxReduce - Lightweight framework that ease the implementation of a state container pattern in a Reactive Programming compliant way.
- RxCoordinator - Powerful navigation library for iOS based on the coordinator pattern.
- RxAlamoRecord Combines the power of the AlamoRecord and RxSwift libraries to create a networking layer that makes interacting with API's easier than ever reactively.
- CwlSignal A Swift framework for reactive programming.
- LightweightObservable - A lightweight implementation of an observable sequence that you can subscribe to.
- Bindy - Simple, lightweight swift bindings with KVO support and easy to read syntax.
- OpenCombine — Open source implementation of Apple's Combine framework for processing values over time.
- Verge - Verge is a faster and scalable state management library for UIKit and SwiftUI
React-Like
- Render - Swift and UIKit a la React.
- Katana - Swift apps a la React and Redux.
- TemplateKit - React-inspired framework for building component-based user interfaces in Swift.
- CoreEvents - Simple library with C#-like events.
- Tokamak - React-like framework providing a declarative API for building native UI components with easy to use one-way data binding.
Reflection
- Reflection - Reflection provides an API for advanced reflection at runtime including dynamic construction of types.
- Reflect - Reflection, Dict2Model, Model2Dict, Archive.
- EVReflection - Reflection based JSON encoding and decoding. Including support for NSDictionary, NSCoding, Printable, Hashable and Equatable.
- JSONNeverDie - Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die.
- SwiftKVC - Key-Value Coding (KVC) for native Swift classes and structs.
- Runtime - A Swift Runtime library for viewing type info, and the dynamic getting and setting of properties.
Regex
- Regex - A Swift µframework providing an NSRegularExpression-backed Regex type.
- SwiftRegex - Perl-like Regex =~ operator for Swift.
- PySwiftyRegex - Easily deal with Regex in Swift in a Pythonic way.
- Regex - Regular expressions for swift.
- Regex - Regex class for Swift. Wraps NSRegularExpression.
SDK
Official
- Spotify Spotify iOS SDK.
- SpotifyLogin Spotify SDK Login in Swift.
- Facebook Facebook iOS SDK.
- Google Analytics Google Analytics SDK for iOS.
- Paypal iOS SDK The PayPal Mobile SDKs enable native apps to easily accept PayPal and credit card payments.
- Pocket SDK for saving stuff to Pocket.
- Tumblr Library for easily integrating Tumblr data into your iOS or macOS application.
- Evernote Evernote SDK for iOS.
- Box iOS + macOS SDK for the Box API.
- OneDrive Live SDK for iOS.
- Stripe Stripe bindings for iOS and macOS.
- Venmo
- AWS Amazon Web Services Mobile SDK for iOS.
- Zendesk Zendesk Mobile SDK for iOS.
- Dropbox SDKs for Drop-ins and Dropbox Core API.
- Firebase Mobile (and web) application development platform.
- ResearchKit ResearchKit is an open source software framework that makes it easy to create apps for medical research or for other research projects.
- Primer - Easy SDK for creating personalized landing screens, signup, and login flows on a visual editor with built in a/b/n testing and analytics.
- Azure - Client library for accessing Azure Storage on an iOS device.
- 1Password - 1Password Extension for iOS Apps.
- CareKit - CareKit is an open source software framework for creating apps that help people better understand and manage their health. By Apple.
- Shopify - Shopify’s Mobile Buy SDK makes it simple to sell physical products inside your mobile app.
- Pinterest - Pinterest iOS SDK.
- playkit-ios - PlayKit: Kaltura Player SDK for iOS.
- algoliasearch-client-swift - Algolia Search API Client for Swift.
- twitter-kit-ios - Twitter Kit is a native SDK to include Twitter content inside mobile apps.
- rides-ios-sdk - Uber Rides iOS SDK (beta).
- Apphud - A complete solution to integrate auto-renewable subscriptions and regular in-app purchases in 30 minutes with no server code required.
- Adapty - Integrate in-app subscriptions and a/b testing for them with 3 lines of code.
Unofficial
- STTwitter A stable, mature and comprehensive Objective-C library for Twitter REST API 1.1.
- FHSTwitterEngine Twitter API for Cocoa developers.
- Giphy Giphy API client for iOS in Objective-C.
- UberKit - A simple, easy-to-use Objective-C wrapper for the Uber API.
- InstagramKit - Instagram iOS SDK.
- DribbbleSDK - Dribbble iOS SDK.
- objectiveflickr - ObjectiveFlickr, a Flickr API framework for Objective-C.
- Easy Social - Twitter & Facebook Integration.
- das-quadrat - A Swift wrapper for Foursquare API. iOS and macOS.
- SocialLib - SocialLib handles sharing message to multiple social media.
- PokemonKit - Pokeapi wrapper, written in Swift.
- TJDropbox - A Dropbox v2 client library written in Objective-C
- GitHub.swift - :octocat: Unofficial GitHub API client in Swift
- CloudRail SI - Abstraction layer / unified API for multiple API providers. Interfaces eg for Cloud Storage (Dropbox, Google, ...), Social Networks (Facebook, Twitter, ...) and more.
- Medium SDK - Swift - Unofficial Medium API SDK in Swift with sample project.
- Swifter - :bird: A Twitter framework for iOS & macOS written in Swift.
- SlackKit - a Slack client library for iOS and macOS written in Swift.
- RandomUserSwift - Swift Framework to Generate Random Users - An Unofficial SDK for randomuser.me.
- PPEventRegistryAPI - Swift 3 Framework for Event Registry API (eventregistry.org).
- UnsplashKit - Swift client for Unsplash.
- Swiftly Salesforce - An easy-to-use framework for building iOS apps that integrate with Salesforce, using Swift and promises.
- Spartan - An Elegant Spotify Web API Library Written in Swift for iOS and macOS.
- BigBoard - An Elegant Financial Markets Library Written in Swift that makes requests to Yahoo Finance API's under the hood.
- BittrexApiKit - Simple and complete Swift wrapper for Bittrex Exchange API.
- SwiftyVK Library for easy interact with VK social network API written in Swift.
- ARKKit - ARK Ecosystem Cryptocurrency API Framework for iOS & macOS, written purely in Swift 4.0.
- SwiftInstagram - Swift Client for Instagram API.
- SwiftyArk - A simple, lightweight, fully-asynchronous cryptocurrency framework for the ARK Ecosystem.
- PerfectSlackAPIClient - A Slack API Client for the Perfect Server-Side Swift Framework.
- Mothership - Tunes Connect Library inspired by FastLane.
- SwiftFlyer - An API wrapper for bitFlyer that supports all providing API.
- waterwheel.swift - The Waterwheel Swift SDK provides classes to natively connect iOS, macOS, tvOS, and watchOS applications to Drupal 7 and 8.
- ForecastIO - A Swift library for the Forecast.io Dark Sky API.
- JamfKit - A JSS communication framework written in Swift.
Security
- cocoapods-keys - A key value store for storing environment and application keys.
- simple-touch - Very simple swift wrapper for Biometric Authentication Services (Touch ID) on iOS.
- SwiftPasscodeLock - An iOS passcode lock with TouchID authentication written in Swift.
- Smile-Lock - A library for make a beautiful Passcode Lock View.
- zxcvbn-ios - A realistic password strength estimator.
- TPObfuscatedString - Simple String obfuscation using core Swift.
- LTHPasscodeViewController - An iOS passcode lockscreen replica (from Settings), with TouchID and simple (variable length) / complex support.
- iOS-App-Security-Class - Simple class to check if iOS app has been cracked, being debugged or enriched with custom dylib and as well detect jailbroken environment.
- BiometricAuth - Simple framework for biometric authentication (via TouchID) in your application.
- SAPinViewController - Simple and easy to use default iOS PIN screen. This simple library allows you to draw a fully customisable PIN screen same as the iOS default PIN view. My inspiration to create this library was form THPinViewController, however SAPinViewController is completely implemented in Swift. Also the main purpose of creating this library was to have simple, easy to use and fully customisable PIN screen.
- TOPasscodeViewController - A modal passcode input and validation view controller for iOS.
- BiometricAuthentication - Use Apple FaceID or TouchID authentication in your app using BiometricAuthentication.
- KKPinCodeTextField - A customizable verification code textField for phone verification codes, passwords etc.
- Virgil SWIFT PFS SDK - An SDK that allows developers to add the Perfect Forward Secrecy (PFS) technologies to their digital solutions to protect previously intercepted traffic from being decrypted even if the main Private Key is compromised.
- Virgil Security Objective-C/Swift SDK - An SDK which allows developers to add full end-to-end security to their existing digital solutions to become HIPAA and GDPR compliant and more using Virgil API.
- Vault - Safe place for your encryption keys.
- SecurePropertyStorage - Helps you define secure storages for your properties using Swift property wrappers.
Encryption
- AESCrypt-ObjC - A simple and opinionated AES encrypt / decrypt Objective-C class that just works.
- IDZSwiftCommonCrypto - A wrapper for Apple's Common Crypto library written in Swift.
- Arcane - Lightweight wrapper around CommonCrypto in Swift.
- SwiftMD5 - A pure Swift implementation of MD5.
- SwiftHash - Hash in Swift.
- SweetHMAC - A tiny and easy to use Swift class to encrypt strings using HMAC algorithms.
- SwCrypt - RSA public/private key generation, RSA, AES encryption/decryption, RSA sign/verify in Swift with CommonCrypto in iOS and macOS.
- SwiftSSL - An Elegant crypto toolkit in Swift.
- SwiftyRSA - RSA public/private key encryption in Swift.
- EnigmaKit - Enigma encryption in Swift.
- Themis - High-level crypto library, providing basic asymmetric encryption, secure messaging with forward secrecy and secure data storage, supports iOS/macOS, Android and different server side platforms.
- Obfuscator-iOS - Secure your app by obfuscating all the hard-coded security-sensitive strings.
- swift-sodium - Safe and easy to use crypto for iOS.
- CryptoSwift - Crypto related functions and helpers for Swift implemented in Swift programming language.
- SCrypto - Elegant Swift interface to access the CommonCrypto routines.
- SipHash - Simple and secure hashing in Swift with the SipHash algorithm.
- RNCryptor - CCCryptor (AES encryption) wrappers for iOS and Mac in Swift. -- For ObjC, see RNCryptor/RNCryptor-objc.
- CatCrypto - An easy way for hashing and encryption.
- SecureEnclaveCrypto - Demonstration library for using the Secure Enclave on iOS.
- RSASwiftGenerator - Util for generation RSA keys on your client and save to keychain or cover into Data.
- Virgil Security Objective-C/Swift Crypto Library - A high-level cryptographic library that allows to perform all necessary operations for securely storing and transferring data.
- JOSESwift - A framework for the JOSE standards JWS, JWE, and JWK written in Swift.
Keychain
- UICKeyChainStore - UICKeyChainStore is a simple wrapper for Keychain on iOS.
- Valet - Securely store data in the iOS or macOS Keychain without knowing a thing about how the Keychain works.
- Locksmith - A powerful, protocol-oriented library for working with the keychain in Swift.
- KeychainAccess - Simple Swift wrapper for Keychain that works on iOS and macOS.
- Keychains - Because you should care... about the security... of your shit.
- Lockbox - Objective-C utility class for storing data securely in the key chain.
- SAMKeychain - Simple Objective-C wrapper for the keychain that works on Mac and iOS.
- SwiftKeychainWrapper - A simple wrapper for the iOS Keychain to allow you to use it in a similar fashion to User Defaults.
- SwiftyKeychainKit - Keychain wrapper with the benefits of static typing and convenient syntax, support for primitive types, Codable, NSCoding.
Server
Server side projects supporting coroutines, Linux, MacOS, iOS, Apache Modules, Async calls, libuv and more.
- Perfect - Server-side Swift. The Perfect library, application server, connectors and example apps.
- Swifter - Tiny http server engine written in Swift programming language.
- CocoaHTTPServer - A small, lightweight, embeddable HTTP server for macOS or iOS applications.
- Curassow - Swift HTTP server using the pre-fork worker model.
- Zewo - Lightweight library for web server applications in Swift on macOS and Linux powered by coroutines.
- Vapor - Elegant web framework for Swift that works on iOS, macOS, and Ubuntu.
- swiftra - Sinatra-like DSL for developing web apps in Swift.
- blackfire - A fast HTTP web server based on Node.js and Express written in Swift.
- swift-http - HTTP Implementation for Swift on Linux and macOS.
- Trevi - libuv base Swift web HTTP server framework.
- Express - Swift Express is a simple, yet unopinionated web application server written in Swift.
- Taylor - A lightweight library for writing HTTP web servers with Swift.
- Frank - Frank is a DSL for quickly writing web applications in Swift.
- Kitura - A Swift Web Framework and HTTP Server.
- Swifton - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and macOS.
- Dynamo - High Performance (nearly)100% Swift Web server supporting dynamic content.
- Redis - Pure-Swift Redis client implemented from the original protocol spec. macOS + Linux compatible.
- NetworkObjects - Swift backend / server framework (Pure Swift, Supports Linux).
- Noze.io - Evented I/O streams a.k.a. Node.js for Swift.
- Lightning - A Swift Multiplatform Web and Networking Framework.
- SwiftGD - A simple Swift wrapper for libgd.
- Jobs - A job system for Swift backends.
- ApacheExpress - Write Apache Modules in Swift!
- GCDWebServer - Lightweight GCD based HTTP server for macOS & iOS (includes web based uploader & WebDAV server).
- Embassy - Super lightweight async HTTP server library in pure Swift runs in iOS / MacOS / Linux.
- smoke-framework - A light-weight server-side service framework written in the Swift programming language.
Text
- Twitter Text Obj - An Objective-C implementation of Twitter's text processing library.
- Nimbus - Nimbus is a toolkit for experienced iOS software designers.
- NSStringEmojize - A category on NSString to convert Emoji Cheat Sheet codes to their equivalent Unicode characters.
- MMMarkdown - An Objective-C static library for converting Markdown to HTML.
- DTCoreText - Methods to allow using HTML code with CoreText.
- DTRichTextEditor - A rich-text editor for iOS.
- NBEmojiSearchView - A searchable emoji dropdown view.
- Pluralize.swift - Great Swift String Pluralize Extension.
- RichEditorView - RichEditorView is a simple, modular, drop-in UIView subclass for Rich Text Editing.
- Money - Swift value types for working with money & currency.
- PhoneNumberKit - A Swift framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber.
- YYText - Powerful text framework for iOS to display and edit rich text.
- Format - A Swift Formatter Kit.
- Tribute - Programmatic creation of NSAttributedString doesn't have to be a pain.
- EmojiKit - Effortless emoji-querying in Swift.
- Roman - Seamless Roman numeral conversion in Swift.
- ZSSRichTextEditor - A beautiful rich text WYSIWYG editor for iOS with a syntax highlighted source view.
- pangu.Objective-C - Paranoid text spacing in Objective-C.
- SwiftString - A comprehensive, lightweight string extension for Swift.
- Marklight - Markdown syntax highlighter for iOS.
- MarkdownTextView - Rich Markdown editing control for iOS.
- TextAttributes - An easier way to compose attributed strings.
- Reductio - Automatic summarizer text in Swift.
- SmarkDown - A Pure Swift implementation of the markdown mark-up language.
- SwiftyMarkdown - Converts Markdown files and strings into NSAttributedString.
- SZMentions - Library to help handle mentions.
- SZMentionsSwift - Library to help handle mentions.
- Heimdall - Heimdall is a wrapper around the Security framework for simple encryption/decryption operations.
- NoOptionalInterpolation - Get rid of "Optional(...)" and "nil" in string interpolation. Easy pluralization.
- Smile Emoji in Swift.
- ISO8601 Super lightweight ISO8601 Date Formatter in Swift.
- Translucid - Lightweight library to set an Image as text background.
- FormatterKit -
stringWithFormat:for the sophisticated hacker set. - BonMot - Beautiful, easy attributed strings in Swift.
- SwiftValidators - String validation for iOS developed in Swift. Inspired by validator.js.
- StringStylizer - Type strict builder class for NSAttributedString.
- SwiftyAttributes - Swift extensions that make it a breeze to work with attributed strings.
- MarkdownKit - A simple and customizable Markdown Parser for Swift.
- CocoaMarkdown - Markdown parsing and rendering for iOS and macOS.
- Notepad - A fully themeable markdown editor with live syntax highlighting.
- KKStringValidator - Fast and simple string validation for iOS. With UITextField extension.
- ISO8859 - Convert ISO8859 1-16 Encoded Text to String in Swift. Supports iOS, tvOS, watchOS and macOS.
- Emojica - Replace standard emoji in strings with a custom emoji set, such as Twemoji or EmojiOne.
- SwiftRichString - Elegant & Painless Attributed Strings Management Library in Swift.
- libPhoneNumber-iOS - iOS port from libphonenumber (Google's phone number handling library).
- AttributedTextView - Easiest way to create an attributed UITextView with support for multiple links (including hashtags and mentions).
- StyleDecorator - Design string simply by linking attributes to needed parts.
- Mustard - Mustard is a Swift library for tokenizing strings when splitting by whitespace doesn't cut it.
- Input Mask - Pattern-based user input formatter, parser and validator for iOS.
- Attributed - Modern Swift µframework for attributed strings.
- Atributika - Easily build NSAttributedString by detecting and styling HTML-like tags, hashtags, mentions, RegExp or NSDataDetector patterns.
- Guitar - A Cross-Platform String Library Written in Swift.
- RealTimeCurrencyFormatter - An ObjC international currency formatting utility.
- Down - Blazing fast Markdown rendering in Swift, built upon cmark.
- Marky Mark - Highly customizable Markdown parsing and native rendering in Swift.
- MarkdownView - Markdown View for iOS.
- Highlighter - Highlight whatever you want! Highlighter will magically find UI objects such as UILabel, UITextView, UITexTfield, UIButton in your UITableViewCell or other Class.
- Sprinter - A library for formatting strings on iOS and macOS.
- Highlightr - An iOS & macOS syntax highlighter, supports 176 languages and comes with 79 styles.
- fuse-swift - A lightweight fuzzy-search library, with zero dependencies.
- EFMarkdown - A lightweight Markdown library for iOS.
- Croc - A lightweight Swift library for Emoji parsing and querying.
- PostalCodeValidator - A validator for postal codes with support for 200+ regions.
- CodeMirror Swift - A lightweight wrapper of CodeMirror for macOS and iOS. Support Syntax Highlighting & Themes.
- TwitterTextEditor - A standalone, flexible API that provides a full featured rich text editor for iOS applications.
Font
- FontBlaster - Programmatically load custom fonts into your iOS app.
- GoogleMaterialIconFont - Google Material Design Icons for Swift and ObjC project.
- ios-fontawesome - NSString+FontAwesome.
- FontAwesome.swift - Use FontAwesome in your Swift projects.
- SwiftFontName - OS font complements library. Localized font supported.
- SwiftIconFont - Icons fonts for iOS (FontAwesome, Iconic, Ionicon, Octicon, Themify, MapIcon, MaterialIcon).
- FontAwesomeKit - Icon font library for iOS. Currently supports Font-Awesome, Foundation icons, Zocial, and ionicons.
- Iconic - Auto-generated icon font library for iOS, watchOS and tvOS.
- GoogleMaterialDesignIcons - Google Material Design Icons Font for iOS.
- OcticonsKit - Use Octicons as UIImage / UIFont in your projects with Swifty manners.
- IoniconsKit - Use Ionicons as UIImage / UIFont in your projects with Swifty manners.
- FontAwesomeKit.Swift - A better choice for iOS Developer to use FontAwesome Icon.
- UIFontComplete - Font management (System & Custom) for iOS and tvOS.
- Swicon - Use 1600+ icons (and more!) from FontAwesome and Google Material Icons in your swift/iOS project in an easy and space-efficient way!
- SwiftIcons - A library for using different font icons: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather. It supports UIImage, UIImageView, UILabel, UIButton, UISegmentedControl, UITabBarItem, UISlider, UIBarButtonItem, UIViewController, UITextfield, UIStepper.
- Font-Awesome-Swift - Font Awesome swift library for iOS.
- JQSwiftIcon - Icon Fonts on iOS using string interpolation written in Swift.
- Money - A precise, type-safe representation of a monetary amount in a given currency.
Testing
TDD / BDD
- Kiwi - A behavior-driven development library for iOS development.
- Specta - A light-weight TDD / BDD framework for Objective-C & Cocoa.
- Quick - A behavior-driven development framework for Swift and Objective-C.
- XcodeCoverage - Code coverage for Xcode projects.
- OHHTTPStubs - Stub your network requests easily! Test your apps with fake network data and custom response time, response code and headers!
- Dixie - Dixie is an open source Objective-C testing framework for altering object behaviours.
- gh-unit - Test Framework for Objective-C.
- Nimble - A Matcher Framework for Swift and Objective-C
- Sleipnir - BDD-style framework for Swift.
- SwiftCheck - QuickCheck for Swift.
- Spry - A Mac and iOS Playgrounds Unit Testing library based on Nimble.
- swift-corelibs-xctest - The XCTest Project, A Swift core library for providing unit test support.
- PlaygroundTDD - Small library to easily run your tests directly within a Playground.
A/B Testing
- Switchboard - Switchboard - easy and super light weight A/B testing for your mobile iPhone or android app. This mobile A/B testing framework allows you with minimal servers to run large amounts of mobile users.
- SkyLab - Multivariate & A/B Testing for iOS and Mac.
- MSActiveConfig - Remote configuration and A/B Testing framework for iOS.
- ABKit - AB testing framework for iOS.
UI Testing
- appium - Appium is an open source test automation framework for use with native and hybrid mobile apps.
- robotframework-appiumlibrary - AppiumLibrary is an appium testing library for RobotFramework.
- Cucumber - Behavior driver development for iOS.
- Kif - An iOS Functional Testing Framework.
- Subliminal - An understated approach to iOS integration testing.
- ios-driver - Test any iOS native, hybrid, or mobile web application using Selenium / WebDriver.
- Remote - Control your iPhone from inside Xcode for end-to-end testing.
- LayoutTest-iOS - Write unit tests which test the layout of a view in multiple configurations.
- EarlGrey - :tea: iOS UI Automation Test Framework.
- UI Testing Cheat Sheet - How do I test this with UI Testing?
- Bluepill - Bluepill is a reliable iOS testing tool that runs UI tests using multiple simulators on a single machine.
- Flawless App - tool for visual quality check of mobile app in a real-time. It compares initial design with the actual implementation right inside iOS simulator.
- TouchVisualizer - Lightweight touch visualization library in Swift. A single line of code and visualize your touches!
- UITestHelper - UITest helper library for creating readable and maintainable tests.
- ViewInspector - Runtime inspection and unit testing of SwiftUI views
- AutoMate - XCTest extensions for writing UI automation tests.
Other Testing
- NaughtyKeyboard - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device.
- Fakery - Swift fake data generator.
- DVR - Network testing for Swift.
- Cuckoo - First boilerplate-free mocking framework for Swift.
- Vinyl - Network testing à la VCR in Swift.
- Mockit - A simple mocking framework for Swift, inspired by the famous Mockito for Java.
- Cribble - Swifty tool for visual testing iPhone and iPad apps.
- second_curtain - Upload failing iOS snapshot tests cases to S3.
- trainer - Convert xcodebuild plist files to JUnit reports.
- Buildasaur - Automatic testing of your Pull Requests on GitHub and BitBucket using Xcode Server. Keep your team productive and safe. Get up and running in minutes.
- Kakapo - Dynamically Mock server behaviors and responses in Swift.
- AcceptanceMark Tool to auto-generate Xcode tests classes from Markdown tables.
- MetovaTestKit - A collection of testing utilities to turn crashing test suites into failing test suites.
- MirrorDiffKit - Pretty diff between any structs or classes.
- SnappyTestCase - iOS Simulator type agnostic snapshot testing, built on top of the FBSnapshotTestCase.
- XCTestExtensions - XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test.
- OCMock - Mock objects for Objective-C.
- Mockingjay - An elegant library for stubbing HTTP requests with ease in Swift.
- PinpointKit - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture.
- iOS Snapshot Test Case — Snapshot test your UIViews and CALayers on iOS and tvOS.
- DataFixture - Creation of data model easily, with no headache.
- SnapshotTesting - Delightful Swift snapshot testing.
- Mockingbird - Simplify software testing, by easily mocking any system using HTTP/HTTPS, allowing a team to test and develop against a service that is not complete, unstable or just to reproduce planned cases.
UI
- Motif - A lightweight and customizable JSON stylesheet framework for iOS.
- Texture - Smooth asynchronous user interfaces for iOS apps.
- GaugeKit - Customizable gauges. Easy reproduce Apple's style gauges.
- iCarousel - A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS.
- HorizontalDial - A horizontal scroll dial like Instagram.
- ComponentKit - A React-Inspired View Framework for iOS, by Facebook.
- RKNotificationHub - Make any UIView a full fledged notification center.
- phone-number-picker - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift.
- BEMCheckBox - Tasteful Checkbox for iOS.
- MPParallaxView - Apple TV Parallax effect in Swift.
- Splitflap - A simple split-flap display for your Swift applications.
- EZSwipeController - UIPageViewController like Snapchat/Tinder/iOS Main Pages.
- Curry - Curry is a framework built to enhance and compliment Foundation and UIKit.
- Pages - UIPageViewController made simple.
- BAFluidView - UIView that simulates a 2D view of a fluid in motion.
- WZDraggableSwitchHeaderView - Showing status for switching between viewControllers.
- SCTrelloNavigation - An iOS native implementation of a Trello Animated Navagation.
- Spots - Spots is a view controller framework that makes your setup and future development blazingly fast.
- AZExpandableIconListView - An expandable/collapsible view component written in Swift.
- FlourishUI - A highly configurable and out-of-the-box-pretty UI library.
- Navigation Stack - Navigation Stack is a stack-modeled navigation controller.
- UIView-draggable - UIView category that adds dragging capabilities.
- EPSignature - Signature component for iOS in Swift.
- EVFaceTracker - Calculate the distance and angle of your device with regards to your face.
- LeeGo - Declarative, configurable & highly reusable UI development as making Lego bricks.
- MEVHorizontalContacts - An iOS UICollectionViewLayout subclass to show a list of contacts with configurable expandable menu items.
- VisualEffectView - UIVisualEffectView subclass with tint color.
- Cacao - Pure Swift Cross-platform UIKit (Cocoa Touch) implementation (Supports Linux).
- JDFlipNumberView - Representing analog flip numbers like airport/trainstation displays.
- DCKit - Set of iOS controls, which have useful IBInspectable properties. Written on Swift.
- BackgroundVideoiOS - A swift and objective-C object that lets you add a background video to iOS views.
- NightNight - Elegant way to integrate night mode to swift projects.
- SwiftTheme - Powerful theme/skin manager for iOS.
- FDStackView - Use UIStackView directly in iOS.
- RedBeard - It's a complete framework that takes away much of the pain of getting a beautiful, powerful iOS App crafted.
- Material - Material is an animation and graphics framework that allows developers to easily create beautiful applications.
- DistancePicker - Custom control to select a distance with a pan gesture, written in Swift.
- OAStackView - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView.
- PageController - Infinite paging controller, scrolling through contents and title bar scrolls with a delay.
- StatusProvider - Protocol to handle initial Loadings, Empty Views and Error Handling in a ViewController & views.
- StackLayout - An alternative to UIStackView for common Auto Layout patterns.
- NightView - Dazzling Nights on iOS.
- SwiftVideoBackground - Easy to Use UIView subclass for implementing a video background.
- ConfettiView - Confetti View lets you create a magnificent confetti view in your app.
- BouncyPageViewController - Page view controller with bounce effect.
- LTHRadioButton - A radio button with a pretty fill animation.
- Macaw-Examples - Various usages of the Macaw library.
- Reactions - Fully customizable Facebook reactions control.
- Newly - Newly is a drop in solution to add Twitter/Facebook/Linkedin-style new updates/tweets/posts available button.
- CardStackController - iOS custom controller used in Jobandtalent app to present new view controllers as cards.
- Material Components - Google developed UI components that help developers execute Material Design.
- FAQView - An easy to use FAQ view for iOS written in Swift.
- LMArticleViewController - UIViewController subclass to beautifully present news articles and blog posts.
- FSPagerView - FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders.
- ElongationPreview - ElongationPreview is an elegant push-pop style view controller with 3D-Touch support and gestures.
- Pageboy - A simple, highly informative page view controller.
- IGColorPicker - A customizable color picker for iOS in Swift.
- KPActionSheet - A replacement of default action sheet, but has very simple usage.
- SegmentedProgressBar - Snapchat / Instagram Stories style animated indicator.
- Magnetic - SpriteKit Floating Bubble Picker (inspired by Apple Music).
- AmazingBubbles - Apple Music like Bubble Picker using Dynamic Animation.
- Haptica - Easy Haptic Feedback Generator.
- GDCheckbox - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector.
- HamsterUIKit - A simple and elegant UIKit(Chart) for iOS.
- AZEmptyState - A UIControl subclass that makes it easy to create empty states.
- URWeatherView - Show the weather effects onto view.
- LCUIComponents - A framework supports creating transient views on top of other content onscreen such as popover with a data list.
- ViewComposer -
let lbl: UILabel = [.text("Hello"), .textColor(.red)]- Create views using array literal of enum expressing view attributes. - BatteryView - Simple battery shaped UIView.
- ShadowView - Make shadows management easy on UIView.
- Pulley - A library to imitate the iOS 10 Maps UI.
- N8iveKit - A set of frameworks making iOS development more fun.
- Panda - Create view hierarchies declaratively.
- NotchKit - A simple way to hide the notch on the iPhone X
- Overlay - Overlay is a flexible UI framework designed for Swift. It allows you to write CSS like Swift code.
- SwiftyUI - High performance and lightweight(one class each UI) UIView, UIImage, UIImageView, UIlabel, UIButton, Promise and more.
- NotchToolkit - A framework for iOS that allow developers use the iPhone X notch in creative ways.
- PullUpController - Pull up controller with multiple sticky points like in iOS Maps.
- DrawerKit - DrawerKit lets an UIViewController modally present another UIViewController in a manner similar to the way Apple's Maps app works.
- Shades - Easily add drop shadows, borders, and round corners to a UIView.
- ISPageControl - A page control similar to that used in Instagram.
- Mixin - React.js like Mixin. More powerful Protocol-Oriented Programming.
- Shiny - Iridescent Effect View (inspired by Apple Pay Cash).
- StackViewController - A controller that uses a UIStackView and view controller composition to display content in a list.
- UberSignature - Provides an iOS view controller allowing a user to draw their signature with their finger in a realistic style.
- SwViewCapture - A nice iOS View Capture Swift Library which can capture all content.
- HGRippleRadarView - A beautiful radar view to show nearby items (users, restaurants, ...) with ripple animation, fully customizable.
- GDGauge - Full Customizable, Beautiful, Easy to use gauge view Edit.
- STAControls - Handy UIControl subclasses. (Think Three20/NimbusKit of UIControls.) Written in Objective-C.
- ApplyStyleKit - Elegant apply style, using Swift Method Chain.
- OverlayContainer - A library to develop overlay based interfaces, such as the one presented in the iOS 12 Apple Maps or Stocks apps.
- ClassicKit - A collection of classic-style UI components for iOS.
- Sejima - A collection of User Interface components for iOS.
- UI Fabric by Microsoft - UI framework based on Fluent Design System by Microsoft.
Activity Indicator
- NVActivityIndicatorView - Collection of nice loading animations.
- RPLoadingAnimation - Loading animations by using Swift CALayer.
- LiquidLoader - Spinner loader components with liquid animation.
- iOS-CircleProgressView - This control will allow a user to use code instantiated or interface builder to create and render a circle progress view.
- iOS Circle Progress Bar - iOS Circle Progress Bar.
- LinearProgressBar - Linear Progress Bar (inspired by Google Material Design) for iOS.
- STLoadingGroup - loading views.
- ALThreeCircleSpinner - A pulsing spinner view written in swift.
- MHRadialProgressView - iOS radial animated progress view.
- Loader - Amazing animated switch activity indicator written in swift.
- MBProgressHUD - Drop-in class for displays a translucent HUD with an indicator and/or labels while work is being done in a background thread.
- SVProgressHUD - A clean and lightweight progress HUD for your iOS app.
- ProgressHUD - ProgressHUD is a lightweight and easy-to-use HUD.
- M13ProgressSuite - A suite containing many tools to display progress information on iOS.
- PKHUD - A Swift based reimplementation of the Apple HUD (Volume, Ringer, Rotation,…) for iOS 8 and above.
- EZLoadingActivity - Lightweight loading activity HUD.
- FFCircularProgressView - FFCircularProgressView - An iOS 7-inspired blue circular progress view.
- MRProgress - Collection of iOS drop-in components to visualize progress.
- BigBrother - Automatically sets the network activity indicator for any performed request.
- AlamofireNetworkActivityIndicator - Controls the visibility of the network activity indicator on iOS using Alamofire.
- KDCircularProgress - A circular progress view with gradients written in Swift.
- DACircularProgress - DACircularProgress is a UIView subclass with circular UIProgressView properties.
- KYNavigationProgress - Simple extension of UINavigationController to display progress on the UINavigationBar.
- GearRefreshControl - A custom animation for the UIRefreshControl.
- NJKWebViewProgress - A progress interface library for UIWebView. You can implement progress bar for your in-app browser using this module.
- MKRingProgressView - A beautiful ring/circular progress view similar to Activity app on Apple Watch, written in Swift.
- Hexacon - A new way to display content in your app like the Apple Watch SpringBoard, written in Swift.
- ParticlesLoadingView - A customizable SpriteKit particles animation on the border of a view.
- RPCircularProgress - (Swift) Circular progress UIView subclass with UIProgressView properties.
- MBCircularProgressBar - A circular, animatable & highly customizable progress bar, editable from the Interface Builder using IBDesignable.
- WSProgressHUD - This is a beautiful hud view for iPhone & iPad.
- DBMetaballLoading - A metaball loading written in Swift.
- FillableLoaders - Completely customizable progress based loaders drawn using custom CGPaths written in Swift.
- VHUD Simple HUD.
- SwiftSpinner - A beautiful activity indicator and modal alert written in Swift using blur effects, translucency, flat and bold design.
- SnapTimer - Implementation of Snapchat's stories timer.
- LLSpinner - An easy way to create a full screen activity indicator.
- SVUploader - A beautiful uploader progress view that makes things simple and easy.
- YLProgressBar - UIProgressView replacement with an highly and fully customizable animated progress bar in pure Core Graphics.
- FlexibleSteppedProgressBar - A beautiful easily customisable stepped progress bar.
- GradientLoadingBar - An animated gradient loading bar.
- DSGradientProgressView - A simple and customizable animated progress bar written in Swift.
- GradientProgressBar - A gradient progress bar (UIProgressView).
- BPCircleActivityIndicator - A lightweight and awesome Loading Activity Indicator for your iOS app.
- DottedProgressBar - Simple and customizable animated progress bar with dots for iOS.
- RSLoadingView - Awesome loading animations using 3D engine written with Swift.
- SendIndicator - Yet another task indicator.
- StepProgressView - Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView.
- BPBlockActivityIndicator - A simple and awesome Loading Activity Indicator(with funny block animation) for your iOS app.
- JDBreaksLoading - You can easily start up a little breaking game indicator by one line.
- SkeletonView - An elegant way to show users that something is happening and also prepare them to which contents he is waiting.
- Windless - Windless makes it easy to implement invisible layout loading view.
- Skeleton - An easy way to create sliding CAGradientLayer animations! Works great for creating skeleton screens for loading content.
- StatusBarOverlay - Automatically show/hide a "No Internet Connection" bar when your app loses/gains connection. It supports apps which hide the status bar and "The Notch".
- RetroProgress - Retro looking progress bar straight from the 90s.
- LinearProgressBar - Material Linear Progress Bar for your iOS apps.
- MKProgress - A lightweight ProgressHUD written in Swift. Looks similar to /MBProgressHUD/SVProgressHUD/KVNProgressHUD.
- RHPlaceholder - Simple library which give you possibility to add Facebook like loading state for your views.
- IHProgressHUD - Simple HUD, thread safe, supports iOS, tvOS and App Extensions.
- ActivityIndicatorView - A number of preset loading indicators created with SwiftUI.
Animation
- Pop - An extensible iOS and macOS animation library, useful for physics-based interactions.
- AnimationEngine - Easily build advanced custom animations on iOS.
- RZTransitions - A library of custom iOS View Controller Animations and Interactions.
- DCAnimationKit - A collection of animations for iOS. Simple, just add water animations.
- Spring - A library to simplify iOS animations in Swift.
- Fluent - Swift animation made easy.
- Cheetah - Easy animation library on iOS.
- Pop By Example - A project tutorial in how to use Pop animation framework by example.
- AppAnimations - Collection of iOS animations to inspire your next project.
- EasyAnimation - A Swift library to take the power of UIView.animateWithDuration() to a whole new level - layers, springs, chain-able animations, and mixing view/layer animations together.
- Animo - SpriteKit-like animation builders for CALayers.
- CurryFire - A framework for creating unique animations.
- IBAnimatable - Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable.
- CKWaveCollectionViewTransition - Cool wave like transition between two or more UICollectionView.
- DaisyChain - Easy animation chaining.
- PulsingHalo - iOS Component for creating a pulsing animation.
- DKChainableAnimationKit - Chainable animations in Swift.
- JDAnimationKit - Animate easy and with less code with Swift.
- Advance - A powerful animation framework for iOS.
- UIView-Shake - UIView category that adds shake animation.
- Walker - A new animation engine for your app.
- Morgan - An animation set for your app.
- MagicMove - Keynote-style Magic Move transition animations.
- Shimmer - An easy way to add a simple, shimmering effect to any view in an iOS app.
- SAConfettiView - Confetti! Who doesn't like confetti?
- CCMRadarView - CCMRadarView uses the IBDesignable tools to make an easy customizable radar view with animation.
- Pulsator - Pulse animation for iOS.
- Interpolate - Swift interpolation for gesture-driven animations.
- ADPuzzleAnimation - Custom animation for UIView inspired by Fabric - Answers animation.
- Wave - :ocean: Declarative chainable animations in Swift.
- Stellar - A fantastic Physical animation library for swift.
- MotionMachine - A powerful, elegant, and modular animation library for Swift.
- JRMFloatingAnimation - An Objective-C animation library used to create floating image views.
- AHKBendableView - UIView subclass that bends its edges when its position changes.
- FlightAnimator - Advanced Natural Motion Animations, Simple Blocks Based Syntax.
- ZoomTransitioning - A custom transition with image zooming animation.
- Ubergang - A tweening engine for iOS written in Swift.
- JHChainableAnimations - Easy to read and write chainable animations in Objective-C.
- Popsicle - Delightful, extensible Swift value interpolation framework.
- WXWaveView - Add a pretty water wave to your view.
- Twinkle - Swift and easy way to make elements in your iOS and tvOS app twinkle.
- MotionBlur - MotionBlur allows you to add motion blur effect to iOS animations.
- RippleEffectView - RippleEffectView - A Neat Rippling View Effect.
- SwiftyAnimate - Composable animations in Swift.
- SamuraiTransition - Swift based library providing a collection of ViewController transitions featuring a number of neat “cutting” animations.
- Lottie - An iOS library for a real time rendering of native vector animations from Adobe After Effects.
- anim - An animation library for iOS with custom easings and easy to follow API.
- AnimatedCollectionViewLayout - A UICollectionViewLayout subclass that adds custom transitions/animations to the UICollectionView.
- Dance - A radical & elegant animation library built for iOS.
- AKVideoImageView - UIImageView subclass which allows you to display a looped video as a background.
- Spruce iOS Animation Library - Swift library for choreographing animations on the screen.
- CircularRevealKit - UI framework that implements the material design's reveal effect.
- TweenKit - Animation library for iOS in Swift.
- Water - Simple calculation to render cheap water effects.
- Pastel - Gradient animation effect like Instagram.
- YapAnimator - Your fast and friendly physics-based animation system.
- Bubble - Fruit Animation.
- Gemini - Gemini is rich scroll based animation framework for iOS, written in Swift.
- WaterDrops - Simple water drops animation for iOS in Swift.
- ViewAnimator - ViewAnimator brings your UI to life with just one line.
- Ease - Animate everything with Ease.
- Kinieta - An Animation Engine with Custom Bezier Easing, an Intuitive API and perfect Color Intepolation.
- LSAnimator - Easy to Read and Write Multi-chain Animations Kit in Objective-C and Swift.
- YetAnotherAnimationLibrary - Designed for gesture-driven animations. Fast, simple, & extensible!
- Anima - Anima is chainable Layer-Based Animation library for Swift4.
- MotionAnimation - Lightweight animation library for UIKit.
- AGInterfaceInteraction - library performs interaction with UI interface.
- PMTween - An elegant and flexible tweening library for iOS.
- VariousViewsEffects - Animates views nicely with easy to use extensions.
- TheAnimation - Type-safe CAAnimation wrapper. It makes preventing to set wrong type values.
- Poi - Poi makes you use card UI like tinder UI .You can use it like tableview method.
- Sica - Simple Interface Core Animation. Run type-safe animation sequencially or parallelly.
- fireworks - Fireworks effect for UIView
- Disintegrate - Disintegration animation inspired by THAT thing Thanos did at the end of Avengers: Infinity War.
- Wobbly - Wobbly is a Library of predefined, easy to use iOS animations.
- LoadingShimmer - An easy way to add a shimmering effect to any view with just one line of code. It is useful as an unobtrusive loading indicator.
- SPPerspective - Widgets iOS 14 animation with 3D and dynamic shadow. Customisable transform and duration.
Transition
- BlurryModalSegue - A custom modal segue for providing a blurred overlay effect.
- DAExpandAnimation - A custom modal transition that presents a controller with an expanding effect while sliding out the presenter remnants.
- BubbleTransition - A custom modal transition that presents and dismiss a controller with an expanding bubble effect.
- RPModalGestureTransition - You can dismiss modal by using gesture.
- RMPZoomTransitionAnimator - A custom zooming transition animation for UIViewController.
- ElasticTransition - A UIKit custom transition that simulates an elastic drag. Written in Swift.
- ElasticTransition-ObjC - A UIKit custom transition that simulates an elastic drag.This is the Objective-C Version of Elastic Transition written in Swift by lkzhao.
- ZFDragableModalTransition - Custom animation transition for present modal view controller.
- ZOZolaZoomTransition - Zoom transition that animates the entire view hierarchy. Used extensively in the Zola iOS application.
- JTMaterialTransition - An iOS transition for controllers based on material design.
- AnimatedTransitionGallery - Collection of iOS 7 custom animated transitions using UIViewControllerAnimatedTransitioning protocol.
- TransitionTreasury - Easier way to push your viewController.
- Presenter - Screen transition with safe and clean code.
- Kaeru - Switch viewcontroller like iOS task manager.
- View2ViewTransition - Custom interactive view controller transition from one view to another view.
- AZTransitions - API to make great custom transitions in one method.
- Hero - Elegant transition library for iOS & tvOS.
- Motion - Seamless animations and transitions in Swift.
- PresenterKit - Swifty view controller presentation for iOS.
- Transition - Easy interactive interruptible custom ViewController transitions.
- Gagat - A delightful way to transition between visual styles in your iOS applications.
- DeckTransition - A library to recreate the iOS Apple Music now playing transition.
- TransitionableTab - TransitionableTab makes it easy to animate when switching between tab.
- AlertTransition - AlertTransition is a extensible library for making view controller transitions, especially for alert transitions.
- SemiModalViewController - Present view / view controller as bottom-half modal.
- ImageTransition - ImageTransition is a library for smooth animation of images during transitions.
- LiquidTransition - removes boilerplate code to perform transition, allows backward animations, custom properties animation and much more!
- SPStorkController - Very similar to the controllers displayed in Apple Music, Podcasts and Mail Apple's applications.
- AppstoreTransition - Simulates the appstore card animation transition.
- DropdownTransition - Simple and elegant Dropdown Transition for presenting controllers from top to bottom.
Alert & Action Sheet
- SweetAlert - Live animated Alert View for iOS written in Swift.
- NYAlertViewController - Highly configurable iOS Alert Views with custom content views.
- SCLAlertView-Swift - Beautiful animated Alert View, written in Swift.
- TTGSnackbar - Show simple message and action button on the bottom of the screen with multi kinds of animation.
- Swift-Prompts - A Swift library to design custom prompts with a great scope of options to choose from.
- BRYXBanner - A lightweight dropdown notification for iOS 7+, in Swift.
- LNRSimpleNotifications - Simple Swift in-app notifications. LNRSimpleNotifications is a simplified Swift port of TSMessages.
- HDNotificationView - Emulates the native Notification Banner UI for any alert.
- JDStatusBarNotification - Easy, customizable notifications displayed on top of the statusbar.
- Notie - In-app notification in Swift, with customizable buttons and input text field.
- EZAlertController - Easy Swift UIAlertController.
- GSMessages - A simple style messages/notifications for iOS 7+.
- OEANotification - In-app customizable notification views on top of screen for iOS which is written in Swift 2.1.
- RKDropdownAlert - Extremely simple UIAlertView alternative.
- TKSwarmAlert - Animated alert library like Swarm app.
- SimpleAlert - Customizable simple Alert and simple ActionSheet for Swift.
- Hokusai - A Swift library to provide a bouncy action sheet.
- SwiftNotice - SwiftNotice is a GUI library for displaying various popups (HUD) written in pure Swift, fits any scrollview.
- SwiftOverlays - SwiftOverlays is a Swift GUI library for displaying various popups and notifications.
- SwiftyDrop - SwiftyDrop is a lightweight pure Swift simple and beautiful dropdown message.
- LKAlertController - An easy to use UIAlertController builder for swift.
- DOAlertController - Simple Alert View written in Swift, which can be used as a UIAlertController. (AlertController/AlertView/ActionSheet).
- CustomizableActionSheet - Action sheet allows including your custom views and buttons.
- Toast-Swift - A Swift extension that adds toast notifications to the UIView object class.
- PMAlertController - PMAlertController is a great and customizable substitute to UIAlertController.
- PopupViewController - UIAlertController drop in replacement with much more customization.
- AlertViewLoveNotification - A simple and attractive AlertView to ask permission to your users for Push Notification.
- CRToast - A modern iOS toast view that can fit your notification needs.
- JLToast - Toast for iOS with very simple interface.
- CuckooAlert - Multiple use of presentViewController for UIAlertController.
- KRAlertController - A colored alert view for your iOS.
- Dodo - A message bar for iOS written in Swift.
- MaterialActionSheetController - A Google like action sheet for iOS written in Swift.
- SwiftMessages - A very flexible message bar for iOS written in Swift.
- FCAlertView - A Flat Customizable AlertView for iOS. (Swift).
- FCAlertView - A Flat Customizable AlertView for iOS. (Objective-C).
- CDAlertView - Highly customizable alert/notification/success/error/alarm popup.
- RMActionController - Present any UIView in an UIAlertController like manner.
- RMDateSelectionViewController - Select a date using UIDatePicker in a UIAlertController like fashion.
- RMPickerViewController - Select something using UIPickerView in a UIAlertController like fashion.
- Jelly - Jelly provides custom view controller transitions with just a few lines of code.
- Malert - Malert is a simple, easy and custom iOS UIAlertView written in Swift.
- RAlertView - AlertView, iOS popup window, A pop-up framework, Can be simple and convenient to join your project.
- NoticeBar - A simple NoticeBar written by Swift 3, similar with QQ notice view.
- LIHAlert - Advance animated banner alerts for iOS.
- BPStatusBarAlert - A simple alerts that appear on the status bar and below navigation bar(like Facebook).
- CFAlertViewController - A library that helps you display and customise alerts and action sheets on iPad and iPhone.
- NotificationBanner - The easiest way to display highly customizable in app notification banners in iOS.
- Alertift - Swifty, modern UIAlertController wrapper.
- PCLBlurEffectAlert - Swift AlertController with UIVisualEffectView.
- JDropDownAlert - Multi dirction dropdown alert view.
- BulletinBoard - Generate and Display Bottom Card Interfaces on iOS
- CFNotify - A customizable framework to create draggable views.
- StatusAlert - Display Apple system-like self-hiding status alerts without interrupting user flow.
- Alerts & Pickers - Advanced usage of native UIAlertController with TextField, DatePicker, PickerView, TableView and CollectionView.
- RMessage - A crisp in-app notification/message banner built in ObjC.
- InAppNotify - Swift library to manage in-app notification in swift language, like WhatsApp, Telegram, Frind, etc.
- FloatingActionSheetController - FloatingActionSheetController is a cool design ActionSheetController library written in Swift.
- TOActionSheet - A custom-designed reimplementation of the UIActionSheet control for iOS
- XLActionController - Fully customizable and extensible action sheet controller written in Swift.
- PopMenu - A cool and customizable popup style action sheet 😎
- NotchyAlert - Use the iPhone X notch space to display creative alerts.
- Sheet - SHEET helps you easily create a wide variety of action sheets with navigation features used in the Flipboard App
- ALRT - An easier constructor for UIAlertController. Present an alert from anywhere.
- CatAlertController - Use UIAlertController like a boss.
- Loaf - A simple framework for easy iOS Toasts.
- SPAlert - Native popup from Apple Music & Feedback in AppStore. Contains Done & Heart presets.
- CleanyModal - Use nice customized alerts and action sheets with ease, API is similar to native UIAlertController.
Badge
- MIBadgeButton - Notification badge for UIButtons.
- EasyNotificationBadge - UIView extension that adds a notification badge. [e]
- swift-badge - Badge view for iOS written in swift
- BadgeHub - Make any UIView a full fledged animated notification center. It is a way to quickly add a notification badge icon to a UIView.
Button
- SSBouncyButton - iOS7-style bouncy button UI component.
- DOFavoriteButton - Cute Animated Button written in Swift.
- VBFPopFlatButton - Flat button with 9 different states animated using Facebook POP.
- HTPressableButton - Flat design pressable button.
- LiquidFloatingActionButton - Material Design Floating Action Button in liquid state
- JTFadingInfoView - An UIButton-based view with fade in/out animation features.
- Floaty - :heart: Floating Action Button for iOS
- TVButton - Recreating the cool parallax icons from Apple TV as iOS UIButtons (in Swift).
- SwiftyButton - Simple and customizable button in Swift
- AnimatablePlayButton - Animated Play and Pause Button using CALayer, CAKeyframeAnimation.
- gbkui-button-progress-view - Inspired by Apple’s download progress buttons in the App Store.
- ZFRippleButton - Custom UIButton effect inspired by Google Material Design
- JOEmojiableBtn - Emoji selector like Facebook Reactions.
- EMEmojiableBtn - Option selector that works similar to Reactions by fb. Objective-c version.
- WYMaterialButton - Interactive and fully animated Material Design button for iOS developers.
- DynamicButton - Yet another animated flat buttons in Swift
- OnOffButton - Custom On/Off Animated UIButton, written in Swift. By Creativedash
- WCLShineButton - This is a UI lib for iOS. Effects like shining.
- EasySocialButton - An easy way to create beautiful social authentication buttons.
- NFDownloadButton - Revamped Download Button.
- LGButton - A fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code.
- MultiToggleButton - A UIButton subclass that implements tap-to-toggle button text (Like the camera flash and timer buttons).
- PMSuperButton - A powerful UIButton with super powers, customizable from Storyboard!
- JSButton - A fully customisable swift subclass on UIButton which allows you to create beautiful buttons without writing any line of code.
- TransitionButton - UIButton sublass for loading and transition animation
- ButtonProgressBar-iOS - A small and flexible UIButton subclass with animated loading progress, and completion animation.
- SpicyButton - Full-featured IBDesignable UIButton class
- DesignableButton - UIButton subclass with centralised and reusable styles. View styles and customise in InterfaceBuilder in real time!
- BEMCheckBox - Tasteful Checkbox for iOS. (Check box)
- ExpandableButton - Customizable and easy to use expandable button in Swift.
- TORoundedButton - A high-performance button control with rounded corners.
- FloatingButton - Easily customizable floating button menu created with SwiftUI.
Calendar
- CVCalendar - A custom visual calendar for iOS 8+ written in Swift (2.0).
- RSDayFlow - iOS 7+ Calendar with Infinite Scrolling.
- NWCalendarView - An availability calendar implementation for iOS
- GLCalendarView - A fully customizable calendar view acting as a date range picker
- JTCalendar - A customizable calendar view for iOS.
- JTAppleCalendar - The Unofficial Swift Apple Calendar Library. View. Control. for iOS & tvOS
- Daysquare - An elegant calendar control for iOS.
- ASCalendar - A calendar control for iOS written in swift with mvvm pattern
- Calendar - A set of views and controllers for displaying and scheduling events on iOS
- Koyomi - Simple customizable calendar component in Swift
- DateTimePicker - A nicer iOS UI component for picking date and time
- RCalendarPicker - RCalendarPicker A date picker control.
- CalendarKit - Fully customizable calendar day view.
- GDPersianCalendar - Customizable and easy to use Persian Calendar component.
- MBCalendarKit - A calendar framework for iOS built with customization, and localization in mind.
- PTEventView - An Event View based on Apple's Event Detail View within Calender.Supports ARC, Autolayout and editing via StoryBoard.
- KDCalendarView - A calendar component for iOS written in Swift 4.0. It features both vertical and horizontal layout (and scrolling) and the display of native calendar events.
- CalendarPopUp - CalendarPopUp - JTAppleCalendar library.
- ios_calendar - It's lightweight and simple control with supporting Locale and CalendarIdentifier. There're samples for iPhone and iPad, and also with using a popover. With supporting Persian calendar
- FSCalendar - A fully customizable iOS calendar library, compatible with Objective-C and Swift.
- ElegantCalendar - The elegant full-screen calendar missed in SwiftUI.
Cards
Card based UI's, pan gestures, flip and swipe animations
- MDCSwipeToChoose - Swipe to "like" or "dislike" any view, just like Tinder.app. Build a flashcard app, a photo viewer, and more, in minutes, not hours!
- TisprCardStack - Library that allows to have cards UI.
- CardAnimation - Card flip animation by pan gesture.
- Koloda - KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS.
- KVCardSelectionVC - Awesome looking Dial like card selection ViewController.
- DMSwipeCards - Tinder like card stack that supports lazy loading and generics
- TimelineCards - Presenting timelines as cards, single or bundled in scrollable feed!.
- Cards - Awesome iOS 11 AppStore's Card Views.
- MMCardView - Custom CollectionView like Wallet App
- CardsLayout - Nice card-designed custom collection view layout.
- CardParts - A reactive, card-based UI framework built on UIKit.
- VerticalCardSwiper - A marriage between the Shazam Discover UI and Tinder, built with UICollectionView in Swift.
- Shuffle - A multi-directional card swiping library inspired by Tinder
Form & Settings
Input validators, form helpers and form builders.
- Form - The most flexible and powerful way to build a form on iOS
- XLForm - XLForm is the most flexible and powerful iOS library to create dynamic table-view forms. Fully compatible with Swift & Obj-C.
- Eureka - Elegant iOS form builder in Swift.
- YALField - Custom Field component with validation for creating easier form-like UI from interface builder.
- Former - Former is a fully customizable Swift2 library for easy creating UITableView based form.
- SwiftForms - A small and lightweight library written in Swift that allows you to easily create forms.
- Formalist - Declarative form building framework for iOS
- SwiftyFORM - SwiftyFORM is a form framework for iOS written in Swift
- SwiftValidator - A rule-based validation library for Swift
- GenericPasswordRow - A row for Eureka to implement password validations.
- formvalidator-swift - A framework to validate inputs of text fields and text views in a convenient way.
- ValidationToolkit - Lightweight framework for input validation written in Swift.
- ATGValidator - Rule based validation framework with form and card validation support for iOS.
- ValidatedPropertyKit - Easily validate your Properties with Property Wrappers.
- FDTextFieldTableViewCell - Adds a UITextField to the cell and places it correctly.
Keyboard
- RSKKeyboardAnimationObserver - Showing / dismissing keyboard animation in simple UIViewController category.
- RFKeyboardToolbar - This is a flexible UIView and UIButton subclass to add customized buttons and toolbars to your UITextFields/UITextViews.
- IQKeyboardManager - Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView.
- NgKeyboardTracker - Objective-C library for tracking keyboard in iOS apps.
- MMNumberKeyboard - A simple keyboard to use with numbers and, optionally, a decimal point.
- KeyboardObserver - For less complicated keyboard event handling.
- TPKeyboardAvoiding - A drop-in universal solution for moving text fields out of the way of the keyboard in iOS
- YYKeyboardManager - iOS utility class allows you to access keyboard view and track keyboard animation.
- KeyboardMan - KeyboardMan helps you make keyboard animation.
- MakemojiSDK - Emoji Keyboard SDK (iOS)
- Typist - Small, drop-in Swift UIKit keyboard manager for iOS apps-helps manage keyboard's screen presence and behavior without notification center.
- KeyboardHideManager - Codeless manager to hide keyboard by tapping on views for iOS written in Swift
- Toolbar - Awesome autolayout Toolbar.
- IHKeyboardAvoiding - A drop-in universal solution for keeping any UIView visible when the keyboard is being shown - no more UIScrollViews!
- NumPad - Number Pad (inspired by Square's design).
- Ribbon - A simple cross-platform toolbar/custom input accessory view library for iOS & macOS.
Label
- LTMorphingLabel - Graceful morphing effects for UILabel written in Swift.
- ActiveLabel.swift - UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://) written in Swift
- MZTimerLabel - A handy class for iOS to use UILabel as a countdown timer or stopwatch just like in Apple Clock App.
- CountdownLabel - Simple countdown UILabel with morphing animation, and some useful function.
- IncrementableLabel - Incrementable label for iOS, macOS, and tvOS.
- TTTAttributedLabel - A drop-in replacement for UILabel that supports attributes, data detectors, links, and more
- NumberMorphView - A label view for displaying numbers which can transition or animate using a technique called number tweening or number morphing.
- GlitchLabel - Glitching UILabel for iOS.
- TOMSMorphingLabel - Configurable morphing transitions between text values of a label.
- THLabel - UILabel subclass, which additionally allows shadow blur, inner shadow, stroke text and fill gradient.
- RQShineLabel - Secret app like text animation
- ZCAnimatedLabel - UILabel replacement with fine-grain appear/disappear animation
- TriLabelView - A triangle shaped corner label view for iOS written in Swift.
- Preloader.Ophiuchus - Custom Label to apply animations on whole text or letters.
- MTLLinkLabel - MTLLinkLabel is linkable UILabel. Written in Swift.
- UICountingLabel - Adds animated counting support to UILabel.
- SlidingText - Swift UIView for sliding text with page indicator.
- NumericAnimatedLabel - Swift UIView for showing numeric label with incremental and decremental step animation while changing value. Useful for scenarios like displaying currency.
- JSLabel - A simple designable subclass on UILabel with extra IBDesignable and Blinking features.
- AnimatedMaskLabel - Animated Mask Label is a nice gradient animated label. This is an easy way to add a shimmering effect to any view in your app.
- STULabel - A label view that's faster than UILabel and supports asynchronous rendering, links with UIDragInteraction, very flexible text truncation, Auto Layout, UIAccessibility and more.
Login
- LFLoginController - Customizable login screen, written in Swift.
- LoginKit - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app.
- Cely - Plug-n-Play login framework written in Swift.
Menu
- ENSwiftSideMenu - A simple side menu for iOS 7/8 written in Swift.
- RESideMenu - iOS 7/8 style side menu with parallax effect inspired by Dribbble shots.
- SSASideMenu - A Swift implementation of RESideMenu. A iOS 7/8 style side menu with parallax effect.
- RadialMenu - RadialMenu is a custom control for providing a touch context menu (like iMessage recording in iOS 8) built with Swift & POP
- cariocamenu - The fastest zero-tap iOS menu.
- VLDContextSheet - Context menu similar to the one in the Pinterest iOS app
- GuillotineMenu - Our Guillotine Menu Transitioning Animation implemented in Swift reminds a bit of a notorious killing machine.
- MediumMenu - A menu based on Medium iOS app.
- SwiftySideMenu - SwiftySideMenu is a lightweight and easy to use side menu controller to add left menu and center view controllers with scale animation based on Pop framework.
- LLSlideMenu - This is a spring slide menu for iOS apps
- Swift-Slide-Menu - A Slide Menu, written in Swift, inspired by Slide Menu Material Design.
- MenuItemKit - UIMenuItem with image and block(closure)
- BTNavigationDropdownMenu - The elegant dropdown menu, written in Swift, appears underneath navigation bar to display a list of related items when a user click on the navigation title.
- ALRadialMenu - A radial/circular menu featuring spring animations. Written in swift
- AZDropdownMenu - An easy to use dropdown menu that supports images.
- CircleMenu - An animated, multi-option menu button.
- SlideMenuControllerSwift - iOS Slide Menu View based on Google+, iQON, Feedly, Ameba iOS app. It is written in pure Swift.
- SideMenu - Simple side menu control in Swift inspired by Facebook. Right and Left sides. Lots of customization and animation options. Can be implemented in Storyboard with no code.
- CategorySliderView - slider view for choosing categories. add any UIView type as category item view. Fully customisable
- MKDropdownMenu - A Dropdown Menu for iOS with many customizable parameters to suit any needs.
- ExpandingMenu - ExpandingMenu is menu button for iOS written in Swift.
- PageMenu - A paging menu controller built from other view controllers placed inside a scroll view (like Spotify, Windows Phone, Instagram)
- XXXRoundMenuButton - A simple circle style menu.
- IGCMenu - Grid and Circular menu with animation.Easy to customise.
- EEJSelectMenu - Single selection menu with cool animations, responsive with all screen sizes.
- IGLDropDownMenu - An iOS drop down menu with pretty animation and easy to customize.
- Side-Menu.iOS - Animated side menu with customizable UI
- PopMenu - PopMenu is pop animation menu inspired by Sina weibo / NetEase app.
- FlowingMenu - Interactive view transition to display menus with flowing and bouncing effects in Swift
- Persei - Animated top menu for UITableView / UICollectionView / UIScrollView written in Swift
- DropDown - A Material Design drop down for iOS
- KYGooeyMenu - A not bad gooey effects menu.
- SideMenuController - A side menu controller written in Swift
- Context-Menu.iOS - You can easily add awesome animated context menu to your app.
- ViewDeck - An implementation of the sliding functionality found in the Path 2.0 or Facebook iOS apps.
- FrostedSidebar - Hamburger Menu using Swift and iOS 8 API's
- VHBoomMenuButton - A menu which can ... BOOM!
- DropDownMenuKit - A simple, modular and highly customizable UIKit menu, that can be attached to the navigation bar or toolbar, written in Swift.
- RevealMenuController - Expandable item groups, custom position and appearance animation. Similar to ActionSheet style.
- RHSideButtons - Library provides easy to implement variation of Android (Material Design) Floating Action Button for iOS. You can use it as your app small side menu.
- Swift-CircleMenu - Rotating circle menu written in Swift 3.
- AKSideMenu - Beautiful iOS side menu library with parallax effect.
- InteractiveSideMenu - Customizable iOS Interactive Side Menu written in Swift 3.
- YNDropDownMenu - Adorable iOS drop down menu with Swift3.
- KWDrawerController - Drawer view controller that easy to use!
- JNDropDownMenu - Easy to use tableview style drop down menu with multi-column support written in Swift3.
- FanMenu - Menu with a circular layout based on Macaw.
- AirBar - UIScrollView driven expandable menu written in Swift 3.
- FAPanels - FAPanels for transition
- SwipeMenuViewController - Swipable tab and menu View and ViewController.
- DTPagerController - A fully customizable container view controller to display set of ViewControllers in horizontal scroller
- PagingKit - PagingKit provides customizable menu UI It has more flexible layout and design than the other libraries.
- Dropdowns - 💧 Dropdown in Swift
- Parchment - A paging view controller with a highly customizable menu. Built on UICollectionView, with support for custom layouts and infinite data sources.
- ContextMenu - An iOS context menu UI inspired by Things 3.
- Panels - Panels is a framework to easily add sliding panels to your application.
- UIMenuScroll - Creating the horizontal swiping navigation how on Facebook Messenger.
- CircleBar - 🔶 A fun, easy-to-use tab bar navigation controller for iOS.
- SPLarkController - Settings screen with buttons and switches.
- SwiftyMenu - A Simple and Elegant DropDown menu for iOS 🔥💥
Navigation Bar
- HidingNavigationBar - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls
- KMNavigationBarTransition - A drop-in universal library helps you to manage the navigation bar styles and makes transition animations smooth between different navigation bar styles while pushing or popping a view controller for all orientations.
- LTNavigationBar - UINavigationBar Category which allows you to change its appearance dynamically
- BusyNavigationBar - A UINavigationBar extension to show loading effects
- KDInteractiveNavigationController - A UINavigationController subclass that support pop interactive UINavigationbar with hidden or show.
- AMScrollingNavbar - Scrollable UINavigationBar that follows the scrolling of a UIScrollView
- NavKit - Simple and integrated way to customize navigation bar experience on iOS app.
- RainbowNavigation - An easy way to change backgroundColor of UINavigationBar when Push & Pop
- TONavigationBar - A simple subclass that adds the ability to set the navigation bar background to 'clear' and gradually transition it visibly back in, similar to the effect in the iOS Music app.
PickerView
- ActionSheetPicker-3.0 - Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS.
- PickerView - A customizable alternative to UIPickerView in Swift.
- DatePickerDialog - Date picker dialog for iOS
- CZPicker - A picker view shown as a popup for iOS.
- AIDatePickerController - :date: UIDatePicker modally presented with iOS 7 custom transitions.
- CountryPicker - :date: UIPickerView with Country names flags and phoneCodes
- McPicker - A customizable, closure driven UIPickerView drop-in solution with animations that is rotation ready.
- Mandoline - An iOS picker view to serve all your "picking" needs
- D2PDatePicker - Elegant and Easy-to-Use iOS Swift Date Picker
- CountryPickerView- A simple, customizable view for efficiently collecting country information in iOS apps
- planet - A country picker
- MICountryPicker - Swift country picker with search option.
- ADDatePicker - A fully customizable iOS Horizontal PickerView library, written in pure swift.
- SKCountryPicker - A simple, customizable Country picker for picking country or dialing code.
Popup
- MMPopupView - Pop-up based view(e.g. alert sheet), can easily customize.
- STPopup - STPopup provides a UINavigationController in popup style, for both iPhone and iPad.
- NMPopUpView - Simple iOS class for showing nice popup windows. Swift and Objective-C versions available.
- PopupController - A customizable controller for showing temporary popup view.
- SubscriptionPrompt - Subscription View Controller like the Tinder uses
- Presentr - Wrapper for custom ViewController presentations in iOS 8+
- PopupDialog - A simple, customizable popup dialog for iOS written in Swift. Replaces UIAlertControllers alert style.
- SelectionDialog - Simple selection dialog.
- AZDialogViewController - A highly customizable alert dialog controller that mimics Snapchat's alert dialog.
- MIBlurPopup - MIBlurPopup let you create amazing popups with a blurred background.
- LNPopupController - a framework for presenting view controllers as popups of other view controllers, much like the Apple Music and Podcasts apps.
- PopupWindow - PopupWindow is a simple Popup using another UIWindow in Swift.
- SHPopup - SHPopup is a simple lightweight library for popup view.
- Popover - Popover is a balloon library like Facebook app. It is written in pure swift.
- SwiftEntryKit - A highly customizable popups, alerts and banners presenter for iOS. It offers various presets and is written in pure Swift.
- FFPopup - ⛩FFPopup is a lightweight library for presenting custom views as a popup.
- PopupView - Toasts and popups library written with SwiftUI.
ProgressView
- ProgressMeter - Display the progress on a meter with customized annotations for iOS developed in Swift
- GradientCircularProgress - Customizable progress indicator library in Swift.
Pull to Refresh
- DGElasticPullToRefresh - Elastic pull to refresh for iOS developed in Swift
- PullToBounce - Animated "Pull To Refresh" Library for UIScrollView.
- SVPullToRefresh - Give pull-to-refresh & infinite scrolling to any UIScrollView with 1 line of code. http://samvermette.com/314
- UzysAnimatedGifPullToRefresh - Add PullToRefresh using animated GIF to any scrollView with just simple code
- PullToRefreshCoreText - PullToRefresh extension for all UIScrollView type classes with animated text drawing style
- BOZPongRefreshControl - A pull-down-to-refresh control for iOS that plays pong, originally created for the MHacks III iOS app
- CBStoreHouseRefreshControl - Fully customizable pull-to-refresh control inspired by Storehouse iOS app
- SurfingRefreshControl - Inspired by CBStoreHouseRefreshControl.Customizable pull-to-refresh control,written in pure Swift
- mntpulltoreact - One gesture, many actions. An evolution of Pull to Refresh.
- ADChromePullToRefresh - Chrome iOS app style pull to refresh with multiple actions.
- BreakOutToRefresh - A playable pull to refresh view using SpriteKit.
- MJRefresh An easy way to use pull-to-refresh.
- HTPullToRefresh - Easily add vertical and horizontal pull to refresh to any UIScrollView. Can also add multiple pull-to-refesh views at once.
- PullToRefreshSwift - iOS Simple Cool PullToRefresh Library. It is written in pure swift.
- GIFRefreshControl - GIFRefreshControl is a pull to refresh that supports GIF images as track animations.
- ReplaceAnimation - Pull-to-refresh animation in UICollectionView with a sticky header flow layout, written in Swift
- PullToMakeSoup - Custom animated pull-to-refresh that can be easily added to UIScrollView
- RainyRefreshControl - Simple refresh control for iOS inspired by concept.
- ESPullToRefresh - Customisable pull-to-refresh, including nice animation on the top
- CRRefresh - An easy way to use pull-to-refresh.
- KafkaRefresh - Animated, customizable, and flexible pull-to-refresh framework for faster and easier iOS development.
Rating Stars
- FloatRatingView - Whole, half or floating point ratings control written in Swift
- TTGEmojiRate - An emoji-liked rating view for iOS, implemented in Swift.
- StarryStars - StarryStars is iOS GUI library for displaying and editing ratings
- Cosmos - A star rating control for iOS / Swift
- HCSStarRatingView - Simple star rating view for iOS written in Objective-C
- MBRateApp - A groovy app rate stars screen for iOS written in Swift
- RPInteraction - Review page interaction - handy and pretty way to ask for review.
ScrollView
- ScrollingFollowView - ScrollingFollowView is a simple view which follows UIScrollView scrolling.
- UIScrollView-InfiniteScroll - UIScrollView infinite scroll category.
- GoAutoSlideView - GoAutoSlideView extends UIScrollView by featuring infinitely and automatically slide.
- AppStoreStyleHorizontalScrollView - App store style horizontal scroll view.
- PullToDismiss - You can dismiss modal viewcontroller by pulling scrollview or navigationbar in Swift.
- SpreadsheetView - Full configurable spreadsheet view user interfaces for iOS applications. With this framework, you can easily create complex layouts like schedule, gantt chart or timetable as if you are using Excel.
- VegaScroll - VegaScroll is a lightweight animation flowlayout for UICollectionView completely written in Swift 4, compatible with iOS 11 and Xcode 9
- ShelfView-iOS - iOS custom view to display books on shelf
- SlideController - SlideController is simple and flexible UI component completely written in Swift. It is a nice alternative for UIPageViewController built using power of generic types.
- CrownControl - Inspired by the Apple Watch Digital Crown, CrownControl is a tiny accessory view that enables scrolling through scrollable content without lifting your thumb.
- SegementSlide - Multi-tier UIScrollView nested scrolling solution.
Segmented Control
- BetterSegmentedControl - An easy to use, customizable replacement for UISegmentedControl & UISwitch.
- LUNSegmentedControl - Customizable segmented control with interactive animation.
- AKASegmentedControl - :chocolate_bar: Fully customizable Segmented Control for iOS.
- TwicketSegmentedControl - Custom UISegmentedControl replacement for iOS, written in Swift.
- SJFluidSegmentedControl - A segmented control with custom appearance and interactive animations. Written in Swift 3.0.
- HMSegmentedControl - A drop-in replacement for UISegmentedControl mimicking the style of the segmented control used in Google Currents and various other Google products.
- YUSegment - A customizable segmented control for iOS. Supports both text and image.
- MultiSelectSegmentedControl - adds Multiple-Selection to the standard
UISegmentedControl. - DynamicMaskSegmentSwitch - A segment switcher with dynamic text mask effect
- PinterestSegment - A Pinterest-like segment control with masking animation.
- DGRunkeeperSwitch - Runkeeper design switch control (two part segment control)
Slider
- VolumeControl - Custom volume control for iPhone featuring a well-designed round slider.
- WESlider - Simple and light weight slider with chapter management
- IntervalSlider - IntervalSlider is a slider library like ReutersTV app. written in pure swift.
- RangeSlider - A simple range slider made in Swift
- CircleSlider - CircleSlider is a Circular slider library. written in pure Swift.
- MARKRangeSlider - A custom reusable slider control with 2 thumbs (range slider).
- ASValueTrackingSlider - A UISlider subclass that displays the slider value in a popup view
- TTRangeSlider - A slider, similar in style to UISlider, but which allows you to pick a minimum and maximum range.
- MMSegmentSlider - Customizable animated slider for iOS.
- StepSlider - StepSlider its custom implementation of slider such as UISlider for preset integer values.
- JDSlider - An iOS Slider written in Swift.
- SnappingSlider - A beautiful slider control for iOS built purely upon Swift
- MTCircularSlider - A feature-rich circular slider control.
- VerticalSlider - VerticalSlider is a vertical implementation of the UISlider slider control.
- CircularSlider - A powerful Circular Slider. It's written in Swift, it's 100% IBDesignable and all parameters are IBInspectable.
- HGCircularSlider - A custom reusable circular slider control for iOS application.
- RangeSeekSlider - A customizable range slider for iOS.
- SectionedSlider - Control Center Slider.
- MultiSlider - UISlider clone with multiple thumbs and values, optional snap intervals, optional value labels.
- AGCircularPicker - AGCircularPicker is helpful component for creating a controller aimed to manage any calculated parameter.
- Fluid Slider - A slider widget with a popup bubble displaying the precise value selected.
Splash View
- CBZSplashView - Twitter style Splash Screen View. Grows to reveal the Initial view behind.
- SKSplashView - Create custom animated splash views similar to the ones in the Twitter, Uber and Ping iOS app.
- RevealingSplashView - A Splash view that animates and reveals its content, inspired by Twitter splash
Status Bar
- Bartinter - Status bar tint depending on content behind, updates dynamically.
Stepper
- PFStepper - May be the most elegant stepper you have ever had!
- ValueStepper - A Stepper object that displays its value.
- GMStepper - A stepper with a sliding label in the middle.
- barceloneta - The right way to increment/decrement values with a simple gesture on iOS.
- SnappingStepper - An elegant alternative to the UIStepper written in Swift
- SMNumberWheel - A custom control written in Swift, which is ideal for picking numbers very fast but yet very accurate using a rotating wheel
Switch
- AnimatedSwitch - UISwitch which paints over the parent view with the color in Swift.
- ViralSwitch - A UISwitch that infects its superview with its tint color.
- JTMaterialSwitch - A customizable switch UI with ripple effect and bounce animations, inspired from Google's Material Design.
- TKSwitcherCollection - An animate switch collection
- SevenSwitch - iOS7 style drop in replacement for UISwitch.
- PMZSwitch - Yet another animated toggle
- Switcher - Swift - Custom UISwitcher with animation when change status
- RAMPaperSwitch - RAMPaperSwitch is a Swift module which paints over the parent view when the switch is turned on.
- AIFlatSwitch - A flat component alternative to UISwitch on iOS
- Switch - An iOS switch control implemented in Swift with full Interface Builder support.
Tab Bar
- ESTabBarController - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them.
- GooeyTabbar - A gooey effect tabbar
- animated-tab-bar - RAMAnimatedTabBarController is a Swift module for adding animation to tabbar items.
- FoldingTabBar.iOS - Folding Tab Bar and Tab Bar Controller
- GGTabBar - Another UITabBar & UITabBarController (iOS Tab Bar) replacement, but uses Auto Layout for arranging it's views hierarchy.
- adaptive-tab-bar - AdaptiveController is a 'Progressive Reduction' Swift module for adding custom states to Native or Custom iOS UI elements
- Pager - Easily create sliding tabs with Pager
- XLPagerTabStrip - Android PagerTabStrip for iOS.
- TabPageViewController - Paging view controller and scroll tab view.
- TabDrawer - Customizable TabBar UI element that allows you to run a block of code upon TabBarItem selection, written in Swift
- SwipeViewController - SwipeViewController is a Swift modification of RKSwipeBetweenViewControllers - navigate between pages / ViewControllers
- ColorMatchTabs - Interesting way to display tabs
- BATabBarController - A TabBarController with a unique animation for selection
- ScrollPager - A scroll pager that displays a list of tabs (segments) and manages paging between given views
- Segmentio - Animated top/bottom segmented control written in Swift.
- KYWheelTabController - KYWheelTabController is a subclass of UITabBarController.It displays the circular menu instead of UITabBar.
- SuperBadges - Add emojis and colored dots as badges for your Tab Bar buttons
- AZTabBarController - A custom tab bar controller for iOS written in Swift 3.0
- MiniTabBar - A clean simple alternative to the UITabBar
- SwipeableTabBarController - UITabBarController with swipe interaction between its tabs.
- SMSwipeableTabView - Swipeable Views with Tabs (Like Android SwipeView With Tabs Layout)
- Tabman - A powerful paging view controller with indicator bar for iOS.
- WormTabStrip Beatiful ViewPager For iOS written in Swift (inspired by Android SmartTabLayout)
- SSCustomTabMenu Simple customizable iOS bottom menu with Tabbar.
- SmoothTab - Smooth customizable tabs for iOS apps.
- ExpandedTabBar - Very creative designed solution for "more" items in UITabBarController
- BEKCurveTabbar - compatible with XCode +10 and fully customizable via Interface_Builder panel. BEKCurveTabBar derived UITabBar class and compatible with every iOS devices.
Table View / Collection View
Table View
- MGSwipeTableCell - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions.
- YXTPageView - A PageView, which supporting scrolling to transition between a UIView and a UITableView.
- ConfigurableTableViewController - Typed, yet Flexible Table View Controller https://holko.pl/2016/01/05/typed-table-view-controller/
- Lightning-Table - A declarative api for working with UITableView.
- Static - Simple static table views for iOS in Swift.
- AMWaveTransition - Custom transition between viewcontrollers holding tableviews.
- SWTableViewCell - An easy-to-use UITableViewCell subclass that implements a swippable content view which exposes utility buttons (similar to iOS 7 Mail Application)
- ZYThumbnailTableView - a TableView have thumbnail cell only, and you can use gesture let it expands other expansionView, all diy
- BWSwipeRevealCell - A Swift library for swipeable table cells
- preview-transition - PreviewTransition is a simple preview gallery controller
- QuickTableViewController - A simple way to create a UITableView for settings in Swift.
- TableKit - Type-safe declarative table views with Swift
- VBPiledView - Simple and beautiful stacked UIView to use as a replacement for an UITableView, UIImageView or as a menu
- VTMagic - VTMagic is a page container library for iOS.
- MCSwipeTableViewCell - :point_up_2: Convenient UITableViewCell subclass that implements a swippable content to trigger actions (similar to the Mailbox app).
- MYTableViewIndex - A pixel perfect replacement for UITableView section index, written in Swift
- ios-dragable-table-cells - Support for drag-n-drop of UITableViewCells in a navigation hierarchy of view controllers. You drag cells by tapping and holding them.
- Bohr - Bohr allows you to set up a settings screen for your app with three principles in mind: ease, customization and extensibility.
- SwiftReorder - Add drag-and-drop reordering to any table view with just a few lines of code. Robust, lightweight, and completely customizable. [e]
- HoverConversion - HoverConversion realized vertical paging with UITableView. UIViewController will be paging when reaching top or bottom of UITableView contentOffset.
- TableViewDragger - A cells of UITableView can be rearranged by drag and drop.
- FlexibleTableViewController - Swift library of generic table view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler
- CascadingTableDelegate - A no-nonsense way to write cleaner UITableViewDelegate and UITableViewDataSource in Swift.
- TimelineTableViewCell - Simple timeline view implemented by UITableViewCell written in Swift 3.0.
- RHPreviewCell - I envied so much Spotify iOS app this great playlist preview cell. Now you can give your users ability to quick check "what content is hidden under your UITableViewCell".
- TORoundedTableView - A subclass of UITableView that styles it like Settings.app on iPad
- TableFlip - A simpler way to do cool UITableView animations! (╯°□°)╯︵ ┻━┻
- DTTableViewManager - Protocol-oriented UITableView management, powered by generics and associated types.
- SwipeCellKit - Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift.
- ReverseExtension - A UITableView extension that enables cell insertion from the bottom of a table view.
- SelectionList - Simple single-selection or multiple-selection checklist, based on UITableView.
- AZTableViewController - Elegant and easy way to integrate pagination with dummy views.
- SAInboxViewController - UIViewController subclass inspired by "Inbox by google" animated transitioning.
- StaticTableViewController - Dynamically hide / show cells of static UITableViewController.
- OKTableViewLiaison - Framework to help you better manage UITableView configuration.
- ThunderTable - A simple declarative approach to UITableViewController management using a protocol-based approach.
Collection View
- Dwifft - Swift Diff
- MEVFloatingButton - An iOS drop-in UITableView, UICollectionView and UIScrollView superclass category for showing a customizable floating button on top of it.
- Preheat - Automates prefetching of content in UITableView and UICollectionView
- DisplaySwitcher - Custom transition between two collection view layouts
- Reusable - A Swift mixin for UITableViewCells and UICollectionViewCells
- Sapporo - Cellmodel-driven collectionview manager
- StickyCollectionView-Swift - UICollectionView layout for presenting of the overlapping cells.
- TLIndexPathTools - TLIndexPathTools is a small set of classes that can greatly simplify your table and collection views.
- IGListKit - A data-driven UICollectionView framework for building fast and flexible lists.
- FlexibleCollectionViewController - Swift library of generic collection view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler etc
- ASCollectionView - A Swift collection view inspired by Airbnb.
- GLTableCollectionView - Netflix and App Store like UITableView with UICollectionView
- EditDistance - Incremental update tool for UITableView and UICollectionView
- SwiftSpreadSheet - Spreadsheet CollectionViewLayout in Swift. Fully customizable.
- GenericDataSource - A generic small reusable components for data source implementation for UITableView/UICollectionView in Swift.
- PagingView - Infinite paging, Smart auto layout, Interface of similar to UIKit.
- PJFDataSource - PJFDataSource is a small library that provides a simple, clean architecture for your app to manage its data sources while providing a consistent user interface for common content states (i.e. loading, loaded, empty, and error).
- DataSources - Type-safe data-driven List-UI Framework. (We can also use ASCollectionNode)
- KDDragAndDropCollectionView - Dragging & Dropping data across multiple UICollectionViews.
- SectionScrubber - A component to quickly scroll between collection view sections
- CollectionKit - A modern Swift framework for building reusable data-driven collection components.
- AZCollectionViewController - Easy way to integrate pagination with dummy views in CollectionView, make Instagram Discover within minutes.
- CampcotCollectionView - CampcotCollectionView is a custom UICollectionView written in Swift that allows to expand and collapse sections. It provides a simple API to manage collection view appearance.
- Stefan - A guy that helps you manage collections and placeholders in easy way.
- Parade - Parallax Scroll-Jacking Effects Engine for iOS / tvOS.
- MSPeekCollectionViewDelegateImplementation - A custom paging behavior that peeks the previous and next items in a collection view.
- SimpleSource - Easy and type-safe iOS table and collection views in Swift.
- Conv - Conv smart represent UICollectionView data structure more than UIKit.
- Carbon - 🚴 A declarative library for building component-based user interfaces in UITableView and UICollectionView.
- ThunderCollection - A simple declarative approach to UICollectionViewController management using a protocol-based approach.
- DiffableDataSources - A library for backporting UITableView/UICollectionViewDiffableDataSource.
Expandable Cell
- folding-cell - FoldingCell is an expanding content cell inspired by folding paper material
- AEAccordion - UITableViewController with accordion effect (expand / collapse cells).
- ThreeLevelAccordian - This is a customisable three level accordian with options for adding images and accessories images.
- YNExpandableCell - Awesome expandable, collapsible tableview cell for iOS.
- Savory - A swift accordion view implementation.
- ExpyTableView - Make your table view expandable just by implementing one method.
- FTFoldingPaper - Emulates paper folding effect. Can be integrated with UITableView or used with other UI components.
- CollapsibleTableSectionViewController - A swift library to support collapsible sections in a table view.
- ExpandableCell - Fully refactored YNExapnadableCell with more concise, bug free. Awesome expandable, collapsible tableview cell for iOS.
- expanding-collection - ExpandingCollection is a card peek/pop controller
Header
- ParallaxTableViewHeader - Parallax scrolling effect on UITableView header view when a tableView is scrolled.
- CSStickyHeaderFlowLayout - UICollectionView replacement of UITableView. Do even more like Parallax Header, Sticky Section Header.
- GSKStretchyHeaderView - Configurable yet easy to use stretchy header view for UITableView and UICollectionView.
Placeholder
- DZNEmptyDataSet - A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display.
- HGPlaceholders - Nice library to show and create placeholders and Empty States for any UITableView/UICollectionView in your project
- ListPlaceholder - ListPlaceholder is a swift library allows you to easily add facebook style animated loading placeholder to your tableviews or collection views
- WLEmptyState - A component that lets you customize the view when the dataset of UITableView is empty.
Collection View Layout
- CHTCollectionViewWaterfallLayout - The waterfall (i.e., Pinterest-like) layout for UICollectionView.
- FMMosaicLayout - A drop-in mosaic collection view layout with a focus on simple customizations.
- mosaic-layout - A mosaic collection view layout inspired by Lightbox's Algorithm, written in Swift
- TLLayoutTransitioning - Enhanced transitioning between UICollectionView layouts in iOS.
- CenteredCollectionView - A lightweight UICollectionViewLayout that 'pages' and centers it's cells 🎡 written in Swift.
- CollectionViewSlantedLayout - UICollectionViewLayout with slanted content
- SquareMosaicLayout - An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations
- BouncyLayout - BouncyLayout is a collection view layout that makes your cells bounce.
- AZSafariCollectionViewLayout - AZSafariCollectionViewLayout is replica of safari browser history page layout. very easy to use, IBInspectable are given for easy integration. -ollectionView, make Instagram Discover within minutes.
- Blueprints - A framework that is meant to make your life easier when working with collection view flow layouts.
- UICollectionViewSplitLayout - UICollectionViewSplitLayout makes collection view more responsive.
- Swinflate - A bunch of layouts providing light and seamless experiences in your CollectionView.
Tag
- PARTagPicker - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr.
- AMTagListView - UIScrollView subclass that allows to add a list of highly customizable tags.
- TagCellLayout - UICollectionView layout for Tags with Left, Center & Right alignments.
- TTGTagCollectionView - Show simple text tags or custom tag views in a vertical scrollable view.
- TagListView - Simple and highly customizable iOS tag list view, in Swift.
- RKTagsView - Highly customizable iOS tags view (like NSTokenField). Supports editing, multiple selection, Auto Layout and much more.
- WSTagsField - An iOS text field that represents different Tags.
- AKMaskField - AKMaskField is UITextField subclass which allows enter data in the fixed quantity and in the certain format.
- YNSearch - Awesome fully customizable search view like Pinterest written in Swift 3.
- SFFocusViewLayout - UICollectionViewLayout with focused content.
TextField & TextView
- JVFloatLabeledTextField - UITextField subclass with floating labels.
- ARAutocompleteTextView - subclass of UITextView that automatically displays text suggestions in real-time. Perfect for email Textviews.
- IQDropDownTextField - TextField with DropDown support using UIPickerView.
- UITextField-Shake - UITextField category that adds shake animation. Also with Swift version
- HTYTextField - A UITextField with bouncy placeholder.
- MVAutocompletePlaceSearchTextField - A drop-in Autocompletion control for Place Search like Google Places, Uber, etc.
- AutocompleteField - Add word completion to your UITextFields.
- RSKGrowingTextView - A light-weight UITextView subclass that automatically grows and shrinks.
- RSKPlaceholderTextView - A light-weight UITextView subclass that adds support for placeholder.
- StatefulViewController - Placeholder views based on content, loading, error or empty states.
- MBAutoGrowingTextView - An auto-layout base UITextView subclass which automatically grows with user input and can be constrained by maximal and minimal height - all without a single line of code.
- TextFieldEffects - Custom UITextFields effects inspired by Codrops, built using Swift.
- Reel Search - RAMReel is a controller that allows you to choose options from a list.
- MLPAutoCompleteTextField - a subclass of UITextField that behaves like a typical UITextField with one notable exception: it manages a drop down table of autocomplete suggestions that update as the user types.
- SkyFloatingLabelTextField - A beautiful and flexible text field control implementation of "Float Label Pattern". Written in Swift.
- VMaskTextField - VMaskTextField is a library which create an input mask for iOS.
- TJTextField - UITextField with underline and left image.
- NextGrowingTextView - The next in the generations of 'growing textviews' optimized for iOS 7 and above.
- RPFloatingPlaceholders - UITextField and UITextView subclasses with placeholders that change into floating labels when the fields are populated with text.
- CurrencyTextField - UITextField that automatically formats text to display in the currency format.
- UITextField-Navigation - UITextField-Navigation adds next, previous and done buttons to the keyboard for your UITextFields.
- AutoCompleteTextField - Auto complete with suggestion textfield.
- PLCurrencyTextField - UITextField that support currency in the right way.
- PasswordTextField - A custom TextField with a switchable icon which shows or hides the password and enforce good password policies.
- AnimatedTextInput - Animated UITextField and UITextView replacement for iOS.
- KMPlaceholderTextView - A UITextView subclass that adds support for multiline placeholder written in Swift.
- NxEnabled - Library which allows you binding
enabledproperty of button with textable elements (TextView, TextField). - AwesomeTextField - Awesome TextField is a nice and simple library for iOS. It's highly customisable and easy-to-use tool. Works perfectly for any registration or login forms in your app.
- ModernSearchBar - The famous iOS search bar with auto completion feature implemented.
- SelectableTextView - A text view that supports selection and expansion.
- CBPinEntryView - A customisable view written in Swift 4.2 for any pin, code or password entry. Supports one time codes in iOS 12.
- GrowingTextView - An UITextView in Swift3 and Swift2.3. Support auto growing, placeholder and length limit.
- DTTextField - DTTextField is a custom textfield with floating placeholder and error label in Swift3.0.
- TextFieldCounter - UITextField character counter with lovable UX.
- RSFloatInputView - A Float Input View with smooth animation and supporting icon and seperator written with Swift.
- TaniwhaTextField - TaniwhaTextField is a lightweight and beautiful swift textfield framework. It has float label pattern, and also you can highly customise it.
- InstantSearch iOS - A library of widgets and helpers to build instant-search applications on iOS.
- SearchTextField - UITextField subclass with autocompletion suggestions list.
- PYSearch - An elegant search controller which replaces the UISearchController for iOS (iPhone & iPad).
- styled-text - Declarative text styles and streamlined Dynamic Type support for iOS.
- TweeTextField - Lightweight set of text fields with nice animation and functionality.
- MeasurementTextField - UITextField-based control for (NS)Measurement values input.
- VENTokenField - Easy-to-use token field that is used in the Venmo app.
- ALTextInputBar - An auto growing text input bar for messaging apps.
- Tagging - TextView that provides easy to use tagging feature for Mention or Hashtag.
- InputBarAccessoryView - A simple and easily customizable InputAccessoryView for making powerful input bars with autocomplete and attachments.
- CocoaTextField - UITextField created according to the Material.IO guidelines of 2019.
- CHIOTPField - A set of textfields that can be used for One-time passwords, SMS codes, PIN codes, etc.
- Streamoji - Custom emoji rendering library with support for GIFs and images, UITextView extension.
UIPageControl
- PageControl - A nice, animated UIPageControl alternative.
- PageControls - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here.
- CHIPageControl - A set of cool animated page controls to replace boring UIPageControl.
- Page-Control - Beautiful, animated and highly customizable UIPageControl alternative.
- TKRubberIndicator - Rubber Indicator in Swift.
Web View
- Otafuku - Otafuku provides utility classes to use WKWebView in Swift.
- SwiftWebVC - A drop-in inline browser for your Swift iOS app.
- SVWebViewController - A drop-in inline browser for your iOS app.
- PTPopupWebView - PTPopupWebView is a simple and useful WebView for iOS, which can be popup and has many of the customized item.
Utility
- Underscore.m - A DSL for Data Manipulation.
- XExtensionItem - Easier sharing of structured data between iOS applications and share extensions.
- ReflectableEnum - Reflection for enumerations in Objective-C.
- ObjectiveSugar - ObjectiveC additions for humans. Ruby style.
- OpinionatedC - Because Objective-C should have inherited more from Smalltalk.
- SwiftRandom - Generator for random data.
- RandomKit - Random data generation in Swift.
- YOLOKit - Getting square objects down round holes.
- EZSwiftExtensions - :smirk: How Swift standard types and classes were supposed to work.
- Pantry - The missing light persistence layer for Swift.
- SwiftParsec - A parser combinator library written in the Swift programming language.
- OrderedSet - A Swift collection of unique, ordered objects.
- Datez - Swift library for dealing with
NSDate,NSCalendar, andNSDateComponents. - BFKit - An Objective-C collection of useful classes to develop Apps faster.
- BFKit-Swift - A Swift collection of useful classes to develop Apps faster.
- Scale - Unit converter in Swift (available via CocoaPods).
- Standard Template Protocols - Protocols for your every day iOS needs.
- TimeLord - Easy DateTime (NSDate) management in Swift.
- AppVersionMonitor - Monitor iOS app version easily.
- Sugar - Something sweet that goes great with your Cocoa.
- Then - ✨ Super sweet syntactic sugar for Swift initializers.
- Kvitto - App Store Receipt Validation.
- Notificationz - Helping you own NSNotificationCenter in Swift.
- SwiftFoundation - Cross-Platform, Protocol-Oriented Programming base library to complement the Swift Standard Library. (Pure Swift, Supports Linux).
- libextobjc - A Cocoa library to extend the Objective-C programming language.
- VersionTrackerSwift - Track which versions of your app a user has previously installed..
- DeviceGuru - DeviceGuru is a simple lib (Swift) to know the exact type of the device, e.g. iPhone 6 or iPhone 6s.
- AEAppVersion - Simple and Lightweight App Version Tracking for iOS written in Swift.
- BlocksKit - The Objective-C block utilities you always wish you had.
- SwiftyUtils - All the reusable code that we need in each project.
- RateLimit - Simple utility for only executing code every so often.
- Outlets - Utility functions for validating IBOutlet and IBAction connections.
- EasyAbout - A way to easily add CocoaPods licenses and App Version to your iOS App using the Settings Bundle.
- Validated - A Swift μ-Library for Somewhat Dependent Types.
- Cent - Extensions for Swift Standard Types and Classes.
- AssistantKit - Easy way to detect iOS device properties, OS versions and work with screen sizes. Powered by Swift.
- SwiftLinkPreview - It makes a preview from an url, grabbing all the information such as title, relevant texts and images.
- BundleInfos - Simple getter for Bundle informations. like short version from bundle.
- YAML.framework - Proper YAML support for Objective-C based on
LibYAML. - ReadabilityKit - Metadata extractor for news, articles and full-texts in Swift.
- MissionControl-iOS - Super powerful remote config utility written in Swift (iOS, watchOS, tvOS, macOS).
- SwiftTweaks - Tweak your iOS app without recompiling!
- UnsupportedOSVersionAlert - Alerts users with a popup if they use an app with an unsupported version of iOS (e.g. iOS betas).
- SwiftSortUtils - This library takes a shot at making sorting in Swift more pleasant. It also allows you to reuse your old NSSortDescriptor instances in Swift.
- Retry - Haven't you wished for
tryto sometimes try a little harder? Meetretry. - ObjectiveKit - Swift-friendly API for Objective C runtime functions.
- MoyaSugar - Syntactic sugar for Moya.
- SwifterSwift - A handy collection of more than 400 native Swift 4 extensions to boost your productivity.
- Eject - An eject button for Interface Builder to generate swift code.
- ContactsWrapper - Easy to use wrapper for both contacts and contacts group with Objective-C.
- XestiMonitors - An extensible monitoring framework written in Swift.
- OpenSourceController - The simplest way to display the libraries licences used in your application.
- App-Update-Tracker - Easily detect and run code upon app installation or update.
- ExtensionalSwift - Useful swift extensions in one place.
- InAppSettingsKit - This iOS framework allows settings to be in-app in addition to or instead of being in the Settings app.
- MMWormhole - Message passing between iOS apps and extensions.
- DefaultStringConvertible - A default CustomStringConvertible implementation for Swift types.
- FluxCapacitor - FluxCapacitor makes implementing Flux design pattern easily with protocols and typealias.
- VTAcknowledgementsViewController - Ready to use “Acknowledgements”/“Licenses”/“Credits” view controller for CocoaPods.
- Closures - Swifty closures for UIKit and Foundation.
- WhatsNew - Showcase new features after an app update similar to Pages, Numbers and Keynote.
- MKUnits - Unit conversion library for Swift.
- ActionClosurable - Extensions which helps to convert objc-style target/action to swifty closures.
- ios_system - Drop-in replacement for system() in iOS programs.
- SwiftProvisioningProfile - Parse provisioning profiles into Swift models.
- Once - Minimalist library to manage one-off operations.
- ZamzamKit - A collection of micro utilities and extensions for Standard Library, Foundation and UIKit.
- DuctTape - KeyPath dynamicMemberLookup based syntax sugar for swift.
- ReviewKit - A framework which helps gatekeep review prompt requests – using SKStoreReviewController – to users who have had a good time using your app by logging positive and negative actions.
User Consent
- SmartlookConsentSDK - Open source SDK which provides a configurable control panel where user can select their privacy options and store the user preferences for the app.
- PrivacyFlash Pro - Generate a privacy policy for your iOS app from its code
VR
- VR Toolkit iOS - A sample project that provides the basics to create an interactive VR experience on iOS.
- 360 VR Player - A open source, ad-free, native and universal 360 degree panorama video player for iOS.
- simple360player - Free & ad-free 360 VR Video Player. Flat or Stereoscopic. In Swift 2.
- Swifty360Player - iOS 360-degree video player streaming from an AVPlayer with Swift.
Walkthrough / Intro / Tutorial
- Onboard - Easily create a beautiful and engaging onboarding experience with only a few lines of code.
- EAIntroView - Highly customizable drop-in solution for introduction views.
- MYBlurIntroductionView - A super-charged version of MYIntroductionView for building custom app introductions and tutorials.
- BWWalkthrough - A class to build custom walkthroughs for your iOS App.
- GHWalkThrough - A UICollectionView backed drop-in component for introduction views.
- ICETutorial - A nice tutorial like the one introduced in the Path 3.X App.
- JazzHands - Jazz Hands is a simple keyframe-based animation framework for UIKit. Animations can be controlled via gestures, scroll views, KVO, or ReactiveCocoa.
- RazzleDazzle - A simple keyframe-based animation framework for iOS, written in Swift. Perfect for scrolling app intros.
- Instructions - Easily add customizable coach marks into you iOS project.
- SwiftyWalkthrough - The easiest way to create a great walkthrough experience in your apps, powered by Swift.
- Gecco - Spotlight view for iOS.
- VideoSplashKit - VideoSplashKit - UIViewController library for creating easy intro pages with background videos.
- Presentation - Presentation helps you to make tutorials, release notes and animated pages.
- AMPopTip - An animated popover that pops out a given frame, great for subtle UI tips and onboarding.
- AlertOnboarding - A simple and handsome AlertView for onboard your users in your amazing world.
- EasyTipView - Fully customisable tooltip view in Swift.
- paper-onboarding - PaperOnboarding is a material design slider.
- InfoView - Swift based simple information view with pointed arrow.
- Intro - An iOS framework to easily create simple animated walkthrough, written in Swift.
- AwesomeSpotlightView - Tool to create awesome tutorials or educate user to use application. Or just highlight something on screen. Written in Swift.
- SwiftyOnboard - A simple way to add onboarding to your project.
- WVWalkthroughView - Utility to easily create walkthroughs to help with user onboarding.
- SwiftyOverlay - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!
- SwiftyOnboardVC - Lightweight walkthrough controller thats uses view controllers as its subviews making the customization endless.
- Minamo - Simple coach mark library written in Swift.
- Material Showcase iOS - An elegant and beautiful showcase for iOS apps.
- WhatsNewKit - Showcase your awesome new app features.
- OnboardKit - Customisable user onboarding for your iOS app.
- ConcentricOnboarding - SwiftUI library for a walkthrough or onboarding flow with tap actions.
WebSocket
- SocketRocket - A conforming Objective-C WebSocket client library.
- socket.io-client-swift - Socket.IO-client for iOS/macOS.
- SwiftWebSocket - High performance WebSocket client library for Swift, iOS and macOS.
- Starscream - Websockets in swift for iOS and macOS.
- SwiftSocket - simple socket library for apple swift lang.
- Socks - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, macOS.
- SwifterSockets - A collection of socket utilities in Swift for OS-X and iOS.
- Swift-ActionCableClient - ActionCable is a new WebSocket server being released with Rails 5 which makes it easy to add real-time features to your app.
- DNWebSocket - Object-Oriented, Swift-style WebSocket Library (RFC 6455) for Swift-compatible Platforms.
Project setup
- crafter - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful.
- liftoff - Another CLI for creating iOS projects.
- amaro - iOS Boilerplate full of delights.
- chairs - Swap around your iOS Simulator Documents.
- SwiftPlate - Easily generate cross platform Swift framework projects from the command line.
- xcproj - Read and update Xcode projects.
- Tuist - A tool to create, maintain and interact with Xcode projects at scale.
- SwiftKit - Start your next Open-Source Swift Framework.
- swift5-module-template - A starting point for any Swift 5 module that you want other people to include in their projects.
Dependency / Package Manager
- CocoaPods - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly.
- Xcode Maven - The Xcode Maven Plugin can be used in order to run Xcode builds embedded in a Maven lifecycle.
- Carthage - A simple, decentralized dependency manager for Cocoa.
- SWM (Swift Modules) - A package/dependency manager for Swift projects similar to npm (node.js package manager) or bower (browser package manager from Twitter). Does not require the use of Xcode.
- CocoaSeeds - Git Submodule Alternative for Cocoa.
- swift-package-manager - The Package Manager for the Swift Programming Language.
- punic - Clean room reimplementation of Carthage tool.
- Rome - A cache tool for Carthage built frameworks.
- Athena - Gradle Plugin to enhance Carthage by uploading the archived frameworks into Maven repository, currently support only Bintray, Artifactory and Mavel local.
- Accio - A SwiftPM based dependency manager for iOS & Co. with improvements over Carthage.
Tools
- Shark - Swift Script that transforms the .xcassets folder into a type safe enum.
- SBConstants - Generate a constants file by grabbing identifiers from storyboards in a project.
- R.swift - Tool to get strong typed, autocompleted resources like images, cells and segues in your Swift project.
- SwiftGen - A collection of Swift tools to generate Swift code (enums for your assets, storyboards, Localizable.strings and UIColors).
- Blade - Generate Xcode image catalogs for iOS / macOS app icons, universal images, and more.
- Retini - A super simple retina (2x, 3x) image converter.
- Jazzy - Soulful docs for Swift & Objective-C.
- appledoc - ObjectiveC code Apple style documentation set generator.
- Laurine - Laurine - Localization code generator written in Swift. Sweet!
- StoryboardMerge - Xcode storyboards diff and merge tool.
- ai2app - Creating AppIcon sets from Adobe Illustrator (all supported formats).
- ViewMonitor - ViewMonitor can measure view positions with accuracy.
- abandoned-strings - Command line program that detects unused resource strings in an iOS or macOS application.
- swiftenv - swiftenv allows you to easily install, and switch between multiple versions of Swift.
- Misen - Script to support easily using Xcode Asset Catalog in Swift.
- git-xcp - A Git plugin for versioning workflow of real-world Xcode project. fastlane's best friend.
- WatchdogInspector - Shows your current framerate (fps) in the status bar of your iOS app.
- Cichlid - automatically delete the current project's DerivedData directories.
- Delta - Managing state is hard. Delta aims to make it simple.
- SwiftLintXcode - An Xcode plug-in to format your code using SwiftLint.
- XCSwiftr - An Xcode Plugin to convert Objective-C to Swift.
- SwiftKitten - Swift autocompleter for Sublime Text, via the adorable SourceKitten framework.
- Kin - Have you ever found yourself undoing a merge due to a broken Xcode build? Then Kin is your tool. It will parse your project configuration file and detect errors.
- AVXCAssets-Generator - AVXCAssets Generator takes path for your assets images and creates appiconset and imageset for you in just one click.
- Peek - Take a Peek at your application.
- SourceKitten - An adorable little framework and command line tool for interacting with SourceKit.
- xcbuild - Xcode-compatible build tool.
- XcodeIssueGenerator - An executable that can be placed in a Run Script Build Phase that marks comments like // TODO: or // SERIOUS: as warnings or errors so they display in the Xcode Issue Navigator.
- SwiftCompilationPerformanceReporter - Generate automated reports for slow Swift compilation paths in specific targets.
- BuildTimeAnalyzer - Build Time Analyzer for Swift.
- Duration - A simple Swift package for measuring and reporting the time taken for operations.
- Benchmark - The Benchmark module provides methods to measure and report the time used to execute Swift code.
- MBAssetsImporter - Import assets from Panoramio or from your macOS file system with their metadata to your iOS simulator (Swift 2.0).
- Realm Browser - Realm Browser is a macOS utility to open and modify realm database files.
- SuperDelegate – SuperDelegate provides a clean application delegate interface and protects you from bugs in the application lifecycle.
- fastlane-plugin-appicon - Generate required icon sizes and iconset from a master application icon.
- infer - A static analyzer for Java, C and Objective-C.
- PlayNow - Small app that creates empty Swift playground files and opens them with Xcode.
- Xtrace - Trace Objective-C method calls by class or instance.
- xcenv - Groom your Xcode environment.
- playgroundbook - Tool for Swift Playground books.
- Ecno - Ecno is a task state manager built on top of UserDefaults in pure Swift 3.
- ipanema - ipanema analyzes and prints useful information from
.ipafile. - pxctest - Parallel XCTest - Execute XCTest suites in parallel on multiple iOS Simulators.
- IBM Swift Sandbox - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux!
- FBSimulatorControl - A macOS library for managing and manipulating iOS Simulators
- Nomad - Suite of command line utilities & libraries for sending APNs, create & distribute
.ipa, verify In-App-Purchase receipt and more. - Cookiecutter - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file.
- Sourcery - A tool that brings meta-programming to Swift, allowing you to code generate Swift code.
- AssetChecker 👮 - Keeps your Assets.xcassets files clean and emits warnings when something is suspicious.
- PlayAlways - Create Xcode playgrounds from your menu bar
- GDPerformanceView-Swift - Shows FPS, CPU usage, app and iOS versions above the status bar and report FPS and CPU usage via delegate.
- Traits - Library for a real-time design and behavior modification of native iOS apps without recompiling (code and interface builder changes are supported).
- Struct - A tool for iOS and Mac developers to automate the creation and management of Xcode projects.
- Nori - Easier to apply code based style guide to storyboard.
- Attabench - Microbenchmarking app for Swift with nice log-log plots.
- Gluten - Nano library to unify XIB and it's code.
- LicensePlist - A license list generator of all your dependencies for iOS applications.
- AppDevKit - AppDevKit is an iOS development library that provides developers with useful features to fulfill their everyday iOS app development needs.
- Tweaks - An easy way to fine-tune, and adjust parameters for iOS apps in development.
- FengNiao - A command line tool for cleaning unused resources in Xcode.
- LifetimeTracker - Find retain cycles / memory leaks sooner.
- Plank - A tool for generating immutable model objects.
- Lona - A tool for defining design systems and using them to generate cross-platform UI code, Sketch files, images, and other artifacts.
- XcodeGen - Command line tool that generates your Xcode project from a spec file and your folder structure.
- iSimulator - iSimulator is a GUI utility to control the Simulator, and manage the app installed on the simulator.
- Natalie - Storyboard Code Generator.
- Transformer - Easy Online Attributed String Creator. This tool lets you format a string directly in the browser and then copy/paste the attributed string code into your app.
- ProvisionQL - Quick Look plugin for apps and provisioning profile files.
- xib2Storyboard - A tool to convert Xcode .xib to .storyboard files.
- Zolang - A programming language for sharing logic between iOS, Android and Tools.
- xavtool - Command-line utility to automatically increase iOS / Android applications version.
- Cutter - A tool to generate iOS Launch Images (Splash Screens) for all screen sizes starting from a single template.
- nef - A set of command line tools for Xcode Playground: lets you have compile-time verification of your documentation written as Xcode Playgrounds, generates markdown files, integration with Jekyll for building microsites and Carbon to export code snippets.
- Pecker - CodePecker is a tool to detect unused code.
- Speculid - generate Image Sets and App Icons from SVG, PNG, and JPEG files
- SkrybaMD - Markdown Documentation generator. If your team needs an easy way to maintain and create documentation, this generator is for you.
- Storyboard -> SwiftUI Converter - Storyboard -> SwiftUI Converter is a converter to convert .storyboard and .xib to SwiftUI.
- Swift Package Index - Swift packages list with many information about quality and compatiblity of package.
- Xcodes.app - The easiest way to install and switch between multiple versions of Xcode.
- Respresso Image Converter - Multiplatform image converter for iOS, Android, and Web that supports pdf, svg, vector drawable, jpg, png, and webp formats.
Rapid Development
- Playgrounds - Playgrounds for Objective-C for extremely fast prototyping / learning.
- MMBarricade - Runtime configurable local server for iOS apps.
- STV Framework - Native visual iOS development.
- swiftmon - swiftmon restarts your swift application in case of any file change.
- Model2App - Turn your Swift data model into a working CRUD app.
Code Injection
- dyci - Code injection tool.
- injectionforxcode - Code injection including Swift.
- Vaccine - Vaccine is a framework that aims to make your apps immune to recompile-decease.
Dependency Injection
- Swinject - Dependency injection framework for Swift.
- Reliant - Nonintrusive Objective-C dependency injection.
- Kraken - A Dependency Injection Container for Swift with easy-to-use syntax.
- Cleanse - Lightweight Swift Dependency Injection Framework by Square.
- Typhoon - Powerful dependency injection for Objective-C.
- Pilgrim - Powerful dependency injection Swift (successor to Typhoon).
- Perform - Easy dependency injection for storyboard segues.
- Alchemic - Advanced, yet simple to use DI framework for Objective-C.
- Guise - An elegant, flexible, type-safe dependency resolution framework for Swift.
- Weaver - A declarative, easy-to-use and safe Dependency Injection framework for Swift.
- StoryboardBuilder - Simple dependency injection for generating views from storyboard.
- ViperServices - Dependency injection container for iOS applications written in Swift. Each service can have boot and shutdown code.
- DITranquillity - Dependency injection framework for iOS applications written in clean Swift.
- Needle — Compile-time safe Swift dependency injection framework with real code.
- Locatable - A micro-framework that leverages Property Wrappers to implement the Service Locator pattern.
Deployment / Distribution
- fastlane - Connect all iOS deployment tools into one streamlined workflow.
- deliver - Upload screenshots, metadata and your app to the App Store using a single command.
- snapshot - Automate taking localized screenshots of your iOS app on every device.
- buddybuild - A mobile iteration platform - build, deploy, and collaborate.
- Bitrise - Mobile Continuous Integration & Delivery with dozens of integrations to build, test, deploy and collaborate.
- watchbuild - Get a notification once your iTunes Connect build is finished processing.
- Crashlytics - A crash reporting and beta testing service.
- TestFlight Beta Testing - The beta testing service hosted on iTunes Connect (requires iOS 8 or later).
- AppCenter - Continuously build, test, release, and monitor apps for every platform.
- boarding - Instantly create a simple signup page for TestFlight beta testers.
- HockeyKit - A software update kit.
- Rollout.io - SDK to patch, fix bugs, modify and manipulate native apps (Obj-c & Swift) in real-time.
- AppLaunchpad - Free App Store screenshot builder.
- LaunchKit - A set of web-based tools for mobile app developers, now open source!
- Instabug - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging.
- Appfigurate - Secure runtime configuration for iOS and watchOS, apps and app extensions.
- ScreenshotFramer - With Screenshot Framer you can easily create nice-looking and localized App Store Images.
- Semaphore - CI/CD service which makes it easy to build, test and deploy applications for any Apple device. iOS support is fully integrated in Semaphore 2.0, so you can use the same powerful CI/CD pipeline features for iOS as you do for Linux-based development.
- Appcircle.io — Automated mobile CI/CD/CT for iOS with online device simulators
- Screenplay - Instant rollbacks and canary deployments for iOS.
- Codemagic - Build, test and deliver iOS apps 20% faster with Codemagic CI/CD.
App Store
- Apple's Common App Rejections Styleguide - Highlighted some of the most common issues that cause apps to get rejected.
- Free App Store Optimization Tool - Lets you track your App Store visibility in terms of keywords and competitors.
- App Release Checklist - A checklist to pore over before you ship that amazing app that has taken ages to complete, but you don't want to rush out in case you commit a schoolboy error that will end up making you look dumber than you are.
- Harpy - Notify users when a new version of your iOS app is available, and prompt them with the App Store link.
- appirater - A utility that reminds your iPhone app's users to review the app.
- Siren - Notify users when a new version of your app is available and prompt them to upgrade.
- Appstore Review Guidelines - A curated list of points which a developer has to keep in mind before submitting his/her application on appstore for review.
- AppVersion - Keep users on the up-to date version of your App.
Xcode
Extensions (Xcode 8+)
- CleanClosureXcode - An Xcode Source Editor extension to clean the closure syntax.
- xTextHandler - Xcode Source Editor Extension Toolset (Plugins for Xcode 8).
- SwiftInitializerGenerator - Xcode 8 Source Code Extension to Generate Swift Initializers.
- XcodeEquatableGenerator - Xcode 8 Source Code Extension will generate conformance to Swift Equatable protocol based on type and fields selection.
- Import - Xcode extension for adding imports from anywhere in the code.
- Mark - Xcode extension for generating MARK comments.
- XShared - Xcode extension which allows you copying the code with special formatting quotes for social (Slack, Telegram).
- XGist - Xcode extension which allows you to send your text selection or entire file to GitHub's Gist and automatically copy the Gist URL into your Clipboard.
- Swiftify - Objective-C to Swift online code converter and Xcode extension.
- DocumenterXcode - Attempt to give a new life for VVDocumenter-Xcode as source editor extension.
- Snowonder - Magical import declarations formatter for Xcode.
- XVim2 - Vim key-bindings for Xcode 9.
- Comment Spell Checker - Xcode extension for spell checking and auto correcting code comments.
- nef - This Xcode extension enables you to make a code selection and export it to a snippets. Available on Mac AppStore.
Themes
- Dracula Theme - A dark theme for Xcode.
- Xcode themes list - Color themes for Xcode.
- Solarized-Dark-for-Xcode - Solarized Dark Theme for Xcode 5.
- WWDC2016 Xcode Color Scheme - A color scheme for Xcode based on the WWDC 2016 invitation.
- DRL Theme - A soft darkness theme for Xcode.
Other Xcode
- awesome-xcode-scripts - A curated list of useful xcode scripts.
- Synx - A command-line tool that reorganizes your Xcode project folder to match your Xcode groups.
- dsnip - Tool to generate (native) Xcode code snippets from all protocols/delegate methods of UIKit (UITableView, ...)
- SBShortcutMenuSimulator - 3D Touch shortcuts in the Simulator.
- awesome-gitignore-templates - A collection of swift, objective-c, android and many more langugages .gitignore templates.
- swift-project-template - Template for iOS Swift project generation.
- Swift-VIPER-Module - Xcode template for create modules with VIPER Architecture written in Swift 3.
- ViperC - Xcode template for VIPER Architecture for both Objective-C and Swift.
- XcodeCodeSnippets - A set of code snippets for iOS development, includes code and comments snippets.
- Xcode Keymap for Visual Studio Code - This extension ports popular Xcode keyboard shortcuts to Visual Studio Code.
- Xcode Template Manager - Xcode Template Manager is a Swift command line tool that helps you manage your Xcode project templates.
- VIPER Module Template - Xcode Template of VIPER Module which generates all layers of VIPER.
- Xcode Developer Disk Images - Xcode Developer Disk Images is needed when you want to put your build to the device, however sometimes your Xcode is not updated with the latest Disk Images, you could find them here for convenience.
Reference
- Swift Cheat Sheet - A quick reference cheat sheet for common, high level topics in Swift.
- Objective-C Cheat Sheet - A quick reference cheat sheet for common, high level topics in Objective-C.
- SwiftSnippets - A collection of Swift snippets to be used in Xcode.
- App Store Checklist - A checklist of what to look for before submitting your app to the App Store.
- whats-new-in-swift-4 - An Xcode playground showcasing the new features in Swift 4.0.
- WWDC-Recap - A collection of session summaries in markdown format, from WWDC 19 & 17.
Style Guides
- NY Times - Objective C Style Guide - The Objective-C Style Guide used by The New York Times.
- raywenderlich Style Guide - A style guide that outlines the coding conventions for raywenderlich.com.
- GitHub Objective-C Style Guide - Style guide & coding conventions for Objective-C projects.
- Objective-C Coding Convention and Best Practices - Gist with coding conventions.
- Swift Style Guide by @raywenderlich - The official Swift style guide for raywenderlich.com.
- Spotify Objective-C Coding Style - Guidelines for iOS development in use at Spotify.
- GitHub - Style guide & coding conventions for Swift projects - A guide to our Swift style and conventions by @github.
- Futurice iOS Good Practices - iOS starting guide and good practices suggestions by @futurice.
- SlideShare Swift Style Guide - SlideShare Swift Style Guide we are using for our upcoming iOS 8 only app written in Swift.
- Prolific Interactive Style Guide - A style guide for Swift.
- Swift Style Guide by LinkedIn - LinkedIn's Official Swift Style Guide.
Good Websites
News, Blogs and more
- BGR
- iMore
- Lifehacker
- NSHipster
- Objc.io
- ASCIIwwdc
- Natasha The Robot
- Apple's Swift Blog
- iOS Programming Subreddit
- iOS8-day-by-day
- iOScreator
- Mathew Sanders
- iOS Dev Nuggets
- iOS Developer and Designer interview - A small guide to help those looking to hire a developer or designer for iOS work.
- iOS9-day-by-day
- Code Facebook
- Feeds for iOS Developer - The list of RSS feeds for iOS developers.
- Cocoa Controls - Open source UI components for iOS and macOS.
- Ohmyswift
UIKit references
Forums and discuss lists
Tutorials and Keynotes
- AppCoda
- Tutorials Point
- Code with Chris
- Cocoa with Love
- Brian Advent youtube channel - Swift tutorials Youtube Channel.
- raywenderlich.com - Tutorials for developers and gamers.
- Mike Ash
- Big Nerd Ranch
- Tuts+
- Thinkster
- Swift Education - A community of educators sharing materials for teaching Swift and app development.
- Cocoa Dev Central
- Use Your Loaf
- Swift Tutorials by Jameson Quave
- Awesome-Swift-Education - All of the resources for Learning About Swift.
- Awesome-Swift-Playgrounds - A List of Awesome Swift Playgrounds!
- learn-swift - Learn Apple's Swift programming language interactively through these playgrounds.
- Treehouse's iOS Courses and Workshops - Topics for beginner and advanced developers in both Objective-C and Swift.
- The Swift Summary Book - A summary of Apple's Swift language written on Playgrounds.
- Hacking With Swift - Learn to code iPhone and iPad apps with 3 Swift tutorials.
- Realm Academy
- LearnAppMaking - LearnAppMaking helps app developers to build, launch and market iOS apps.
- iOS Development with Swift in Motion - This live video course locks in the language fundamentals and then offers interesting examples and exercises to build and practice your knowledge and skills.
- Conferences.digital - Watch conference videos in a native macOS app.
- DaddyCoding - iOS Tutorials ranging from beginners to advance.
- Learn Swift - Learn Swift - curated list of the top online Swift tutorials and courses.
iOS UI Template
Prototyping
Newsletters
- AwesomeiOS Weekly - AwesomeiOS Weekly.
- iOS Goodies - Weekly iOS newsletter.
- raywenderlich.com Weekly - sign up to receive the latest tutorials from raywenderlich.com each week.
- iOS Dev Tools Weekly - The greatest iOS development tools, including websites, desktop and mobile apps, and back-end services.
- iOS Trivia Weekly - Three challenging questions about iOS development every Wednesday.
- Indie iOS Focus Weekly - Looking for the best iOS dev links, tutorials, & tips beyond the usual news? Curated by Chris Beshore. Published every Thursday.
- iOS Dev Weekly - Subscribe to a hand-picked round up of the best iOS development links every week. Free.
- Swift Weekly Brief - A community-driven weekly newsletter about Swift.org. Curated by Jesse Squires and published for free every Thursday.
- Server-Side Swift Weekly - A weekly newsletter with the best links related to server-side Swift and cross-platform developer tools. Curated by @maxdesiatov
- iOS Cookies Newsletter - A weekly digest of new iOS libraries written in Swift.
- Swift Developments - A weekly curated newsletter containing a hand picked selection of the latest links, videos, tools and tutorials for people interested in designing and developing their own iOS, WatchOS and AppleTV apps using Swift.
- Mobile Developers Cafe - A weekly newsletter for Mobile developers with loads of iOS content.
Medium
- iOS App Development - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone.
- Swift Programming - The Swift Programming Language.
- Flawless App - Development & design & marketing tips for iOS developers.
Social Media
Podcasts
- The Ray Wenderlich Podcast
- Debug
- App Story
- iPhreaks
- Under the Radar
- Core Intuition
- Swift Playhouse
- Release Notes
- More Than Just Code
- Runtime
- Consult
- Swift Unwrapped
- Fireside Swift
- Swift by Sundell
Books
- The Swift Programming Language by Apple
- iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass
- Programming in Objective-C by Stephen G. Kochan
- The Complete Friday Q & A: Volume 1
- Core Data for iOS: Developing Data-Driven Applications for the iPad, iPhone, and iPod touch
- Cocoa Design Patterns
- Hello Swift! by Tanmay Bakshi with Lynn Beighley
- iOS Development with Swift by Craig Grummitt
- Anyone Can Create an App by Wendy L. Wise
- Advanced Swift by Chris Eidhof, Ole Begemann, and Airspeed Velocity
- Functional Swift by Chris Eidhof, Florian Kugler, and Wouter Swierstra
- Core Data by Florian Kugler and Daniel Eggert
- Classic Computer Science Problems in Swift
- Swift in Depth
Other Awesome Lists
Other amazingly awesome lists can be found in the
- awesome-awesomeness list.
- Open Source apps list of open source iOS apps.
- Awesome-swift
- @matteocrippa - A collaborative list of awesome swift resources.
- @Wolg - A curated list of awesome Swift frameworks, libraries and software.
- Awesome-Swift-Education - All of the resources for Learning About Swift.
- awesome watchkit apps curated list of sample watchkit apps and tutorials.
- iOS Learning Resources Comprehensive collection of high quality, frequently updated and well maintained iOS tutorial sites.
- Awesome iOS Animation
- awesome-ios-chart - A curated list of awesome iOS chart libraries, including Objective-C and Swift.
- awesome-gists - A list of amazing gists (iOS section).
- awesome-ios-ui - A curated list of awesome iOS UI/UX libraries.
- Awesome-Server-Side-Swift/TheList - A list of Awesome Server Side Swift 3 projects.
- awesome-interview-questions - A curated awesome list of lists of interview questions including iOS.
- iOS-Playbook - Guidelines and best practices for excellent iOS apps.
- iOS-Learning-Materials - Curated list of articles, web-resources, tutorials and code repositories that may help you dig a little bit deeper into iOS.
- Awesome-iOS-Twitter - A curated list of awesome iOS Twitter accounts.
- Marketing for Engineers - A curated collection of marketing articles & tools to grow your product.
- Awesome ARKit - A curated list of awesome ARKit projects and resources.
- CocoaConferences - List of cocoa conferences for iOS & macOS developers.
- example-ios-apps - A curated list of Open Source example iOS apps developed in Swift.
- Curated-Resources-for-Learning-Swift - A curated list of resources recommended by the developers.
- ClassicProblemSolvingAndDataStructuresInSwift - Collection of popular algorithms, data structure and problem solving in Swift 4.
- Awesome list of open source applications for macOS - List of awesome open source applications for macOS.
- Awesome iOS Interview question list - Guide for interviewers and interviewees. Review these iOS interview questions - and get some practical tips along the way.
- Top App Developers - A list of top iOS app developers.
- awesome-ios-developer - Useful knowledges and stuff for ios developer.
Contributing and License
- See the guide
- Distributed under the MIT license. See LICENSE for more information.
Awesome Android
About
A curated list of awesome Android libraries and resources. For general Java libraries have a look at awesome-java.
Supported with ❤️ by Instabug
Understand How Your Android App is Doing with Real-Time Contextual Insights From Your Users
Instabug helps Android developers and product teams easily collect bugs and feedback from beta testers and users to iterate faster and ship quality apps. Instabug automatically attaches screenshots, device details, network logs, repro steps, and tons of other critical insights needed to resolve issues and prioritize product backlogs. Mobile teams accelerate their workflows by seamlessly integrating with third-party tools like Github, Jira, Slack, Zendesk and much more. Instabug is offering Awesome Android community an exclusive 15% discount on all paid plans. Get Started!
How to Use
Awesome-Android is an amazing list for people who need a certain feature on their app, so the best ways to use are: - Simply press command + F to search for a keyword - Go through our Content Menu
Content
- Emulators
- Libraries
- Charts
- Cloud Services
- Dependency Injection
- Android Services
- Game Development
- Security
- GUI
- JSON
- Crash monitoring
- Networking
- Logger
- Notifications
- Database
- REST
- Testing
- Tracking
- Maps
- Utility
- Debugging tools
- Wireless
- Chat and Messaging
- Custom Dialog
- Version Checking
- Date & Time
- Runtime Permissions
- Other
- Resources
- Development Alternatives
- Performance
- Other Awesome Lists
- Contributing
Emulators
Libraries
Charts
- AChartEngine - Charting Engine.
- EazeGraph - Chart and graph library.
- WilliamChart - Chart library with good motion capabilities.
- HelloCharts - Chart and graph library with support for scaling, scrolling and animations.
- MPAndroidChart - An Android chart and graph library supporting scaling and dragging by gesture.
- ArcChartView - Draw Creative Statistic Arc Charts.
- AnyChart - Data visualization library, Interactive charts.
Cloud Services
- CloudRail - Unified API Library for: Cloud Storage, Social Profiles, Payment, Email, SMS & POIs.
Data binding
- Anvil - A small library to create reactive UI components, inspired by React. Provides data binding and event listener binding, fits well for MVVM.
- Data Binding Library - Official Android Data Binding Library to write declarative layouts and minimize the glue code necessary to bind application logic and layouts.
Dependency Injection
- Dagger 2 - A fast dependency injector for Android and Java.
- Butter Knife - View "injection" library for Android.
- ActivityStarter - Android Library that provide simpler way to start the Activities with multiple arguments.
- AndroidAnnotations - Java annotations with dependency injection at compile time.
- Toothpick - A scope tree based Dependency Injection (DI) library for Java.
Android Services
- Remoter - An alternative to Android AIDL for Android Remote IPC services using plain java interfaces.
- Service Connector - Bind Android services and callbacks to fields and methods.
Game Development
- Libgdx - Cross-platform game engine and SDK. Open Source
- Vuforia - Augmented Reality library.
- Unity - Cross-platform game creation system.
- Rajawali - Android OpenGL ES 2.0/3.0 Engine
- Cocos2d-x - Cross-platform 2d game framework.
- JustWeEngine - An easy open source Android Native Game FrameWork.
Security
- libsignal-protocol-java - A ratcheting forward secrecy protocol that works in synchronous and asynchronous messaging environments.
- Themis - Multi-language framework for making typical encryption schemes easy to use: data at rest, authenticated data exchange, transport protection, authentication, and so on.
GUI
- Pull to refresh - A swipe refresh layout is available in the v4 support library.
- Cardslib - Android Library to build a UI Card.
- AndroidStaggeredGrid - Grid view which supports multiple columns with rows of varying sizes.
- Flow - Library that helps with describing an app as a collection of moderately independent screens.
- SortableTableView - An Android library containing a simple TableView and an advanced SortableTableView providing a lot of customisation possibilities to fit all needs.
- MaterialProgressBar - Material design ProgressBar with consistent appearance.
- AndroidFillableLoaders - Fillable progress view working with SVG paths. Nice option too for creating interesting app logos.
- NexusDialog - Allows you to easily and quickly create forms in Android with little code.
- Snap RecyclerView Utils - Populate Single or multiple Layout RecyclerView without creating an Adapter.
- MultiSnapRecyclerView - Android library for multiple snapping of RecyclerView
- SwipeableCard - Implementation of swipe card like StreetView!!
- ElasticProgressBar - Beautiful loading bar.
- EntryScreenManager - Intro/Entry/Walkthrough/Starting Screens.
- EasyIntro - The flexible, easy to use, all in one app intro library for your Android project.
- Material-Calendar-View - Material Design Calendar compatible with API 8+
- CrunchyCalendar - A material calendar widget with infinite scrolling, date range selection and color customization.
- SmoothOverscrollableScrollView - Small custom view with smooth overscroll. You can add header with scale background
- SectionedRecyclerViewAdapter - An Adapter that allows a RecyclerView to be split into Sections with headers and/or footers.
- DragListView - Drag and drop to reorder items in a list, grid or board.
- Animated Expanding ListView - Animated Expanding ListView provides a fancy animation on expanding or collapsing the content of a listview item.
- TastyToast - Toasts with icons and color.
- DotLoader - A customizable loading animation with Dots.
- PodSlider - A customizable slider widget adhering to material design specs.
- TapTargetView - An implementation of tap targets from the Material Design guidelines for feature discovery.
- ShowCaseView - The ShowcaseView library is designed to highlight and showcase specific parts of apps to the user with a attractive and flat overlay.
- MaterialIntroScreen - Material Intro Screen implementation with easily extensible API.
- FloatingView - FloatingView can make the target view floating above the anchor view with cool animation.
- Timecon - Easy-to-use animated clock icon
- Audiogram - Lightweight audiowave progressbar
- Bubbles for Android - Facebook like chat bubble library
- Litho (By Facebook) - A declarative framework for building efficient UIs on Android.
- MultiViewAdapter - Recyclerview Adapter library to create composable view holders.
- LGSnackbar - An easy to use and customisable wrapper of the native Android Snackbar which stays visible across multiple activities.
- ShimmerLayout - Memory efficient shimmering effect for Android applications.
- CircleProgressBar - A simple library for creating circular progressbars for Android.
- Easy-Signature-Android - An simple ui library that provides a plugable signature view.
- Flashbar - A highly customizable, powerful and easy-to-use alerting library for Android.
- YuanaItemSettingView - Customizable Item Setting View for Android.
- Gradients - A curated collection of splendid gradients.
- OneAdapter - RecyclerView Adapter with multiple modules and hooks to simplify and enhance the use while preventing common mistakes.
Paginate
- NoPaginate - Simple Android pagination library
ActionBar
- ActionBarSherlock - ActionBar for older Android versions.
- FadingActionBar - Fading action bar effect that can be seen in the new Play Music app.
Navigation
- SlidingMenu - Library to create applications with slide-in menus.
- SlidingTutorial - Simple library that helps to create awesome sliding android app tutorials.
- PagerSlidingTabStrip - An interactive indicator to navigate between the different pages of a ViewPager.
- Page View indicator - Support for horizontally scrolling ViewPager.
- RecyclerTabLayout - An efficient TabLayout library implemented with RecyclerView.
- MaterialDrawer - Simple take on a material design navigation drawer.
- Debug-Artist - Debug menu to enable leakcanary, scalpel and others easy.
- Floating-Navigation-View - A simple Floating Action Button that shows an anchored Navigation View.
Animations
- Rebound - Rebound is a Java library that models spring dynamics.
- Android View Animations - Cute view animation collection.
- Android-Transition - Allows the easy creation of view transitions that react to user inputs.
- Android-View-Actions - Makes creating complex animations for views easy.
- Swipper - Android library for swipeable gestures to control volume , brightness and seek .
- Spotlight - Android Library that lights items for tutorials or walk-throughs etc...
Images
- Crescento - Explore new style in material design by adding curve below image view.
- android-crop - Library project for cropping images.
- CircularImageView - Custom view for circular images while maintaining the best draw performance.
- Android-Image-Filter - Library project for applying image filters easily.
- Compressor - Compressor is a lightweight and powerful android image compression library.
- ShapeImageView - Library to display images in different shapes.
Inputs
- FloatingLabel - FloatingLabel Allows you to create a blow kind of EditText. Doesn't have Gradle or Maven Support.
- MaterialEditText - Supporting Floating Labels, Single Line Ellipsis, Max/Min Characters, Helper Text and Error Text with Custom Colors.
- EmojiCompat - Adds emoticons to your app
- MaterialSearchBar - Material Design Search Bar for Android
- InputMask - Pattern-based user input formatter, parser and validator.
- SweetPassword - Password EditText that allows to custom toggle button
- VoiceOverlay - An overlay that gets your user’s voice permission and input as text in a customizable UI.
View Pagers
- Material Dots Indicators - Three Material Dots Indicators styles for View Pagers.
Loading Images
- Picasso - A powerful image downloading and caching library for Android.
- Universal Image Loader - Asynchronous, out of the box loading and caching of images.
- Glide - An image loading and caching library for Android focused on smooth scrolling, Recommended by Google.
- Fresco - An Android library for managing images and the memory they use.
- Glide Bitmap Pool - Glide Bitmap Pool is a memory management library for reusing the bitmap memory.
- Coil - Image loading for Android backed by Kotlin Coroutines.
Media Picker
- MediaPicker - Android Library that lets you to select multiple images, video or voice for Android
- Android Image Picker - A library that makes images and videos selection from gallery feels easy. It also support GIF and simple camera action
Video
- ijkplayer - Android/iOS video player based on FFmpeg n3.2, with MediaCodec, VideoToolbox support.
- Exoplayer - ExoPlayer is an application level media player for Android, allow playing audio and video both locally and over the Internet. Supports features like Dynamic adaptive streaming over HTTP (DASH), SmoothStreaming and Common Encryption
- VideoPlayView - Custom Android view with video player, play/stop, loader and placeholder image.
Camera
- MagicalCamera - Simple way to take or select photos of your gallery, with other features for manage pictures.
- Camera - Use Android camera to take pictures and videos, based on camera2 api.
Field Validation
- Convalida - A simple and annotation-based way to validate your input fields.
JSON
- Gson - Gson is a Java library used for serializing and deserializing Java objects from and into JSON.
- Jackson JSON Processor - High-performance JSON processor.
- Moshi - A modern JSON library for Android and Java.
Crash monitoring
- Fabric Crashlytics - Easy crash reporting solution.
- HockeyApp - Distribution, Crash Reports, Feedback and Analytics
- Splunk MINT - Monitoring, Crash Reports, Real time data, Statistic.
- Bugsnag - Cross platform error monitoring. Free tier. Support for SDK & NDK. Error reports include data on device, release, user, and allows arbitrary data.
- Catcho - No Force Close any more.
- Apteligent - Cross platform crash reporting/analytics solution. Supports NDK log.
- Instabug - Bug reporting, Crash Reporting, In-app Feedback.
Networking
- Ion - Good networking library for android.
- OkHttp - An HTTP+SPDY client for Android and Java applications.
- RoboSpice - Library that makes writing asynchronous network requests easy.
- IceNet - Fast, Simple and Easy Networking for Android
- Android Volley - Official Android HTTP library that makes networking for easier and faster.
- IceSoap - Easy, asynchronous, annotation-based SOAP for Android.
- node-android - Run Node.js on Android.
- HappyDns - A Dns library, user can use custom dns server, dnspod httpdns. Only support A record.
- RESTMock - HTTP Web server for mocking API responses in Android Instrumentation tests.
- Fast-Android-Networking - A Complete Fast Android Networking Library that also support HTTP/2.
Logger
- logger - Simple, pretty and powerful logger for android
- timber - A logger with a small, extensible API which provides utility on top of Android's normal Log class.
- LoggingInterceptor - An OkHttp interceptor which pretty logs request and response data.
- Bugfender - Upload your logs and check them online, specially made for mobile
- EzyLogger - Simple Lightweight logger
- Logback Android - Logback port to Android which provides a highly configurable logging framework for Android apps.
Notifications
- android-remote-notifications - Pulls notifications from a remote JSON file and shows them in your app.
- Android HeartBeat Fixer - Way to set heartbeat interval and users receive PushNotifications from GCM.
Database
- Cupboard - Access the sqlite easily via direct database access or through the ContentProvider framework.
- DbInspector - Provides a simple way to view the contents of the in-app database for debugging purposes.
- SQLite Asset Helper - manage database creation and version management using an application's raw asset files.
- Realm - The alternative to SQLite and ORMs: Simple, modern and fast! Object oriented API and multi platform support.
- Realm Asset Helper - Copies a realm database from the apk assets folder. Efficiently handles versioning of read-only realm databases.
- RestorableSQLiteDatabase - A wrapper to replicate android's SQLiteDatabase with restoring capability.
- Nitrite Database - A NoSQL embedded document store for Android with MongoDb like API.
ORM
- requery - Compile time ORM and SQL query library for Java & Android.
- GreenDAO - Light & fast ORM solution.
- ORMLite - Lightweight ORM Java package for JDBC and Android.
- ActiveAndroid - Active record style ORM.
- Sugar ORM - Insanely easy way to work with Android Databases.
- DBFlow - Fast and powerful ORM with compile-time annotation processing.
- NexusData - Object graph and persistence framework for Android.
- SimpleNoSQL - A simple NoSQL client for Android. Meant as a document store using key/value pairs and some rudimentary querying. Useful for avoiding the hassle of SQL code.
- RxSimpleNoSQL - Reactive extensions for SimpleNoSQL. Manipulate entities using Observables.
REST
- Retrofit - Retrofit turns your REST API into a Java interface.
- Spring for Android - Rest Template - A Rest Client for Android.
Testing
- Robotium - Test automation framework for black-box UI tests.
- Roboletric - Unit test framework to run tests inside the JVM on your workstation, not in the emulator.
- AssertJ Android - AssertJ assertions geared towards Android.
- Green Coffee - Run your Cucumber tests in your Android instrumentation tests.
Tracking
- MobileAppTracking - Tracking your marketing campaigns across multiple ad networks.
- Mixpanel - Analytics platform to analyze the users.
- Countly - Open source mobile & web analytics, push notifications and crash reporting platform, based on Node.js, MongoDB and Linux.
- CleverTap - Analytics platform and user-engagement platform with 1 million free events
Maps
- Google-Directions-Android - Allows you to calculate the direction between two locations and display the route on a Google Map using the Google Directions API.
- Android Maps Extensions - Extending capabilities of Google Maps Android API v2, adding marker clustering among other things
- MapScaleView - Scale bar for Google Maps Android API
- GLMap - Crossplatform offline vector map with MapCSS styling. Offline search and offline navigation are included.
Utility
- Conceal SharedPreferences - Secured Preferences using Facebook Secure Encryption called Conceal.
- EventBus - EventBus is a library that simplifies communication between different parts of your application.
- Otto - Event Bus for Android.
- Weak handler - Memory safer implementation of android.os.Handler.
- Byte Buddy - Runtime code generation library with support for Android.
- Secure Preference Manager - Secure Preference Manager for android. It uses various Encryption to protect your application's Shared Preferences.
- LeakCanary - Catch memory leaks as they occur.
- Drekkar - An Android event bus for WebView and JS.
- Androl4b - A vm for assessing android applications.
- DroidMVP - Android library to help you incorporate MVP along with Passive View and Presentation Model patterns into your app.
- EasyDeviceInfo - Get device information in a super easy way.
- Shutter-Android - Capture photos/videos from device camera or get photos/video from gallery app with no runtime permissions needed.
- Validator - An utilities class to validate text inside TextInputLayout.
- Keyboard Visibility Event - A DSL to handle soft keyboard visibility change event.
- TimeIt - A stopwatch library for android which makes it easy to start, pause, display and maintain multiple stopwatches in an app.
- Reactor - Reactor is a fast and secure key-value library for Android.
Debugging Tools
- Linx - Show logcat inside the device for debug builds
- Scalpel - View the entire hierarchy in 3d in the phone.
- Stetho - Debug hierarchy and network from chrome.
- Android Debug Database - Android Debug Database is a powerful library for debugging databases and shared preferences in Android applications.
- Android Debug Bridge - ADB - a command-line tool to assist in debugging Android-powered devices
- ADB Enhanced - a command-line wrapper around ADB for developers, so that, developers don't have to remember esoteric version-dependent commands
- Pidcat - a colored command-line ADB wrapper that only shows log entries for a specific application package
- AppSpector - Remote Android and iOS debugging and data collection service. You can debug networking, logs, SQLite and mock device's geo location.
Wireless
- SmartGattLib - Simplifies the work with Bluetooth SMART devices (a.k.a. Bluetooth Low Energy in Bluetooth 4.0).
Chat & Messaging
- Applozic Android Chat SDK - Android Chat and Messaging SDK for adding real time chat and in-app messaging into your android application.
- Qiscus SDK - Qiscus SDK is a lightweight and powerful android chat library. Qiscus SDK will allow you to easily integrating Qiscus engine with your apps to make cool chatting application.
- Kommunicate Live Chat SDK - Kommunicate provides open source live chat sdk in android. Kommunicate lets you add real time live chat and in-app messaging in your mobile (android, iOS) applications and website for customer support.
- CometChat Voice, Video and Text Chat SDK with UI - Add voice, video and text chat to your app (and website) in minutes using CometChat. CometChat's SDK includes a complete ready UI so that you don't have to spend any time building one! That's not all, CometChat has out-of-the-box support for real-time translation, whiteboards, screen sharing, friends sync, role based access control, credits deduction and more.
- Build a one-on-one Android chat app using Kotlin - Build a one-one-one Android chat app in Kotlin within few minutes using CometChat Pro. This tutorial discusses the features such as login, getting list of contacts, user presence indicators, sending/receiving messages etc.
- Stream Chat - Comprehensive SDK & Components for real-time chat, powered by Stream.
- Add Push Notifications to Your Android Chat App Using Kotlin - Add push notifications in your Android chat apps in Kotlin with the help of CometChat Pro and Firebase Cloud Messaging (FCM).
Custom Dialog
- MediaRecorderDialog - Custom Dialog to record audio, store it and play it in your phone.
- HijriDatePicker - offers a hijri (Islamic Calendar) Date Picker designed on Google's Material Design Principals For Pickers.
- Noty - A simple library for creating animated alerts/dialogs/warnings.
Version Checking
- AppUpdater - comprehensive and feature rich library, including support for checks at Amazon and FDroid.
- Gandalf - comprehensive features and a "companion" iOS solution.
- Siren - focused feature set that mimicks the popular iOS library of the same name. Supports Play and Amazon.
- Fit - version checking callback framework with no UI.
Date & Time
- ThreeTen Android Backport - An adaptation of the JSR-310 backport for Android.
- Joda-Time Android - Joda-Time library with Android specialization.
- True Time - Android NTP time library. Get the true current time impervious to device clock time changes.
Runtime Permissions
- Permission Dispatcher - Simple annotation-based API to handle runtime permissions.
- RxPermissions - Android runtime permissions powered by RxJava.
- NoPermission - Simple Android library for permissions request. Consists of only one class.
- Ask-Permission - Simple RunTime permission manager.
- Gota - Simplifying Android Permissions.
- EasyPermissions - EasyPermissions is a wrapper library to simplify basic system permissions logic when targeting Android M or higher.
Payments
- Square In-App Payments for Android - Integrate Square payments into your mobile app with Digital wallet and stored card support for quick checkout.
Other
- Android Support library - The Android Support Library package is a set of code libraries that provide backward-compatible versions of Android framework API.
- Google Play Services - Library to access Google services, such as account syncing, Google+ (sharing, single sign-on), Google Maps, Location APIs, Google Play Games, Cloud Messaging, Android Device Manager, and others.
- Tape - A lightning fast, transactional, file-based FIFO for Android and Java.
- Guava: Google Core Libraries for Java - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.
- Android Scripting - Allows to run scripting languages on Android.
- Android Priority Job Queue - Implementation of a Job Queue to easily schedule jobs (tasks) that run in the background, improving UX and application stability.
- RateMeMaybe - Asks the user if (s)he wants to open the Play Store to rate your application.
- Easy Rating Dialog - Lib provides a simple way to display an alert dialog for rating app.
- ZXing Android-Integration - Integration with Barcode Scanner via Intent.
- Gradle Retrolambda Plugin - Java 8 Lambdas on Android!
- RxJava- RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
- RxAndroid - Adds minimum RxJava bindings for easy writing of reactive Android java code.
- RxBinding- RxBinding – RxJava binding APIs for Android UI widgets from the platform and support libraries.
- Caffeine - A collection of utility classes that help make Android development faster.
- AboutLibraries - Automatically generates an About this app section, with a list of used libraries.
- AudioPlayerView - A view that loads audio from an url and have basic playback tools.
- andle - command line tool help you sync dependencies, sdk or build tool version.
- Typography - An Android library that makes it easy to use custom fonts in views.
- Calligraphy - Custom fonts in Android an OK way.
- transai - command line tool help you manage localization string files.
- Android-Link-Preview - It makes a preview from an url, grabbing all the information such as title, relevant texts and images.
- Sensey - Detecting gestures in a snap.
- UserAwareVideoView - A customized video view that will automatically pause video is user is not looking at device screen!
- Flexbox Layout - FlexboxLayout is a library which brings the similar capabilities of CSS Flexible Box Layout Module to Android.
- Agile Boiler Plate - The boiler plate is based on MVP architecture and it is fully based on Dependency Injection design pattern using Dagger2.
- Gradle buildSrcVersions - A kotlin dsl to simplify dependencies management
- Teller - Teller facilitates the downloading, saving, and reading of the cached data of your app. Keep your user's data fresh and remove those annoying loading screens!
Resources
- Programming Community Curated Resources for Learning Android Development - Android Tutorials & Courses submitted and voted by the programming community.
- Vogella Tutorials - Very good tutorials by Lars Vogel.
- Android Design in Action Video series The video series by Android Design Team of Google.
- Android DevBytes Video Series - It is the technical counterpart of Android Design in Action series.
- Developing for Android - A series of articles from Googler Chet Hasae and others, answering most commonly asked question: "What are some of the important rules to keep in mind when developing Android applications?".
- Android Hive Tutorials - Very good tutorials for beginners.
- Android Weekly - Newsletter with weekly information about android.
- Android Asset Studio - Generator for icons and other assets.
- Android Action Bar Style Generator.
- Device Art Generator - Wraps app screenshots in real device artwork.
- Android UI design resources - Gives you wide variety of design resources form a Google Developer Expert in UI/UX.
- Pencil Project - An open source prototyping software.
- How to Make Android Apps - Video tutorials by Derek Banas.
- android-blogs - List with blogs about Android.
- Future Studio - Extensive Android tutorials on Retrofit, Picasso, Glide & Gson.
- Android Tips & Tricks - Cheatsheet about tips and tricks for Android Development.
- Associate Android Developer Certification Materials - A collection of materials for getting ready for the test.
- Google Developers Training - Google Developers Official Training page has list of various useful learning resources for beginner as well seasoned developer.
- Mindorks - Become a complete and happy Android developer.
- AndroidVille - Become a better Android Engineer. A website dedicated to Android Development covering advanced topics such as RxJava, Android Zygote and much more.
- Android Stack Weekly - A weekly newsletter on new development and updates of Android universe.
Code examples
- Android Architecture Blueprints - The Android Architecture Blueprints project demonstrates strategies to help solve or avoid common android problems.
- Kotlin MVVM example - Example about MVVM (Model View ViewModel) Pattern.
- Kotlin VIPER example - Example about VIPER (View Interactor Presenter Entity Router) Pattern.
- Complete-Google-Map-API-Tutorial - Learn How to use Google Map API for Android from Basic to Advance with complete examples.
- Android Modular Architecture - Android Sample App using modular, clean, scalable, testable Architecture written in Kotlin following the best practices with Jetpack.
Podcasts
- Fragmented is the Android developer podcast where Donn Felker and Kaushik Gopal talk about building good software and becoming better Android developers.
- Android Developers Backstage is a podcast by and for Android developers. Hosted by developers from the Android engineering team, this show covers topics of interest to Android programmers, with in-depth discussions and interviews with engineers on the Android team at Google.
- Android Dialogs is a video based podcast, where they have bite-sized conversations with people from the Android community.
- The Context a podcast about Android Development with Hannes Dorfmann, Artem Zinnatullin and wonderful guests!
- Talking Kotlin - A Podcast on Kotlin and more.
- Android Authority is a weekly Android podcast hosted by Adam Doud, Joe Hindy, and Jonathan Feist from the Android Authority team.
- Android Central - is a weekly Android podcast hosted by the Android Central team.
More lists of libraries
- The Android Arsenal - Large list of android libraries
- Square libraries - Multiple high quality libraries by square.
- Awesome Android @LibHunt - Your go-to Android Toolbox.
- Android Store - Search Android Libraries, Projects, and Tools.
Development Alternatives
My personal recommendation is (for now) to use the android api to build a native app. Scala can help to build this native apps with cleaner code but it adds to many methods (Multidex required). Kotlin is a modern language with 100% interoperatibility with java projects without multidex. But there are also use cases where alternatives like cross-platform development can be useful.
C#
- Xamarin - Framework to create native iOS, Android, Mac and Windows apps in C#.
HTML, CSS and Javascript
- PhoneGap - Open source framework by Adobe to create cross platform mobile apps using HTML, CSS, and JavaScript.
- Titanium - Open-source framework to create 'native' cross platform apps using JavaScript.
- NativeScript - An open-source framework to build native iOS and Android apps with JavaScript from a single code base.
- React Native - A framework for building native apps with React by Facebook.
- Ionic Framework - A framework to build hybrid apps with mobile-optimized HTML, CSS and JS with AngularJS.
- Apache Cordova - Cordova based applications are, at the core, applications written with web technology: HTML, CSS and JavaScript.
- Capacitor - Build cross-platform Native Progressive Web Apps for iOS, Android, and the web. Very promising Cordova alternative.
Lua
- Corona SDK - Framework to create native iOS and Android Apps (especially Games).
Scala
- Scaloid - Library for less painful Android development with Scala.
- Macroid - A modular functional UI language for Android.
Groovy
- Groovy on Android - Introduction to Groovy on Android.
- Groovy Language Support for Android - Gradle Plugin for Compiling Groovy for Android.
- SwissKnife - A multi-purpose Groovy library containing view injection and threading for Android using annotations.
Kotlin
- Anko - DSL for Android written in Kotlin by JetBrains.
- Kotterknife - Android view injection written in Kotlin based on ButterKnife
- Android Kotlin Samples - Some basic Android code samples written in Kotlin.
- Kotlin coding puzzles - Set of programming challenges thats helps to improve whiteboard coding and problem-solving skills.
- KAndroid - Lightweight library providing useful extensions to eliminate boilerplate code in Android SDK.
- RxKotlin/Pocket - This app help user to save links easily, and can export to Evernote as weekly.
- Android Clean Architecture - Kotlin - A base project using the Uncle Bob's clean architecture with Kotlin language and the latest Android technologies.
- Koin - Lightweight dependency injection framework for Kotlin
Flutter
- Flutter - Google's mobile app SDK for high-quality native interfaces for Android and iOS in very quick time.
Performance
- awesome-android-performance - A list of awesome Android tutorials, videos and tools for performance optimization.
- Booster - Booster is an optimization toolkit for Android applications.
Other Awesome Lists
Other amazingly awesome lists can be found in the awesome-awesomeness list.
Contributing
Your contributions are always welcome! Please read the contribution guidelines first.
Awesome IoT & Hybrid 
The missing awesome list - collection of awesome IoT and Hybrid Apps frameworks, tools, resources, videos and shiny things.
IoT
OS
Frameworks-Tools
Resources-websites-projects
IIoT (Industrial IoT)
- OPC Router - IIoT Gateway/Workflow-Engine with various plug-ins (Mqtt Bridge, OPC UA Bridge, SQL Bridge, REST Bridge, SAP Bridge)
Hybrid Desktop
Hybrid Mobile
- React-Native
- NativeScript
- PhoneGap
- Corona
- Ionic
- Appcelerator
- Intel XDK
- Trigger.io
- Crosswalk
- Telerik Platform
- Meteor
- Tabris.js
Tools-Plugins
Miscellaneous
Contributing
- Fork it!
- Create your branch:
git checkout -b my-new-branch - Commit your changes:
git commit -am 'fix stuff' - Push to the branch:
git push origin my-new-branch - Submit a pull request
License
The MIT License (MIT)
Copyright (c) 2014 Michael Lancaster
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Awesome Electron 
Useful resources for creating apps with Electron
Electron is an open-source framework for creating desktop apps using web technologies. It combines the Chromium rendering engine and the Node.js runtime.
My open source work is supported by the community
Special thanks to:and avoiding access controls. Keep your team and servers in sync with Doppler.
Contents
Apps
Made with Electron.
Open Source
Featured
- Beaker - Browser with peer-to-peer web protocols.
- Hyper - Terminal.
- WebTorrent - Streaming torrent client.
- Kap - Screen recorder with GIF support.
- Min - Minimal web browser.
- SpaceRadar - Interactive disk space and memory visualization.
- Atom - Code editor.
- Visual Studio Code - Cross-platform IDE.
- Wexond - Web browser with material UI and extensions API.
Other
- Git-it - Teaches you Git and GitHub.
- Caprine - Unofficial Facebook Messenger app.
- Simplenote - Note keeper.
- nuTorrent - BitTorrent client.
- Abricotine - Markdown editor with inline preview.
- Medis - Redis database management.
- Kakapo - Ambient sound mixer for relaxation or productivity.
- SmartMirror - Voice controlled smart mirror.
- Koko - IRC client.
- KeeWeb - Unofficial KeePass app.
- Gitify - GitHub notifications in your menubar.
- Friends - P2P chat.
- Cumulus - SoundCloud player in your menubar.
- Kitematic - Docker container management.
- FatFileFinder - Find large files on your machine.
- ScreenCat - Screen sharing & remote collaboration.
- Mapbox Studio - Map designer.
- LevelUI - LevelDB management.
- Vmd - Preview Markdown files.
- Kyoku - Displays current iTunes song.
- GReader - Collect and read offline readme files of GitHub repos.
- Leanote - Cloud notepad.
- Snapper - Screen capturing & recording for Android devices.
- Imagemin - Minify images.
- We Build SG - Upcoming events & recently updated repos from webuild.sg.
- Piglet - Run Grunt tasks from your menubar.
- Yoda - Browse and download YouTube videos.
- Loop Drop - MIDI looper and synth for live electronic music performances.
- Toby - YouTube player.
- Kaku - Music player.
- Markn - Markdown viewer.
- Shiba - Live Markdown preview with linting.
- Yays - YouTube music player in your menubar.
- Monu - Process monitoring.
- DevDocs - Unofficial DevDocs.io app.
- google-music-electron - Unofficial Google music app.
- Pomodoro - Timer based on the Pomodoro Technique.
- Sia-UI - Decentralized file storage system based on cryptocurrency technology.
- MarkRight - GitHub flavored Markdown editor with live preview.
- Mongotron - MongoDB management tool.
- Colonizers - "Catan" inspired board game.
- Eintopf - Manage development projects with Docker.
- WhatsDesktop - Unofficial WhatsApp app.
- Sqlectron - SQL client.
- docker-indicator - Unofficial Docker menubar app.
- Light Table - Code editor with instant feedback.
- Tubehead - YouTube music player in your menubar.
- Google Play Music Desktop Player - Unofficial Google Play Music app.
- Chrome DevTools - Chrome DevTools packaged as an app.
- Yeobara - Meetup check-in with beacon.
- Proton - Markdown editor with live preview.
- James - HTTP proxy to view and intercept browser requests.
- DTCP - Twitter client.
- Inbox - Unofficial Google Inbox app.
- tweet-rec - Tweet recording player.
- Snippet Bar - Copy-paste & re-use text snippets in your menubar.
- Electronic WeChat - Unofficial WeChat app.
- dida - Add tasks to TickTick (滴答清单).
- FromScratch - Autosaving scratchpad.
- Hawkpass - Password generator.
- Gokotta - Music player.
- Shake - Japanese Earthquake Early Warning Notifier.
- Fog - Unofficial Overcast podcast app.
- Wmail - Unofficial Gmail & Google Inbox app.
- Boostnote - Markdown note & code snippet app for developers.
- Before Dawn - Screensaver tool.
- Active Collab - Unofficial Active Collab app.
- Hain - Launcher for Windows.
- Catify - Utility for Spotify.
- Minira - JIRA issues in your menubar.
- Ansel - Image organizer.
- Build Checker App - Check CI-server build statuses.
- Tockler - Tracks your time.
- Mattermost - Mattermost client.
- PupaFM - DoubanFM music player.
- MediumDesk - Unofficial Medium app.
- Lightgallery - Image viewer.
- Crypter - Secure encryption client.
- YakYak - Unofficial Google Hangouts app.
- Museeks - Music player.
- VOX - Unofficial VOX music player.
- Sabaki - Go/Baduk/Weiqi board.
- Marky - Markdown editor.
- Deco - React Native IDE.
- Toshocat - Anime/Manga Progress Tracker.
- iStats - CPU and memory stats on your menubar.
- Wire - Messenger and calling app.
- Ramme - Unofficial Instagram app.
- Moonview - Ambient notepad.
- DBGlass - PostgreSQL client.
- Slide Beacon - Physical web beacon broadcast.
- Rambox - Chat and email app that combines multiple services like Discord, Hangouts, Gmail and Outlook.
- Extraterm - Terminal.
- Materialette - Material design color palette in your menubar.
- Dext - Launcher.
- PB for Desktop - Pushbullet client.
- GroupMe - Unofficial GroupMe app.
- ndm - npm desktop manager.
- GIFBar - Search GIFs in your menubar.
- Stacer - Ubuntu system optimizer.
- Zazu - Launcher.
- Inpad - Notes app with GitHub-flavored Markdown.
- Cerebro - Launcher with inline previews.
- Desktop Dimmer - Control the brightness of any display.
- LosslessCut - Lossless video trimming & cutting.
- Buka - E-book management.
- Insomnia - Create and manage HTTP requests.
- Tusk - Unofficial Evernote app.
- ProtonMail Desktop - Unofficial ProtonMail app.
- Comma Chameleon - CSV editor.
- Buttercup Desktop - Password manager.
- Mailspring - Extensible email client. (Fork of Nylas Mail)
- Manta - Invoicing for freelancers with beautiful and customizable templates.
- Headset - Discover, collect, and listen to music from YouTube.
- Nuclear - Music player that streams from free sources.
- FreeMAN - File manager for power users.
- Mark Text - Real-time preview Markdown editor.
- Pomotroid - Pomodoro timer.
- Pretzel - Show and search keyboard shortcuts for the current app.
- Netron - Visualizer for deep learning and machine learning models.
- Ao - Unofficial Microsoft To-Do app.
- Etcher - Flash OS images to SD cards and USB drives.
- Noty - Auto-saving sticky note with support for multiple notes in a single window.
- Notable - Markdown-based note-taking.
- Mini Diary - Simple and secure journal app.
- Unsplash Wallpapers - Set desktop wallpaper from Unsplash.
- Motrix - Download manager.
- Franz - Skype, Slack, Hangouts, WhatsApp, Grape, Telegram, FB Messenger, Hipchat in the same app.
- Gmail Desktop - Unofficial Gmail app.
- Upcount - Invoicing.
- ExifCleaner - Clean image metadata with drag and drop.
- massCode - Code snippet manager for developers.
- Swifty - Password manager.
- MQTTX - Client for MQTT, which is a lightweight messaging protocol.
- LightProxy - Web debugging proxy.
- Beekeeper Studio - Cross-platform SQL editor and database manager.
- Mouseless - Keyboard shortcut training and look-up.
- Glyphfinder - Unicode character search.
- Graviton Editor - Cross-platform code editor.
- Yana - Notebook app with rich-text notes, nested note organization and global search.
- SpaceEye - Live satellite imagery for your desktop background.
- Heroic Games Launcher - Alternative Epic games launcher.
- VIR - Intelligent time manager with automatic planning.
- Browserosaurus - Browser prompter for macOS.
- linked - Daily journal.
Closed Source
- GitKraken - Git client.
- 1Clipboard - Universal clipboard manager.
- Postman - Create and send HTTP requests.
- Slack - Desktop version.
- Avocode - Share design and collaborate.
- Prepros - Compile almost any preprocessing language with live browser refresh.
- Stremio - Media center.
- Typetalk - Share and discuss ideas with your team through instant messaging.
- Pingendo - Bootstrap prototyping.
- Spreaker Studio - Audio recording and broadcasting.
- MockingBot - Prototyping tool for designing apps.
- Caret - Markdown editor.
- Wantedly Chat - Business team chat. (Japanese)
- Remember - Business card management. (Korean)
- MongoDB Compass - Official MongoDB app.
- Freeter - Organizer for freelancers & creatives.
- WhatsApp - Official WhatsApp app.
- CatLight - Build status notifier.
- Automint - CRM for automobile businesses.
- Discord - Voice and text chat.
- Cocos Creator - Game editor for creating web and native games for Cocos2D-x.
- Inkdrop - Markdown notebook for hackers.
- Exodus - Secure, manage, and exchange blockchain assets like Bitcoin and Ethereum.
- Hackolade - Data modeling for NoSQL and multi-model databases.
- ScreenSquid - Record and playback website visitor sessions.
- CashNotify - Monitor your Stripe accounts from your menu bar.
- Mockoon - Mock servers in seconds.
- Twitch - Official Twitch app.
- Fenêtre - Picture-in-picture for your Mac.
- Cleavr - Provision servers and deploy web apps.
- Brandy - A brand asset manager for your menu bar.
- Cacher - Cloud-based, team-enabled code snippet manager with Gist sync.
- MusicPlus - Free music app for macOS and Windows.
- Mingo - MongoDB GUI.
- Moon Modeler - Schema design tool for MongoDB, Mongoose, and MariaDB.
- Notion - All-in-one workspace for your notes, tasks, wikis, and databases.
- FATpick - Guitar tablature viewer that scores your performance as you play along.
- Taskade - Realtime organization and collaboration tool for distributed teams with tasks, notes, and chat.
- Coloban - All-in-one project management tool with chats, Kanban, Gantt, calls, screenshare, and more.
- Dynobase - AWS DynamoDB GUI.
- Nota - Pro writing app designed for local Markdown files.
- Lotus - Keep up with GitHub notifications without stress.
Samples
- Electron API usage - Sample apps illustrating usage of Electron APIs.
- Screen Recorder - WebRTC screen recorder.
- Activity Monitor - Shows a doughnut chart of the CPU system, user, and idle activity time.
- Hash - Shows the hash values of entered text using different algorithms.
- Prices - Shows the current price of oil, gold, and silver using the Yahoo Finance API.
- Touch Bar API - Example of macOS Touch Bar integration.
Boilerplates
- electron-boilerplate - Boilerplate to kickstart creating an app - by sindresorhus.
- generator-electron - Scaffold out an app boilerplate.
- electron-boilerplate - Comprehensive boilerplate which even generates installers - by szwacz.
- electron-react-boilerplate - Boilerplate based on React and webpack.
- electron-quick-start - Clone the repo to try a simple app.
- bozon - Scaffold, run, test, and package your app.
- secure-electron-template - Security-focused boilerplate for creating apps with React, Redux, Webpack, and i18next.
- angular-electron - Fast bootstrapping with Angular, Electron, TypeScript, SASS, and Hot Reload.
- vite-electron-builder - Secure boilerplate for Electron app based on Vite. TypeScript + Vue/React/Angular/Svelte/Vanilla.
Tools
For Electron
- electron-builder - Create installers.
- devtron - Official DevTools extension.
- electron-packager - Package and distribute your app.
- electron-debug - Adds useful debug features.
- electron-is-dev - Check if Electron is running in development.
- electron-localshortcut - Add keyboard shortcuts locally to a window.
- electron-gh-release - Auto-update by releasing on GitHub.
- electron-release - Publish a new release of your app to GitHub.
- electron-updater - Auto-updater leveraging npm to deploy updates.
- fix-path - Fix the $PATH on macOS when run from a GUI app. Useful when spawning a child process.
- auto-launch - Launch apps at system startup.
- nuts - Releases server with auto-updater and GitHub as a backend.
- electron-dl - Simplified file downloads.
- electron-release-server - Self-hosted release server with front-end & auto-updater support.
- electron-rebuild - Rebuild native Node.js modules against the currently installed Electron version.
- electron-compile - Use ES2015, CoffeeScript, Less, Stylus in your app without a precompilation step.
- electron-positioner - Position windows at common spots.
- electron-window-state - Persist window sizes and positions.
- electron-drag - Improved window dragging.
- debug-menu - Chrome-like "inspect element" context-menu.
- electron-installer-debian - Create a Debian package.
- electron-installer-redhat - Create a Red Hat package.
- electron-installer-windows - Create a Windows package.
- electron-sudo - Subprocesses with administrative privileges.
- electron-json-storage - Write and read user settings.
- electron-download - Download the Electron release zip from GitHub.
- ipc-stream - Duplex stream over IPC.
- is-electron-renderer - Check if your code is running in
mainorrenderer. - electron-osx-sign - Code-signing for macOS apps.
- electron-detach - Restart an Electron app as a detached process.
- ember-electron - Build, test, and package Ember apps.
- electrify - Package Meteor apps.
- spectron - Test Electron apps using ChromeDriver.
- babel-preset-electron - Babel preset that only compiles what's necessary for a particular Electron version.
- electron-is - Utility functions.
- electron-osx-appearance - Simplified API for accessing macOS's appearance settings.
- electron-store - Save and load data like user preferences, app state, cache, etc.
- electron-context-menu - Extensible context menu.
- electron-require - Simplified require.
- NeDB - Embedded persistent or in-memory database.
- RxDB - A realtime NoSQL database.
- electron-devtools-installer - Install DevTools extensions from the Chrome Web Store.
- electron-log - Simple logging.
- electron-redux - Synchronize Redux state across windows.
- electron-vibrancy - Add vibrancy (blur) to windows.
- electron-about-window - 'About This App' window.
- elemon - Live-reload your app during development.
- electron-is-accelerator - Check if a string is a valid accelerator.
- electron-pdf-window - View PDF files in browser windows.
- electron-router - Router tidying up IPC message passing.
- electron-settings - Reads and writes user settings to disk.
- got - Simplified HTTP requests.
- electron-unhandled - Catch unhandled errors and promise rejections.
- electron-process-manager - Process manager UI (like Chrome's task manager).
- electron-util - Useful utilities for developing apps and modules.
- electron-reloader - Simple auto-reloading during development.
- electron-serve - Static file serving (Useful for routing, like
react-router). - electron-timber - Pretty logger.
- chromium-net-errors - Chromium's network errors as custom error classes.
- run-electron - Run Electron without all the junk terminal output.
- ngx-electron - Integrate Electron APIs and Angular.
- debugtron - Debug in-production Electron-based apps.
- electron-ssl-pinning - Prevent MITM.
- electron-better-ipc - Simplified IPC communication.
- electron-chrome-extension - Add support for Chrome extensions.
- electron-ipc-proxy - Transparent asynchronous remoting between browser windows and the main process.
- trilogy - TypeScript SQLite database layer with support for both native C++ and pure JavaScript backends.
- adblocker-electron - Block ads and trackers.
- electronmon - Monitor and reload apps out-of-process during development.
- electron-create-menu - Default menus for all platforms, easily extendable, and with i18n support.
- electronegativity - Identify misconfigurations and security anti-patterns.
- UpdateRocks! - Auto-update service. Free for open source projects.
Using Electron
- devtool - Debug Node.js with Chrome DevTools.
- nativefier - Create an app of any website.
- electron-stream - Streaming wrapper.
- Nightmare - High-level browser automation library (alternative to PhantomJS).
- electron-pdf - Generate PDF from URL, HTML, or Markdown files on the command-line.
- Geojsonapp - Preview GeoJSON locally.
- electron-mocha - Run Mocha tests in Electron.
- electron-har - Command-line tool for generating HTTP Archive (HAR).
- electron-windows-store - Turn Electron apps into Windows Store AppX packages.
- Reactotron - Inspect your React and React Native apps.
- jest-electron - Run and debug Jest unit tests in a browser environment.
Components
- Photon - UI toolkit for building beautiful apps.
- React PhotonKit - Photon components built with React.
- menubar - Menubar app framework.
- cookies - Adds support for
document.cookie. - window - Create and manage windows.
- React Desktop - UI toolkit for macOS and Windows built with React.
- electron-input-menu - Context menu for input elements.
- chrome-tabs - Chrome like tabs.
- titlebar - Emulate the macOS window titlebar.
- Brightwheel - Build and manage UI components with Photon and Etch.
- Xel - Widget toolkit for building native-like apps.
Documentation
- Quick Start
- Official docs
- Essential Electron - Concise overview.
Articles
- Electron Fundamentals
- Building a desktop application with Electron
- Codesigning your app for macOS
- Auto-updating apps for macOS and Windows: The complete guide
- Building a desktop app with Electron, React, and Redux
- Introducing BrowserView for Electron - New Electron API to embed web apps with fewer bugs and improved performance.
- Migrating Slack's Desktop App to BrowserView - Slack rewrote their Electron app with
BrowserView, Redux, Rx, and TypeScript, to fix its performance problems. - Electron on the App Store - A 5-part series about the journey of making and publishing an Electron app to the Mac App Store.
- Building a file explorer with Electron, Quasar, and Vue - Focused on design and code decisions and Electron security.
- Using Google Analytics to gather usage statistics in Electron - How to collect anonymous user statistics.
- Notarizing your Electron app - How to configure your app packaging for Apple's notarization.
- Making Electron apps feel native on Mac
Books
Videos
- Getting Started with Electron 1.x
- Packaging and Distributing Electron Desktop Apps
- Multi Window Electron Desktop Apps
- The State of Electron
- Cross-Platform Desktop Apps with Electron
- Building Native Desktop apps using Electron
- The New Desktop: Electron, React, & Pixel-Perfect Native-Feeling Experiences
- Building Desktop Apps with Node.js and Electron
- Electron Fundamentals course - Pluralsight 💲
- Electron: Building Cross Platform Desktop Apps - Lynda 💲
- Automatically Build and Publish Node and Electron Applications for Linux
- Build a desktop application with Electron - Egghead 💲
- Build Cross-Platform Desktop Apps with Electron - Frontend Masters 💲
- Electron Meetup SF, November 2017 - Includes some good talks on improving app startup time, debugging crashes, etc.
- Make Your Electron App Feel at Home Everywhere - Tips on making your app feel more native on macOS, Windows, and Linux without sacrificing your own style.
Podcasts
- JavaScript Jabber: Electron with Jessica Lord and Amy Palamountain
- Hanselminutes: Creating cross-platform Electron apps with Jessica Lord
- JavaScript Air: Electron Apps with @jlord and @emorikawa
- The Changelog #216: GitHub's Electron with Zeke Sikelianos
- Full Stack Radio #48: Jessica Lord - Building Desktop Apps with Electron
Community
- Discuss
- Stack Overflow
@electronjson Twitter#atom-shellon Freenode#electronon Atom Slack- electron-jp (Japanese)
- electron-br (Brazilian Portuguese)
- electron-pl (Polish)
@electron_ruon Telegram (Russian)electronjson Facebook- Product Hunt
Contribute
Contributions welcome! Read the contribution guidelines first.
Related
Awesome Cordova

A curated list of amazingly awesome Cordova libraries, resources and shiny things.
FAQ
Official
Learning
Plugins
UI Frameworks
- Framework7
- Framework7 React
- Framework7 Vue
- Ionic Framework
- Alexintosh/Awesome-Ionic
- candelibas/awesome-ionic
- jQuery Mobile
- Kendo UI Core
- Onsen UI
-
Pay to Use
- Kendo UI
- Sencha Touch
-
Outdated
- Mobile Angular UI
- Ratchet
- Topcoat
Icons
Tools
- Generators
- App
- Icons + Splash Screens
- Icons
- Splash Screens
- Plugin
- Testing
- ios-sim-inspector
- ripple
- Building
- codova-custom-config
- cordova-xml
- cordova-auto-patch
- xavtool
- Logging
- Bugfender
Other Awesome Lists
Other amazingly awesome lists can be found in the awesome-awesomeness list.
Contributing
Your contributions are always welcome!
Awesome React Native is an awesome style list that curates the best React Native libraries,
tools, tutorials, articles and more. PRs are welcome!
Don't miss out! Subscribe to our weekly newsletter
Sponsors
Never leave your command line for secrets
Teller is an OSS and FREE productivity secret manager for developers made by SpectralOps, supporting cloud-native apps and multiple cloud providers. Mix and match all vaults and other key stores and safely use secrets as you code, test, and build applications. It's quick, easy, and safe.
Categories
- Buzzing
- Instabug
- Categories
- Conferences
- Chain React - Portland, OR USA
- React Native EU - Wroclaw, Poland
- React Alicante - Alicante, Spain
- ReactNext - Tel Aviv, Israel
- React Berlin - Berlin, Germany
- App.js Conf - Krakow, Poland
- Chain React - Portland, OR USA
- React Native EU - Wroclaw, Poland
- React Berlin - Berlin, Germany
- ReactEurope - Paris, France
- Articles
- Components
- Utilities
- Seeds
- Libraries
- Open Source Apps
- Frameworks
- Tutorials
- Books
- Videos
- Blogs
- Newsletters
- Releases
Many thanks to everyone on the contributor list\:)
Conferences
Conferences dedicated to React Native specifically. A listing of React general conferences can be found on the ReactJS site.
Chain React - Portland, OR USA
Workshops - July 11th, 2018\ Conference - July 12-13th, 2018
React Native EU - Wroclaw, Poland
Workshops - September 3-4th, 2018\ Conference - September 5-6th, 2018
React Alicante - Alicante, Spain
Workshops - September 13th, 2018\ Conference - September 14-15th, 2018
ReactNext - Tel Aviv, Israel
Conference - November 4th, 2018
App.js Conf - Krakow, Poland
Conference - April 4th, 2019 Workshops - April 5th, 2019
Chain React - Portland, OR USA
https://infinite.red/ChainReactConf
Workshops - July 10th, 2019 Conference - July 11th-12th, 2019
React Native EU - Wroclaw, Poland
Workshops - September 4th, 2019 Conference - September 5th-6th, 2019
React Berlin - Berlin, Germany
Workshops - December 4th-5th, 2019 Conference - December 6th, 2019
ReactEurope - Paris, France
Conference - May 14th-15, 2020 Workshops - May 12th-13th, 2020
Articles
Content published on the Web.
Reference
Howtos
- Add client-side indecent content checking to your React Native app using NSFWJS and TensorFlowJS
- How to add Firebase Auth with React Native ★4
- How to get started with Cloud Firestore on React Native
- How to upgrade React Navigation 1.x to 2.x
- How to use React Native Navigation v2 with Redux and Google Analytics
- React-Navigation Drawer
- Getting Started with React Native Development on Windows
- Getting Started with React Native Development for Windows
- Blueprint to becoming a React Native Developer
- How to Use the ListView Component
- How to upload photo/file in react-native
- Change splash screen in React Native Android app
- Remote Push Notifications with OneSignal
- Release React Native App to Android Play Store
- React Native & Apple TV today
- Record and Upload Videos with React Native
- How to Setup your First React Native app
- Using React Native With TypeScript
- How To Build a News Reader App with React Native and NewsAPI
- How to Build a Real Time Logo Detection App with React Native
- Build a Chatbot with Dialogflow and React Native
- How To Build Your First VR App with ViroReact and React Native
- React Hooks Basics— Building a React Native App with React Hooks
- How to Build a Web App with React Native
- Building a React Native Mobile App with AWS Amplify and Expo
- User Authentication with Amplify in a React Native and Expo app
- How to build an Email Authentication app with Firebase, Firestore and React Native
- How to Gracefully Use Environment Variables in a React Native App
- How to build a xylophone app with Audio API, React Native, and Expo
- How To Use WebViews in a React Native App
Assorted
- React Native Twitter Clone - React Native Twitter Clone powered by the Cosmic Headless CMS. Read about how it was built.
- Versioning React Native Application in elegant way (cross-platformely) ★10
- Best Practices for Building a Large Scale React Application
- React Native - Nic or Not App
- React and React Native State Museum
- Top 15 React Native libraries that I use in my apps
- Building 3 React Native Apps in One Summer
- React Native: Bringing modern web techniques to mobile
- First impressions using React Native
- Wrapping Cocoapods for React Native
- React Native: Initial Thoughts (opinion)
- A Dynamic Crazy Native Mobile Future Powered by Javascript
- ReactNative NES & More
- React Native Installation and Setup
- Diary of Building an iOS App with React Native
- Reflecting on React Native development
- React-Native layout examples
- React Native in Production - notes from Clay Allsop
- An iOS Developer on React Native
- React Native and WebRTC
- How to bridge a Swift view
- How to select the right React Native database
- Building a Native SoundCloud Android app with Redux - discussing redux, code reuse and performance on Android.
- React Native Twitter exploding heart - hardcore animations with Animation and ReactART
- Using AI to discover UI components - fun image processing / AI assisted process to discover and generate React Native UI
- Writing Android Components
- Unit Testing React Native with Mocha and Enzyme
- React Native's Layout Animation is Awesome
- Avoiding the Keyboard
- How To Use OpenCV In React Native For Image Processing
- Using Styled Components with React Native
- Create a React Native Image Recognition App with Google Vision API
- A comprehensive guide on building offline React Native apps with AsyncStorage
- Build a Chat App with Firebase and React Native
- Building Stylistic UIs with Emotion-JS for React Native
- Getting Started with Firestore and React Native
- React Native: Native Modules made for React developers - on the developer experience with 3rd-party libraries for RN 0.60+
- Flutter vs React Native - Choosing your approach - Comparison article to help you choose the best approach depending on your project and experience.
Continuous Integration
- How to build and deploy React Native apps for iOS and Android automatically with Appcircle CI/CD
- Distributing beta builds with Fastlane on Android and iOS
- Deploying a React Native App with Fastlane
- Continuous Integration for React Native Apps With Fastlane and Bitrise (iOS)
- How to automate Android build process on Bitrise CI
- fastlane for React Native iOS & Android app DevOps
- The simplest way to automate delivery of your React Native Application
- 21 Useful Open Source Packages for React Native
Internals
- Performance
- React Native Debugger Internals
- Dirty-up and execute top-down - @vjeux on React's optimizations for background color, layout, and more
- Optimizing React Native
- Diving into React Native Performance
- Wait… What Happens When my React Native Application Starts? — An In-depth Look Inside React Native
Components
Components and native modules.
UI
- lottie-react-native ★10415 - A mobile library for Android and iOS that parses Adobe After Effects animations exported as JSON with bodymovin and renders them natively on mobile!
- react-icomoon - With React-Icomoon you can easily use the icons you have selected or created in icomoon. 📦 Zero Dependencies and Lightweight.
- react-native-vector-icons ★9985 - Customizable Icons for React Native with support for NavBar/TabBar, image source and full styling. Choose from 3000+ bundled icons or use your own.
- react-native-maps ★8388 - React Native Map components for iOS + Android
- react-native-swiper ★6955 - The best Swiper component for React Native.
- react-native-gifted-chat ★6546 - The most complete chat UI for React Native (formerly known as Gifted Messenger)
- react-native-scrollable-tab-view ★5664 - A scrollable tab-view for React Native
- react-native-image-picker ★4709 - A React Native module that allows you to use the native UIImagePickerController UI to select a photo from the device library or directly from the camera.
- react-native-material-kit ★4124 - Bringing Material Design to React Native
- react-native-snap-carousel ★3959 - Swiper component for React Native with previews, multiple layouts, parallax images, performant handling of huge numbers of items, and RTL support
- react-native-calendars ★3402 - React Native Calendar Components 📆
- react-native-ui-kitten ★3140 - Customizable and reusable react-native component kit
- react-native-svg ★2982 - SVG library that works on both iOS & Android
- react-native-image-crop-picker ★2736 - iOS/Android image picker with support for multiple images and cropping
- react-native-splash-screen ★2663 - A splash screen for react-native, hide when application loaded, it works on iOS and Android.
- react-native-material-ui ★2536 - Highly customizable material design components for React Native
- react-native-app-intro ★2433 - A React Native parallax effect app intro
- react-native-drawer ★2276 - React Native Drawer
- react-native-typography ★2260 Pixel–perfect, native–looking typographic styles for React Native
- react-native-fast-image ★2240 - FastImage, performant React Native image component.
- react-native-blurhash ★105 - Give your users the loading experience they want.
- react-native-paper ★2218 - Material design for React Native
- react-native-swipeout ★2194 - iOS-style swipeout buttons behind component
- react-native-blur ★2172 - React Native Blur component
- react-native-progress ★2069 - Progress indicators and spinners for React Native using ReactART.
- react-native-textinput-effects ★2062 - Text inputs with custom label and icon animations for iOS and Android. Built by react native and inspired by Codrops.
- react-native-modalbox ★2043 - A component for react-native
- react-native-lightbox ★1917 - A very Slick and modern mobile lightbox implementation
- react-native-action-button ★1762 - A customizable Float Button Component for React Native
- gl-react-native ★1750 - Use OpenGL for performant effects on images and videos
- react-native-modal ★1728 - An enhanced, animated and customizable react-native modal
- nachos-ui ★1684 - NACHOS UI kit for React Native. Pick from a bunch of pre-coded UI components ready for your next kick-ass app in JavaScript or React.
- react-native-mapbox-gl ★1663 - A Mapbox GL react native module for creating custom maps
- react-native-foldview ★1616 - Animated FoldingCell implementation in React Native
- react-native-modern-datepicker ★12 - React Native Modern Datepicker
- react-native-spinkit ★1585 - A collection of animated loading indicators for React Native
- react-native-recyclerlist ★1515 - High performance listview for React Native and Web with support for complex layouts.
- react-native-parallax-scroll-view ★1486 - A ScrollView-like component with parallax and sticky header support.
- react-native-chart ★1464 - React-native-chart is a simple module for adding line charts, area charts, or bar charts to your React Native app.
- react-native-gifted-listview ★1443 - A ListView that embed some recurrent features like pull-to-refresh, infinite scrolling and more for Android and iOS React-Native apps
- react-native-datepicker ★1365 - React Native date, datetime and time picker for both Android and IOS
- react-native-viewpager ★1350 - ViewPager component for React Native
- react-virgin ★1319 The react-native UI Kit you've been looking for.
- react-native-easy-grid ★1304 - Easy Responsive Grid Layout for React Native.
- victory-native ★1264 - Victory-native is a collection of components to help you create charts, bar graphs etc.
- react-native-picker ★1238 - react-native-picker
- react-native-collapsible ★1174 - Animated collapsible component for React Native using the new Animated API with fallback. Good for accordions, toggles etc
- react-native-icons ★1168 - Quick and easy icons in React Native video
- react-native-orientation ★1162 - Listen to device orientation changes in react-native and set preferred orientation on screen to screen basis
- react-native-tableview ★1105 - Native iOS TableView wrapper for React Native
- react-native-keyboard-spacer ★1103 - Plug and play react-Native keyboard spacer view.
- react-native-looped-carousel ★1094 - Create looped carousel of views or images
- react-native-circular-progress ★1088 - React Native component for creating animated, circular progress with ReactART
- react-native-popup-dialog ★1088 - A React Native Popup Dialog Easy Use & Support Use Custom Animation. For IOS & Android
- react-native-largelist ★1054 - The best performance large list component for React Native (iOS & Android)
- react-native-offline ★977 - Handy toolbelt to deal nicely with offline/online connectivity in a React Native app. Smooth redux integration.
- react-native-root-toast ★971 - React native toast like component, pure javascript solution
- react-native-dropdownalert ★894 - A simple drop down alert with 4 pre-defined types.
- react-native-loading-spinner-overlay ★885 - The only pure React Native, Native iOS and Android loading spinner (progress bar indicator) overlay
- react-native-tinder-swipe-cards ★881 - Tinder card style swiping.
- react-native-slider ★845 - A pure JavaScript component for react-native
- react-native-pathjs-charts ★842 - Android and iOS charts based on react-native-svg and paths-js
- react-native-flash-message ★810 - React Native flashbar and top notification alert utility
- react-native-svg-charts ★764 - One library to rule all charts for React Native
- react-native-masonry ★758 - A masonry~ish layout for rendering images.
- react-native-credit-card-input ★742 - 💳 💳 Easy (and good looking) credit-card input for your React Native Project
- rn-placeholder ★1139 - Display some placeholder stuff before rendering your text or media content in React Native (+ React Native Web!)
- action-sheet-rn ★1 - Probably the most declarative API for ActionSheets in React Native
- react-native-sglistview ★731 - A memory minded implementation of React Native's ListView
- react-native-modal-dropdown ★708 - A react-native dropdown/picker/selector component for both Android & iOS.
- react-native-button ★707
- react-native-bottom-sheet-behavior ★701 - A react native wrapper for android BottomSheetBehavior.
- react-native-tabs ★687 - React Native platform-independent tabs. Could be used for bottom tab bars as well as sectioned views (with tab buttons)
- react-native-search-bar ★671 - The native search bar for react native.
- react-native-timeline-listview ★665 - Timeline component for React Native App
- react-native-toastboard - The simplest way to show notification.
- apsl-react-native-button ★653 - React Native button component with rounded corners.
- react-native-popup-menu ★653 - Extensible popup menu component for React Native.
- react-native-qrcode ★644 - react-native qrcode generator
- react-native-easy-toast ★616 - A react native module to show toast like android, it works on iOS and Android.
- react-router-native ★612 - A routing library for React Native that strives for sensible API parity with React Router
- react-native-copilot ★595 - Step-by-step walkthrough for your react native app
- react-native-photo-browser ★565 - Local and remote photo browser with captions, selections and grid view support.
- react-native-calendar ★559 - Calendar Component for React Native
- react-native-calendar-events ★510
- react-native-parsed-text ★552 - Parse text and make them into multiple React Native Text elements
- react-native-step-indicator ★538 - A simple react-native implementation of step indicator widget compatible with the ViewPager and ListView.
- react-native-popover-haobtc ★514 - A component for react-native
- react-native-dropdown ★507 - A better Select dropdown menu for react-native
- react-native-star-rating ★489 - A React Native component for generating and displaying interactive star ratings
- react-native-rating-element ★8 - A react native rating system supporting: decimal point's rating, direction aware icons like bottom to top or right to left etc, custom icons from Ionicons, custom images and record rating given by users.
- react-native-parallax ★479 - Parallax effects for React Native using Animated API
- react-native-sketch ★467 - A react-native <Sketch /> component to draw with touch events.
- react-native-dialogs ★463 - React Native wrappers for https://github.com/afollestad/material-dialogs
- galio ★458 - A fresh react native UI framework.
- react-native-root-siblings ★452 - Add sibling elements after your app root element.
- react-native-size-matters ★436 - A React-Native utility belt for scaling the size your apps UI across different sized devices.
- react-native-button-component ★434 - A Beautiful, Customizable React Native Button component for iOS & Android
- react-native-super-grid ★434 - Responsive Grid View for React Native.
- react-native-activity-view ★427 - iOS share and action sheets for React Native
- react-native-canvas ★421 - A Canvas element for React Native
- react-native-refresher ★419 - A React Native pull to refresh ListView completely written in js. Also supports custom animations.
- react-native-sortable-list ★412 A sortable list for react native with both vertical and horizontal direction support.
- react-native-gesture-password ★410 - A gesture password component for React Native
- react-native-carousel ★406 - Simple carousel component for react-native
- react-native-country-picker-modal ★403 - Country picker provides a modal allowing a user to select a country from a list. It display a flag next to each country name.
- react-native-radio-buttons ★399 - A react component to implement custom radio buttons-like behaviors: multiple options, only on can be selected at once.
- react-native-masked-text ★392 - A simple masked text and input text component for React Native.
- react-native-accordion ★390 - An Accordion Component for React Native
- react-native-invertible-scroll-view ★388 - An invertible ScrollView for React Native
- react-native-message-bar ★384 - A module for presenting notifications via an animated message bar at the top/bottom of the screen, highly customizable, for React Native (Android and iOS) projects.
- react-native-fit-image ★383 - Responsive image component to fit perfectly itself.
- react-native-text-input-mask ★383 - Text input mask for Android and iOS, native implementation RedMadRobot libraries
- react-native-alphabetlistview ★372 - A ListView with a sidebar to jump to sections directly, based on johanneslumpe's react-native-selectablesectionlistview
- react-native-check-box ★372 - Checkbox component for react native, it works on iOS and Android.
- react-native-really-awesome-button ★370 - RNRAB is a 3D at 60fps, progress enabled, extendable, production ready component that renders an awesome animated set of UI buttons.
- react-native-autocomplete-input ★366 - Pure javascript autocomplete input for react-native
- react-native-splashscreen ★358 - A splash screen for react-native
- react-native-responsive-image ★344 - Most elegant Responsive Image component
- react-native-pdf-view ★338 - View pdf file using react-native
- react-native-image-header-scroll-view ★338 - ScrollView with an image in header which become a navbar
- react-native-toast ★336 - An android like toast for react-native support for iOS and Android
- react-native-modal-picker ★333 - A cross-platform (iOS / Android), selector/picker component for React Native that is highly customizable and supports sections.
- react-native-off-canvas-menu ★327 - Beautifully crafted off canvas menu components for React native applications.
- rn-sliding-up-panel ★321 - React Native draggable sliding up panel purly implemented in Javascript. Works nicely on both iOS and Android.
- react-native-search-box ★319 - A simple search box with animation, inspired from ios search bar.
- react-native-parallax-swiper ★315 - Configurable parallax swiper based on an iOS pattern. Uses Native Driver for super smooth parallax.
- react-native-gesture-recognizers ★313 - Gesture recognizer decorators for react-native
- react-native-searchbar ★313 - An animated search bar for react native with inbuilt search (iOS and Android)
- react-native-app-auth ★310 - React Native bridge for AppAuth - a PKCE-compliant SDK for communicating with OAuth2 providers
- react-native-circular-action-menu ★305 - An animated and customizable circular floating menu.
- react-native-effects-view ★304 - React Native Component that makes easy to use iOS8 UIVisualEffect
- react-native-root-modal ★304 - React native modal component
- react-native-timeago ★278 - Auto-updating timeago component for React Native
- react-native-grid-view ★276 - React Native Grid/Collection View component
- react-native-md-textinput ★275 - React Native TextInput styled with Material Design.
- react-native-timer-mixin ★274 - TimerMixin provides timer functions for executing code in the future that are safely cleaned up when the component unmounts. This is a fork that includes react-native InteractionManager support.
- react-native-tableview-simple ★267 - React Native component for TableView made with pure CSS
- react-native-keyboard-manager ★267 - Library that allows to prevent issues of keyboard sliding up and cover on React-Native iOS projects.
- react-native-tabbar ★261 - Tab bar with more freedom
- react-native-simple-router ★255 - A community maintained router component for React Native
- react-native-cacheable-image ★255 - A filesystem cacheable image component for react-native
- react-native-segmented-control-tab ★252 react-native-segmented-control-tab (for Android/iOS)
- react-native-modal-selector ★249 - A cross-platform (iOS / Android), selector/picker component for React Native that is highly customizable and supports sections.
- react-native-keyboardevents ★247 - Monitors keyboard show/hide notifications
- react-native-multiselect ★246 - Simple multi-select component for react-native.
- react-native-cardview ★239 - CardView for react-native (All Android version and iOS)
- react-native-shimmer-placeholder ★231 - Placeholder of React Native
- react-native-progress-hud ★228 - A clean and lightweight progress HUD for your React Native app
- react-native-qrcode-svg ★228 - A QR Code generator for React Native based on react-native-svg and node-qrcode.
- react-native-bottom-action-sheet ★226 - React Native: Native Bottom Action Sheet
- react-native-awesome-button ★222 - A React Native component rendering a button supporting showing different appearances and functionality given the passed props
- react-native-mobx ★220 - Make your app reactive with MobX and react-native-router-flux
- react-native-egg ★220 - An easter egg component implementation simple gestures detection achieve trigger can make your react native app infinitely more fun.
- react-native-progress-bar ★218 - An animated progress bar component for React Native
- react-native-tooltip ★217 - A react-native wrapper for showing tooltips
- react-native-emoji ★216 - Emoji component for React Native
- react-native-image-cache-hoc ★211 - Higher Order Component that adds advanced caching and persistence functionality to standard Image component.
- react-native-parallax-scroll ★209 - Parallax Scroll component with sticky header, foreground, native-driver and all scrollable components (FlatList, ListView, SectionList, ScrollView) support.
- react-native-shine-button ★205 - React Native for Effects like shining
- autoresponsive-react-native ★201 - A Magical Layout Library For React
- react-native-autolink ★201 - Autolinking component for React Native
- react-native-carousel-control ★199 - React Native Carousel control with support for iOS and Android.
- react-native-picker-select ★199 - A Picker component for React Native which emulates the native
<select>interfaces for iOS and Android - react-native-calendar-select ★195 - A component to select a date period from calendar modal, like Airbnb.
- react-native-wheel-picker ★190 - React native cross platform picker.
- react-native-grid-component ★188 - Easy to use grid component for your react-native project. Supports iOS and Android.
- react-native-popover-menu ★188 - React Native: Native Popover Menu
- react-native-collapsing-toolbar ★185 - wrapper for android CollapsingToolbarLayout
- react-native-pagination ★182 - A Beautiful Pagination Plugin For Lists.
- react-native-hero ★180 - A hero/banner component with support for dynamic or static images, dynamic sizing, color overlays, and more.
- react-native-selectme ★178 - A better Select dropdown menu for react-native
- react-native-swiper-animated ★176 - Tinder-like swiper for react-native
- react-native-tab ★171 - react-native-tab is a simple module for add a "Tab Menu" to your React Native app.
- react-native-webbrowser ★167 - A cross-platform (iOS / Android), full-featured, highly customizable web browser module for React Native apps.
- react-native-autocomplete ★163 - React Native Component for MLPAutoCompleteTextField
- react-native-segmented-view ★159 - Segmented View for React Native (with animation)
- react-native-cache-image ★158 - A cache-image for react-native
- react-native-pulse-loader ★158 - Tinder like loader for your React Native app
- stacks ★156 - Stacks: a set of layout components for building RN views blazingly fast ⚡, and with debug mode and design system grid you can investigate non-trivial visual issues.
- react-native-display ★155 - This module brings "Display: none" (css style) to turn on/off components from render. Using this module will improve your app performance and appearance with the enter/exit animations.
- RNParallax ★155 - A react native scroll view component with Parallax header
- react-native-checkbox ★154 - Checkbox component for React native
- react-native-phone-input ★154 - Phone input box for React Native
- react-native-switch-pro ★153 - A pretty nice switch for Android and iOS that have same performance on two platforms and clean code in the library.
- react-native-popup ★153 - Popup for react-native
- react-native-radial-menu ★153 - A Radial Menu optimized for touch interfaces
- react-native-gestures ★152 - Composable gesture system in react native
- react-native-page-control ★151 - React native page control, like ios UIPageControl
- react-native-iconic ★149 - React Native - Animated Icons with different states
- react-native-google-place-picker ★148 - React Native Wrapper of Google Place Picker for both Android and iOS.
- react-native-scaling-drawer ★148 - React native scaling drawer.
- react-native-image-carousel ★148 - Image carousel with support for fullscreen mode, image swiping and pinch-to-zoom in fullscreen mode.
- react-native-offline-mode ★144 - Swap your app with an offline version while there's no connectivity
- react-native-orientation-listener ★141 - A react-native library for obtaining current device orientation
- react-native-multi-slider ★137 - Pure JS slider component with multiple markers for React Native
- react-native-color-picker ★137 - React Native implementation of color picker for both Android and iOS.
- react-native-android-statusbar ★135 - A react native android package to control the status bar.
- react-native-privacy-snapshot ★133 - Obscure passwords and other sensitive personal information when a react-native app transitions to the background
- react-native-custom-segmented-control ★132 - Native UI iOS component for Segmented Control with custom style
- react-native-map-link ★131 - Open a location in the maps app of the user's choice.
- react-native-sketch-canvas ★129 - A React Native component for drawing by touching on iOS and Android. (support drawing on image, text)
- react-native-floating-labels ★126 - Reusabe floating lable component for react native
- react-native-beautiful-video-recorder ★125 - The video recorder component that extends from react-native-camera. It works for both iOS & Android.
- react-native-cell-components ★125 - Awesome react-native cell components! From a Cell to more complex & awesome components.
- react-native-material-menu ★119 - Pure JavaScript material menu component for React Native.
- react-native-bouncy-drawer ★116 - Highly customizable Bouncy Drawer
- react-native-taptargetview ★114 - React Native Bridge for Android KeepSafe/TapTargetView. An implementation of tap targets from the Material Design guidelines for feature discovery.
- photo-viewer ★114 - A photo viewer for react native build on top of NYTPhotoViewer and FrescoImageViewer
- react-native-switch-selector ★112 - A custom Switch Selector component for Android and iOS.
- react-native-flexi-radio-button ★111 - Simple and flexible Radio button for React Native
- react-native-triangle ★108 - Draw triangle views in react native
- react-native-viewport-units ★107 - Incredibly simple utility for (sort of) using viewport units with React Native.
- react-native-wheel-picker-android ★186 - Simple and flexible React native wheel picker for Android, including DatePicker and TimePicker.
- react-native-device-display ★105 - A simple way to create dynamic views through device and display detection, allowing the creation of adaptable and universal apps.
- react-native-android-kit ★104 - A set of native Android UI components and modules for React Native framework (Android Design Support Library, TabLayout, Floating Action Button and more...).
- react-native-fading-slides ★103 - Simple looped fading slides carousel for React Native
- react-native-scl-alert ★102 - React Native implementation of the package SCLAlertView-Swift
- react-native-card-view ★101 - A react native card component
- react-native-marquee-label ★100 - A marquee label for react-native
- react-native-drawer-menu ★97 - React Native Drawer Menu
- react-native-simple-dialogs ★97 - Cross-platform simple dialogs for React Native based on the Modal component.
- react-native-swipe-a-lot ★96 - A swipe component for React Native that works on iOS and Android.
- react-native-submit-button ★96 - Animated Submit button. Works on both android and ios
- react-native-actions-sheet ★94 - A Cross Platform(Android & iOS) ActionSheet with a flexible api, native performance and zero dependency code
- react-native-dialog ★92 - Pure JavaScript React-Native dialog
- react-native-scrollable-mixin ★91 - A standard interface for your scrollable React Native components, making it easier to compose components
- react-native-open-maps ★90 - A simple lib to open up the corresponding map application (Google or Apple Maps) from a set of coordinates (latitude & longitude) within react-native
- react-native-swiper2 ★86 - Swiper component for React Native. Supersede react-native-swiper
- react-native-listitem ★86 - iOS-style listitem component for React Native
- react-native-progressive-input ★86 - TextInput with clear button and activity indicator, used as part of autocomplete list.
- react-native-in-app-notification ★86 - Customisable in-app notification component for React Native
- react-native-shared-preferences ★85 - Android's Native key value storage system in React Native
- react-native-emoji-picker ★85 - Simple Emoji picker for react-native with optional modal-like component
- react-native-scalable-image ★85 - React Native Image component which scales width or height automatically to keep the original aspect ratio.
- react-native-page-swiper ★83 - Page Swiper component for React Native.
- react-native-material-showcase-ios ★81 - React Native Bridge for iOS aromajoin/material-showcase-ios. An elegant and beautiful showcase for iOS apps.
- react-native-label-select ★81 - A modal selector for React Native with selected items displayed as labels.
- react-native-3dcube-navigation ★80 - Page Swiper component with 3D cube transition (horizontal and vertical)
- react-native-keyboard-accessory ★80 - Keyboard Accessory (View, Navigation) Component. Sticky views on keyboard.
- react-native-draggable-grid ★79 - A React Native draggable and sortable grid component write by typescript.
- react-native-textinput-utils ★79 - A react native extension which allows you to control TextInput better.
- react-native-idle-timer ★79 - An Objective-C bridge that allows you to enable and disable the screen idle timer in your React Native app
- react-native-snackbar-component ★77 - A snackbar component for Android and iOS, customizable and simple.
- react-native-charts ★76 - Delightfully-animated data visualization.
- react-native-android-blurryoverlay ★75 - A react native android package to show a blurry overlay.
- react-native-calendar-datepicker ★75 - A cross-platform calendar datepicker
- react-native-scrollview-smart ★75 - A Smart ScrollView component for IOS and Android.
- react-native-zoom-image ★75 - An image viewer component for react-native, like twitter's image viewer.
- react-native-picker-xg ★74 - A picker for both Android and iOS
- react-native-status-bar-height ★73 - A small library that helps you to get status bar height easily. It also support iPhone X.
- react-native-color-wheel ★72 - A react native reusable color picker wheel
- react-native-scrollview-lazyload ★71 - react-native scrollview with image lazy load
- react-native-pure-navigation-bar ★71 - A fully customizable navigation bar in React Native.
- react-native-material-cards ★70 - A material design card component, customizable and versatile.
- react-native-item-cell ★69 - React Native default style iOS item cell
- react-native-calendario ★69 - React Native Calendar DatePicker
- react-native-picker-android ★67 - react-native-picker-android
- react-native-nested-stylesheet ★67 - Nestable stylesheets for react-native.
- react-native-dropdown-android ★65 - Simple wrapper for Android's Spinner to use with react-native
- react-native-slot-machine ★65 - A text slot machine component for react-native
- react-native-swipeview ★65 - SwipeView component used to perform actions like swipe to delete, works on iOS and Android
- react-native-download-button ★64 - React Native Download Button: with pretty cool animation
- react-native-siri-wave-view ★64 - React Native: Native Siri Wave View
- react-native-card-media ★63 - Card media component & Support multiple image layout
- react-native-simple-picker ★62 - A simple react-native select picker
- react-native-view-pdf ★62 - PDF viewer for React Native
- react-native-touchable-bounce ★62 - React Native Touchable Bounce
- react-native-streetview ★61 - Google's Panorama/StreetView component for iOS and Android.
- react-native-thumbnail ★60 - Get thumbnail from local media.
- react-native-simple-stepper ★60 - A super simple react-native implementation of the UIStepper iOS control.
- react-native-phone-picker ★58 - a quick phone picker control
- react-native-infinite-scrollview ★58 - ScrollView with infinite paged scrolling (no looping)
- react-native-select-multiple ★58 -A simple and easy to use component for multiple selection of item from List.
- react-native-easy-content-loader ★57 - React-Native light weight skeleton content loading.
- react-native-multiple-choice ★57 - A cross-platform (iOS / Android) single and multiple-choice React Native component.
- k-react-native-swipe-unlocker ★55 - A simple swipe unlock for React Native
- react-native-walkthrough-tooltip ★55 - Highlight a component via tooltip/popover
- react-native-adbannerview ★52 - React Native Bridge for ADBannerView
- react-native-fxblurview ★52 - React Native wrapper for popular FXBlurView library for realtime, fine-tuned blur effects
- react-native-beautiful-image ★52 - The Beautiful Image component that supports fadeIn animation and shows placeholderSource if the main source can't be loaded.
- react-native-360-image-viewer ★100 - The component helps to simulate 360 degrees image from multiple images.
- react-native-fs-modal ★51 - React native full screen modal component.
- react-native-toast-native ★51 React Native Toast component for both Android and iOS.
- react-native-masked-view ★50 - A element for react-native
- react-native-md-motion-buttons ★50 - Material design motion button inspired by inVision app.
- react-native-drop-refresh ★49 - A pull down to refresh control for react native.
- react-native-pin-view ★48 - Easy, convenient, quick-forming PinView component. It runs smoothly for both IOS and Android.
- react-native-radio-button-classic ★47 - Bring Classic Radio to React-Native
- react-native-image-intent ★47 - Image intent receiver for React Native android
- react-native-dial ★47 - A react native reusable and efficient dial knob element.
- react-native-date ★46 - React Native date and time pickers for Android
- react-native-draggable-drawer ★46 - DraggableDrawer component for React Native.
- react-native-date-picker ★46 - A date picker component for Android and iOS
- react-native-message-composer ★45 - React Native module bridge to iOS MFMessageComposeViewController
- react-native-layout ★45 - Semantic JSX layout components for react-native
- react-native-touch-visualizer ★45 - Visualize touches and drags on React Native apps for iOS.
- react-native-calendar-android ★44 - A simple material-themed calendar for react native android
- react-native-air-progress-bar ★44 - React Native progress-bar component, customizable and animated
- react-native-full-screen ★44 - React Native FullScreen api and element
- react-native-full-image-picker ★44 - Support taking photo, video recording or selecting from photo library.
-
react-native-viewport ★43 - Viewport dimensions for react-native
-
react-native-progress-circular ★43 - A pure React Native Component for circular progress bars for both iOS and Android.
- react-native-tween-animation ★43 - A simple react native state tween animation module.
- react-native-flanimatedimage ★43 - FLAnimatedImage for React Native.
- react-native-grading ★43 - React Native Component for grading scores using ReactART.
- react-native-auto-typing-text ★43 - An auto typing text component for react-native
- react-native-slack-webhook ★42 - Follow some activities (new user, payment,...) from your app via Slack and this webhook lib.
- react-native-responsive-linechart ★41 - Draw Line and Area charts easily. Works responsively.
- react-native-simpledialog-android ★41 - React Native Android module to use Android's AlertDialog - same idea of AlertIOS
- react-native-toolkit ★41 - A collection of common UI components for react native mobile apps.
- react-native-draggable-grid ★41 - A React Native draggable and sortable grid component write by typescript.
- react-native-sortable-gridview ★4 - A React Native sortable and draggable Grid View Component.
- react-native-elastic-stack ★41 - ReactNative component that implements elastic stack effect
- react-native-big-slider ★41 - Yet another, big one, pure JS easily customisable and hackable react-native slider component.
- react-native-custom-actsheet ★40 - A custom ActionSheet for react-native
- rn-render-perfs ★40 - Measure React rendering lifecycles using UI controls
- react-native-animated-check-mark ★40 - A small react component for animated cross-mark transformation.
- react-native-easy-dnd ★39 - Drag and drop component for react-native
- react-native-fab ★39 - A FAB button component for Android and iOS, customizable, simple and as per material design specs.
- react-native-popupwindow ★38 - Android PopupWindow for react-native module
- react-native-wheel ★38 - android wheel view for react-native
- react-native-bar-collapsible ★38 - A Bar component that can be collapsible (toggle/accordion), clickable or text-only.
- react-native-circle-view ★37 - circle progress for react native android using CircleView
- react-native-slidable-tab-bar ★37 - Slidable tab bar for instant view rendering(react-native)
- react-native-scrollable-decorator ★37 - A standard interface for your scrollable React Native components, making it easier to compose components
- react-native-circle-checkbox ★37 - Circle checkbox component for React Native
- react-native-newsticker ★35 - The News Ticker component for React Native
- react-native-awesome-alert ★35 - Customizable modal components with ✔️check options in React Native
- react-native-view ★34 - Lightweight View component for quick styling.
- react-native-draggable-calendar ★34 - A calendar component supporting dragging.
- react-native-countdown ★33 - react native countdown button
- react-native-dashed-border ★33 - A element for react-native
- react-native-writebox ★33 - (iOS / Android) Facebook/Twitter textarea that autogrow and count characters.
- react-native-ibeacon-simulator ★32 - React Native Library to simulate device act as an iBeacon
- react-native-suggester ★32 - React-Native package to decorate TextInput and get suggestions with good UX.
- react-native-photo-grid ★31 - React Native component that handles the complexities of building a grid of photos with a flexible number of photos per row.
- react-native-android-iconify ★30 - icons for react native android using android-iconify
- react-native-touchable-set-active ★30 - Touchable component for React Native that enables more advanced styling by setting an active state. Most useful for building your own touchable/button components on top of.
- react-native-telephone-input ★30 - React Native Telephone Input, discover country and mask telephone Input
- react-native-nmrangeslider-ios ★29 - The NMRangeSlider component for React Native
- react-native-fade-in-view ★29 - A simple and lightweight RN component that fades in its children
- react-native-gl-image-filters ★27 - React Native GL Filters for Image implementation.
- react-native-focus-scroll ★26 - react-native-focus-scroll can detect which children are focused when scrolling.
- react-native-about-libraries ★26 - React Native: It offers information about install packages
- react-native-actionsheet-native ★25 - Android ActionSheet support for React Native
- react-native-comparison-slider ★25 - A simple component to display two image in comparison with a slide-over feature.
- react-native-selectmultiple-button ★25 - A button (or a grouped buttons) supporting multiple or radio selection
- react-native-timeline-theme ★25 - Collection of TimeLine theme. This package only use flexbox(without absolute) & FlatList
- react-native-date-range-picker ★25 - Simple date range picker extended from react-native-calendars 📆
- react-native-circle-progress ★24 - A custom Circle Progress Indicator for React Native
- react-native-app-intro-v2 ★24 - Latest App intro
- react-native-starrating ★24 - a react-native component for display interactive star ratings
- react-native-echarts-wrapper ★24 - Powerful ECharts wrapper build for React Native
- react-native-orientation-controller ★23 - A react-native library for obtaining and controlling the current device and application orientation
- react-native-match-media ★23 - window.matchMedia mock for React Native
- react-native-simple-card-view ★23 - Easiest way to adding a card view on your screen.
- monalisa-ui ★22 - MonalisaUI is UI component library for React Native to build native mobile apps for iOS and Android platforms
- react-native-square-view ★22 - A square view component for react native.
- react-native-ichart ★22 - ichart for react-native
- react-native-dropbox-chooser ★21 - React Native dropbox chooser module
- react-native-compress ★21 - Compress video for react native. Only for iOS, Android will be coming.
- react-native-custom-actionsheet ★21 - Fully customizable ActionSheet for React Native.
- react-native-timepicker ★20 - React Native timepicker for iOS
- react-native-custom-checkbox ★20 - React Native checkbox that can be customize. Works for both Android and iOS.
- react-native-tilt ★20 - Tilt effect with accelerometer for React Native components.
- react-native-drawpad ★20 - A pad for users to draw by touching
- rn-ab-hoc ★19 - Poor intrusive way to make A/B Testing by using an HoC instead of components.
- react-native-expand ★19 - A react-native expandable component for both Android and iOS
- react-native-modal-loader ★19 - Customizable animated modal progress hud for react apps.
- react-native-images-collage ★19 - Robust interactive image collage component for React Native.
- react-native-avatar-gravatar ★18 - React Native Gravatar component
- react-native-image-modal ★16 - simple full size modal image for iOS and Android. supports zoom-in/out, double-tap zoom-in/out, move and swipe-to-dismiss
- react-native-notifier ★16 - Fast and simple in-app notifications for React Native
- react-native-grid ★15 - The 24-column grid component for react-native
- react-native-search ★15 - Native Search component for react native.
- rn-displayable ★15 - Display your components based on props or a set of rules
- react-native-custom-picker ★15 - React native customizable picker component.
- react-native-confirmation-code-field ★15 - A React Native component to input confirmation code for both Android and IOS
- react-native-android-circles ★14 - A react native android package to show a circle progress view.
- react-native-anchor-point ★14 - Make the fancy 3D transform easier in react native
- react-native-code-verification ★13 - An UI module for user-side pincode verification.
- react-native-hijri-date-picker ★13 - Date Picker Dialog for Hijri calendar for android.
- react-native-imagewand ★13 - image wand for react native
- react-native-gravatar ★13 - react-native wrapper for gravatar-api
- react-native-rebound-scrollview ★12 - React Native Android ReboundScrollView implementation.
- react-native-calculator ★12 - React Native Calculator and Calculator Input Component.
- react-native-navbar-color ★12 - Change Navigationbar Color in Android
- radio-buttons-react-native ★11 - Animated radio buttons component for react native
- react-native-piechart ★10 - A component for React Native
- react-native-seekbar-android ★10 - A React Native wrapper Android's SeekBar
- react-native-coachmasks ★10 - react-native-coachmark! It helps you easily create Coach Marks to enhance user experience!
- react-native-progress-button ★10 - A react native button component that can show progress.
- react-native-quiltview ★9 - Native iOS UICollectionView wrapper with RFQuiltLayout for React Native
- react-native-relative-units ★9 - Relative units for React Native
- react-native-simple-button ★9 - A simple react-native button
- react-native-styled-toast ★9 - A themeable toast component for React Native.
- react-native-frame-loading ★9 - The Loading indicator with frame by frame view animation
- react-native-rheostat ★9 - Inspired by Airbnb's rheostat, a powerful slider with assorted data visualized charts.
- react-native-country-picker ★8 - React Native Country Picker
- react-native-flex-label ★8 - A text label for React Native that handles multiple lines of text with ellipses truncation as well as vertical alignment within it's view container.
- react-native-link ★8 - A link component
- react-native-stylesheet-xg ★8 - extension stylesheet for cross platforms and responsive
- react-native-censored ★8 - React Native component to censor content.
- react-native-bouncing-ball ★8 - React Native component bouncing ball for both iOS and Android.
- react-native-loading ★7 - A lightweight loading for your React Native app.
- react-native-segment-control ★7 - A swipeable SegmentedControl component for React Native apps.
- react-native-animated-styles ★7 - Easily animate/transition react components between two style states.
- react-native-hide-modal ★6 - Modal component that can be hidden
- react-native-hole-view ★6 - Component for cutting out click-through holes in any view. Perfect for making tutorial-like overlay
- react-native-masonry-brick-list ★5 - Staggered Or Masonary List View For React Native Written in pure js
- react-native-blur-overlay ★5 - React Native Blur Overlay Library For Ios And Android
- react-native-rate-modal ★5 - Hackable "rate us" component for React Native.
- react-native-fancy-carousel-viewpager ★4 - React Native Designed View Pager Library (pure js)
- pinar ★4 - Customizable, lightweight React Native carousel component with accessibility support.
- react-native-svg-transformer ★4 - Import SVG files inside React Native components. Uses the react-native-svg library to render SVG images.
- react-native-progress-steps ★4 - A simple and fully customizable React Native component that implements a progress stepper UI.
- react-native-loader-hud ★3 - Loader animation library for React Native
- react-native-double-buffer ★3 - Simple React Native Double Buffer View
- react-native-fontbase ★3 - Defining font sizes in React Native
- react-native-units ★2 - A collection of useful units and a simple grid implementation for responsive layouts in React Native.
- react-native-easy-checkbox ★2 - Simple CheckBox for react-native
- react-native-scene-manager ★2 - Simple Scene Manager for React-Native
- react-native-rounded-navigation-drawer ★2 - React Native Designed Navigation Drawer Library (Pure Js)
- react-native-expandable-fab-menu ★2 - React Native Expandable Fab Menu Component (pure js)
- react-native-animated-bottom-tabbar ★2 - Animated bottom Tab bar for react native
- react-native-create-new-file-ios ★1 - A react-native interface for creating a blank new file on ios. File must not already exist.
- react-native-picker-module ★1 - A different approach for React Native Picker.
- react-native-countries ★1 - This package is provide you directly native countries name & code list from device.
- react-native-scrubber ★1 - A simple audio/video Scrubber for both iOS and Android.
- react-native-loader-kit ★1 - Purely native loading animations for React Native.
- react-native-new-feature ★1 - A simple and lightweight What's New component to show your latest React native Features.
- react-native-sdr - Server Driven Rendering (SDR) component for React Native
- react-native-store-view ★19 - Wraps SKStoreProductViewController for use in react-native projects
- react-native-image-container ★0 - Image container for React Native
- react-native-counters ★0 - Minus Plus Counter for React Native
- react-native-gradient-buttons - A lightweight, customizable and haptic Gradient Button component for React Native.
- react-native-auth-screens - A series of Authentication Views for React Native: Sign In, Social Sign In Sign Up, and Forgot Password. Uses
react-native-gradient-buttons. - react-native-animated-flatlist - Animated Flatlist for React Native.
- swipeable-modal-react-native - A 'pop-up' modal that can be swiped away left or right to run different functions.
- react-native-countdown-text - A React Native component that converts a timestamp of a future date to a readable countdown clock, based on a format.
- rn-actionsheet-module ★0 - BottomsheetDialog & ActionSheetIOS with same props and usage.
- react-native-animated-loader - A React Native Loader Component which uses Airbnb's Lottie for beautiful loader animations.
- rn-verifcode - React-Native component to input confirmation code for both Android and IOS
- react-native-picker-modal-view - React Native Module to select item picker modal.
- rn-material-textinput - A simple TextInput wrapper for material styling in iOS and Android with Customizable styles & Animated label.
- rn-action-picker - A simple action picker for iOS and Android. Renders Native ActionSheetIOS Component in iOS and custom ActionSheet lookalike component in Android.
- rn-collapsible-section - A collapsible section / section list with customizable section body and child body. Supports both iOS and Android.
- view-on-steroids - React-Native View component with inline styles
- react-native-eva-icons - Eva Icons implementation for React Native based on react-native-svg elements.
- react-native-dots-pagination ★3 - A simple dot paging for React Native.
- react-native-gesture-detector - Easily create and detect custom, complex gestures on React Native.
- react-native-scrollview-header ★5 - An animated ScrollView header that transitions from transparent background to opaque upon scrolling.
- react-native-wizard - Easily navigate your user for next step. Quick-forming Wizard component.
- react-native-timetable - 📆 timetable library for React Native
- react-native-material-drawer - React Native Material Drawer for iOS, Android, Web, and Electron
Navigation
- react-navigation ★14233 - Easy to use Navigation for React Native
- react-native-navigation ★9325 - App-wide support for 100% native navigation with an easy cross-platform interface.
- react-native-navigation-hooks ★109 - A set of React hooks for React Native Navigation.
- react-native-router-flux ★7720 - React Native Router based on new React Native Navigation API
- kittenTricks ★4227 - A react native mobile starter kit with over 40 screens and theme hot reload support
- native-navigation ★3060 - Native navigation library for React Native applications
- react-native-navbar ★1824 - Simple customizable navbar component for react-native
- react-native-router ★1203 - Awesome navigation for your native app.
- ex-navigation ★1019 - A route-centric, batteries-included navigation library for Exponent and React Native that works seamlessly on Android and iOS.
- react-native-controllers ★580 - Truly native no-compromise iOS navigation for React Native.
- ex-navigator ★531 - Route-centric navigation built on top of React Native's Navigator
- react-native-nav ★262 - A cross-platform (iOS / Android), fully customizable, React Native Navigation Bar component
- react-native-navigation-drawer ★98 - A slide menu inspired from Android for React-Native
- react-native-ya-navigator ★88 - Yet another react native navigator component
- navbar-native ★86 - A new, fully customizable Navbar component for React-Native
- react-native-swiper-flatlist ★★ ★81 - 👆 React Native Swiper component implemented with FlatList
- react-native-easy-router ★78 - React Native router with easy-to-use API
- react-native-navigator ★74 - A simple router for react native
- react-navigation-magic-move ★62 - Bindings for using react-navigation with react-native-magic-move 🐰🎩✨ (shared element transitions)
- react-native-navigation-bar ★59 - react-native-navigation-bar
- react-native-url-handler ★37 - Navigate to external URLs, handle in-app URLs, and access system URLs
- react-native-grid-list ★ ★28 - React Native Grid List component
- react-native-route-navigator ★27 - React-Native page navigation using URIs.
- react-native-transparent-bar ★16 - react native navigator transparent bar
- react-native-email-chip ★8 - A simple yet customizable component to display a chip list of emails
- react-native-invoke-app ★8 - Bring React Native App to foreground from Headless JS
- react-native-keyboard-sticky-view ★7 - Keyboar Sticky View with animation and renderProps
- sajjad-brick-list ★5 - Staggered Or Masonary List View For React Native Written in pure js
- react-native-router-sinux ★ ★4 - React Native Router based on new NavigationExperimental that use Sinux as Flux implementation.
- react-native-simple-slider ★3 - This is a simple javascript slider component for react native
- react-native-header-scroll-view ★3 - iOS-style large header scroll view.
- react-native-navigation-buttons ★2 - iOS navigation buttons for the React Native Navigator
- react-native-hotspot ★2 - A React Native component that displays hotspots over desired components to help lead your users through an onboarding flow or direct them towards new UI elements
- react-native-pointer-interactions ★2 - Expose iPad mouse & trackpads interactions to React Native.
- react-native-yynavigator ★1 - custom navigation bar for react-native
- react-native-telegraph ★1 - In-app message orchestration supporting Snackbars, Banners and Dialogs
Navigation/Routing Articles
- Basics of using react-native-router-flux
- Routing and Navigation in React Native
- NavigatorIOS: Accessing onRightButtonPress from within child component
Navigation Demos
- movieapp ★1441 – Discover Movies and TV shows - it uses redux and wix/react-native-navigation
- ExNavRelay ★23 - React Native + Ex-navigation + Relay integration template
- React Native Drawer & Bottom-Tab Navigation ★6
- React Native Example App: Navigation
Deep Linking
- react-native-deep-link ★36 - React Native library to handle deep links
Text & Rich Content
- react-native-hyperlink ★354 - A
<Hyperlink />component for react-native that makes urls, fuzzy links, emails etc clickable and stylable - react-native-draftjs-render ★253 - A React Native render for Draft.js model
- react-native-html-to-pdf ★171 - Convert html strings to PDF documents using React Native
- react-native-htmltext ★132 - Use HTML like markup to create stylized text in react-native.
- react-native-html-webview ★102 - Display (possibly untrusted) HTML using a UIWebView in React Native.
- react-native-html-render ★98 - A html render for react-native
- react-native-markdown-display ★57 - Highly customizable Markdown renderer using native components for all its elements without any web-view.
- react-native-measure-text ★48 - Measure text height without laying it out.
- react-native-markdown-editor ★47 - Markdown editor like github comment editor (contains preview, markdown buttons)
- react-native-showdown ★43 - React-native component which renders markdown into a webview!
- react-native-file-viewer ★33 - Preview any type of file supported by the mobile device
- react-native-responsive-fontsize ★22 - Provide responsive fontsize based on device height in React-Native
- react-native-text-size ★21 - Measure text accurately before laying it out and get font information from your App.
- react-native-hypertext ★20 - React Native module to render hypertext (text with links)
- react-native-asciimage ★17 - An ASCIImage component for React Native
- react-native-universal-modal ★16 - Universal simple modal component for React Native
- react-native-html ★11 - render html as react native custom elements
- react-native-responsive-fontsize ★83 - Provide responsive fontsize based on device height in React-Native
- rn-pdf-reader-js ★6 - A PDF reader, in JavaScript only, for Expo, Android capable, PDF.JS
- @typeskill/typer ★4 - The Operational-Transform Based (React) Native Rich Text Library
Analytics
- react-native-fabric ★1097 - A React Native library for Fabric, Crashlytics and Answers
- react-native-google-analytics-bridge ★1071 - A native Google Analytics bridge for React Native. Uses the official libraries on both iOS and Android.
- react-native-google-analytics ★325 - Google Analytics for React Native!
- react-native-mixpanel ★307 - A React Native wrapper for Mixpanel tracking
- react-native-ab ★160 - A component for rendering A/B tests in React Native
- react-native-segment-io-analytics ★68 - A React Native Segment wrapper!
- react-native-ux-cam ★32 - React Native wrapper for uxcam.com.
- react-native-td ★26 - An unofficial React Native SDK for Treasure Data.
- react-native-flurry-sdk ★15 - Official React Native wrapper for Flurry SDK. Supports Android, iOS and tvOS.
Utils & Infra
- detox ★3566 - Graybox End-to-End (functional) Tests and Automation Library for Mobile with first class support for React Native
- react-native-workers ★616 - Background services and web workers for react-native
- react-native-mock ★504 - A fully mocked and test-friendly version of react native
- loki ★395 - Visual Regression Testing for Storybook
- react-native-slowlog ★271 - A high-performance timer based profiler for React Native that helps you track big performance problems
- react-native-zip-archive ★173 - Zip / Unzip archive utility
- react-native-tips ★160 - This module is used to create easily some tips to help your new users to understand how works your app.
- codemod-RN24-to-RN25 ★104 - a simple codemod to handle the new import style on >=RN25
- react-native-linkedin ★101 React-Native LinkedIn, a simple LinkedIn login library for React-Native or Expo with WebView and Modal
- react-native-eval ★75 - Call any JS functions from your native code
- react-native-device-log ★73 - A UI and service for displaying dev-logs on devices.
- react-native-call-detection ★73 - Helps to detect different call states like Incoming, Disconnected, Dialing and Connected
- react-native-userdefaults-ios ★66 - React Native Module for NSUserDefaults
- react-native-webp ★56 - react-native-webp adds support for WebP images for react-native components.
- react-native-global-event-emitter ★50 - Shared event emitter between native and JS for React Native.
- react-native-user-defaults ★48 - ios UserDefaults used by react-native
- react-native-console-time-polyfill ★45 - console.time and console.timeEnd polyfill for react-native
- react-native-aws-signature ★42 - help generate signature required for using AWS API. Necessary to use S3, ec2, or other services.
- react-native-rsa ★41 - RSA crypto lib for react native
- react-native-html-parser ★38 - parse html in react-native
- pixels-catcher ★26 - Library for testing React Native UI components and screens
- react-native-aes ★24 - AES in react-native
- react-native-network-logger ★20 - An HTTP network request monitor for React Native including an in-app interface.
- eslint-config-kingstinct-react-native ★23 - Opinionated ESLint configurarition for React Native and TypeScript
- react-native-hour-format ★20 - Get hour format from OS settings.
- react-native-des ★20 - A des crypto for react-native
- react-native-babel-jest ★15 - Simple testing configuration for React Native with Jest
- react-native-simple-encryption ★14 - Simple XOR and base_64 encryption decryption for react-native
- react-native-immutable ★12 - using immutable.js library with react-native
- react-native-util ★12 - A fork of io.js's util module that works with React Native
- react-native-referrer ★11 - React Native android only library to retrieve campaign referrer.
- react-native-webpackager-server ★6 - react native webpackager server
- react-native-crypto ★6 - implementation of crypto for React Native
- react-native-fluxbone ★5 - A group of libraries that help with the FluxBone pattern in React Native
- react-native-cross-settings ★5 - React Native Settings module for both Android & iOS.
- react-native-HsvToRgb ★3 - a helper to convert HSV(HSB) color to RGB.
- react-native-use-persist-storage ★3 - Persist and rehydrate your context(state) using React Hooks
- react-native-tools ★0 - Tools for react native project development
- react-native-call-observer - Helps to observe call status like incoming, ended, and connected (iOS).
- react-native-iphone-se-helper ★0 - utils for developing iphone SE size.
- react-native-native-log ★0 - A React Native log function that under the hood calls native logs.
- react-native-mov-to-mp4 ★44 - utils for Converting mov file to mp4 for cross-platform playback compatibility.
- react-native-test-runner ★1 - Run unit and integration tests in React Native's environment.
Forms
- formik ★10633 - Forms in React, without tears.
- react-hook-form ★9346 - React hooks for forms validation without the hassle.
- redux-form ★4829 - Redux form state management (Web and Native)
- redux-hook-form ★2700 - React hooks for form validation without the hassle. (Web and Native)
- tcomb-form-native ★2831 - Generate React Native forms
- react-native-gifted-form ★1317 - Form component for react-native
- react-native-clean-form ★414 - Good looking form elements with redux-form integration. Stylable with styled-components.
- react-native-form-generator ★354 - Generate amazing React Native forms in a breeze
- react-native-form ★138 - A simple react-native component to wrap your form fields!
- react-reactive-forms ★106 - Angular like reactive forms in React.
- react-native-forms ★86 - A declarative API for creating, validating, and serializing native-looking forms.
- react-native-formawesome - Complex and simple forms builder.
- react-native-from-builder ★69 - Handle your forms in a smart way.
- foect ★37 - Simple form validation library for React Native
- react-native-fm-form ★13 - Generate list view form of React Native in few line of codes
- react-native-form-flux ★2 - React Native Form management using Flux architecture
- react-native-form-validator ★0 - A simple validation library for react native
Geolocation
- react-native-background-geolocation ★1316 - Sophisticated cross-platform background location-tracking & geofencing module with battery-conscious motion-detection intelligence (Android requires paid license).
- react-native-mauron85-background-geolocation ★657 - React Native Android and iOS module for background and foreground geolocation with battery-saving "circular region monitoring" and "stop detection"
- react-native-geocoder ★344 - react native geocoding and reverse geocoding
- react-native-geo-fencing ★100 - Native modules to determine if a location is within defined geographical boundaries using Google Geometry library
- react-native-fused-location ★82 - Finest location for react-native on Android using the new Fused API.
- react-native-android-geolocation ★19 - React Native Module to use Android Geolocation via Google Play API
- react-native-reverse-geo ★18 - React Native module bridge to convert address to geo coordinates.
- react-native-boundary ★12 - React Native module to use geofences. Native implementation for iOS and Android.
- react-native-geolocation-android ★3 - Geolocation module for react native android
Internationalization
- fbt ★3202 - A JavaScript Internationalization Framework
- react-native-localize ★603 - React Native Localize
-
react-native-globalize ★192 - Globalization helper for React Native
-
redux-react-native-i18n ★40 - An i18n solution for React Native apps on Redux
- react-native-intl ★37 - React Native module shipped native Intl implementation and Translation extension
- rn-translate-template ★18 - I18n template for all iOS and Android supported languages
- ~~react-native-i18n ★1778 - React Native + i18n.js~~ Deprecated for react-native-localize
- ~~react-native-languages ★246 - React Native properties and methods related to the language of the device~~ Now called react-native-localize
Build & Development
- reactotron ★9198 - Control, monitor, and instrument your React Native apps from the comfort of your terminal.
- react-native-code-push ★5184 - React Native plugin for the CodePush service
- react-native-webpack-server ★935 - Build React Native apps with Webpack
- generator-rn-toolbox ★800 - Yeoman generators to kickstart your project and setup continuous deployment.
- babel-preset-react-native-stage-0 ★97 - a Babel preset with latest Javascript goodies
- react-native-debug-stylesheet ★75 - Add coloured borders or backgrounds to all views to make it easier to debug layout issues
- react-native-console-panel ★73 - react native component for display console messages.
- react-native-css-loader ★39 - You can use react-native-css-loader with react-native-webpack-server, which can use webpack to built react-native app better.
- react-native-assets ★31 - Module to manage assets. It allows you download assets from a network and store into a specific local folder on iOS
- react-native-cosmos ★18 - DX tool to test react-native components with defined props/state fixtures.
- react-native-kill-packager ★15 - kill running react native packager.
- react-native-build-cli ★3 - a cli tool for react-native build
- react-native-react-bridge - A toolset to run React web app in React Native and handle communication between them.
Styling
- styled-components ★20064 - Style React and React Native with utilising tagged template literals.
- emotion ★5627 - Style as a function of state.
- react-native-extended-stylesheet ★1689 - Extend React Native stylesheet with variables, relative units, percents, math operations, scaling and other stuff.
- react-native-css ★755 - Style React-Native components with css and built in support for SASS.
- react-native-style-tachyons ★525 - functional, maintainable design for everyone based on tachyons.css.
- glamorous-native ★454 - A React Native version of glamorous - a component styling library.
- react-native-responsive ★295 - The power of Media Queries now in your React Native project (ios and android) ! Responsive Design can now be easily managed !
- cairn ★110 - Simple, string-based style selector engine with support for basic inheritance.
- react-native-theme ★104 - Theme manager for react native project!
- react-native-css-modules ★44 - Style React-Native components using CSS, Sass, Less or Stylus.
- rn-less ★15 - Style react-native with less (with VS Code extension support)
- react-native-prism ★10 - Minimal, idiomatic style management for React Native
- react-native-paint ★5 - A themeable abstraction over React Native StyleSheet. Read about it here.
- binstorm ★5 - BinStorm is a React Native styling utility for rapidly building custom user interfaces. Read about it here.
- styled-react-native - Advanced react native styling with simple method (style overwrites, component composition, enhanced style property). Full intro in this Medium article.
- react-native-tailwindcss - A react native styling system based on TailwindCSS.
System
- react-native-firebase ★4192 - A well tested feature rich Firebase implementation for React Native, supporting both iOS & Android platforms for 10+ Firebase modules (including Cloud Firestore).
- react-native-push-notification ★3431 - React Native Local and Remote Notifications
- react-native-device-info ★3145 - Get device information using react-native
- react-native-fs ★2465 - Native filesystem access for react-native
- react-native-config ★1894 - Config variables for React Native apps
- react-native-ultimate-config - Configure all levels of your react-native app with a single file
- react-native-fcm ★1564 - react native module for firebase cloud messaging and local notification
- react-native-notifications ★1396 - React native notifications
- react-native-arkit ★1290 - React Native binding for iOS ARKit
- react-native-permissions ★1118 - Check and request all permissions with a single api
- react-native-keychain ★992 - Keychain Access for React Native
- react-native-touch-id ★902 - React Native authentication with the native Touch ID popup.
- react-native-contacts ★882 - React Native Contacts (android & ios)
- react-native-communications ★871 - Easily call, email, text or iMessage someone in React Native
- react-native-onesignal ★871 - React Native Library for OneSignal Push Notifications Service (iOS + Android)
- react-native-in-app-utils ★743 - A react-native wrapper for handling in-app payments.
- react-native-image-resizer ★636 - Rescale local image files with React Native.
- react-native-quick-actions ★593 - A react-native interface for 3D Touch home screen quick actions
- react-native-billing ★534 - In-app purchase implementation for React Native on Android.
- react-native-barcodescanner ★491 - A barcode scanner component for react native - not maintained anymore - use react-native-camera.
- react-native-iap ★450 - React-native native module for In-App Purchase.
- react-native-dotenv ★450 - A Babel preset let you import application configs from .env file (zero runtime dependency)
- react-native-location ★425 - Native GPS location support for React Native.
- react-native-background-fetch ★373 - iOS BackgroundFetch API implementation. Awakens a suspended iOS app in the background to execute a
callbackFnabout every 15 min. - react-native-queue ★359 - Your swiss army knife for task management in React Native - easily manage background tasks that run periodically when app is closed and dedicated worker threads.
- react-native-sensors ★355 - Platform independent wrapper for sensors like Gyroscope, Accelerometer and Magnetometer with RxJS interface
- react-native-social-share ★347 - Use the iOS native Twitter and Facebook share view from react native
- react-native-ibeacon ★334 - iBeacon support for React Native. The API is very similar to the CoreLocation Objective-C one with the only major difference that regions are plain JavaScript objects. Beacons don't work in the iOS simulator.
- react-native-lock-ios ★291 - Auth0 Lock for React Native (iOS)
- react-native-motion-manager ★223 - A react-native interface for using the Gyroscope, Accelerometer and Magnetometer
- react-native-android-sms-listener ★194 - Allows you to listen for incoming SMS messages
- react-native-device ★185 - UIDevice wrapper for React Native
- react-native-gcm-android ★174 - GCM for Android
- react-native-sensor-manager ★172 - Wrapper for react-native providing native sensors access. (Gyroscope, accelerometer, magnetometer, thermometer...)
- react-native-ble ★157 - React Native BLE using noble api surface
- react-native-haptic ★137 - iOS 10 + haptic feedback for React Native applications
- react-native-pinch ★130 - SSL pinning for react native
- react-native-unified-contacts ★120 - React Native iOS 9+ Contacts (ios)
- react-native-callkit ★94 - iOS 10 CallKit framework for React Native
- react-native-discovery ★89 - Discover nearby devics using BLE. Turn iOS and Android devices into beacons
- react-native-passcode-auth ★87 - React Native authentication with iOS Passcode.
- react-native-addressbook ★81 - AddressBook module for react-native
- react-native-fingerprint-identify ★79 - React Native authentication with the Fingerprint on Android, fingerprint API compatible lib, which also combines Samsung, Xiaomi and MeiZu's official Fingerprint API.
- react-native-phone-call ★76 - A simple way to initiate a phone call in React Native
- react-native-calendar-reminders ★69 - React Native module for IOS EventKit Reminders
- react-native-bluetooth-state ★61 - Answering the question of "Is my bluetooth on?" in React Native
- react-native-google-nearby-messages ★14 - Communicate with nearby devices using Bluetooth, BLE, WiFi and near-ultrasonic audio by using the Google Nearby Messages API
- react-native-barcode-scanner ★60 - Barcode scanner for React Native
- react-native-haptic-feedback ★60 - Trigger Haptic Native Feedback on iOS and Android
- react-native-clipboard ★58 - React Native component for getting or setting clipboard content
- react-native-media-clipboard - React Native module for getting images, URLs, and strings from the clipboard
- react-native-nfc-ios ★52 - Easy to use CoreNFC for React Native
- react-native-android-sms ★48 - A react native android module to list/send sms.
- react-native-voip-push-notification ★48 - iOS prioritized VoIP Push Notification
- react-native-android-speech ★47 - A text-to-speech library for Android React Native.
- react-native-app-info ★42 - React Native app info and version
- react-native-icloud-sync ★41 - A react-native wrapper for syncing with icloud
- react-native-carrier-info ★41 - React Native module bridge to obtain information about the user’s home cellular service provider.
- react-native-sms-android ★40 - A react-native module for sending a sms message to a phone number.
- react-native-touch-id-android ★32 - React Native authentication with the Fingerprint on Android.
- react-native-heading ★31 - Get device heading (compass) information on iOS or Android
- react-native-battery ★30 - A React Native module that returns the battery level/status of a device
- react-native-device-battery ★30 - Observe battery state changes in your react native application
- react-native-device-motion ★29 - iOS device motion wrapper for React Native.
- react-native-wifi-manager ★29 - Wifi Connection Manager for React Native on Android
- react-native-android-sqlite ★28 - A react native android wrapper for SQLite
- react-native-search-api ★27 - The SearchApi module gives you a general React Native interface to interact with the iOS Search API, Core Spotlight.
- react-native-ssl-pinning ★20 - React Native SSL pinning using OkHttp 3 on Android, and AFNetworking on iOS
- react-native-localsearch ★17 - React Native Module for MapKit Local Search
- rn-secure-storage ★17 - Secure Storage for React Native (Android & iOS)
- react-native-contacts-rx ★14 - react-native-contacts counterpart that include the support of RxJS.
- react-native-mipush ★13 - MiPush for React Native
- react-native-device-angles ★12 - Get rotation information in degrees (pitch, yaw, roll) - ios
- react-native-detect-device ★11 - Detect a device on iOS or android in react-native.
- react-native-battery-status ★11 - A battery-status for react-native
- react-native-system-notification ★10 - Notification for React Native
- react-native-home-pressed ★8 - Listen to home and recent app events for Android
- react-native-lock-android ★7 - Auth0 Lock for React Native (Android)
- react-native-push-with-gcm ★6 - Register device for GCM push notifications services (supported only for iOS)
- react-native-device-info-pod ★3 - Get device information using react-native
- react-native-sms-retriever - SMS Retriever API (Android).
- react-native-background-downloader ★93 - Help you download large files on iOS and Android both in the foreground and most importantly in the background.
- rn-in-app-review - Help you to integrate in-app review for android and iOS
- react-native-system-setting- Provides some system setting APIs iOS and Android.
Web
- react-native-webrtc ★1805 - A WebRTC module for React Native.
- react-native-webview-bridge ★1112 - React Native WebView Javascript Bridge
- react-native-safari-view ★387 - A React Native wrapper for Safari View Controller
- react-native-webview-android ★305 - Simple React Native Android module to use Android's WebView inside your app
- react-native-for-web ★247 - A set of classes and react components to make work your react-native app in a browser. (with some limitations obviously)
- react-native-browser ★107 - Full-featured web browser module for React Native apps, based on TOWebViewController
- react-native-webview-crosswalk ★88 - Crosswalk's WebView for React Native on Android
- react-native-turbolinks ★72 - React Native adapter for building hybrid apps with Turbolinks 5
- react-native-webintent ★53 - React native android module to open links in the default browser
- react-native-web-container ★36 - A wrapper around the react native WebView to add autoHeight, scrub html, etc
- react-native-inappbrowser-reborn ★30 - InAppBrowser for React Native (Android & iOS)
- react-native-browser-polyfill ★29 - A collection of polyfills for the react-native Javascript environment.
- react-native-cookiemanager ★19 - react-native cookie manager library.
- react-native-bridgeable-webview ★16 - A react-native webview with bridge to react-native code
- react-native-html2native ★3 - A html render for react-native
- react-native-webview ★3 - android webview for react-native
Media
- react-native-camera ★6227 - Camera component
- react-native-video ★3470 - A Video component for react-native
- react-native-sound ★1556 - React Native module for playing sound clips
- react-native-audio ★798 - Record and play back audio in your iOS or Android React Native apps. (no longer maintained)
- react-native-audio-toolkit ★764 - Audio playback and recording for react-native. In addition to basic functionality, many useful features are implemented such as seeking, looping and streaming audio files over the network.
- react-native-camera-kit ★701 - Advanced native camera and gallery components and device photos API.
- react-native-audio-streaming ★679 - iOS & Android module to play an audio stream, with background support and media controls :speaker:
- react-native-video-processing ★712 - Native Video editing/trimming/filtering library for React-Native
- react-native-track-player ★441 - A fully fledged audio module created for music apps. Provides audio playback, external media controls, chromecast support and background mode for Android, iOS and Windows.
- react-native-music-control - React Native module to display Now playing Info on lockscreen and handle control events
- react-native-camera-roll-picker ★312 - A React Native component providing images selection from camera roll
- react-native-incall-manager ★272 - Handling media-routes/sensors/events during a audio/video chat like webrtc
- react-native-speech ★246 - A text-to-speech library for React Native.
- react-native-screcorder ★214 - Capture pictures and record Video with Vine-like tap to record
- react-native-photos-framework ★154 - A modern and comprehensive CameraRoll/iCloud-library for React Native
- react-native-audioplayer ★99 - Small audio player library for react native
- react-native-player ★81 - Media player for react-native
- react-native-vlc-player ★80 - VLC Player for react-native
- react-native-volume-slider ★69 - React Native VolumeView component
- react-native-sound-demo ★63 - react-native-sound demo project
- react-native-interactive-image-gallery ★60 - A React Native component to display a gallery of images.
- react-native-color-grabber ★57 - React native component for finding dominant colors in an image
- react-native-hue-player ★43 - Audio Player to offline/local and online/streaming audio.
- react-native-media-meta ★41 - Get media file metadata in your React Native app
- react-native-sound-recorder ★41 - No-hassle Sound Recorder for React Native.
- react-native-fullscreen-video ★39 - A full-screen video component on top of react-native-video
- react-native-android-audio-streaming-aac ★25 - A react native streaming player
- react-native-photoeditorsdk ★24 - React Native module for PhotoEditor SDK (Android & iOS)
- react-native-videoeditorsdk ★18 - React Native module for VideoEditor SDK (Android & iOS)
- react-native-true-sight ★18 - A cross-platform video player with customizable controls for React Native.
- react-native-audio-manager ★15 - Audio player library for react native Android
- react-native-safe-image ★13 - Really light React-Native package to handle fallback when image is on error
- react-native-audio-player ★12 - A React Native module to play audio on Android
- react-native-mediaplayer ★12 - Simple full screen media player for React Native.
- react-native-simple-sound ★11 - Start, stop, and pause a sound. iOS only. Derived from
react-native-sound - react-native-tone ★7 - Generates simple sine wave, specify a frequency and amplitude. Play sound indefinitely or for a specified time interval (iOS only).
- react-native-media-capture ★6 - A media-capture for react-native
- react-native-android-video ★8 - Android ExoPlayer Video component for react-native.
- react-native-airplay-button - Native iOS Airplay button component
Storage
- RxDB ★12797 - A realtime Database for JavaScript Applications.
- WatermelonDB ★4649 - 🍉 Next-gen database for powerful React and React Native apps that scales to 10,000s of records and remains fast.
- realm ★3184 - An alternative mobile database to SQLite & key-value stores.
- react-native-storage ★2115 - This is a local storage wrapper for both react-native(AsyncStorage) and browser(localStorage). ES6/babel is needed.
- react-native-sqlite-storage ★1508 - SQLite3 bindings for React Native (Android & iOS)
- react-native-simple-store ★731 - A minimalistic wrapper around React Native's AsyncStorage.
- react-native-store ★561 - A simple database base on react-native AsyncStorage.
- react-native-db-models ★168 - Local DB Models for React Native Apps
- react-native-sqlite-2 ★106 - SQLite3 Native Plugin for React Native for both Android and iOS
- react-native-couchbase-lite ★105 - couchbase lite binding for react-native
- react-native-persistent-job ★72 - Run async tasks that retry after a crash, connection loss or exception
- pouchdb-adapter-react-native-sqlite ★49 - PouchDB adapter using ReactNative SQLite as its backing store
- react-native-pouchdb ★38 - Run pouchdb in React Native!
- react-native-level-fs ★20 - fs for react-native using level-filesystem and asyncstorage-down
- react-native-mongoose ★17 - A AsyncStorage based mongoose like storage for react-native
- react-native-leveldown - Native LevelDB bindings for React Native
- typed-async-storage - A wrapper for creating a schema for AsyncStorage and validation using React prop-types.
Backend
- react-native-fetch-blob ★2299 - A module integrates network and file system. Supports file stream.
- reactivesearch-native ★1218 - appbase.io and Elasticsearch UI components for React Native.
- react-native-meteor ★673 - Full Meteor Client
- aws-sdk-react-native ★650 - AWS SDK for React Native (Official developer preview)
- react-native-simple-auth ★592 - Native social authentication for React Native on iOS
- react-native-uploader ★455 - A React Native module to upload files and camera roll assets. Supports progress notification.
- react-native-lazyload ★342 - lazyload for react native
- react-native-aws3 ★293 - Pure JavaScript React Native library for uploading to AWS S3
- react-native-background-upload ★270 - Upload files in your React Native app even while it's backgrounded. Supports Android and iOS, including iOS Camera Roll assets.
- react-native-xmpp ★256 - XMPP Library for React Native
- react-native-tcp ★199 - node's net API for react-native
- react-native-udp ★147 - node's dgram API for react-native
- react-native-aws-cognito-js ★131 - An adaptation of Amazon Cognito Identity SDK for JavaScript in combination with AWS SDK for JavaScript for React Native.
- feathers-client ★121 - Feathers client that works with React Native, NodeJS and any client framework.
- react-native-multipeer ★117 - Communicate over ad hoc wifi using Multipeer Connectivity
- react-native-swift-socketio ★105 - A react native wrapper for socket.io-client-swift
- react-native-file-upload ★103 - A file upload plugin for react-native
- react-native-networking ★99 - react-native module to download and upload files with AFNetworking
- react-native-s3 ★80 - A React Native wrapper for AWS iOS/Android S3 SDK (TransferUtility)
- react-native-rest-kit ★65 - A React Native RESTful API kit that use the fetch method
- react-native-cognito ★63 - AWS Cognito-based authentication module for React Native.
- react-native-file-download ★45 - A simple file download module for react-native
- react-native-jwt ★37 - React native compatible JSON web token utility
- react-native-sync ★28 - Two way, incremental sync between React Native realmjs database and MySQL, Oracle, MS SQL Server and PostgreSQL
- react-native-ssdp ★26 - A React Native fork of the SSDP protocol to discover plug and play devices.
- react-native-http ★13 - React native http
- react-native-async-http ★5 - React Native component for async-http
- react-native-nchan ★3 - Nchan (pub/sub server) module for React Native
- react-native-blob-courier ★8 - Efficiently download and upload blobs on native thread
- fetch ★10 - A fetch API polyfill for React Native with text streaming support.
Integrations
- react-native-wechat ★2016 - react-native library for wechat app
- react-native-facebook-login ★1141 - React Native wrapper for native iOS Facebook SDK login button and manager
- react-native-google-signin ★1123 - Google Signin for your react native applications
- react-native-google-places-autocomplete ★846 - Customizable Google Places autocomplete component for iOS and Android React-Native apps
- react-instantsearch ★644 - Lightning-fast search for React and React Native apps, by Algolia
- react-native-awesome-card-io ★331 - A complete and cross-platform card.io component for React Native (iOS and Android)
- react-native-qq ★278 - QQ Login&Share support in React Native.
- react-native-facebook-account-kit ★227 - A Facebook Account Kit SDK wrapper for React Native.
- react-native-wechat-ios ★199 - Wechat SDK for React Native(iOS).
- react-native-card-io ★171 - React Native component for card.io
- react-native-voximplant ★126 - VoxImplant Mobile SDK for embedding voice and video communication into React Native apps.
- instabug-reactnative ★122 - A React Native wrapper for Bug reporting Instabug SDK.
- react-native-fabric-digits ★112 Fabric Digits wrapper for React-Native
- react-native-braintree ★104 - A react native interface for integrating payments using Braintree's v.zero SDK (currently iOS only)
- react-native-dialogflow ★104 - A React-Native bridge for Google's Dialogflow (api.ai)
- react-native-signalr ★100 - SignalR-client for react-native
- react-native-twilio ★87 - A React Native wrapper for the Twilio Client SDK.
- react-native-twilio-programmable-voice ★86 - A React Native wrapper for the Twilio Programmable Voice SDK.
- react-native-qqsdk ★83 - A React Native wrapper around the Tencent QQ SDK for Android and iOS. Provides access to QQ ssoLogin, QQ Sharing, QQ Zone Sharing etc.
- react-native-braintree-xplat ★81 - Cross-platform Braintree v.zero module.
- react-native-android-vitamio ★72 - React-native component for android Vitamio video player
- react-native-linkedin-login ★69 - Linkedin Login for your react native applications
- react-native-twitter-signin ★140 - Login for your react native applications with client Twitter account
- react-native-spring-scrollview ★64 - React Native Spring ScrollView V2 is a high performance cross-platform native bounces ScrollView for React Native.(iOS & Android)
- react-native-instagram-oauth ★63 - react-native instagram login
- react-native-digits ★60 - Digits wrapper to use in React Native
- react-native-realtimemessaging-android ★53 - The Realtime Framework Cloud Messaging Pub/Sub client for React-Native Android
- react-native-new-relic ★53 - New Relic event reporting for react-native.
- react-native-onepassword ★52 - React Native integration with the OnePassword extension.
- react-native-level ★38 - levelup API for react-native AsyncStorage.
- react-native-instagram-share ★28 - A react-native interface to share images and videos within instagram (iOS)
- react-native-braintree-android ★24 - Braintree's native Drop-in Payment UI for Android
- react-native-amap ★21 - A React Native component for building maps with the AMap Android SDK
- react-native-realtime-pusher ★19 - React Native module implementing the Pusher Realtime API
- react-native-conekta ★17 - Conekta SDK for React Native
- react-native-fitness ★17 - A React Native module to interact with Apple Healthkit and Google Fit
- react-native-woopra ★14 - Promise based Woopra library for react-native
- react-native-sinch-verification ★14 - Sinch verification for react native
- react-native-testfairy ★13 - TestFairy for React Native
- react-native-leancloud ★10 - a react native LeanCloud component
- react-native-flurry ★9 - React Native wrapper for Flurry
- react-native-realtimemessaging-ios ★8 - The Realtime Framework Cloud Messaging Pub/Sub client for React-Native
- react-native-realtimestorage-ios ★8 - The Realtime Framework Cloud Storage client for React-Native
- react-native-axmall-alipay ★7 - react-native alipay
- react-native-youtube-oauth ★7 - react-native interface to login to youtube (iOS)
- react-native-intercom-native ★7 - native based Intercom implementation for React Native
- react-native-hawk ★5 - Hawk wrapper for react-native
- react-native-sumup ★5 - A React Native implementation of SumupSDK.
- react-native-instagram ★5 - react-native instagram wrapper api (iOS)
- react-native-realtimestorage-android ★4 - The Realtime Cloud Storage client for React-Native Android
- react-native-fbintent ★4 - A React Native intent for Android Facebook App
- react-native-onfido ★2 - A React Native wrapper for the Onfido Library.
- react-native-heyzap- Heyzap plugin for React Native
- react-native-launch-navigator - React Native module to launch popular navigation/ride apps from a single API (Android & iOS)
- react-native-agora +190 - A React Native Agora WebRTC Wrapper.
- agora-react-native-rtm +5 - A React Native Agora RealTime-Message Cloud Service Wrapper.
- react-native-intercom *323 - A React Native Intercom Wrapper.
- react-native-bugfender *7 - A React Native wrapper for Bugfender log and error reporting.
Monetization
- react-native-admob ★713 - A react-native component for Google AdMob banners.
- react-native-stripe-api ★155 - A small React Native library for Stripe Rest API
- react-native-revmob ★15 - RevMob wrapper for React Native.
- react-native-google-pay ★2 - Accept Payments with Google Pay for React Native apps.
- react-native-apay ★2 - React Native bridge for Apple Pay
- react-native-square-in-app-payments ★18 - Square React Native plugin for In-App Payments SDK.
Animation
- react-native-animatable ★5787 - Standard set of easy to use animations and declarative transitions for React Native
- react-native-interactable ★4148 - experimental implementation of high performance interactable views in React Native
- react-native-reanimated ★680 - React Native's Animated library reimplemented
- react-native-spruce ★412 - React Native Bridge for Spruce Animation Library
- react-native-magic-move ★402 - Create magical move transitions between scenes in react-native 🐰🎩✨ (shared element transitions)
- react-native-gl-model-view ★210 - Display and animate textured Wavefront .OBJ 3D models with 60fps (iOS)
- react-native-animated-sprite ★104 - A feature rich declarative component for animation, tweening, and dragging sprites.
- react-native-animated-math ★54 - An Animated API math extension - implements sin, cos, tan and pow as Animated Nodes with full Native Driver support
Extension
- React Native Today Widget ★190 - iOS Today Widget Extension in React Native
- React Native Android Widget Proof of Concept ★127 - Android Widget Proof of Concept in React Native
- React Native Floating Bubble ★14 - A simple Facebook Chat Head like bubble for react native
- React Native WidgetKit - React Native Library for the iOS WidgetKit Framework
Other Platforms
- react-native-web ★10904 - React Native for Web
- react-native-macos ★10453 - React Native for OS X
- reactxp ★7268 - Library for cross-platform app development
- react-native-windows ★5547 - React Native for Universal Windows Platform
- @areslabs/alita ★392 - react native for mini-program(微信小程序)
- react-native-tvos-controller ★15 - TvOS remote controller module for react native.
- react-native-watchkit ★1 - react native for WatchKit
Utilities
Useful React Native tooling.
- upgrade-helper ★398 - ⚛️ A web interface to support React Native developers in upgrading their apps. Link to tool
- react-native-debugger ★4017 - The standalone app for React Native Debugger, with React DevTools / Redux DevTools
- haul ★2711 - command line tool for developing React Native apps
- rnpm ★2408 - react native package manager
- generact ★1125 - CLI that generates components based on existing ones no matter how you structure your app
- react-native-rename ★901 - Rename react-native app with just one command
- react-native-exception-handler ★504 – Avoid silent crash and errors on the production build of your app
- Electrode Native ★439 - A platform to ease the integration of React Native components in existing mobile applications.
- Ruby React Native (via Opal) ★391 - Use Ruby for building React Native apps
- rn-snoopy ★329 - Profiling, monitoring and alerting over the React Native bridge. More here.
- react-native-snippets ★249 - A collection of Sublime Text Snippets for react-native
- react-native-bundle-visualizer ★141 - See what's inside your RN bundle; useful for optimizing the bundle size
- Makeicon ★70 - Generates mobile app icons in all resolutions for both iOS and Android
- AsyncStorage Dev Menu Item ★67 - Adds an option to your dev menu to log the content of your AsyncStorage.
- rn-diff-purge ★64 - The easiest way to upgrade React Native versions. You can find diffs for every React Native version, that are created by diffing the previous version with a newly created app in the new version.
- React Native Actions ★55 - Run React Native actions from within VSCode.
- rsx ★29 - An alternative to the
react-nativeCLI tool - ADB Auto Restarter ★8 - Restart ADB service Automatically in case of crashing while debugging app with device .
- rn-nodeify ★6 - hack to allow react-native projects to use node core modules
- react-native-ruler ★3 - A devtool for measuring pixel dimensions on your React Native screens
- BuilderX - A design tool which writes React Native code for you , Desktop Mac app to replace your traditional UX design tools.
- CodePush - Push code updates to your apps, instantly
- Storybook - UI development environment for your React components
- BugSnag - A tool that logs native & JS errors. Has a free tier. Includes useful data about the user, environment, session, release, etc.
- React Native Playground - Run React Native apps in your browser via real time simulator
- exponent - Use React Native without XCode (a previewer app + local server infrastructure)
- Deco IDE - React Native IDE with components manager
- react-hook-hooker - A nifty little HOC to add hooks to your React components.
- React Native Elements Playground 🚀 - Tinker with
react-native-elementscomponents in the web. - SimpleLocalize CLI - An open source Localization CLI tool for finding i18n keys in project files.
Seeds
Get a head start on development with an existing seed.
- 🔥 Ignite ★8832 - An unfair start for React Native - Generator CLI for redux/sagas and more.
- Pepperoni ★4383 - (deprecated) Starter kit for Android & iOS, Redux, Immutable.js, disk-persisted app state
- Snowflake ★4321 - Android & iOS, Redux, Jest (88% coverage), Immutable, Parse.com
- native-starter-kit ★1506 - A Starter Kit for React Native + NativeBase + React Navigation + Redux + CodePush Apps (iOS & Android)
- React Native Hackathon Starter ★732 - React Native Starter Project, great for hackathons or rapid prototyping. Includes tabs, navigation, Redux, React Native Vector Icons, & React Native Elements
- React Native Boilerplate Typescript - React Native Boilerplate - Redux + Saga + Reselect + redux-persist + react-navigation + TypeScript
- React Native Meteor Boilerplate ★615
- :octopus: React Native Boilerplate ★551 - React Native boilerplate that promotes a solid architecture via separation of concerns.
- React Native Seed ★504 - A set of React Native Boilerplates to choose from. MobX or Redux for state-management, TypeScript or Flow for static type checking and CRNA or plain React Native for the stack - By the creators of Native Base.
- 🚀 React Native Starter ★388 - A powerful starter template that bootstraps development of your mobile application.
- ReactNativeTS ★353 - Boilerplate of a React Native project in Typescript.
- react-native-starter by Ueno ★311 - Professional react-native starter kit with everything you'll ever need to deploy rock solid apps
- react-native-babel ★241
- react-native-vanilla ★185 - 🚀🚀🚀 Build universal cross-platform apps with React Native. Includes latest
iOS,tvOS,Android,Android TV,Android Wear,Web,Tizen TV,Tizen Watch,LG webOS,macOS/OSX,WindowsandKaiOSplatforms - react-native-template-typescript ★183 - Clean and minimalist React Native template for a quick start with TypeScript.
- react-native-template-airbnb - Clean and minimalist React Native template for a quick start with Airbnb (Flow, Prettier).
- react-native-redux ★160 - React Native + Redux + Redux Saga
- react-native-es6-reflux ★145
- react-native-hot-redux-starter ★135
- react-native-typescript-boilerplate ★129 - An opinionated boilerplate built with React Native Navigation v3 + Redux + Thunk, in TypeScript. Follows industry best practices.
- Rhinos-app ★81 - Cross-platform React Native boilerplate (iOS, Android, Web) built on react-native-web.
- react-native-web-boilerplate ★72 - A react-native-web stateless hmr boilerplate
- react-native-boilerplate ★61 - Simple boilerplate for mobile development using React Native and Redux
- react-native-easy-starter ★50 - A React-native starter kit using latest react and react-native 0.60.5, easy-peasy state management, hooks workflow, hermes, codepush ready-to-use custom hooks, react-native-paper, contextapis, theming support and much more (android + ios)
- react-native-web-workspace ★58 - A cross platform app with react in a monorepo
- 🍞 Baker ★46 - An opinionated MVP toolkit that helps you build mobile apps crazy fast using React Native and Parse Server
- React-Native-Starter-Pack ★40 - React Native 0.34 + React-Redux (w/ Redux-Storage) + Native Base + Code Push
- react-native-relay-example ★38 - React Native working with Relay
- MeteorNative Boilerplate ★23 - a React Native and Meteor boilerplate with Redux.
- rn-mobx-template ★17 - React Native with MobX template
- react-native-boilerplate-chucknorris ★15 - A boilerplate for React Native + React Navigation + React Native Elements (iOS & Android)
- react-native-template-super ★7 - A turbo starter template for react-native + React Navigation + Redux + Redux Persist
- rn-relay-drawer-template ★4 - React Native working with RNRF, drawer and relay
- react-native-community-maps ★3 - Boilerplate app for browsing user-generated photos on a map
- React Native Starter Kit - React Native starter kit with user onboarding elements, including Firebase Auth and Facebook Login integration.
- Awesome React Native Boilerplates - Effective start for your development with the most popular react-native navigation and UI libraries
- react-int - A simple way to use react/react-native with redux and redux-saga.
- RNStarter - ✨ A React Native Starter with 10+ commonly used libraries ✨
Libraries
Libraries / SDK type additions for React Native development.
- React Native Elements ★13599 - a collection of React Native UI Elements and components.
- Shoutem UI ★3802 - a complete UI toolkit for React Native from Shoutem.
- Panza ★243 - a collection of stateless, functional, cross-platform ui components for react-native.
- BlankApp UI ★78 - Highly customizable and theming components for React Native.
- react-native-easy-app ★220 - React Native one-stop solution.
- React Native Common ★49 - UI & API Components Library for React Native.
- react-native-colibri ★5 - React Native Generic UI Components.
- Statek ★3 - Simple & Reactive state management library for React & React Native
Open Source Apps
Open source React Native apps and other examples.
- Artsy - The mobile app for artsy.net. Discover fine Art. The Art world in your Pocket.
- f8app ★13070 - Official F8 (Facebook Developer Conference) app of 2017. See blog post.
- 30-days-of-react-native ★5192 - 30 days of React Native examples (inspired by 30DaysofSwift)
- react-native-nw-react-calculator ★4624 - A mobile, desktop and website App with the same code
- GitPoint ★3833 - A mobile GitHub client for both iOS and Android.
- Hacker News (iOS & Android) ★3460
- reading ★2947 - Reading App Write In React-Native.
- Status.im ★2470 - Ethereum client.
- GitHub Popular ★2452 - This is a GitHub most popular repositories viewer with React Native.
- Dribbble React Native ★1927
- react-native-gitfeed ★1709 - Yet another Github client written with react-native(iOS & android)
- Finance React Native ★1680 - iOS's stocks app clone written in React Native for demo purpose.
- Quirk 🐙 ★965 - Cognitive Behavioral Therapy for iOS and Android.
- TaskRabbit's Sample App ★802 - a testing ground for Task Rabbit's app making
- React Weather ★702 - A simple weather app built with React Native
- Boostnote ★630 - Boostnote: open source note taking.
- react-native-sudoku ★540 - a sudoku game written in React Native
- react-native-hiapp ★513 - A simple and Twitter like demo app written in react-native
- React Native Netflix ★489 - A Netflix-like app.
- what the thing? ★430 - Point camera at things to learn how to say them in a different language.
- react-native-basketball ★425 - a clone of the Facebook Basketball game
- Surmon.me.native ★406 A react-native applaction for surmon.me
- An example React Native project for client login authentication ★402
- GitterMobile ★387 - Gitter (chat for github) client for iOS and Android
- ReactNativeRedditReader ★345
- Assemblies ★322 - a Meetup clone
- DuckDuckGo App (Unofficial) ★273
- Ziliun React Native ★266 - Wordpress based article reader built with react native
- Luno ★266 - A ClojureScript React Native app demonstration
- ReactNativeHackerNews ★241
- iOS Conference App made with React Native ★234
- MagicMirror ★232
- Redux Demo ★226 - Minimal implement of redux counter example on ReactNative iOS and Android
- React Native Embedded App ★218 -A collection of examples for using React Native in an existing iOS application
- React Native Example, Geo and Location ★216
- uestc-bbs-react-native ★216 - An iOS client for http://bbs.uestc.edu.cn/ written in React Native with Redux
- Sh**t! I Smoke ★209 - Know how many cigarettes you smoke based on the pollution of your location.
- PxView ★198 - An unofficial Pixiv app client for Android and iOS
- BBC News (Unofficial) ★187 - a BBC news app
- HackerBuzz ★179 - a Hacker News reader.
- Vecihi App ★170 – Build your own photo sharing app.
- Rocket.Chat ★161 - Open Source Team Communication
- HackerWeb ★158 - A simply readable Hacker News web app for iOS & Android.
- Buyscreen sample ★151
- NewsWatch video viewer ★150
- YouTrack Mobile ★136 – a client for YouTrack – issue tracker from JetBrains.
- ndash ★129 - npm dashboard.
- Look Lock ★126 - An app for showing photos without worries.
- Kakapo - ambient sound mixer ★126
- Appointments ★116 - Full-fledged ReactNative App for Booking Appointments
- Alt/Flux Demo ★106
- Buttercup Mobile ★103 - Mobile password manager
- Insta Snap ★102 - Image Sharing App
- live translator ★94 - An app that translates in real time what you see from your mobile.
- Finance MacOS React Native ★88 - iOS's Stocks App clone written for MacOS with Touch Bar support. Data is pulled from Yahoo Finance.
- NBAreact ★88
- Urban Dictionary ★83 - Mobile implementation of the popular Urban Dictionary website.
- ASOS ★83 - E-commerce app for ASOS (clone)
- Reddit made with React Native and Redux ★81
- react-native-redux-facebook ★79 - A simple React Redux Facebook authentication demo app.
- Hekla for Hacker News ★77 - Hackernews client with TypeScript, mobx-state-tree, native navigation and css modules.
- QRCode App ★74 - application for scanning and generating QR codes.
- Nearby Live ★72 - An unofficial NearbyLive app for Android and iOS
- SoundcloudMboX ★67 SoundcloudMobX is the Soundcloud for iOS, Build with React-Native and MobX.
- Native iOS font list ★60
- React Native Chromecast App ★56
- MoeFM ★54 - A light MusicPlayer build with React Native & Redux for both Android and iOS.
- iTunesConnect ★53 - Unofficial iTunes Connect App
- Sequent ★52 - short-term memory training game (W/ Redux).
- AudienceNetworkReactNative ★50 - Facebook Audience Network Performance Tool.
- rndrawer-implemented-rnrouter ★50 - A react-native-drawer implemented example and scaffolding for react-native-router-flux
- Magento 2 Mobile App ★47 - Magento 2.x mobile app built with React Native
- iOS app that transcript your voice with IBM Watson Cloud ★41
- Splitcloud ★35 - Share listening to two songs at the same time from Soundcloud (by splitting right/left channels).
- ZudVPN ★32 - Deploy private VPN on major Cloud Providers with ZudVPN
- Todo List ★31 - Todo-List app using SwipeView with ES6 standards for iOS and Android.
- Paramap ★30 - Accessability map. React-native with Redux and Firebase. iOS and Android.
- Confreaks ★29
- Vocab React Native ★27 - Thai Vocabulary Learning App
- Premier League ★25
- Roxie ★23 - Sound processing and bluetooth hardware control.
- Roverz ★21 - A native mobile chat client library for Rocket.Chat on both iOS and Android.
- Text Blast ★18 - iOS client for MMS text blasting app with analogous ionic version for comparison
- NewYorkTimesTopStories ★14 - Read Topstories of NewYorkTimes using its api written for android in react-native.
- Quick-Sample ★14 - A small and simple example app with navigation, data persistence, redux, listview and animation.
- iGap Plus ★13 - iGap+ is a cross-platform messaging application (Currently Android , iOS and Windows UWP) and has been created using all latest modern technologies. iGap+ is designed to easily support additional platforms like web, macOS and linux.
- Posters_Galore_Android ★11 - An experimental Android application using Redux and a REST API
- react-native-medium-clap-animation ★11 - Medium Clap Animation in React Native
- HupuApp ★9 - A Third-party Hupu App (http://bbs.hupu.com/) client implemented using React Native (Android and iOS).
- react-native-uber-clone ★9 - Uber UI Clone with animations in react native
- Commit Strip (Unofficial) ★8 - A CommitStrip.com reader built in React Native.
- react-native-otello ★6 - a reversi game written in React Native
- GitHub Jobs Search App (Unofficial) ★6 - A GitHub Jobs Search App built in React Native.
- Minimal Quotes ★6 - Mobile app that throws you random quotes in a super clean minimal version.
- Hello Bemans ★5 - Health Trainer Connection App (Android Version)
- RNV2ex ★5 - react-native for v2ex
- Renote ★4 - A simple react-native example app for make notes.
- Manyverse – Social network off the grid (a Scuttlebutt Android client)
- Bristol Pound - An app for the Bristol Pound, a UK-based local currency.
- React Native Showcase
- Instagram clone - an Instagram clone
- Joplin - A note taking app for desktop, CLI, and mobile (linked here is the mobile app).
- Cat-or-dog - Simple game with drag'n'drops and animations.
- Forex Rates - Foreign exchange rates. currency rate converter. Historical exchange rates. Android and iOS.
- Smog Alert App – provides real-time air pollution data all around the world and shows nearby polluters.
- Audio Book App – Completed Audiobook app with some cool animations.
- FastBuy - App to manage the products from a dummy Store (built with React Native and Redux).
- Hydropuzzle - Stylish puzzle adventure game.
- Github-Gist - React native mobile application for github gist
- Lyrics King - Minimalist and stylish lyrics search app.
- TensorFlow.js Starter - TensorFlow.js starter app using MobileNet to predict image class. Blog post for additional context.
- Art Museum - Browse through the endless Harvard's Art Museum collection.
- NMF.earth ★14 - Calculate, understand and reduce your carbon footprint. Available for Android and iOS, using Expo, Redux Toolkit and Typescript.
- Nyxo ★12 - Sleep tracker and sleep coaching app. Available for Android and iOS.
- Post Card App ★1 - Create old style post card and share on whatsapp as image. Built with Expo and available for android.
Frameworks
- NativeBase ★10520 - builds a layer on top of React Native that provides you with basic set of components for mobile application development
- Teaset ★1575 - A UI library for react native, provides 20+ pure JS(ES6) components, focusing on content display and action control.
- Awesome React Native Meteor ★152 - An awesome list of resources for using Meteor and React Native together
- first-born ★106 - A UI framework with pre-built components that render separately according to the underlying mobile platform.
- OsmiCSX ★48 - An utility React Native style framework for rapidly building custom user interfaces.
- React Native Diagnose ★13 - A framework to test a React Native app during runtime and production
Tutorials
Walkthroughs and tutorials that help you learn React Native.
- Fully-immersive, hands-on, and fun learning experience for React Native ★825
- React Native with Django backend ★12
- Setting up background tasks that run periodically when app is closed in React Native
- Animate React Native UI Elements
- Build a streaming audio app with React Native
- Building a Calculator for Android and iOS with React Native
- Building Custom React Native Components From Scratch
- Deploying React Native using Fastlane
- Enabling Live Reload
- Facebook's F8 App Walkthrough Tutorial: React Native, Redux, Relay, Flow, Jest
- Facebook Login With React Native
- Integrating Parse and React Native for iOS
- Introducing React Native (on Ray Wenderlich's)
- Leverage Existing iOS Views In Your React Native App
- Official React Native tutorial
- React Native Periscope Hearts Animation
- React Native Youtube Animated Video Slide
- React Native and Socket.io
- React-Native Animated with React-Art - Firework Tap To Shoot
- React-native Animated API Basic Example
- React-native Animated API with PanResponder
- React-native Animated ScrollView Row Swipe Actions
- React-native press and hold button actions
- React Native Express
- Simple React Native forms with redux-form, immutable.js and styled-components
- A Mini-Course on React Native Flexbox
- The beauty of react-native -Build a stunning wallpaper app
- Adding and removing custom fonts in React Native IOS Android
- Adding Custom Fonts to A React Native Application
- Building a Minimalist Weather App with React Native and Expo
- Getting Started with Lottie, React Native and Expo
- How to integrate Redux into your application with React Native and Expo
- React Native for Designers
- Start React Native - Animation tutorial series
Books
Books - free and commercial (but only good ones).
- Programming React Native - (Free) An in-depth React Native book that you should read after you've done a couple tutorials of the many out there.
- React Native Animation Book - (Free) React Native Animation.
Books - for sale.
- React Native In Action - Learn how to build applications using React Native from the ground up.
- React Native - Building Mobile Apps with JavaScript - Your go-to guide to creating truly native iOS and Android mobile applications using React and JavaScript.
- Fullstack React Native - The up-to-date, in-depth, complete guide to React Native.
Videos
Assortment of conference and training videos.
Talks
- Chain React 2019: React Native Only Playlist
- awesome-react-native-talks ★312 - A curated list of talks about React Native or topics related to React Native.
- Actually Building Things In React Native , Jani Eväkallio, Futurice
- Using Redux, Jonas Ohlsson, State
- Native Testing
- Reactotron
- React Native In The Wild - Bonnie Eisenman
- Chain React 2019: Playlist
- Chain React 2018: Playlist
- Chain React 2017: Playlist
- React Conf 2015: Introducing React Native
- React Conf 2015: A Deep Dive into React Native
- F8 2015: React Native and Relay
Training & tutorials
- Awesome React Native Education ★455
- React Native training ★238
- Let's build a React Native app in 20 minutes and Gist
- Mario Díez Channel - Youtube channel in spanish about with a series of videos talking about react native
- React Native Basics: Build a Currency Converter - (Free) A multi-hour in-depth video course showing you how to build apps with React Native.
- React Native in Arabic: Build a newspaper app - (Free) A simple to follow video series in Arabic showing you how to build a newspaper app with React Native.
- Building Youtube UI in 30 Minutes - A quick tutorial showing how to build Youtube Mobile app's UI using React Native. This tutorial helps in getting started with coding designs from scratch.
- Adding Authentication to a React Native Project - This tutorial shows how to easily add authentication to a React Native application using AWS Mobile Hub
- Generate React Native Forms with
tcomb-form-native - Build a chat app with React Native
- Egghead.io: React Native Fundamentals
- Pluralsight.com: Build iOS Apps with React Native
- Udemy.com: Build apps with React Native
- Udemy.com: Create Your First React Native App - Introduction to building a React Native app and learning the foundational pieces.
- Handlebarlabs.com: Learn React Native + Meteor - Comprehensive course & community on building an application with React Native and Meteor.
- Udemy.com: Automate Your React Native Releases with Fastlane & Bitrise - Learn step-by-step how to release your React Native applications into Stores automatically by using Fastlane & Bitrise.
Blogs
- React Native Training
- Use React Native Blog
- Facebook Code Blog
- The Bakery - JavaScript, React, React Native posts.
- Christopher Chedeau aka Vjeux
- Brent Vatne
- Kyle Corbitt - Cofounder at Emberall.
- Made with React - Showcase of apps using React or React Native.
- Spencer Carli
- Official React Native Blog
- reactnative.gallery - Show and tell for React Native developers
- Red Shift - Infinite Red - Lots of React Native content
- Ideamotive's Blog - Blog about React Native
Newsletters
Releases
Awesome-Xamarin

A hand-picked bookmark collection of subjectively modern/interesting and ideally open-source libraries/tools for Xamarin Android/iOS/Windows/OSX
Contents
- General
- Architecture
- Async
- Charts
- Cloud
- Database
- Fody
- Framework
- Game Engine
- IO/Storage
- IOC/DI
- Internationalization
- Layout
- Media
- MVVM
- Network
- Reactive
- Security
- Serialization
- TDD/BDD
- Tools
- UI
- Wearable
- Xamarin.Forms
- XPlat APIs
- Other lists
- Websites
General
- AutoMapper ★5,724 - A convention-based object-object mapper in .NET.
- Fluent Validation ★3,570 - Fluent interface and lambda expressions for building validation rules.
- Humanizer ★3,426 - Manipulation and displaying of strings, enums, dates, times, timespans, numbers and quantities.
- NodaTime ★970 - Alternative date and time API for .NET.
- Polly ★4,666 - Exception handling policies such as Retry, Retry Forever, Wait and Retry or Circuit Breaker.
Architecture
- Behaviors Toolkit ★34 - A means of adding common and reusable interactivity to your Xamarin applications with minimal code.
- Conditions ★48 - Library that helps developers write pre- and postcondition validations in a fluent manner.
- Stateless ★2,294 - State Machines.
Async
- AsyncEx ★1,253 - A helper library for async/await.
- LinqToAwait ★99 - A Task-based LINQ designed to work with async/await.
Charts
- MicroCharts ★1052 - Create cross-platform (Xamarin, Windows, ...) simple charts.
- MPAndroidChart/iOSCharts ★6 - MPAndroidChart/iOSCharts binding support use in Xamarin Forms.
- OxyPlot ★1,311 - Cross-platform plotting library for .NET.
Cloud
- Azure - Microsoft Azure.
- Bugfender ★10 - Store your application logs on the cloud (iOS & Android).
- FireSharp ★479 - Firebase REST API wrapper.
Database
- Akavache ★1,692 - An Asynchronous Key-Value Store for Native Applications.
- Breeze ★63 - Data management library for developers of rich client applications.
- Couchbase.Lite ★299 - Lightweight embedded NoSQL database.
- Lager ★2 - Cross-platform settings storage that uses Akavache as a storage backend.
- Massive ★1,708 - "wrapper" for your DB tables and uses System.Dynamic extensively.
- Realm ★690 - Mobile database that runs directly inside phones, tablets or wearables.
- Settings ★58 - Cross platform settings plugin for Xamarin and Windows.
- SQLite.Net-PCL ★340 - SQLite 3 databases support, PCL, async.
- LiteDB ★4245 - A .NET NoSQL Document Store in a single data file.
- DB4O-GPL ★8 - Object-Oriented Database, Embedded and Remote connections supported.
Fody
- Fody ★2,150 - Extensible tool for weaving .net assemblies.
- AutoDependencyProperty.Fody - Automatically generates DependencyProperty boilerplate from simple C# properties.
- PropertyChanged.Fody ★820 - Injects INotifyPropertyChanged code into properties at compile time.
- ReactiveUI.Fody ★105 - Generate RaisePropertyChange notifications for properties and ObservableAsPropertyHelper properties.
Framework
- Ammy - Modern UI language for XAML platforms. Free for non-commercial development.
- Appercode.UIFramework ★13 - Allows to build user interface of cross-platform mobile applications with single XAML layout.
- Invention - Develop native apps for iOS, Android and Windows with 100% code sharing using Visual Studio and C#.NET.
- SimplyMobile ★103 - Collection of abstracted mobile functionalities.
- Xamu-Infrastructure ★104 - Extensions, MVVM classes, behaviors and other misc. useful code bits from Xamarin University.
Game Engine
- CocosSharp ★463 - CSharp implementation of the Cocos2D and Cocos3D APIs.
- MonoGame ★5,276 - Open source implementation of the Microsoft XNA 4.x Framework.
- Paradox ★1,706 - Paradox3D + Silicon Studio .NET.
- UrhoSharp ★275 - Cross-platform high-level 3D and 2D engine.
- CocosCreator ★2 - Xamarin binding for CocosCreator Engine.
IO/Storage
- IO ★6 - Access system folders and files using a familiar api.
- PCL Storage ★270 - Consistent, portable set of local file IO APIs for .NET.
- FilePicker-Plugin-for-Xamarin ★37 - Simple cross-platform plug-in that allows you to pick files and work with them.
IOC/DI
- Autofac ★2,169 - An addictive .NET IoC container.
- DryIoc - Fast, small, full-featured IoC Container for .NET.
- Funq ★2 - High performance DI framework by eliminating all runtime reflection through the use of lambdas and generic functions as factories.
- LightInject ★320 - Light, simple and stunningly fast IoC container for .NET.
- Ninject ★2,034 - The ninja of .net dependency injectors.
- Stiletto ★36 - .NET port of Dagger, the lightweight Android dependency injector from Square.
- TinyIoC ★585 - Single-class easy IoC container.
Internationalization
- I18NPortable ★49 - Simple and cross platform internationalization/translations for Xamarin and .NET.
- Resxible ★9 - Tool to generate automatically several platform-dependent resource files from a single RESX file.
- Vernacular ★167 - Cross Platform Localisation, tools to convert standard strings formats.
- SimpleLocalize ★19 - Open source tool for managing i18n keys in Xmarin projects.
Layout
- Flex ★128 - Flexible box layout system.
Media
- EZ-Compress ★11 - A simple image stream compression plugin for Xamarin.
- Fast & Furious Image Loading ★820 - Xamarin library to load images quickly & easily.
- Lottie ★643 - Render After Effects animations natively on Android and iOS for Xamarin.
- LibVLCSharp ★174 - Xamarin bindings for libvlc, the multimedia framework powering the VLC applications made by VideoLAN.
- MediaManager ★269 - Cross platform Xamarin plugin to play Media from PCL.
- NGraphics ★482 - Cross platform library for rendering vector graphics.
- PDFReader ★51 - iOS (-only) library to display PDF documents on iPad and iPhone.
- Screenshot Plugin ★21 - A simple Screenshot plugin for Xamarin and Windows to get and save screenshot in yours apps.
- SkiaSharp ★920 - Powerful C# API for doing 2D graphics. It is powered by Google’s Skia library.
- Splat ★590 - Cross platform image loading, colors and stuff.
- SimpleAudioPlayer ★14 - Simple plugin for plays local files and audio data as a stream.
- ZXing.Net.Mobile ★570 - Barcode Scanning Library for MonoTouch, Mono for Android, and Windows Phone.
- SupportMediaXF ★2 - Simple cross platform plugin to take photos or pick them from a gallery from shared code
MVVM
- Bind ★158 - Bind gives you easy two-way data binding between properties of objects.
- EBind - Concise, fast and feature-rich .NET data binding with some Xamarin goodies.
- FreshMvvm ★324 - Super light Mvvm Framework designed specifically for Xamarin.Forms.
- Infinite Scroll Plugin ★24 - A Plugin which facilitates forward-only incremental scrolling for a paged data source.
- MVVMCross ★2,657 - Cross-platform mvvm mobile development framework.
- Cheesebaron.MvxPlugins ★79 - A collection of plugins.
- MvxAms ★1 - MVVMCross Azure Mobile Services plugin.
- MvxForms ★1 - MVVMCross plugin for using Xamarin.Forms.
- MugenMvvmToolkit ★127 - Cross-platform MVVM toolkit.
- MVVMLight - Cross-platform MVVM development framework.
- MvvmNano ★46 - Small and smart MVVM framework made with ❤ for Xamarin.Forms.
- Prism ★2,365 - Cross-platform MVVM development framework.
- ReactiveUI ★3,917 - Rx MVVM framework.
- Wires ★28 - Wires is a simple binding library.
Network
- Apizr ★4 - Refit based web api client, but resilient (retry, connectivity, cache, auth, log, priority, etc...).
- Connectivity ★200 - Cross-platform network/connection status.
- CrossDownloadManager ★67 - A cross platform download manager for Xamarin.
- Flurl ★1,295 - Flurl is a modern, fluent, asynchronous, testable, portable, buzzword-laden URL builder and HTTP client library.
- Fusillade ★216 - Set of HttpMessageHandlers that make your mobile applications more efficient and responsive.
- Messaging ★1 - Make a phone call, send a sms or send an e-mail using the default messaging applications.
- ModernHttpClient - Accelerates HTTP requests by using mobile-optimized libs (NSURLSession / OkHttp).
- NFC ★14 - Xamarin plugin for reading NFC tags.
- Push Notification ★1 - Simple cross platform plugin to handle push notification events such as registering, unregistering and messages arrival on Android and iOS.
- Reachability ★25 - Online/offline connected check.
- Refit ★2,762 - The automatic type-safe REST library for Xamarin and .NET.
- RestEase ★339 - Refit on steroids, simpler auth, parsing...
- RestLess ★57 - The automatic type-safe-reflectionless REST API client library for .Net Standard.
- RestSharp ★6,994 - Simple REST and HTTP API Client for .NET.
- Sockets ★185 - An abstraction over the socket helper classes of .NET and WinRT.
- Tiny.RestClient ★31 - Description Simpliest Fluent REST client for Xamarin and .NET.
Reactive
- Akavache ★1,692 - An Asynchronous Key-Value Store for Native Applications.
- ReactiveUI ★3,917 - Rx MVVM framework.
- Refit ★2,762 - Refit is a library heavily inspired by Square's Retrofit library, and it turns your REST API into a live interface.
- ReactiveProperty ★361 - Provides MVVM and asynchronous support features under Reactive Extensions.
- RxFlow ★18 - Simple Flow Control Library with Rx(Reactive Extensions).
- Sensors - ACR Reactive Sensors Plugin for Xamarin & Windows.
- CrossPlatformLiveData - Android LiveData inspired .NET implementation - lifecycle aware rx streams.
Security
- Portable.BouncyCastle ★136 - Portable version of Bouncy Castle with support for .NET 4, .NET Standard 2.0, MonoAndroid, Xamarin.iOS, .NET Core.
- BreachDetector ★11 - Detect root, emulation, debug mode and other security concerns in your Xamarin apps.
- Cryoprison - Jailbreak/Root detection for Xamarin
- Fingerprint Plugin ★165 - Xamarin and MvvMCross plugin for accessing the fingerprint sensor.
- PCLCrypto ★184 - Cryptography for portable class libraries (MD5,...).
- Permissions ★255 - Simple cross platform plugin to check connection status of mobile device, gather connection type, bandwidths, and more.
Serialization
- Newtonsoft.Json ★5,812 - Popular high-performance JSON framework for .NET.
- Quicktype ★886 - Instantly generate classes and JSON serialization code from JSON.
TDD/BDD
- FluentAssertions - TDD/BDD fluent asserts.
- NBehave ★47 - Framework for Behaviour-Driven Development.
- VSMac-CodeCoverage - Gather code coverage results for your unit test projects from Visual Studio for Mac.
Tools
- Cheeseknife ★53 - A view injection library for Xamarin.Android.
- IconFont2Code ★52 - Generates a C# class with the glyph Unicode values in your font file (.ttf/.otf).
- GradleBindings ★103 - Visual Studio extension, for referencing gradle libs in Android projects.
- Material icons generator plugin - Xamarin Studio ★14 - Adding material icons to android project.
- Material icons generator plugin - Visual Studio - Adding material icons to android project.
- Mutatio ★18 - Visual Studio for Mac add-in/extension for converting old PCLs to .NET Standard 2.0 targeting projects automatically.
- PushSharp ★3,990 - A server-side library for sending Push Notifications to iOS (iPhone/iPad APNS), Android (C2DM and GCM - Google Cloud Message), Windows Phone, Windows 8, Amazon, Blackberry, and (soon) FirefoxOS devices!
- Twin Tools Add-In ★20 - Productivity plugin for Xamarin Studio.
- Xamaridea ★69 - Visual Studio extension, opens *.axml files in Android Studio.
- Xavtool ★15 - Command-line utility to automatically increase iOS / Android / UWP applications version.
- Xamarin-APRTextFieldSuggestions - Xamarin.iOS Autocomplete suggestions for UITextfield in iOS.
- VSMac-CodeDistribution - A Visual Studio for Mac extension that visualises code distribution between projects. Particularly useful for Xamarin projects to understand the amount of code shared between platforms.
UI
- Xamarin.Forms.Breadcrumb - A control that automatically generated a breadcrumb control
- Xamarin.Forms.StateButton - With this control you are able to create any style of button. This is possible as it acts as a wrapper to your XAML and provides you the events/ commands and properties to bind too.
- Essential UI Kit ★130 - Beautiful XAML pages for Xamarin.Forms app.
- Passcode ★13 - Xamarin component for locking an app with a passcode.
- SignaturePad ★117 - Signature Pad makes capturing, saving, exporting, and displaying signatures extremely simple on Xamarin.iOS, Xamarin.Android and Windows.
- Syncfusion Components - Rich set of UI components and file format libraries for Xamarin.Forms, Xamarin.iOS and Xamarin.Android applications.
- XamEffects ★53 - Touch effect for Xamarin.Forms.
- Telerik UI for Xamarin - Telerik UI for Xamarin offers more the 70 controls to build professional-looking modern mobile applications for iOS, Android and UWP from a single code base.
- Showcase View - Xamarin.Android Native showcase view. An easy-to-use customizable show case view with circular reveal animation.
- Animated Circle Loading View - A determiante/indetermiante loading view animation.
- Animated Icon Button - An animated icon button for Xamarin.iOS.
- SimpleBottomDrawer - Just a nice and simple BottomDrawer for your Xamarin Forms project
- SimpleColorPicker - Just a nice and simple ColorPicker for your Xamarin Forms project
- SimpleAppIntro - Just a nice and simple AppIntro for your Xamarin Forms project
- SimpleStaticMap - Just a simple static map control based on the Static API of Google Maps for your Xamarin Forms project
- TEdito2 - TEditor2 is a HTML editor for Xamarin, it has so many build-in features and easy to use.
- IridescentView - A custom Xamarin.Android ImageView with iridescence effect.
Wearable
- WormHoleSharp ★25 - Communication between Watch and iDevice.
Xamarin.Forms
- Acr-xamarin-forms ★244 - Camera/Gallery, Barcode Scanning, User Dialogs, Geo-Location, Network Utils, Device Info, Settings, E-Mail, Phone, SMS all for Xamarin.Forms.
- AdvancedTimer ★35 - Timer object and its methods are implemented for extended support for timers.
- Android AppCompat ★34 - Provide Material Design themes now for Xamarin.Forms apps natively without hacks.
- BadgeView ★31 - A simple Xamarin.Forms control to display a round badge.
- Circle Image Control - Simple but elegant way of display circle images in your Xamarin.Forms projects.
- Compass ★19 - Provides and simple way to access the compass on Windows Phone, iOS and Android from you Xamarin.Forms projects.
- Device Orientation ★28 - Simple cross-platform plugin to work with screen orientation of mobile device.
- Device Orientation ★1 - Simple way to get device orientation or be notified of orientation changes in your Xamarin.Forms projects.
- NControl ★243 - Xamarin.Forms control for NGraphics.
- Magic Gradients ★128 - Provides a simply way to implement a great variety of gradients in Xamarin.Forms.
- MvxForms ★8 - MVVMCross plugin for using Xamarin.Forms.
- PancakeView ★454 - An extended ContentView for Xamarin.Forms with rounded corners, borders, shadows, gradients and more.
- PullToRefreshLayout ★134 - [DEPRECATED] Pull To Refresh a ScrollView or ListView in Xamarin.Forms.
- Rb.Forms.Barcode ★34 - Xamarin.Forms view for scanning barcodes.
- Rg.Plugins.Popup - A cross platform plugin for Xamarin.Forms which allows to open Xamarin.Forms pages as a popup.
- SharedTransitions ★223 - Shared element transitions between pages in Xamarin.Forms (IOS/Android).
- Sharpnado.Presentation.Forms ★28 - HorizontalListView, TaskViewLoader, and Paginator.
- SolTech Xamarin Forms Toolkit ★31 - Set of helpful extensions to the Xamarin Forms framework.
- Store Rating Plugin ★7 - Rate app popup.
- SVG ★1 - SVG file format support.
- Swipecards ★80 - A Tinder-like swipe control for Xamarin.Forms.
- Toasts Plugin ★208 - A simple way of showing some notifications inside your Xamarin.Forms application.
- TwinTechsFormsLib ★187 - FastCell, FastImage, FastGridCell.
- Web Atoms for Xamarin.Forms - Write Xamarin.Forms app in JSX/JavaScript, Easily publish new version, integrate existing app with few lines of code, Code Push for Production with MVVM
- XamarinControls ★17 - Cross-platform controls for Xamarin and Xamarin.Forms (Checkbox using SkiaSharp).
- Xamarin-Forms-Labs ★1,392 - Powerful and cross platform set of controls and helpers.
- xamarin-forms-xna ★7 - Monogame wrapper for Xamarin.Forms.
- Xamarin.Forms.GoogleMaps ★250 - Maps library for Xamarin.Forms using Google Mapps API.
- XamFormsMvxTemplate ★19 - MVVMCross.Forms Visual Studio 2017 project template (iOS, Android, UWP).
- Xamarin.Essentials - Xamarin.Essentials provides developers with cross-platform APIs for their mobile applications.
- Xamarin.Forms.EntryAutoComplete - Custom control which functionality provides you with suggestions while typing. There are several modes of suggestions. The suggested text can be displayed in a drop-down list so that you can choose from different options.
- Xamarin.Forms.Skeleton - The latest trend for loading approaches in Xamarin Forms apps. Skeleton can be easily implemented on each view contained in your Xaml.
- MaterialDesignControlsPlugin - MaterialDesignControls Plugin for Xamarin Forms is a collection of Xamarin.Forms controls that apply the Material Design Guidelines.
XPlat APIs
Most of them support Android and iOS, some do Windows Phone 8
- Calendars ★49 - Calendar API plugin for Xamarin and Windows Phone, Supports basic CRUD operations with calendars and events.
- Device Motion ★1 - Simple cross platform plugin to read motion vectors value for device motion sensors such as: Accelerometer, Gyroscope, Magnetometer, Compass.
- Estimote ★37 - Cross platform implementation of the estimote library for beacons.
- Fingerprint ★165 - Xamarin and MvvMCross plugin for accessing the fingerprint sensor.
- HybridKit ★21 - Simple C# – JavaScript bridge for building hybrid iOS and Android apps.
- Lamp ★1 - Simple way of controlling the lamp/LED on the back of your phone from Xamarin and Xamarin.Forms projects.
- ManageSleep ★15 - Manage auto sleep / auto lock in all platforms. This is useful when dealing with long running processes.
- Messaging ★88 - The Messaging plugin makes it possible to make a phone call, send a sms or send an e-mail using the default messaging applications on the different mobile platforms.
- Notifications ★79 - Notifications plugin for Xamarin and Windows.
- Pontoon ★27 - A flexible bridge to the Universal Windows Platform.
- Shiny ★428 - A Xamarin Framework for Backgrounding & Device Hardware Services.
- Telephony ★17 - Email, sms, voice and video call functionality.
- userdialogs ★510 - Standard user dialogs from a shared/portable library.
- Version ★1 - Get app version from bundle.
- Xamarin.Badge ★33 - Simple cross platform plugin to work with application badge.
- Xamarin.Essentials ★560 - Essential cross-platform APIs from Xamarin team for iOS and Android. Provide easy access to or usage of: Acelerometer, App Information, Battery, Clipboard, Compass, Connectivity, Data Transfer (Share), Device Display Information, Device Information, Email, File System Helpers, Flashlight, Geocoding, Geolocation, Gyroscope, Magnetometer, Open Browser, Orientation Sensor, Power, Phone Dialer, Preferences, Screen Lock, Secure Storage, SMS, Text-to-Speech, Version Tracking, Vibrate.
- Xamarin.LocalNotifications ★40 - Simple cross platform plugin to work with mobile local notifications.
- Xamarin.Mobile ★237 - Reading the user's address book and using the camera.
- Xamarin-plugins ★39 - Device Motion, Geofencing, Push Notifications (Beta).
Other lists
- Awesome Xamarin Bookmarks ★9 - Hand-picked bookmarks of interesting (must have) links for Xamarin developers.
- Open Source Xamarin Apps ★11 - A list of open source Xamarin apps.
- Xamarin Bindings ★112 - A list of existing library bindings.
- Xamarin Components ★1,338 - Here you will find a listing of cross platform Plugins for Xamarin that support Xamarin.iOS, Xamarin.Android, Xamarin.Forms, and Windows Platform from a single API.
- Xamarin Universal Library ★3 - This is a universal library that contains everything we need to know about the Xamarin universe.
Websites
- Planet Xamarin - An aggregator of content from Xamarin Community members. Why subscribe individually when you can subscribe to one convenient RSS feed? If RSS isn't your thing, follow the Twitter or Facebook accounts which are automatically updated with the latest content from the community.
- Programming Community Curated Resources For Learning Xamarin - A curated list of resources for learning Xamarin.
- Weekly Xamarin - Hand-picked round up of the best Xamarin development links every week. Curated by Geoffrey Huntley and published every Friday. Free.
- Xamarin Online Courses - A list of over 60 Online Courses (free and paid) from Classpert Online Course Search.
License
see LICENSE
Linux
We all know that Linux is awesome, but here's a list of especially awesome things related to the Linux ecosystem.

You might also want to check awesome-c, awesome-shell, awesome-sysadmin, and awesome-security.
Table of Content
- Distributions
- Beginners
- Intermediate
- Advanced
- Special Purpose
- Learning Resources
- Books
- Courses
- X Desktop Environments
- GNOME
- KDE
- Xfce
- LXDE
- Other Desktop Environments
- X Windows Managers
- Applications
- GUI-based Applications
- Console-based Applications and Tools
- Useful Websites
- License
Distributions
Distributions are organized into three different categories: for beginners, for intermediate users and for advanced users. In those categories, the distributions are organized in the alphabetical order.
Beginners
elementary OS
elementary OS is an Ubuntu-based desktop distribution. Some of its more interesting features include a custom desktop environment called Pantheon and many custom apps including Photos, Music, Videos, Calendar, Terminal, Files, and more. It also comes with some familiar apps like the Epiphany web browser and a fork of Geary mail.
Latest version: elementary OS Juno (5.0)
Default Desktop Environment: Pantheon

Fedora
Fedora (formerly Fedora Core) is a Linux distribution developed by the community-supported Fedora Project and owned by Red Hat. Fedora contains software distributed under a free and open-source license and aims to be on the leading edge of such technologies. Fedora has a reputation for focusing on innovation, integrating new technologies early on and working closely with upstream Linux communities. The default desktop in Fedora is the GNOME desktop environment and the default interface is the GNOME Shell. Other desktop environments, including KDE, Xfce, LXDE, MATE and Cinnamon, are available. Fedora Project also distributes custom variations of Fedora called Fedora spins. These are built with specific sets of software packages, offering alternative desktop environments or targeting specific interests such as gaming, security, design, scientific computing and robotics.
Latest version: Fedora Twenty Nine (29)
Default Desktop Environment: GNOME

Linux Mint
Linux Mint is an Ubuntu-based distribution whose goal is to provide a more complete out-of-the-box experience by including browser plugins, support for DVD playback, Java and other components. It also adds a custom desktop and menus, several unique configuration tools, and a web-based package installation interface. Linux Mint is compatible with Ubuntu software repositories.
Latest version: Linux Mint Tessa (19.1)
Default Desktop Environment: Cinnamon and MATE

Ubuntu
Ubuntu is a complete desktop Linux operating system, freely available with both community and professional support. The Ubuntu community is built on the ideas enshrined in the Ubuntu Manifesto: that software should be available free of charge, that software tools should be usable by people in their local language and despite any disabilities, and that people should have the freedom to customise and alter their software in whatever way they see fit. "Ubuntu" is an ancient African word, meaning "humanity to others". The Ubuntu distribution brings the spirit of Ubuntu to the software world.
Latest version: Ubuntu 18.10
Default Desktop Environment: GNOME

Intermediate
CentOS
CentOS as a group is a community of open source contributors and users. Typical CentOS users are organisations and individuals that do not need strong commercial support in order to achieve successful operation. CentOS is 100% compatible rebuild of the Red Hat Enterprise Linux, in full compliance with Red Hat's redistribution requirements. CentOS is for people who need an enterprise class operating system stability without the cost of certification and support.
Latest version: CentOS 7.1810
Default Desktop Environment: GNOME

Debian GNU/Linux
The Debian Project is an association of individuals who have made common cause to create a free operating system. This operating system is called Debian. Debian systems currently use the Linux kernel. Linux is a completely free piece of software started by Linus Torvalds and supported by thousands of programmers worldwide. Of course, the thing that people want is application software: programs to help them get what they want to do done, from editing documents to running a business to playing games to writing more software. Debian comes with over 50,000 packages (precompiled software that is bundled up in a nice format for easy installation on your machine) - all of it free. It's a bit like a tower. At the base is the kernel. On top of that are all the basic tools. Next is all the software that you run on the computer. At the top of the tower is Debian -- carefully organizing and fitting everything so it all works together.
Latest version: Debian Stretch (9.6)
Default Desktop Environment: GNOME

Mageia
Mageia is a fork of Mandriva Linux formed in September 2010 by former employees and contributors to the popular French Linux distribution. Unlike Mandriva, which is a commercial entity, the Mageia project is a community project and a non-profit organisation whose goal is to develop a free Linux-based operating system.
Latest version: Mageia 6.1
Default Desktop Environment: KDE

Manjaro
Manjaro Linux is a fast, user-friendly, desktop-oriented operating system based on Arch Linux. Key features include intuitive installation process, automatic hardware detection, stable rolling-release model, ability to install multiple kernels, special Bash scripts for managing graphics drivers and extensive desktop configurability. Manjaro Linux offers Xfce as the core desktop options, as well as a minimalist Net edition for more advanced users. Community-supported GNOME 3/Cinnamon and KDE flavours are available. Users also benefit from the supportive and vibrant Manjaro community forum.
Latest version: Manjaro 18.0.2
Default Desktop Environment: XFCE, KDE

openSUSE
The openSUSE project is a community program sponsored by SUSE Linux and other companies. Promoting the use of Linux everywhere, this program provides free, easy access to openSUSE, a complete Linux distribution. The openSUSE project has three main goals: make openSUSE the easiest Linux for anyone to obtain and the most widely used Linux distribution; leverage open source collaboration to make openSUSE the world's most usable Linux distribution and desktop environment for new and experienced Linux users; dramatically simplify and open the development and packaging processes to make openSUSE the platform of choice for Linux developers and software vendors.
Latest version: openSUSE Leap 15.0 and openSUSE Tumbleweed (Rolling Release system)
Default Desktop Environment: KDE, GNOME, XFCE, LXDE (Choose on installation)

Advanced
Arch Linux
Arch Linux is an independently developed, x86_64-optimised Linux distribution targeted at competent Linux users. It uses 'pacman', its home-grown package manager, to provide updates to the latest software applications with full dependency tracking. Operating on a rolling release system, Arch can be installed from a CD image or via an FTP server. The default install provides a solid base that enables users to create a custom installation. In addition, the Arch Build System (ABS) provides a way to easily build new packages, modify the configuration of stock packages, and share these packages with other users via the Arch Linux user repository.
Latest version: Not applicable (Rolling Release system)
Default Desktop Environment: Not applicable (there's no default Desktop environment)
Special Purpose
CoreOS
Specialty: Clusters
CoreOS is a Linux-based operating system for servers. Built from the ground up and designed primarily for the modern data centre, CoreOS provides specialist tools for making the system secure, reliable and up-to-date. Some of the more interesting features of the distribution include reliable updates and patches via FastPatch, a dashboard for managing rolling updates via CoreUpdate, a docker for packaging applications, as well as support for bare metal and many cloud providers.
Kali Linux
Specialty: Penetration testing
Kali Linux (formerly known as BackTrack) is a Debian-based distribution with a collection of security and forensics tools. It features timely security updates, support for the ARM architecture, a choice of four popular desktop environments, and seamless upgrades to newer versions.
Puppy Linux
Specialty: Low system requirements
Puppy Linux is yet another Linux distribution. What's different here is that Puppy is extraordinarily small, yet quite full-featured. Puppy boots into a ramdisk and, unlike live CD distributions that have to keep pulling stuff off the CD, it loads into RAM. This means that all applications start in the blink of an eye and respond to user input instantly. Puppy Linux has the ability to boot off a flash card or any USB memory device, CDROM, Zip disk or LS/120/240 Superdisk, floppy disks, internal hard drive. It can even use a multisession formatted CD-RW/DVD-RW to save everything back to the CD/DVD with no hard drive required at all.
Ubuntu Studio
Specialty: Multimedia creation
Ubuntu Studio is a variant of Ubuntu aimed at the GNU/Linux audio, video and graphic enthusiast as well as professional. The distribution provides a collection of open-source applications available for multimedia creation.
Tails
Specialty: Incognito live system
Tails is a live system that aims to preserve your privacy and anonymity. It helps you to use the Internet anonymously and circumvent censorship almost anywhere you go and on any computer but leaving no trace unless you ask it to explicitly. It is a complete operating system designed to be used from a USB stick or a DVD independently of the computer's original operating system. It is Free Software and based on Debian GNU/Linux. Tails comes with several built-in applications pre-configured with security in mind: web browser, instant messaging client, email client, office suite, image and sound editor, etc.
Learning Resources
Books
The Linux Command Line [4.36] [FREE]
This is a great introduction to the Linux command line. - @4iar
You've experienced the shiny, point-and-click surface of your Linux computer—now dive below and explore its depths with the power of the command line.
The Debian Administrator's Handbook, Debian Wheezy from Discovery to Mastery [4.83] [FREE]
Good book that teaches you the basics of Debian GNU/Linux administration. - @elninosi
It covers all the topics that a competent Linux administrator should master, from the installation, update of the system, up to the creation of packages and the compilation of the kernel, but also monitoring, backup and migration. Plus advanced topics to secure services, automated installations, or virtualization.
Bash Shell Scripting [FREE]
Currently this book provides an introduction level knowledge of Bash.
Courses
Introduction to Linux (LFS101x-1) [Free]
Organized by the Linux Foundation, it's a great free course to learn basics about Linux. - @aleksandar-todorovic
Linux Alternatives to Windows Applications [Free]
If you used Windows and decided to switch to Linux, this course should help you to find their alternatives. It's pretty short and you can finish it in a day. - @aleksandar-todorovic
Bash Learning Resources
- Beautiful Bash: Let's make reading and writing bash scripts fun again!
- Best Practices for Writing Bash Scripts
- Shell Style Guide
- Linux Fu: Better Bash Scripting
- Bash Guide for Beginners
- Advanced Bash-Scripting Guide
X Desktop Environments
You cannot talk about a unified Linux look because there is no such thing.

GNOME
GNOME 3 is an easy and elegant way to use your computer. It is designed to put you in control and bring freedom to everybody. GNOME 3 is developed by the GNOME community, a diverse, international group of contributors that is supported by an independent, non-profit foundation.

KDE
The KDE® Community is an international technology team dedicated to creating a free and user-friendly computing experience, offering an advanced graphical desktop, a wide variety of applications for communication, work, education and entertainment and a platform to easily build new applications upon. We have a strong focus on finding innovative solutions to old and new problems, creating a vibrant atmosphere open for experimentation.

Xfce
Xfce is a lightweight desktop environment for UNIX-like operating systems. It aims to be fast and low on system resources, while still being visually appealing and user friendly.

LXDE
The "Lightweight X11 Desktop Environment" is an extremely fast-performing and energy-saving desktop environment. Maintained by an international community of developers, it comes with a beautiful interface, multi-language support, standard keyboard short cuts and additional features like tabbed file browsing. LXDE uses less CPU and less RAM than other environments. It is especially designed for cloud computers with low hardware specifications, such as netbooks, mobile devices (e.g. MIDs) or older computers. LXDE can be installed on many Linux distributions including Debian, Fedora, OpenSUSE and Ubuntu. It is the standard for Knoppix and lubuntu. LXDE also runs on OpenSolaris and BSD. LXDE provides a fast desktop experience; connecting easily with applications in the cloud. LXDE supports a wealth of programs that can be installed locally with Linux systems. The source code of LXDE is licensed partly under the terms of the GNU General Public License and partly under the LGPL.

Other Desktop Environments
- Cinnamon - Strives to provide a traditional user experience.
- EDE - Small desktop environment built to be responsive, light in resource usage and to have a familiar look and feel.
- LXQt - Qt port and the upcoming version of LXDE, the Lightweight Desktop Environment. It is the product of the merge between the LXDE-Qt and the Razor-qt projects: A lightweight, modular, blazing-fast and user-friendly desktop environment.
- MATE - Provides an intuitive and attractive desktop to Linux users using traditional metaphors. Fork of GNOME 2.
- Pantheon - Pantheon is the default desktop environment originally created for the elementary OS distribution. The desktop has some similarities with GNOME Shell and macOS.
X Windows Managers
- 9wm - Window manager that attempts to emulate the Plan 9 window manager 8-1/2 as far as possible within the constraints imposed by X.
- awesome - Highly configurable window manager for X. Fast and extensible.
- Blackbox - Lightweight window manager for the X window system, without library dependencies. Built using C++.
- bspwm - Tiling window manager that represents windows as the leaves of a full binary tree.
- Compiz - OpenGL compositing window manager. It has a plug-in system to be changed at runtime.
- dwm - Dynamic window manager for X. It manages windows in tiled, monocle and floating layouts. All of the layouts can be applied dynamically, optimising the environment for the application and task performed.
- Enlightenment - Window manager bundled with a whole suite of libraries to help you create beautiful user interfaces.
- Fluxbox - Window manager for X, lightweight and easy to handle but full of features to make an easy and fast desktop experience. Built using C++.
- FVWM - ICCCM-compliant multiple virtual desktop window manager for X. Extremely powerful.
- i3 - Tiling window manager. BSD-licensed. Primarily targeted at advanced users and developers.
- IceWM - Window manager with the goal of being fast, simple, and not getting in the user's way.
- JWM - Lightweight window manager for X11. Good choice for older and/or less powerful systems, though perfectly capable of running on modern systems. Built using C.
- Matchbox - Environment for X running on non-desktop embedded platforms such as handhelds, set-top boxes, kiosks and anything else for which screen space, input mechanisms or system resources are limited.
- Mutter - Window manager for X. Default window manager in GNOME 3.
- Openbox - Highly configurable window manager with extensive standards support.
- ratpoison - A simple window manager with no library dependencies, no graphics, and no decorations. Modeled after GNU Screen.
- Sawfish - Extensible window manager. Its aim is to manage windows in the most flexible and attractive manner possible. Built using Lisp-based scripting language.
- wmii - Small, scriptable window manager, with a 9P filesystem interface and an acme-like layout.
- xmonad - Dynamically tiling X11 window manager. Makes work easier by automating aligning and searching for windows. Built using Haskell.
Applications
The list of awesome Linux applications that you should be using.
If you're looking for some pro-tips for your favorite text editor, you might be interested in awesome-atom, sublime-bookmarks, vim-galore, awesome-emacs, or awesome-vscode.
GUI-based Applications
GNOME-based
- Builder - IDE for GNOME that is focused on bringing the power of the GNOME platform to more developers.
- Evince - The most popular document viewer on the GNOME platform.
- Gedit - Powerful general purpose text editor.
- Polari - IRC client built to be easy to use.
- To Do - Minimalistic personal task manager designed to fit right into your GNOME desktop.
For more GNOME-based apps, visit: https://wiki.gnome.org/Apps
Pantheon-based
- FeedReader - RSS desktop client able to integrate with multiple online services.
- Go For It! - To-do list with built-in productivity timer.
- NaSC - Intelligent calculator app.
- Spice-Up - Desktop presentation app.
- Vocal - Podcast client for the modern desktop.
For more Pantheon-based apps, visit elementary-apps.
KDE-based
For more KDE-based apps, visit: https://www.kde.org/applications/
Not based on any desktop environment
- Atom - Hackable text editor for the 21st century.
- ghostwriter - Distraction-free Markdown editor.
- GParted - The most popular disk partitioning software out there.
- Kodi - Most popular entertainment center.
- Zathura - Highly customizable document viewer. It provides a minimalistic and space saving interface as well as an easy usage that mainly focuses on keyboard interaction.
- Etcher - Flash OS images to SD cards and USB drives, safely and easily.
Third-party clients for online services
Q: Why third-party apps? Why not the official clients?
A: Because, in 99% of the cases, official clients are proprietary.
- Corebird - Twitter client.
- GNOME Twitch - Twitch player.
- Caprine - Facebook's Messenger client with some added privacy features.
- PB for Desktop - Pushbullet client.
- ramme - Instagram client.
- Whatever - Evernote client based on the web version.
Package management and creation tools
Distro-oriented:
- Y PPA Manager (Ubuntu) - Manage PPAs and search for packages.
- pirut (Fedora) - Provides a set of graphical tools for managing software.
- Synaptics (Debian and
.debusers) - Graphical package management program forapt. - YaST (openSUSE) - Main package management tool on openSUSE.
- dnfdragora (Fedora) - A GUI for the
dnfpackage manager. - Yay (Arch) - Yay is one of the many wrappers to
pacmanwhich automatically downloads and installs packages from AUR, a full list can be found here. - Aura (Arch) - Secure, multilingual package manager.
Distro-independent:
- AppImageKit - Using AppImageKit you can package applications in the AppImage format that runs on common Linux-based operating systems, such as RHEL, CentOS, Ubuntu, Fedora, debian and derivatives; one app = one file.
Console-based Applications and Tools
You might also be interested in checking out awesome-shell, awesome-bash, awesome-zsh-plugins or awesome-fish.
- cmus - Small, fast and powerful console music player.
- fuck - Command line tool which corrects your previously mistyped command.
- git - Distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
- glances - Cross-platform system monitoring tool.
- htop - Nice looking, customizable task manager.
- nano - Simple to use text editor.
- photorec - Useful tool for restoring deleted files.
- ranger - Vim-inspired file manager for the console.
- screenFetch - Fetches system/theme information in terminal.
- shellcheck - Static analysis tool for shell scripts.
- speed-test - Test your Internet connection speed and ping using speedtest.net.
- testdisk - A tool for disk partition recovery.
- tig - Text-mode interface for git. It functions mainly as a Git repository browser.
- vim - Advanced text editor that seeks to provide the power of the de-facto Unix editor 'Vi', with a more complete feature set.
- vtop - Easily-extendable activity monitor.
- wavemon - Monitoring application for wireless network devices.
- youtube-dl - A tool to download videos from YouTube and other video sites.
Useful Websites
Compute Freely
A friendly place to start for the Free & Open Source Software and Linux curious.
AlternativeTo
Find better alternatives to the software you already use or a replacement for software you cannot or do not want to use.
Linux Foundation
The Linux Foundation is a non-profit consortium dedicated to fostering the growth of Linux. Founded in 2000, The Linux Foundation sponsors the work of Linux creator Linus Torvalds and is supported by leading Linux and open source companies and developers from around the world.
Linux.com
For the community, by the community, Linux.com strives to be the central source for informed, reasonable, and intelligent Linux information, software, documentation and answers across the server, desktop/netbook, mobile, and embedded areas.
Linux.org
Although its design is outdated, Linux.org is (probably) the most popular forum and it's full of awesome Linux tutorials categorized by their difficulty. - @aleksandar-todorovic
Kernel.org
The Linux Kernel Organization is a California Public Benefit Corporation established in 2002 to distribute the Linux kernel and other Open Source software to the public without charge.
Opensource.com
Opensource.com is an online publication focused on how open source is applied to different areas including business, education, government, health, law and other disciplines of life.
Our goal is to further the open source way by sharing the open source movement. Our community of readers is made up of those who believe that open participation and sharing can tackle the business, social, environmental, and technological challenges facing us today.
Linux.die
Linux.die is a resource with documentation, tutorials, books, etc in Linux.
License
This repository is licensed under the Do What the Fuck You Want to Public License. Its full content is located in the LICENSE file.
Awesome Linux Containers
Table of Contents
- Foundations
- Specifications
- Clouds
- Operating Systems
- Hypervisors
- Containers
- Sandboxes
- Partial Access
- Filesystem
- Dashboard
- Best practices
- Security
- Tools
- Links
- Levels of security problems
- Technologies for security
- Another Information Sources
Foundations
- OPEN CONTAINER INITIATIVE
The Open Container Initiative is a lightweight, open governance structure, to be formed under the auspices of the Linux Foundation, for the express purpose of creating open industry standards around container formats and runtime. - Cloud Native Computing Foundation
The Cloud Native Computing Foundation will create and drive the adoption of a new set of common container technologies informed by technical merit and end user value, and inspired by Internet-scale computing. - Cloud Foundry Foundation
The Cloud is our foundry.
Specifications
- Open Container Specifications
This project is where the Open Container Initiative Specifications are written. This is a work in progress. - App Container basics
App Container (appc) is an open specification that defines several aspects of how to run applications in containers: an image format, runtime environment, and discovery protocol. - Systemd Container Interface
Systemd is a suite of basic building blocks for a Linux system. It provides a system and service manager that runs as PID 1 and starts the rest of the system. If you write a container solution, please consider supporting the following interfaces. - Nulecule Specification
Nulecule defines a pattern and model for packaging complex multi-container applications and services, referencing all their dependencies, including orchestration metadata in a container image for building, deploying, monitoring, and active management. - Oracle microcontainer manifesto
This is not a new container format, but simply a specific method for constructing a container that allows for better security and stability. - Cloud Native Application Bundle Specification
A package format specification that describes a technology for bundling, installing, and managing distributed applications, that are by design, cloud agnostic.
Clouds
- Amazon EC2 Container Service
Container management service that supports Docker containers and allows you to easily run applications on a managed cluster of Amazon EC2 instances. - Google Cloud Platform
Run Docker containers on Google Cloud Platform, powered by Kubernetes. Google Container Engine actively schedules your containers, based on declared needs, on a managed cluster of virtual machines. - Jelastic
Unlimited PaaS and Container-Based IaaS in a Joint Cloud Solution for DevOps. - Joyent
High-Performance Container-Native Infrastructure for Today's Demanding Real-Time Web and Mobile Applications. - Kubernetes
Manage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops. - Mesosphere
The Mesosphere Datacenter Operating System (DCOS) is a new kind of operating system that spans all of the machines in your datacenter or cloud. It provides a highly elastic, and highly scalable way of deploying applications, services and big data infrastructure on shared resources. - OpenShift Origin
OpenShift Origin is a distribution of Kubernetes optimized for continuous application development and multi-tenant deployment. Origin adds developer and operations-centric tools on top of Kubernetes to enable rapid application development, easy deployment and scaling, and long-term lifecycle maintenance for small and large teams. - Warden
Manages isolated, ephemeral, and resource controlled environments. Part of Cloud Foundry - the open platform as a service project. - Virtuozzo
A platform, built on Virtuozzo containers, that can be easily run on top of any bare-metal or virtual servers in any public or private cloud, to automate, optimize, and accelerate internal IT and development processes. - Rancher
Rancher is a complete, open source platform for deploying and managing containers in production. It includes commercially-supported distributions of Kubernetes, Mesos, and Docker Swarm, making it easy to run containerized applications on any infrastructure. - Docker Swarm
Docker Swarm is native clustering for Docker. - Azure Container Service
Azure Container Service optimizes the configuration of popular open source tools and technologies specifically for Azure. - CIAO
Cloud Integrated Advanced Orchestrator for Intel Clear Linux OS. - Alibaba Cloud Container Service
Container Service is a high-performance and scalable container application management service that enables you to use Docker and Kubernetes to manage the lifecycle of containerized applications. - Nomad
HashiCorp Nomad is a single binary that schedules applications and services on Linux, Windows, and Mac. It is an open source scheduler that uses a declarative job file for scheduling virtualized, containerized, and standalone applications.
Operating Systems
- CoreOs
A lightweight Linux operating system designed for clustered deployments providing automation, security, and scalability for your most critical applications. - RancherOS
RancherOS is a tiny Linux distro that runs the entire OS as Docker containers. - Project Atomic
Project Atomic provides the best platform for your Linux Docker Kubernetes (LDK) application stack. Use immutable infrastructure to deploy and scale your containerized applications. - Snappy Ubuntu Core
Ubuntu Core is the perfect system for large-scale cloud container deployments, bringing transactional updates to the world’s favourite container platform. - ResinOS
A host OS tailored for containers, designed for reliability, proven in production. - Photon
Photon OS is a minimal Linux container host designed to have a small footprint and tuned for VMware platforms. Photon is intended to invite collaboration around running containerized and Linux applications in a virtualized environment. - Clear Linux Project
The Clear Linux Project for Intel Architecture is a distribution built for various Cloud use cases. - CargOS
CargOS is a new lightweight, open source, platform for Docker hosts that aims for speed, manageability and security. Releases are built for 64-bit Intel/AMD CPUs. - OSv
OSv is the open source operating system designed for the cloud. Built from the ground up for effortless deployment and management, with superior performance. - HypriotOS
Minimal Debian-based operating systems that is optimized to run Docker. It made it dead easy use Docker on any Raspberry Pi. - MCL
MCL (Minimal Container Linux) is a from scratch minimal Linux OS designed specifically to run containers. It has a small footprint of ~50MB and boots within seconds. It is currently optimized to run Docker.
Hypervisors
- Docker
An open platform for distributed applications for developers and sysadmins. Standard de facto. - LXD
Daemon based on liblxc offering a REST API to manage LXC containers. - OpenVZ
OpenVZ is container-based virtualization for Linux. OpenVZ creates multiple secure, isolated Linux containers (otherwise known as VEs or VPSs) on a single physical server enabling better server utilization and ensuring that applications do not conflict. - MultiDocker
Create a secure multi-user Docker machine, where each user is segregated into an indepentent container. - Lithos
Lithos is a process supervisor and containerizer for running services. It is not intended to be system init, but rather tries to be a base tool to build container orchestration. - containerd
A container runtime which can manage a complete container lifecycle - from image transfer/storage to container execution, supervision and networking.
Containers
- runc
runc is a CLI tool for spawning and running containers according to the OCS specification. - Bocker
Docker implemented in around 100 lines of bash. - Rocket
rkt (pronounced "rock-it") is a CLI for running app containers on Linux. rkt is designed to be composable, secure, and fast. Based on AppC specification. - LXC
LXC is the well known set of tools, templates, library and language bindings. It's pretty low level, very flexible and covers just about every containment feature supported by the upstream kernel. - Vagga
Vagga is a fully-userspace container engine inspired by Vagrant and Docker, specialized for development environments. - libct
Libct is a containers management library which provides convenient API for frontend programs to rule a container during its whole lifetime. - libvirt
A big toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes). - systemd-nspawn
Spawn a namespace container for debugging, testing and building. Part of systemd. - porto
The main goal of Porto is to create a convenient, reliable interface over several Linux kernel mechanism such as cgroups, namespaces, mounts, networking etc. - udocker
A basic user tool to execute simple containers in batch or interactive systems without root privileges. - Let Me Contain That For You
LMCTFY is the open source version of Google’s container stack, which provides Linux application containers. - cc-oci-runtime
Intel Clear Linux OCI (Open Containers Initiative) compatible runtime. - railcar
Railcar is a rust implementation of the opencontainers initiative's runtime spec. It is similar to the reference implementation runc, but it is implemented completely in rust for memory safety without needing the overhead of a garbage collector or multiple threads. - Kata Containers
Kata Containers is a new open source project building extremely lightweight virtual machines that seamlessly plug into the containers ecosystem. - plash
Lightweight, rootless containers. - runv
Hypervisor-based (KVM, Xen, QEMU) Runtime for OCI. Security by isolation. - podman
Full management of container lifecycle. - firecracker
Firecracker runs workloads in lightweight virtual machines, called microVMs, which combine the security and isolation properties provided by hardware virtualization technology with the speed and flexibility of containers. - sysbox
Sysbox is a "runc" that creates secure (rootless) containers / pods that run not just microservices, but most workloads that run in VMs (e.g., systemd, Docker, and Kubernetes), seamlessly. - youki
A container runtime written in Rust.
Sandboxes
- Firejail
Firejail is a SUID sandbox program that reduces the risk of security breaches by restricting the running environment of untrusted applications using Linux namespaces, seccomp-bpf and Linux capabilities. - NsJail
NsJail is a process isolation tool for Linux. It makes use of the namespacing, resource control, and seccomp-bpf syscall filter subsystems of the Linux kernel. - Subuser
Securing the Linux desktop with Docker. - Snappy
Snappy Ubuntu Core is a new rendition of Ubuntu with transactional updates - a minimal server image with the same libraries as today’s Ubuntu, but applications are provided through a simpler mechanism. - xdg-app
xdg-app is a system for building, distributing and running sandboxed desktop applications on Linux. - Bubblewrap
Run applications in a sandbox using Linux namespaces without root privileges, with user namespacing provided via setuid binary. - singularity
Universal application containers for Linux. - Lxroot
Lxroot is a flexible, lightweight, and safer alternative to chroot and/or Docker for non-root users on Linux.
Partial Access
- nsenter
Run program with namespaces of other processes. Part of the util-linux. - ip-netns
Process network namespace management. Part of the iproute2. - unshare
Run program with some namespaces unshared from parent. Part of the util-linux. - python-nsenter
This Python package allows entering Linux kernel namespaces (mount, IPC, net, PID, user and UTS) by doing the "setns" syscall. - butter
Python library to interface to low level linux features (inotify, fanotify, timerfd, signalfd, eventfd, containers) with asyncio support. - pyspaces
Works with Linux namespaces through glibc with pure python. - CRIU
Checkpoint/Restore In Userspace is a software tool for Linux operating system. Using this tool, you can freeze a running application (or part of it) and checkpoint it to a hard drive as a collection of files. CRIU integrated with Docker and LXC to implement Live migration of containers. - Moby
A "Lego set" of toolkit components for containers software created by Docker.
Filesystem
- container-diff
A tool for analyzing and comparing container images. - buildah
A tool which facilitates building OCI container images. - skopeo
Work with remote images registries - retrieving information, images, signing content. - img
Standalone, daemon-less, unprivileged Dockerfile and OCI compatible container image builder. - dgr
Command line utility designed to build and to configure at runtime App Containers Images (ACI) and App Container Pods (POD) based on convention over configuration. - Whaler
Whaler is designed to reverse engineer a Docker Image into the Dockerfile that created it. - dive
A tool for exploring each layer in a docker image. - go-containerregistry
Go library and CLIs for working with container registries. - kaniko
Kaniko is a tool to build container images from a Dockerfile, inside a container or Kubernetes cluster. - umoci
Umoci is a tool to manipulate OCI container images, and can be used as a rudimentary build tool. - docker pushrm
A Docker CLI plugin that that lets you push the README.md file from the current directory to a container registry. Supports Docker Hub, Quay and Harbor.
Dashboard
- LXC-Web-Panel
Web panel for LXC on Ubuntu. - Liman
Basic docker monitoring web application. - portainer
Lightweight Docker management UI. - swarmpit
Lightweight mobile-friendly Docker Swarm management UI.
Best practices
- The Twelve-Factor App
The twelve-factor app is a methodology for building software-as-a-service apps. - Container Best Practices
A collaborative project to document container-based application architecture, creation and management from Project Atomic.
Security
Tools
- Docker bench security
The Docker Bench for Security is a script that checks for dozens of common best-practices around deploying Docker containers in production. - CoreOS Clair
Open Source Vulnerability Analysis for your Containers. - bane
Custom AppArmor profile generator for docker containers. - OpenSCAP
The OpenSCAP ecosystem provides multiple tools to assist administrators and auditors with assessment, measurement and enforcement of security baselines. - drydock
Drydock provides a flexible way of assessing the security of your Docker daemon configuration and containers using editable audit templates. - trireme
Security by segmentation for Docker and Kubernetes. - goss
Quick and Easy server testing/validation. - sockguard
A proxy for docker.sock that enforces access control and isolated privileges. - gvisor
gVisor is a user-space kernel, written in Go, that implements a substantial portion of the Linux system surface. It includes an Open Container Initiative (OCI) runtime called runsc that provides an isolation boundary between the application and the host kernel. The runsc runtime integrates with Docker and Kubernetes, making it simple to run sandboxed containers. - docker-explorer
A tool to help forensicate offline docker acquisitions. - oci-seccomp-bpf-hook
OCI hook to trace syscalls and generate a seccomp profile.
Links
- CIS Security Benchmarks
- Are Docker containers really secure?
- Bringing new security features to Docker
- Docker, Linux Containers (LXC), and security
- For containers, security is problem #1
- Linux Container Security
- Ask HN: Best Linux sandbox?
- CIS Docker 1.6 Benchmark v1.0.0
- Understanding docker security and best practices
- Update on Ubuntu Phone security issue
- Don't expose the Docker socket (not even to a container)
- RedHat Blog
- Introduction to Linux Containers
- What’s Next for Containers? User Namespaces
- Architecting Containers Part 1: Why Understanding User Space vs. Kernel Space Matters
- Architecting Containers Part 2: Why the User Space Matters
- Secure Your Containers with this One Weird Trick
- Why you shouldn't use ENV variables for secret data
- When to use-Docker alternatives rkt and LXD
- The container is a lie
Levels of security problems
1) regular application
- always untrusted -> know it
- suid bit -> mount with nosuid
- limit available syscall -> seccomp-bpf, grsec
- leak to another container (bug in namespaces, filesystem) -> user namespaces with different uid inside for each container: 1000 in container - 14293 and 15398 outside; security modules like selinux or apparmor
2) system services like cron, ssh
- run as root -> isolate via bastion host or vm
- using /dev -> "devices" control group
The following device nodes are created in the container by default.
The Docker images are also mounted with nodev, which means that even if a device node was pre-created in the image, it could not be used by processes within the container to talk to the kernel.
/dev/console,/dev/null,/dev/zero,/dev/full,/dev/tty*,/dev/urandom,/dev/random,/dev/fuse - root calls -> capabilities (cap_sys_admin warning!)
Here is the current list of capabilities that Docker uses: chown, dac_override, fowner, kill, setgid, setuid, setpcap, net_bind_service, net_raw, sys_chroot, mknod, setfcap, and audit_write.
Docker removes several of these capabilities including the following:
CAP_SETPCAP Modify process capabilities
CAP_SYS_MODULE Insert/Remove kernel modules
CAP_SYS_RAWIO Modify Kernel Memory
CAP_SYS_PACCT Configure process accounting
CAP_SYS_NICE Modify Priority of processes
CAP_SYS_RESOURCE Override Resource Limits
CAP_SYS_TIME Modify the system clock
CAP_SYS_TTY_CONFIG Configure tty devices
CAP_AUDIT_WRITE Write the audit log
CAP_AUDIT_CONTROL Configure Audit Subsystem
CAP_MAC_OVERRIDE Ignore Kernel MAC Policy
CAP_MAC_ADMIN Configure MAC Configuration
CAP_SYSLOG Modify Kernel printk behavior
CAP_NET_ADMIN Configure the network
CAP_SYS_ADMIN Catch all
uses /proc, /sys -> remount ro, drop cap_sys_admin; security modules like selinux or apparmor; some part of this fs are "namespace-aware"
Docker mounts these file systems into the container as "read-only" mount points.
. /sys
. /proc/sys
. /proc/sysrq-trigger
. /proc/irq
. /proc/bus
Copy-on-write file systems
Docker uses copy-on-write file systems. This means containers can use the same file system image as the base for the container. When a container writes content to the image, it gets written to a container specific file system. This prevents one container from seeing the changes of another container even if they wrote to the same file system image. Just as important, one container can not change the image content to effect the processes in another container. - uid 0 -> user namespaces, uid 0 mappet to random uid outside
3) system services like devices, network, filesystems
- root -> more of services should work on host outside; isolate sensitive functions, run as non-privileged context
- full privileges -> isolate on kernel level
4) kernel drivers, network stack, security policies
- absolute privileges -> run it in separate vm
5) general like immutable infrastructure
- container is ro
- write to small separate rw nosuid part
Technologies for security
Things are better. For example, most modern container technologies can make use of Linux's built-in security tools such as:
AppArmor, SELinux and Seccomp policies;
Grsecurity;
Control groups (cgroups);
Kernel namespaces
src
Sure, you're deploying seccomp, but you can't use selinux inside your container, because the policy isn't per-namespace (?? lxc uses apparmore for each container...)
sVirt - selinux for kvm
src
Major kernel subsystems are not namespaced like:
- SELinux
- Cgroups
- file systems under /sys
- /proc/sys, /proc/sysrq-trigger, /proc/irq, /proc/bus
Devices are not namespaced:
- /dev/mem
- /dev/sd* file system devices
- kernel modules
If you can communicate or attack one of these as a privileged process, you can own the system.
src
Another Information Sources
- sysdig-container-ecosystem
The ecosystem of awesome new technologies emerging around containers and microservices can be a little overwhelming, to say the least. We thought we might be able to help: welcome to the Container Ecosystem Project. - doger.io
This page is an attempt to document the ins and outs of containers on Linux. This is not just restricted to programmers looking to implement containers or use container like features in their own code but also Sysadmins and Users who want to get more of a handle on how containers work 'under the hood'.
Awesome eBPF 
A curated list of awesome projects related to eBPF.
BPF, as in Berkeley Packet Filter, is an in-kernel virtual machine running programs passed from user space. Initially implemented on BSD, then Linux, the (now legacy) "classic BPF" or cBPF machine would be used with tools like tcpdump for filtering packets in the kernel to avoid useless copies to user space. More recently, the BPF infrastructure in Linux has been completely reworked and gave life to the "extended BPF", or eBPF, which gained new features (safety and termination checks, JIT-compiling for programs, persistent maps, a standard library, hardware offload support, etc.) and is now used for many tasks. Processing packets at a very low level (XDP), tracing and monitoring events on the system, or enforcing access control over cgroups are but a few examples to which eBPF brings performance, programmability and flexibility.
Recently Cilium launched a great website about eBPF called ebpf.io. It serves a similar purpose to this list, with an introduction to eBPF and links to related projects.
Note: eBPF is an exciting piece of technology, and its ecosystem is constantly evolving. We'd love help from you to keep this awesome list up to date, and improve its signal-to-noise ratio in anyway we can. Please feel free to leave any feedback.
Contents
- Reference Documentation
- Articles and Presentations
- Tutorials
- Examples
- eBPF Workflow: Tools and Utilities
- Projects Related to eBPF
- eBPF in Security
- The Code
- Development and Community
- Other Lists of Resources on eBPF
- Acknowledgement
Reference Documentation
eBPF Essentials
- ebpf.io - A gateway to discover all the basics of eBPF, including a listing of the main related projects and of community resources.
- Cilium's BPF and XDP Reference Guide - In-depth documentation about most features and aspects of eBPF.
Kernel Documentation
- BPF Documentation - Index for BPF-related documentation coming with the Linux kernel.
- linux/Documentation/networking/filter.rst - eBPF specification (somewhat outdated; information should still be valid, but not exhaustive).
- BPF Design Q&A - Frequently Asked Questions on the decisions behind the BPF infrastructure.
- HOWTO interact with BPF subsystem - Frequently Asked Questions about contributing to eBPF development.
Manual Pages
bpf(2)- Manual page about thebpf()system call, used to manage BPF programs and maps from userspace.tc-bpf(8)- Manual page about using BPF with tc, including example commands and samples of code.bpf-helpers(7)man page - Description of the in-kernel helper functions forming the BPF standard library.
Other
- IO Visor's Unofficial eBPF spec - Summary of eBPF syntax and operation codes.
- Jesper Dangaard Brouer's documentation - Work in progress, contributions welcome.
-
Emails from David Miller to the xdp-newbies mailing list:
- Contextually speaking...
Articles and Presentations
Generic eBPF Presentations and Articles
If you are new to eBPF, you may want to try the links described as "introductions" in this section.
- A brief introduction to XDP and eBPF - An accessible introduction providing context, history, and details about the functioning of eBPF.
-
An eBPF Overview - Blog series by Adrian Ratiu, covering many aspects of the eBPF infrastructure:
-
Ferris Ellis's blog posts about eBPF - They have a few posts about eBPF:
- Part 1: Past, Present, and Future
- Part 2: Syscall and Map Types
- A BPF reference guide - About BPF C and bcc Python helpers, from bcc repository.
- Making the Kernel's Networking Data Path Programmable with BPF and XDP - A set of slides covering all the basics about eBPF and XDP (mostly for network processing).
- The BSD Packet Filter - An introduction mostly covering the tracing aspects.
- BPF: tracing and more - An introduction mostly covering the tracing aspects.
- Linux BPF Superpowers - An introduction mostly covering the tracing aspects, first part with flame graphs.
- IO Visor - Also introduces IO Visor project.
- BPF -- in-kernel virtual machine - Presentation by the author of eBPF.
- Extending extended BPF - A blog post from 2014 on the development of BPF and demonstrating what can be done with it, using an example of stateful socket filtering by attaching an eBPF program to a socket.
- Greg Marsden made some documentation about eBPF:
- A Tour of Program Types - A description of all existing hooks for BPF program types, and of their interest.
- BPF helper functions - A review of the kernel functions that can be called from within eBPF programs.
- Communicating with Userspace - How BPF communicates with userspace - BPF maps, perf events, bpf_trace_printk.
- Building BPF Programs - Setting up your environment to build BPF programs.
- The BPF Bytecode and the BPF Verifier - How does BPF ensure that programs are safe?
- Using BPF to do Packet Transformation - One eBPF usage about packet transformation.
- Linux Kernel Observability through eBPF - A blog post covering the basics of eBPF as well as code samples in Go on how to build and load a minimal eBPF program into the kernel.
- eBPF - From a Programmer's Perspective - A short paper describing the fundamentals of eBPF and how to get started with writing eBPF programs.
- Cloudflare's blog posts on eBPF - Different blog posts about networking use cases and low-level aspects of eBPF.
- Linux Extended BPF (eBPF) Tracing Tools - An in-depth collection of information around examples of performance analysis tools using eBPF. Contains also a section at the end of the page about other resources.
BPF Internals
-
Daniel Borkmann has made several presentations and papers covering the internals of eBPF, in particular about its use with tc.
- Advanced programmability and recent updates with tc's cls_bpf - Details on eBPF, its use for tunneling and encapsulation, direct packet access, and more.
- cls_bpf/eBPF updates since netdev 1.1 - Part of this tc workshop.
- On getting tc classifier fully programmable with cls_bpf - Introduction to eBPF, including several features (map management, tail calls, verifier). The full paper is also available here.
- Linux Networking Explained - Linux networking internals, with a part about eBPF.
Kernel Tracing
- Full-system dynamic tracing on Linux using eBPF and bpftrace - A detailed introduction to tracing with eBPF, from listing the available trace points to running bpftrace programs.
- Meet-cute between eBPF and Kernel Tracing - Kprobes, uprobes, ftrace.
- Linux Kernel Tracing - Systemtap, Kernelshark, trace-cmd, LTTng, perf-tool, ftrace, hist-trigger, perf, function tracer, tracepoint, kprobe/uprobe, and more.
- Brendan Gregg's blog, and in particular Linux BPF Superpowers article.
XDP
- The eXpress Data Path - A very accessible introduction to XDP, providing sample code to show how to process packets.
- All XDP details in a technical paper: The eXpress Data Path: Fast Programmable Packet Processing in the Operating System Kernel, by Toke Høiland-Jørgensen, Jesper Dangaard Brouer, Daniel Borkmann, John Fastabend, Tom Herbert, David Ahern and David Miller, all being essential eBPF and XDP contributors.
- Work-in-progress documentation for XDP
- BPF and XDP Reference Guide - Guide from the Cilium project.
- XDP Project overview
- eXpress Data Path (XDP) - The first presentation about XDP.
- BoF - What Can BPF Do For You?
- eXpress Data Path - Contains some benchmark results obtained with the mlx4 driver.
-
Jesper Dangaard Brouer has several sets of slides describing the internals of XDP:
-
XDP − eXpress Data Path, Intro and future use-cases - Linux Kernel's fight against DPDK. Future plans (as of this writing) for XDP and comparison with DPDK.
- Network Performance Workshop - Additional hints about XDP internals and expected evolution.
- XDP – eXpress Data Path, Used for DDoS protection - Details and use cases about XDP, with benchmark results, and code snippets for benchmarking as well as for basic DDoS protection with eBPF/XDP (based on an IP blacklisting scheme).
- Memory vs. Networking, Provoking and fixing memory bottlenecks - Advanced details about current memory issues faced by XDP developers.
- XDP for the Rest of Us - How to get started with eBPF and XDP for normal humans. Also summarized by Julia Evans on her blog.
-
XDP now with REDIRECT - Update on XDP, and in particular on the redirect actions.
-
XDP workshop -- Introduction, experience, and future development (Video)
- High Speed Packet Filtering on Linux - About packet filtering on Linux, DDoS protection, packet processing in the kernel, kernel bypass, XDP and eBPF.
- How to drop 10 million packets per second - Cloudflare's blog post talking about their move to using XDP for packet filtering.
AF_XDP
- AF_XDP - Kernel documentation on the AF_XDP address family.
- Fast Packet Processing in Linux with AF_XDP
bpfilter
- Why is the kernel community replacing iptables with BPF? - A blog post by Cilium on the the motivations behind eBPF and bpfilter, with a couple examples and links to other projects using eBPF and bpfilter.
- bpfilter: Linux firewall with eBPF sauce - Slides from a talk by Quentin Monnet with a background on eBPF and comparing bpfilter to iptables.
BTF
- BPF Type Format (BTF) - Kernel documentation about BTF, explaining how to use it.
- Enhancing the Linux kernel with BTF type information - A description of the work done with BTF to provide debugging information for BPF programs.
cBPF
- The BSD Packet Filter: A New Architecture for User-level Packet Capture - The original paper about (classic) BPF.
- The FreeBSD manual page about BPF
- Linux' packet mmap(2), BPF, and Netsniff-NG
- tc and cls bpf: lightweight packet classifying with BPF
- Introducing Cloudflare's BPF Tools - Usage of BPF bytecode with the
xt_bpfmodule for iptables. - Libpcap filters syntax
Hardware Offload
- eBPF/XDP hardware offload to SmartNICs - Hardware offload for eBPF with TC or XDP (Linux kernel 4.9+), introduced by Netronome.
- Comprehensive XDP offload---Handling the edge cases - An update on the topic above.
- hBPF - eBPF in hardware - An eBPF CPU written for FPGAs.
- OpenCSD eBPF SSD offloading - Computational Storage simulation (QEMU) platform with FUSE LFS filesystem for Zoned Namespaces NVMe SSDs using uBPF for compute kernel offloading, all in userspace.
Tutorials
- bcc Reference Guide - Many incremental steps to start using bcc and eBPF, mostly centered on tracing and monitoring.
- bcc Python Developer Tutorial - Comes with bcc, but targets the Python bits across seventeen "lessons".
- Building BPF applications with libbpf-bootstrap - Helps generate minimal or advanced templates to bootstrap your own applications (kernel side and user space management for maps and programs) with features like CO-RE, global variables, and ring buffer.
- How I ended up writing opensnoop in pure C using eBPF - A thorough walk-through of how to write eBPF programs, first using only bpf() syscall, and then libbpf library, with reproducible code examples.
- Linux Tracing Workshops Materials - Involves the use of several BPF tools for tracing.
- Tracing a packet journey using Linux tracepoints, perf and eBPF - Troubleshooting ping requests and replies with perf and bcc programs.
- Open NFP platform - Operated by Netronome: some tutorials for network-related eBPF use cases, including an eBPF Offload Starting Guide.
- XDP for the Rest of Us - First edition of a workshop to get started with XDP.
- XDP for the Rest of Us - Second edition, with new contents.
- Load XDP programs using the ip (iproute2) command
- XDP Hands-On Tutorial - A progressive (three levels of difficulty) tutorial to learn how to process packets with XDP.
- All your tracing are belong to BPF - A step-by-step walkthrough to integrate tracing capabilities in your C++ applications with the LLVM libraries.
Examples
- linux/samples/bpf/ - In the kernel tree: some sample eBPF programs.
- linux/tools/testing/selftests/bpf - In the kernel tree: Linux BPF selftests, with many eBPF programs.
- prototype-kernel/kernel/samples/bpf - Jesper Dangaard Brouer's prototype-kernel repository contains some additional examples that can be compiled outside of kernel infrastructure.
- iproute2/examples/bpf/ - Some networking programs to attach to the TC interface.
- Netronome sample network applications - Provides basic but complete examples of eBPF applications also compatible with hardware offload.
- bcc/examples - Examples coming along with the bcc tools, mostly about tracing.
- bcc/tools - These tools themselves can be seen as example use cases for BPF programs, mostly for tracing and monitoring. bcc tools have been packaged for some Linux distributions.
- MPLSinIP sample - A heavily commented sample demonstrating how to encapsulate & decapsulate MPLS within IP. The code is commented for those new to BPF development.
- ebpf-samples - A collection of compiled (as ELF object files) samples gathered from several projects, primarily intended to serve as test cases for user space verifiers.
- ebpf-kill-example - A fully documented and tested example of an eBPF probe that logs all force-kills and prints them out in user-space.
- redbpf examples - Example programs for using RedBPF to write eBPF programs in Rust.
eBPF Workflow: Tools and Utilities
bcc
- bcc - Framework and set of tools - One way to handle BPF programs, in particular for tracing and monitoring. Also includes some utilities that may help inspect maps or programs on the system.
- Lua front-end for BCC - Another alternative to C, and even to most of the Python code used in bcc.
iproute2
- iproute2 - Package containing tools for network management on Linux. In particular, it contains
tc, used to manage eBPF filters and actions, andip, used to manage XDP programs. Most of the code related to BPF is in lib/bpf.c. - iproute2-next - The development tree, synchronised with net-next.
LLVM
-
LLVM - Contains several tools used in eBPF workflows. Snapshots of the latest versions for Ubuntu/Debian can be retrieved from here.
-
clang is used to compile C to eBPF object file under the ELF format (clang v3.7.1+). The BPF backend was added with this commit.
- llvm-objdump is used to dump the content of an object file in human-readable format, possibly with the initial C source code (llvm-objdump v4.0+).
- llvm-mc is used to compile from LLVM intermediate representation to eBPF object file, so that one can compile from C to eBPF assembly, tinker with assembly, then compile to ELF file.
libbpf
- libbpf - A C library used for handling BPF objects (programs and maps), and manipulating ELF object files containing them. It is shipped with the kernel and mirrored on GitHub.
- libbpf-bootstrap - Scaffolding for BPF application development with libbpf and BPF CO-RE.
Aya
- aya - A pure Rust library for writing, loading, and managing eBPF objects, with a focus on developer experience and operability. It supports writing eBPF programs in Rust and distributing library code over crates.io to share it between eBPF programs. Aya does not depend on libbpf.
- aya-template - Templates for writing BPF applications in Aya that can be used with
cargo generate.
oxidebpf
- oxidebpf - A pure Rust library for managing eBPF programs, designed for security use cases. The featureset is more limited than other libraries but emphasizes stability across a wide range of kernels and backwards-compatible compile-once-run-most-places.
bpftool and Other Tools from the Kernel Tree
-
bpftool - Also some other tools in the kernel tree, under linux/tools/net/ for versions earlier than 4.15, or linux/tools/bpf/ after that:
-
bpftool- A generic utility that can be used to interact with eBPF programs and maps from userspace, for example to show, dump, load, disassemble, pin programs, or to show, create, pin, update, delete maps, or to attach and detach programs to cgroups. bpf_asm- A minimal cBPF assembler.bpf_dbg- A small debugger for cBPF programs.bpf_jit_disasm- A disassembler for both BPF flavors and could be highly useful for JIT debugging.
User Space eBPF
- uBPF - Written in C. Contains an interpreter, a JIT compiler for x86_64 architecture, an assembler and a disassembler.
- A generic implementation - With support for FreeBSD kernel, FreeBSD user space, Linux kernel, Linux user space and macOS user space. Used for the VALE software switch's BPF extension module.
- rbpf - Written in Rust. Interpreter for Linux, macOS and Windows, and JIT-compiler for x86_64 under Linux.
- PREVAIL - A user space verifier for eBPF using an abstract interpretation layer, with support for loops.
- oster - Written in Go. A tool for tracing execution of Go programs by attaching eBPF to uprobes.
- wachy - A tracing profiler that aims to make eBPF uprobe-based debugging easier to use. This is done by displaying traces in a UI next to the source code and allowing interactive drilldown analysis.
Testing in Virtual Environments
- A Vagrant setup - To easily test XDP. Less useful now that generic XDP (driver-independant, mostly for testing) exists.
- bcc in a Docker container
Projects Related to eBPF
-
P4 has some interactions with eBPF:
-
P4 on the Edge - P4 with eBPF to create high-performance programmable switches.
- OvS Orbit episode (#11), called P4 on the Edge - Related to the former item. Audio interview of John Fastabend by Ben Pfaff, one of the core maintainers of Open vSwitch.
- P4, EBPF and Linux TC Offload - P4 with some elements related to eBPF hardware offload on Netronome's NFP (Network Flow Processor) architecture.
- Old documentation for P4 usage with eBPF - From bcc repository; deprecated by the P4_16 backend linked below.
-
Cilium project (GitHub repository) is a technology relying on BPF and XDP to provide "fast in-kernel networking and security policy enforcement for containers based on eBPF programs generated on the fly". Many presentations available (with overlap):
-
Cilium: Networking & Security for Containers with BPF & XDP - Also featuring a load balancer use case
- Cilium: Networking & Security for Containers with BPF & XDP - video
- Cilium: Fast IPv6 container Networking with BPF and XDP
- Cilium: BPF & XDP for containers
- OvS Orbit episode (#4) - Interview of Thomas Graf by Ben Pfaff.
- A generic introduction to Cilium
-
A podcast interviewing Thomas Graf - Ivan Pepelnjak interviewing Thomas, October 2016, on eBPF, P4, XDP and Cilium.
-
Open vSwitch (OvS), and its related project Open Virtual Network (OVN, an open source network virtualization solution) are considering using eBPF at various level:
-
Coupling the Flexibility of OVN with the Efficiency of IOVisor
-
Katran - A layer 4 load-balancer based on XDP, open-sourced by Facebook.
- XDP in practice: integrating XDP in our DDoS mitigation pipeline - Protection against DDoS with XDP at Cloudflare.
- Droplet: DDoS countermeasures powered by BPF + XDP - Protection against DDoS with XDP at Facebook.
- DPDK has a poll-mode driver (PMD) based on AF_XDP
- CETH for XDP - Common Ethernet Driver Framework for faster network I/O, a technology initiated by Mellanox.
-
Suricata, an open source intrusion detection system, relies on eBPF components for its "capture bypass" features:
- SEPTun-Mark-II - Extreme Performance Tuning guide - Mark II.
- A blog post introducing the feature
- The adventures of a Suricate in eBPF land
- gobpf - utilizing eBPF from Go - A library to create, load and use eBPF programs from Go.
- ply - A small but flexible open source dynamic tracer for Linux, with features similar to the bcc tools, but with a simpler language inspired by awk and DTrace.
- bpftrace - A tool for tracing with its own high-level tracing language. It is flexible enough to be envisioned as a Linux replacement for DTrace and SystemTap.
- bpftrace Cheat Sheet - Summary and cheat sheet for programming in bpftrace. Contains information about syntax, probe types, variables and functions.
- kubectl trace - A kubectl plug-in for executing bpftrace programs in a Kubernetes cluster.
- bpfd - Framework for running BPF programs with rules on Linux as a daemon. Container aware.
- BPFd - A distinct BPF daemon, trying to leverage the flexibility of the bcc tools to trace and debug remote targets, and in particular devices running with Android.
- adeb - A Linux shell environment for using tracing tools on Android with BPFd.
- greggd - System daemon to compile and load eBPF programs into the kernel, and forward program output to socket for metric aggregation.
- FUSE - Considers using eBPF.
- DEEP-mon - Helps with measuring power consumption for servers and uses eBPF programs for in-kernel aggregation of data.
- upf-bpf - An in-kernel solution based on XDP for 5G UPF.
- redbpf - Tooling and framework to write eBPF code in Rust efficiently.
- pixie - Observability for Kubernetes using eBPF. Features include protocol tracing, application profiling, and support for distributed bpftrace deployments.
- Project Calico - Calico is an open source networking and network security solution for containers, virtual machines, and native host-based workloads. Calico's eBPF data plane delivers a low latency, high throughput data plane with a rich network security policy model.
- Enabling eBPF data plane with Calico
- Falco - A cloud-native runtime security project used as a Kubernetes threat detection engine.
- Sysmon for Linux - A security monitoring tool. It depends on SysinternalsEBPF.
- Red Canary Linux Agent - Red Canary has started to incorporate eBPF to their Linux security sensor.
- Tracee - A runtime security and forensics tool for Linux which uses eBPF technology to trace the system and applications at runtime, and analyze collected events to detect suspicious behavioral patterns.
- eBPF for Windows - This project is a work-in-progress that allows using existing eBPF toolchains and APIs familiar in the Linux ecosystem to be used on top of Windows.
- redcanary-ebpf-sensor - A set of BPF programs that gather security relevant event data from the Linux kernel. The BPF programs are combined into a single ELF file from which individual probes can be selectively loaded, depending on the running operating system and kernel version.
- bpflock - Lock Linux machines - An eBPF driven security tool for locking and auditing Linux machines.
eBPF in Security
- Embrace The Red: Offensive BPF! - A series of posts around the introduction into BPF with a focus to an offensive setting, and also how its misuse can be detected. Posts include discussions on the rootkit capabilities of eBPF, or on which tracing type is needed for different use cases.
- eBPF: Block Linux Fileless Payload "Malware" Execution with BPF LSM - Blog post about how BPF can help detection and blocking fileless malware.
- Blackhat 2021: With Friends Like eBPF, Who Needs Enemies? - Talk about an eBPF rootkit and how the capabilities of eBPF could be abused. The rootkit was also the object of a talk at Defcon, eBPF, I thought we were friends !.
- ebpfkit - A rootkit that leverages multiple eBPF features to implement offensive security techniques.
- ebpfkit-monitor - An utility to statically analyze eBPF bytecode or monitor suspicious eBPF activity at runtime. It was specifically designed to detect ebpfkit.
- Bad BPF - A collection of malicious eBPF programs that make use of eBPF's ability to read and write user data in between the usermode program and the kernel.
The Code
- linux/include/linux/bpf.h - with linux/include/uapi/bpf.h: definitions related to eBPF, to be used respectively in the kernel and to interface with userspace programs.
- linux/include/linux/filter.h - with linux/include/uapi/filter.h: information used to run the BPF programs themselves.
-
linux/kernel/bpf/ - This directory contains most of BPF-related code. In particular, those files are worth of interest:
-
syscall.c- Different operations permitted by the system call, such as program loading or map management. core.c- BPF interpreter.-
verifier.c- BPF verifier. -
linux/net/core/filter.c - Functions and eBPF helpers related to networking (TC, XDP etc.); also contains the code to migrate cBPF bytecode to eBPF (all cBPF programs are translated to eBPF in recent kernels).
- linux/kernel/trace/bpf_trace.c - Functions and eBPF helpers related to tracing and monitoring (kprobes, tracepoints, etc.).
- The JIT compilers are under the directory of their respective architectures, such as file linux/arch/x86/net/bpf_jit_comp.c for x86. Exception is made for JIT compilers used for hardware offload, sitting in their drivers, such as linux/drivers/net/ethernet/netronome/nfp/bpf/jit.c for Netronome NFP.
- linux/net/sched/ - and in particular in files
act_bpf.c(action) andcls_bpf.c(filter): code related to BPF actions and filters with TC. - linux/kernel/seccomp.c
- linux/net/core/dev.c - contains the function
dev_change_xdp_fd()that is called through a Netlink command to hook a XDP program to a device, after is has been loaded into the kernel from user space. This function in turns uses a callback from the relevant driver.
Development and Community
- The bpf-next tree - BPF patches land in this tree. It is regularly merged into net-next, which is itself merged for each release to Linus' tree.
- Kernel documentation - About contributions to BPF.
- The netdev mailing list - Mailing list for Linux kernel networking stack development. All patches are sent there for review and inclusion.
- XDP-newbies - A mailing list specially dedicated to XDP programming (both for architecture or for asking for help).
- IO Visor mailing list - BPF is at the heart of the project, and is regularly discussed on the mailing list.
- @IOVisor Twitter account
- The XDP Collaboration Project - A GitHub repository with notes and ideas regarding the future evolutions of XDP.
Other Lists of Resources on eBPF
- IO Visor's bcc documentation
- IO Visor's bpf-docs repository
- Dive into BPF: A List of Reading Material
Acknowledgement
Thank you to Quentin Monnet and Daniel Borkmann for their original work on Dive into BPF: A List of Reading Material which became the basis for this list.
Contributing
Contributions welcome! Read the contribution guidelines first.
License
To the extent possible under law, zoidbergwill has waived all copyright and related or neighboring rights to this work.
Awesome Arch

An awesome list for an awesome project.
Arch Linux is an independently developed, x86-64 general purpose GNU/Linux distribution versatile enough to suit any role. Development focuses on simplicity, minimalism, and code elegance. Arch is installed as a minimal base system, configured by the user upon which their own ideal environment is assembled by installing only what is required or desired for their unique purposes.
Contents
- Arch-based projects
- Linux
- Not Linux
- Arch-based distros
- Desktop
- Specific purpose
- Pacman-based Linux distros
- SystemD-free Arch-based distros
- Arch Linux Installers
- AUR Helpers
- Search and download
- Search and build
- Pacman wrappers
- Graphical
- Maintenance
- Other
- Other projects
Arch-based projects
Linux
Linux distributions strongly inspired by Arch Linux.
- Arch Linux 32 - The community maintained continuation of 32-bit support for Arch Linux.
- Arch Linux ARM - A distribution of Linux for ARM computers.
Not Linux
Non-Linux projects based on Arch Linux.
- PacBSD - A lightweight and flexible BSD distribution that provides a base system for use of
pacmanpackage manager. - Arch Hurd - A derivative work of Arch Linux porting it to the GNU Hurd system with packages optimised for the i686 architecture.
- ArchWSL - ArchLinux as a WSL Instance.
Arch-based distros
Desktop
Linux distributions based on Arch Linux for general use.
- Manjaro - A professionally made Linux based operating system that is a suitable replacement for Windows or macOS.
- ArcoLinux - A full-featured distribution.
- ArchBang Linux - A lightweight distribution based on Arch Linux.
- Archcraft OS - A Minimalistic Linux Distribution, Focused On Aesthetics & Based On Arch Linux.
- Archman - An Arch Linux-based distribution which features the Calamares system installer and a pre-configured desktop environment.
- Bluestar Linux - A GNU/Linux distribution that is based on Arch Linux.
- EndeavourOS - A rolling release Linux distribution based on Arch Linux.
- ArchLabs Linux - A distribution based on Arch Linux and featuring the Openbox window manager as the primary desktop interface.
- Namib GNU/Linux - A desktop operating system based on (and compatible with) the Arch Linux distribution.
- ArchEX - A new (190612) Linux live DVD based on Arch Linux. Arch motto is KISS (Keep It Simple Stupid.
- Arch XFerience - A modern OS based on Arch Linux, built for day-to-day operations with tons of packages & features.
- Ctlos Linux - Arch Linux based distro.
- MagpieOS - Get a fresh experience of Arch.
- Netrunner Rolling - Manjaro/Arch Linux based distro.
- PuppyRus-A - Lightweight, portable and flexible Linux based on Arch, Puppy, Porteus.
- TeLiSc OS - A simple GNU/Linux distribution based on Arch Linux which provides you a stable Arch Linux with i3 window manager.
- Qubes OS (Archlinux Template) - A security-focused desktop operating system that aims to provide security through isolation (Unofficial Archlinux Template).
Specific purpose
Linux distributions based on Arch Linux with a specific purpose.
- BlackArch Linux - (Security/Forensics) - An Arch Linux-based distribution designed for penetration testers and security researchers.
- ArchStrike - (Security) - A distribution for security professionals and researchers based on Arch Linux.
- SystemRescueCd - (Data Rescue) - An Arch-based Linux system on a bootable CD-ROM or USB drive, designed for repairing a system and data after a crash.
- MorpheusArch Linux - (Data Rescue) - A distribution based on Arch Linux.
- LinHES - (MythTV) - An attempt to make the installation of GNU/Linux and MythTV as trivial as possible.
- UBOS - (Server) - A Linux distribution designed to greatly reduce the amount of time required to set up and maintain common network services.
- TalkingArch - (Assistive) - A re-spin of the Arch Linux live ISO image, modified to include speech and Braille output for blind and visually-impaired users.
- Archphile - (Raspberry Pi/ARM/Audio) - Yet another linux audio distribution for embedded boards.
- BBQLinux - (Android Developers) - A user-friendly Linux distribution made for Android developers. It has everything on board to build AOSP or AOSP-based distributions like LineageOS or OmniROM.
- RaspArch - (Raspberry Pi/ARM) - A “remaster” of Arch Linux ARM.
Pacman-based Linux distros
Linux distributions that use
pacmanas a package manager.
- Chakra GNU/Linux - A user-friendly and powerful distribution and live CD originally forked from Arch Linux.
- KaOS - KaOS is an independent distribution focused on Qt and KDE.
SystemD-free Arch-based distros
Linux distributions based on Arch Linux that implement alternative inits to SystemD.
- Obarun - An Arch Linux based distribution featuring the S6 init software in place of systemd.
- Artix Linux - A fork (or continuation as an autonomous project) of the Arch-OpenRC and Manjaro-OpenRC projects.
- Hyperbola GNU/Linux-libre - A community driven effort to provide a fully free (as in freedom) operating system that is stable, secure, simple, lightweight that tries to Keep It Simple Stupid (KISS) with Long Term Support (LTS).
- Parabola GNU/Linux-libre - An unofficial "libre" variant of Arch Linux.
- Alfheim Linux - Systemd free Arch based Linux.
Arch Linux Installers
Installers created specifically to facilitate the installation of Linux Arch.
- Anarchy - A simple and intuitive Arch Linux installer.
- Archfi - Just a simple bash script wizard to install Arch Linux after you have booted on the official Arch Linux install media.
AUR Helpers
Search and download
- Auracle (C++) - A flexible command line client for Arch Linux's User Repository.
- pbget (Python) - Retrieve PKGBUILDs and local source files from Git, ABS and the AUR for makepkg.
- repoctl (Go) - Make it easy to manage your local Arch Linux repository.
- yaah (Bash) - A helper for the Archlinux User Repository (AUR).
Search and build
- Aurutils (Bash) - Helper tools for the AUR.
- Bauerbill (Python) - An extension of Powerpill with AUR and ABS support.
- PKGBUILDer (Python) - An AUR helper (and library) in Python 3.
- repofish (Bash) - Simple shell script used to manage a local archlinux repository.
- RUA (Rust) - Build tool for Arch Linux providing control, review and jailed build options.
Pacman wrappers
- Aura (Haskell) - A secure, multilingual package manager for Arch Linux and the AUR.
- Pacaur (Bash) - An AUR helper that minimizes user interaction.
- Pakku (Nim) -
pacmanwrapper with AUR support. - Paru (Rust) - AUR helper with all needed modern wrapper features, created by a former developer of yay.
- pikaur (Python) - AUR helper with minimal dependencies. Review PKGBUILDs all in once, next build them all without user interaction.
- Trizen (Perl) - Lightweight AUR Package Manager.
- Yay (Go) - Yet another Yogurt, an AUR Helper written in Go.
Graphical
- Argon (Python | GTK3) - lightweight GUI package manager for Arch Linux.
- Cylon (Bash | TUI) - A CLI TUI menu driven bash shell script supporting updates, maintenance, backups and system checks for an Arch based Linux distro.
- Pamac (Vala | GTK3) - Graphical Package Manager for Manjaro Linux with Alpm, AUR, Appstream, Flatpak and Snap support.
- Pakku GUI (Python | GTK3) - Basic GTK interface to (install|remove|upgrade) packages with
pakku. - PkgBrowser (Python | Qt5) - A utility for browsing
pacmandatabases and the AUR. - Octopi (C++ | Qt5) - A graphical user interface for the Arch Linux package management tool
pacman. - Yup (Go | TUI) - Arch Linux AUR Helper with ncurses functionality and better searching and sorting.
Maintenance
- aur-out-of-date - Determines out-of-date AUR packages w.r.t. upstream version.
- aurpublish - PKGBUILD management framework for the Arch User Repository.
- devtools - Tools for the Arch Linux distribution for building and maintaining official repository packages.
- pkgbuild-watch - Alerts you to upstream activity.
- pkgoutofdate - Checks whether Arch packages are out-of-date.
Other
- arch-audit - A utility like pkg-audit based on Arch Security Team data.
- aur-talk - A script to fetch and display AUR package comments.
- aurvote-utils - A set of utilities for managing AUR votes.
- haskell-aur - Haskell library for accessing Aurweb RPC interface.
- package-query - Tool for querying
libalpmand the AUR. - python3-aur - AUR-related modules and helper utilities (aurploader, aurquery, aurtomatic).
- raur - Rust library for accessing Aurweb RPC interface.
Other projects
Projects linked to or inspired by Arch Linux that do not belong to any previous category.
- Dotfiles Generator - Dotfiles generator that allows quick configuration of different Window Managers and tools in multiple operating systems, including any Arch Linux-based distribution.
- Termux Arch - Run Arch Linux ARM on your mobile phone with Termux.
- archlinux/base - A docker image based on Arch Linux.
- Arch Linux on EC2 - Amazon EC2 AMIs based on Arch Linux
Contribute
Contributions welcome! Read the contribution guidelines first.
You can also contribute to the maintenance of the list by making a small donation (psst, buy me a coffee... ☕️ ):
I need your support! ❤️
Contributors ✨
Thanks goes to these wonderful people (emoji key):
klorophatu 🖋 |
Nandor Magyar 🖋 |
Max Ferrer 💻 🤔 🚧 🎨 🖋 |
Jack Napier 🤔 |
sheepdev 🖋 |
Ulises Jeremias Cornejo Fandos 🖋 |
This project follows the all-contributors specification. Contributions of any kind welcome!
License
To the extent possible under law, Panda Foss has waived all copyright and related or neighboring rights to this work.
Awesome AppImage 
AppImage is a community-based format to distribute applications to various mainstream Linux distributions without the need for a centralized store. One app = one file! This list contains tools to work with AppImages, such as to create AppImages for applications and to integrate AppImages into the system easily. As the vibrant community around AppImage is growing, so is this list.
Contents
- AppImage discovery
- AppImage consumption tools
- AppImage developer tools
- Low-level tools
- Build systems
- Deployment tools for compiled applications
- Deployment tools for Python applications
- Deployment tools for Electron applications
- Deployment tools for Windows applications
- Deployment tools for Java applications
- Deployment tools for .NET Core (Mono) applications
- Deployment tools for Flash applications
- Deployment tools for Rust applications
- Tools to convert from other package formats
- Metadata tools
- QC tools
- Continuous integration
- Libraries
- Templates
- Resources
AppImage discovery
App catalogs
- AppImage.GitHub.io - Catalog of AppImages that passed an automated test, links to upstream download pages.
- Get AppImage - Collection of all AppImages in one website. Great search functionality.
App stores
- AppImageHub.com - Downloadable AppImages, powered by Opendesktop.org.
- pling.com - Open store where creators can publish their libre products and creative content including AppImages.
- App Outlet - Universal app store that works with AppImages, Flatpaks and Snaps.
- Linux App Store - Universal app store for Linux applications in AppImage, Flatpak, and Snap formats (project abandoned).
App centers
- NX Software Center - Portable Software Center for portable AppImage applications.
- AppImagePool - Simple, modern AppImageHub Client, powered by flutter.
App scrapers
- appimages.scraper - Search for AppImage releases over the web.
- AppImageRadar - Search for AppImage-related activity on GitHub using Travis CI.
AppImage consumption tools
Desktop integration
- Getting Started Managing Software with AppImage on Ubuntu - Verbosely explains how to manage AppImages without the need for further software.
- go-appimaged - Optional daemon that integrates AppImages into the system (experimental).
- appimaged - Optional daemon that integrates AppImages into the system (deprecated).
- AppImageLauncher - Integrates into users' systems and establishes a single
~/Applicationsdirectory, assisting the user to move AppImages into there, with support for updating and removing AppImages through apps launcher. - appimage2desktop - Creates a desktop file and an icon in the system for an AppImage, nothing else.
- appimagehelper - Program for creating, deleting, controlling and organizing shortcuts to AppImage.
- LinuxPA - PortableApps.com type launcher for Linux with AppImage support.
- AppImage Desktop Maker - Creates menu entries for AppImages without the need for a daemon.
- Thumbnailer for AppImages - Generates icons for AppImages that are shown in file managers of GNOME and KDE compatible desktop environments.
- [XApp Thumbnailers] - Thumbnailers for GTK Desktop Environments, including one for the AppImage file format. Makes Gtk based file managers like Caja (MATE), Nautilus (GNOME), Nemo (Cinnamon), PCManFM (LXDE), and Thunar (Xfce) show application icons on AppImages.
- AppImage To Gnome - Monitors and (de)installs AppImages from the Gnome desktop.
Updaters
- AppImageUpdate - Official grapical application to update AppImages; command-line tool to update AppImages.
- AppImageUpdater - Simple updater for humans written in C++ and Qt.
- appimage-update - AppImage Update implementation written in Go.
Sandboxes
- Firejail - Optional sandbox with support for AppImage built in.
- AppImage Sandboxing Project - Golang library to help sandbox AppImages with bwrap.
Package managers
Note: The AppImage format is explicitly designed not to need any package managers or similar tools. Everything can be done in the file manager (and an optional daemon for system integration).
- appimage-manager - Command-line tool for managing AppImages allowing to search, install, remove and update applications.
- bauh - Graphical user interface for managing Linux applications supporting AppImage, Arch (repositories/AUR), Flatpak, Snap and native Web applications.
- homebrew-appimage - Linuxbrew AppImage Formulae.
- AIPM - A Package Manager for AppImages.
- Zap - AppImage package manager. Downloads the AppImage if it does not exist. If it already exists, updates it with AppImageUpdate. Integrates AppImage into the system.
- RookiePM - Package manager for AppImages and Shell Scripts.
- AppMan - AppImage Manager that works like APT or Pacman.
Linux distributions
Although the AppImage format was carefully designed not to need any special support from Linux distributions, there are some that offer varying degrees of AppImage friendliness out of the box.
- Deepin - When you double-click an AppImage or any other executable file that lacks execute permissions, a user-friendly dialog explains the situation and asks for your permission to set the execute permission and execute the executable.
- Nitrux - Promotes the use of AppImage as the main format for getting applications, has a built in app center featuring AppImages.
- Linux Mint - Has an AppImage thumbnailer to show application icons on AppImage files.
- Zenwalk GNU Linux is "AppImage ready" and distributes some applications in AppImage format.
AppImage developer tools
Low-level tools
- appimagetool - Converts AppDirs into AppImages.
- nix-bundle - Converts Nix derivations into AppImages.
Build systems
- appimagecraft - Recipe based AppImage creation tool working from source.
- appimage-builder - Recipe based AppImage creation tool working from source.
- KDE Craft - Build system used by KDE that can produce AppImages and other formats.
- appimage-tooling - Ruby tooling to generate Appimages.
- AppImage.cmake - CMake script which facilitates generating AppImage executables for Linux.
Deployment tools for compiled applications
- go-appimagetool - Tool that deploys dependencies into AppDirs, and converts AppDirs into AppImages (experimental).
- linuxdeployqt - Deploys dependencies into AppDirs and creates AppImages; for Qt and other compiled applications.
- linuxdeploy - AppDir creation and maintenance tool using plugins.
Deployment tools for Python applications
- python-appimage - Ready to use AppImage distributions of Python (can be modified to include your application).
- linuxdeploy-plugin-python - Bundle Python into an AppDir using a source distribution and linuxdeploy.
- linuxdeploy-plugin-conda - Bundle Python into an AppDir using a source distribution, Conda, and linuxdeploy.
- Briefcase - Convert Python project into a standalone native application, e.g., using AppImage.
- pycharm-appimage-support - Deploy Python project as an AppImage directly from the PyCharm IDE.
- PyAppImage - Ultimately simple python-to-appimage bundler.
Deployment tools for Electron applications
- electron-builder - Supports AppImage as an output format.
- electron-forge-maker-appimage - Electron Forge builder for AppImage.
- Appnativefy - Create AppImage with embedded Electron browser from any website.
Deployment tools for Windows applications
- wine32-deploy - Creates AppImages for 32-bit Windows applications that can run on 64-bit Linux systems without multilib installed.
- AppImage For WINE - WINE-based AppImages and LD_PRELOAD based patches to launch WINE from AppImages.
- ferion11/Wine_Appimage - AppImage for WINE 32bits from PlayOnLinux, an run on no-multilib systems.
Deployment tools for Java applications
- nbPackager - Packages NetBeans Platform Application with a JRE for AppImage, Linux, macOS and Windows.
Deployment tools for .NET Core (Mono) applications
- Publish-AppImage for .NET - Publish AppImages for .NET applications.
- .NET Core AppImage example - Example of how to deploy .NET Core (Mono) applications as an AppImage using
dotnet publish -f netcoreapp3.1 -r linux-x64from within a.csprogram.
Deployment tools for Flash applications
- flash-to-appimage - Script to package a Flash game (
.swf) into an AppImage.
Deployment tools for Rust applications
- Cargo AppImage - Cargo program that allows you to convert your Rust programs into AppImages.
Tools to convert from other package formats
- pkg2appimage - Converts from deb, zip, tar.gz and other formats to AppImage using YAML recipes.
- appimage2pkg - Repack AppImage and make rpm/deb which does not require FUSE.
- flatpak2appdir - Turn Flatpak into AppDir which in turn can be turned into AppImage.
- make-portable - Deploys installed application to AppDir, uses strace to fetch all file system calls and copies all accessed files in to AppDir including glibc.
- AppImage cobbler - Python application that takes strace.log and turns it into a directory suited for an AppImage.
- Elements - Tool to generate single-file, runc-based AppImages using a minimal (~3 MB compressed) Alpine Linux rootfs.
Metadata tools
- AppStream Generator - Very simple generator for AppStream MetaInfo files which application authors can use to add metadata (like descriptions, screenshots, links) to their AppImage.
- AppStream MetaInfo Creator - More elaborate generator for AppStream MetaInfo files by the author of the AppStream metainfo format.
QC tools
- appimage-testsuite - AppImage testing environment based on Docker containers for various Linux distributions.
- appimagelint - Tool to check AppImages for compatibility, best practices etc.
Continuous integration
- GitHub Actions example - Example of how to upload AppImages built using GitHub Actions to GitHub Releases.
- appimage.yml - Bigger, more complex example of how to build and upload AppImages using GitHub Actions.
- build-appimage-action - GitHub Action for producing AppImages using appimage-builder.
- jniltinho/packages - Drone.io example for producing AppImages using go-appimagetool.
- Link to the latest build artifact on GitLab CI - Example of how to directly link to the latest build artifact on GitLab CI (can be tricky).
Libraries
- QAppImageUpdate - Qt5 library and plugin for updating AppImages, can be embedded into applications.
- AppImageServices - D-Bus services providing a high-level interface over the AppImage manipulation libraries for file managers, software centers and other tools.
- libappimage - Implements functionality for dealing with AppImage files, written in C++ using Boost.
- libzsync-go - Zsync implementation written in Go that can be used to update AppImages.
Templates
- Qt Desktop Template - Template for creating Qt Widgets desktop applications with AppImage generation using linuxdeployqt.
- qt-hello-world - Qt Hello World project for AppImage creation using appimage-builder.
- qt-qml-project-template-with-ci - Template for a Qt/QML application with batteries included: GitHub CI, automated GUI testing, automatic code-format checks and more. Compiles for Linux (AppImage), Mac, and Android.
- mini-qml - Minimal Qml application template with deployment for Linux (AppImage), Windows, macOS and WebAssembly.
- wxWidgetsTemplate - Cross-platform application template for wxWidgets C++, with pre-set files and IDE projects, supporting AppImage.
- Briefcase Linux AppImage Template - Cookiecutter template for building Python apps that will run under Linux, packaged as an AppImage.
Resources
Specs
- AppImageSpec - Official specification for the AppImage format.
- Desktop Entry Specification - Specification for the matadata used inside AppImages.
Documentation
- docs.appimage.org - Official AppImage documentation.
- appimage-builder.readthedocs.io - Documentation of appimage-builder, includes tutorials, examples, and more.
Tutorials
- Produce an AppImage that bundles everything with go-appimage - How to make an AppImage that bundles all required libraries so that it should run not only on newer, but also on older systems than the build system.
Articles
- The Background Story of AppImage - Interview with the creator of AppImage, explaining the key ideas and motivations behind the concept.
- Flatpak, Snap and AppImage - Jesse Smith on DistroWatch about AppImage, Flatpak and Snap.
- Don't Install, Just Copy with klik - Article from 2005 that gives perspective on how AppImage started, relevant only for historical reasons now.
Videos
- AppImage: Portable applications for Linux - Official AppImage introduction video by its founder.
- Comparing Linux Package Formats - Deb, Flatpak, AppImage, etc. - By Bryan Lunduke.
- AppImage: Universal Linux Apps, Overview and Thoughts - By Jeremy "Jay" LaCroix, LearnLinuxTV.
- AppImage system integration on Ubuntu using go-appimaged - New appimaged daemon from the go-appimage implementation.
- Integrate and Manage AppImages with AppImageLauncher - By Eric Adams.
Books
- Mastering Qt 5 - Contains a section on how to package and deploy Qt applications for Linux using linuxdeployqt.
Blogs
- Planet AppImage - Blog Aggregator covering all things AppImage.
- TheAssassin Blog - Blog covering AppImage related topics by TheAssassin.
- AppImage Crafters Blog - Blog about AppImage creation an usage by azubieta.
Courses
Community
- #AppImage channel on libera.chat - Chat where AppImage developers and users hang out, be prepared to stay in the channel for days if you don't get answers immediately.
- discourse.appimage.org - Official AppImage forum for users and application developers.
- Stack Overflow - Questions tagged
[appimage]on Stack Overflow. - r/AppImage/ - AppImage subreddit.
Miscellaneous
- AppImage wiki - Official AppImage wiki.
- AppImageZip - Experimental pure Rust implementation of the AppImage runtime that uses Zip as the backing file system image.
- help-wanted - AppImage issues that the AppImage team would like your help with. A great way to get started contributing to the project.
Related
- Similar projects - Comparison to other packaging systems.
Other awesome lists
- awesome-linuxdeploy - Awesome list on linuxdeploy.
- All Awesome Lists - All the Awesome lists on GitHub.
Awesome macOS Screensavers 
A curated list of screensavers for macOS.
Inspired by the awesome list thing.
Table of Contents
Clocks
fliqlo
A flip clock screensaver.
Today
Time or date displayed in a similar way to On Kawara's "Today Series" paintings.
Word Clock
A clock made of words. It switches between a circular and a paragraph layout.
Fractal Clock
A clock that produces a fractal tree pattern around it as it moves.
Epoch Flip Clock
Unix Time (epoch) flip clock.
Grid Clock
Twelve hour time in words.
Word Clock
A super simple word clock, like your computer is typing the time for you.
Simple Clock
A simple clock screensaver with different analogue clock faces as skins.
Free
ColorClock
Displays a solid color corresponding to the current time.
ScreenMazer
Continuously builds and then solves a maze, while displaying the current time.
Evangelion Clock
A digital clock screensaver inspired by the graphical interfaces from Neon Genesis Evengelion.
Free
Predator
A predator-inspired clock screensaver.
Death Counter
A simple counter screensaver that counts down to your death.
MinimalClock
Simple and elegant screensaver for MacOS that displays the time.
Free
MultiClock
Displays the time (and animations) using 24 individual clocks
Apple Inspired
Aerial
Apple TV Aerial Screensaver for Mac.
Apple Watch
A screensaver that looks like an Apple Watch.
Brooklyn
A screensaver inspired by Apple's Event on October 30, 2018
Free
MusaicFM
A sreensaver inspired by the iTunes Artwork Screensaver for Spotify and Last.fm.
Free
iOS Lockscreen for macOS
A screensaver that looks like the lockscreen on iPhone and iPad.
October 30
Smoothly changes between 371 Apple logos from their 2018 iPad event.
Free
Fruit
Animated vintage Apple logo
Free
Retro
PongSaver
PongSaver is an macOS screensaver/clock which keeps time by using the score of a game of Pong. The left side wins once an hour, and the right side wins once a minute.
Textify Me
This interactive screen saver turns everything in front of your camera into text.
$0.99
Sci-Fi
The Github Matrix Screensaver
The latest commits from GitHub visualized in a Matrix-style animation.
StarWarsScroll
Recreates the opening titles of the first 6 Star Wars movies.
Matrix
One interpretation of The Matrix.
Video Game
SpeedS@ver
Plays videos of people completing speed runs of games.
Aquarium
Aquarium live lite
Video of aquariums.
Developer
Developer Excuses
A macOS Screensaver which shows quotes from http://developerexcuses.com (unofficial).
MacOS Kernel Panic
Harmless screensaver that faithfully emulates the horrifying experience of a kernel panic.
Free
Windows Kernel Panic
Blue Screen of Death (BSOD) screensaver for Mac.
Free
Graphics
Electric Sheep Infinite Evolving Artwork
Animations of evolving fractals.
Free
Screensson
Creates unique patterns on your display by randomly stacking vector stencils.
Donationware
Emoji Saver
Animates Apple, EmojiOne and Twitter Emojis in 7 different effects with many customizable settings.
Lite Version (Free) and Full Version ($3)
Life Saver
Designer-friendly abstract visualization of Conway's Game of Life.
Free (Open Source)
ElectropaintOSX
Port of the mesmerizing Silicon Graphics screensaver
Free (Open Source)
Other
Google Trends
Shows the latest hot searches for all regions or specific countries.
Free
Last Statement
Like the macOS "Word of the Day" screensaver, but instead of words and definitions, it's the names and last statements of people executed by the State of Texas.
Free (Open Source)
Collections
Bjorn Johansson
Digital art in the form of screensavers by designer Bjorn Johansson.
Free (pay what you want)
License
To the extent possible under law, Adam Garrett-Harris has waived all copyright and related or neighboring rights to this work.
Awesome Mac
Now we have become very big and different from the original idea. Here we collect awesome macOS software in various categories. Feel free to star and fork.
Any comments, suggestions? Let us know! We love PRs :) Please take a look at the contributing guidelines before opening one. Follow the awesome list.
Explanation
means open source, click to open open source repo;\
means free to use, or free personal license;\
means App store hyperlink;\
means hyperlink to a corresponding Awesome list for the item;
Awesome Mac App for macOS. Installers for the latest stable build for Mac can be downloaded here.
Contents
- Awesome Mac
- Contents
- Reading and Writing Tools
- Developer Tools
- Design and Product
- Communication
- Data Recovery Tools
- Audio and Video Tools
- Download Management Tools
- Cloud Storage
- Input Methods
- Browsers
- Translation Tools
- Encryption
- Security Tools
- Proxy and VPN Tools
- Utilities
- Gaming Software
- Remote Login Software
- Social Networking
- QuickLook Plugins
- Third Party App Markets
- Mac App Download Sites
- Genuine Sites
- Pirated software download site blacklist
- Podcasts
- Contributors
- Backers
- Sponsors
- License
Reading and Writing Tools
Applications to edit text, I suggest the open-source editors
Text Editors
- Atom - Hackable text editor for the 21st century made by GitHub. Atom Plugins.
- Bear Writer - Beautiful, flexible writing app for crafting notes and prose.
- Bootstrap Studio - A powerful desktop app for creating responsive websites using the Bootstrap framework.
- Brackets - A modern, open source text editor that understands web design.
- Chocolat - Native text editor.
- Coda2 - Fast, clean and powerful text editor.
- CotEditor - Lightweight plain-text editor for macOS.
- Emacs - A popular text editor used mainly on Unix-based systems by programmers, scientists, engineers, students, and system administrators.
- LightTable - The next generation code editor.
- micro - Modern and intuitive terminal-based text editor.
- Nova - Modern, extensible text editor, by the makers of Coda.
- ONI - IDE powered by Neovim.
- Sublime Text - Sophisticated text editor for code, markup and prose. You'll love the slick user interface, extraordinary features and amazing performance, Sublime Text Plugins.
- TextMate - Editor that brings Apple's approach to operating systems into the world of text editors.
- Vim - Highly configurable text editor built to make creating and changing any kind of text very efficient, Vim Plugins.
- Vimr - Refined Vim Experience for OS X.
Office
- LibreOffice - LibreOffice is free and open-source software office software. Software is tested and used daily by a large and devoted user community.
- WPS - Is a cross-platform office software suite.
- Pages Documents that stand apart.
- Keynote Build stunning presentations.
- Numbers Create impressive spreadsheets.
- Microsoft Office Unmistakably Office, designed for Mac.
- SoftMaker Office A complete office suite that aims for full compatibility with Microsoft Office documents
Markdown Tools
- EME - Open-source Markdown editor with an interface like Chrome.
- iA Writer - Writing app with an emphasis on simplicity and design.
- LightPaper - Simple, beautiful, yet powerful text editor for your Mac.
- MacDown - Open-source Markdown editor for OS X.
- Marked 2 - This is the Markdown preview with an elegant and powerful set of tools for all writers.
- MarkText - Next generation markdown editor, running on platforms of MacOS Windows and Linux.
- Marp - Markdown presentation writer with cross-platform support.
- Marxico - Delicate Markdown editor for Evernote. Reliable storage and sync.
- MWeb - Pro Markdown writing, and static blog generator App.
- TextNut - Rich-format editor featuring Markdown export and Markdown syntax hints.
- Typora - Truly minimal Markdown editor featuring seamless live preview.
- Ulysses - The Ultimate Writing App for Mac, iPad and iPhone.
Note-taking
- Agenda - Date-focused note taking app for both planning and documenting your projects.
- Boostnote - Note-taking app made for programmers.
- Dnote - A simple command line notebook with multi-device sync and a web interface.
- Evernote - Infamous note-taking app, available on many platforms.
- FSNotes - File System Notes is a modern notes manager, native on macOS and iOS.
- Gooba - Writing app and task manager with a simple and interactive design.
- Inkdrop - Notebook app for Markdown lovers built on top of Electron.
- Joplin - Cross platform open-source notepad with markdown support and todo list manager with synchronisation capabilities.
- MarginNote - In-depth PDF and EPUB reading, learning, managing and note taking app.
- Notable - The markdown-based note-taking app that doesn't suck.
- Notebook Note-taking app.
- Notes - Clean, simple note-taking app.
- Noteship - Turn notes into knowledge (spreadsheet view, heading summaries, etc.). Works offline, everything is saved locally.
- Notion -Notion is the all-in-one workspace. From notes, tasks, wikis, to database, Notion is all you need. Works great for teams and individuals.
- Obsidian - Obsidian is a powerful knowledge base that works on top of a local folder of plain text Markdown files.
- OneNote - Note-taking app by Microsoft.
- SideNotes - Quick notes on the screen side. Take notes while working with other apps. Use Markdown for text formatting.
- QOwnNotes - Open-source notepad with markdown support and todo list manager.
- Quiver - The Programmer's Notebook, lets you easily mix text, code, Markdown and LaTeX within one note, edit code with an awesome code editor and live preview Markdown and LaTeX.
- AliYuQue - Cloud note-taking knowledge management, collaboration platform, Markdown based writing, support embedded flow chart, brain diagram, timing sequence, code rendering, Sketch board creation, personal knowledge sharing, etc. Compared to youdao cloud note and evernote similar products, which include all of its functions, support knowledge sharing and more powerful creation, collaboration and editor, it comes from alibaba ant financial.
Journaling
- Day One - Excellent journaling app using text, photos, video, audio, location data, and more.
- Journey - Journaling app with many features and with apps for every platform available.
- linked - Link your thoughts to days, distraction free.
Ebooks
- Calibre - Free and open-source e-book computer software application suite which runs on multiple platforms, allows users to manage e-book collections as well as create, edit, and read e-books.
- Clearview - Tabbed style e-book reader for PDF, EPUB (DRM free), CHM, and MOBI.
- iChm - Ebook reader for CHM (Microsoft Compiled HTML help) files.
- Kindle App - Amazon official reading app of kindle.
- Klib - New way to manage highlights for Kindle and iBooks.
- Scribus - Professional layout and publishing software supporting EPS and SVG import/export, and PDF support.
- Sigil - Multi-platform EPUB ebook Editor.
RSS
- Leaf - Amazing news reader dedicated to help you enjoy your daily news and easily manage your subscriptions.
- NetNewsWire - It’s a free and open source feed reader for macOS.
- ReadKit - Mac read-later client supporting all major providers: Instapaper, Pocket and Readability. Even more, ReadKit is a full-featured RSS reader as well.
- Reeder 4 - News reader for Feedbin, Feedly, Feed Wrangler and so on.
- Vienna - RSS/Atom reader for Mac OS X.
- Feedy - An elegant and lightweight RSS client and news reader for your Mac.
Others
- bindPDF - Combine multiple PDF files into a single PDF file using a friendly UI.
- CHM Reader - Read Compiled HTML (.chm) documents on your Mac.
- Chmox - Read CHM documents on your Mac.
- PDF Expert - Read, annotate and edit PDFs, change text and images.
- PDF Reader Pro - You Can view, create, sign, convert and compress any PDF documents.
- Skim - PDF reader and note-taker for OS X.
- SkyFonts - The simplest way to try, install, and manage fonts.
- Spillo - Powerful, beautiful and amazingly fast Pinboard client for OS X.
- Tad - Application for viewing and analyzing tabular data such as CSV files.
- texpad - Great LaTeX editor for Mac with auto-update PDF and autocomplete LaTeX commands.
Developer Tools
IDEs
- Android Studio - The official IDE for Android, based on Intellij IDEA.
- CodeRunner - A lightweight, multi-language programming text editor and IDE for quickly building, running and debugging code.
- Deco IDE - The best IDE for building React Native apps.
- Eclipse - Popular open-source IDE, mainly for Java but with plugin support for a wide array of languages and platforms.
- Espresso - The web editor for Mac is back. For people who make delightful, innovative and fast websites.
- JetBrains Toolbox App - Manage installed JetBrains tools, download new ones and open recent projects.
- AppCode - Smart IDE for iOS/macOS development
- CLion - Powerful C and C++ IDE. (Free for Students)
- DataGrip - Cross-Plaform IDE for Databases and SQL. FREE for Students, check here for more info.
- DataSpell - The IDE for Professional Data Scientists
- GoLand - Provides ergonomic environment for Go development.
- IntelliJ IDEA - Powerful IDE for JVM languages. (Free for Students)
- PyCharm - Powerful Python IDE, which has professional version and community version.
- Rider - Cross-Platform C# IDE. It is an alternative to Visual Studio by Microsoft with the additional benefit of getting Resharper features that are not available on Visual Studio for Mac.
- WebStorm - The smartest JavaScript IDE by JetBrains. FREE for Students, check here for more info.
- Haskell for Mac - A Modern Development Environment for Haskell.
- NetBeans IDE - Free and open-source IDE, mainly used for Java development, but supports many other languages and frameworks.
- Nova - From the creators of Coda and Transmit, bring you a beautiful, fast, flexible, native Mac code editor from Panic.
- Visual Studio Community for Mac - Free version. It supports classroom learning, individual developers and small companies.
- Visual Studio Code - Microsoft's free & open-source editor, TypeScript friendly, VSCode Plugins.
- Xamarin Studio - Free cross platform C# IDE. Xamarin Studio supports iOS, Android and .Net development
- Xcode - Essential IDE for iOS/macOS development.
- Spyder - Powerful scientific environment written in Python, for Python.
Developer Utilities
- BetterRename - The most powerful and complete Mac file renaming application on the market.
- Beyond Compare - Compare files and folders using simple, powerful commands that focus on the differences you are interested in and ignore those you are not.
- Bidbar - Manage bash commands from the menu bar and run them with keyboard shortcuts.
- Cacher - Cloud-based, team-enabled code snippet manager with Gist sync, VSCode/Atom/Sublime packages and Mac/Windows/Linux/Web clients.
- canSnippet - Powerful snippet management tool that works across the whole operating system, always accessible via simple keyboard shortcut.
- CodeKit - Web development tool which can automatically compile Less, Sass, CoffeeScript, TypeScript, Jade and JavaScript, auto-refresh browsers and much more.
- Conduktor - Kafka desktop client.
- Dash - Awesome API documentation browser and code snippet manager.
- DiffMerge - Application to visually compare and merge files.
- EnvPane - OS X preference pane for environment variables.
- FinderGo - Open terminal quickly from Finder.
- Finicky - Application that allows you to set up rules that decide which browser is opened for every link that would open the default browser.
- Gas Mask - Simple hosts file manager for Mac OS X.
- Gemini - Intelligent duplicate file finder.
- Hex Fiend - Fast and clever open source hex editor.
- Hosts.prefpane - System preference pane to manage your hosts file.
- iHosts - The only
/etc/hostseditor on Mac App Store. - Integrity - Free website link checker for Mac.
- Kaleidoscope - Powerful compare tool for text, images and folders. Works perfectly with git, svn or other version control tools.
- Koala - GUI application for Less, Sass, Compass and CoffeeScript compilation.
- Loca Studio - Analyze, review, and edit app translations. Supports Xcode Localization Catalog (xcloc) and XLIFF 1.2 file formats.
- MacSystemColors - Mac app that shows all system colors in light and dark mode for Cocoa developers.
- MJML - Framework that utilizes a semantic syntax and a rich standard components library, which allow users to easily create responsive emails.
- PaintCode - PaintCode is a unique vector drawing app that generates Objective-C or Swift code in real time, acting as a bridge between developers and graphic designers.
- Pasteboard Viewer - Inspect the system pasteboards.
- PPRows - Application to calculate how many lines of code you write.
- PushMate PushMate is a MacOS app that solves common push notification problems by ensuring your push payloads are correct.
- Responsively - A must-have devtool for web developers for quicker responsive web development.
- SCM Breeze - Set of shell scripts (for bash and zsh) that enhance your interaction with git.
- SecureCRT - Terminal emulation which supports SSH, Telnet or other protocols.
- Site Sucker - SiteSucker is a Macintosh application that automatically downloads websites from the Internet.
- SnippetsLab - Easy-to-use code snippets manager.
- Solarized - Clean and beautiful color theme. Works well with iTerm, JetBrains products, Vim etc.
- StarUML - Powerful UML app.
- Swiftify - Objective-C to Swift code converter and Xcode & Finder extensions.
- SwiftPlantUML - Generate and view class diagrams from Xcode for Swift code.
- SwitchHosts - Free and open-source app for hosts management & switching.
- SYM - GUI Application to symbolicate iOS crash log.
- TeXstudio - Integrated writing environment for creating LaTeX documents.
- Timelane - Visually profile your asynchronous code.
- Touch Bar Simulator - Use the Touch Bar on any Mac.
- Visual Paradigm - All-in-one UML, SysML, BPMN Modeling Platform for Agile, EA TOGAF ADM Process Management.
- Woodpecker - View iOS app's Sandbox files, UserDefaults, Keychain items on a Mac.
- WWDC - The Mac OS unofficial WWDC app.
- Xcodes - Install and switch between multiple versions of Xcode.
- zeplin - Collaboration tool for work between designers and developers.
- Nib Unlocker - .nib to .xib converter
Regular Expression Editors
- Patterns - Regular expression editor.
- Regex - Regular expression testing tool with an emphasis on simplicity.
- RegExRX - Development tool for regular expressions.
API Development and Analysis
- Cocoa Rest Client - Free, open-source, native Apple OS X app for testing HTTP/REST endpoints.
- Insomnia - The most intuitive cross-platform REST API Client.
- Paw - Advanced HTTP client.
- Postman - Powerful GUI platform to make your API development faster & easier, from building API requests through testing, documentation and sharing.
- Katalon Studio - Simplify API, Web, Mobile Automation Tests Free. Robust. Cross-platform. Automation testers from 160 countries with YouTube channels, GitHub repositories.
Network Analysis
- Charles - HTTP proxy / HTTP monitor / Reverse Proxy that enables a developer to view all of the HTTP and SSL / HTTPS traffic between their machine and the Internet.
- James - Open-source proxy tool for checking and mapping requests with http as well as https.
- Little Snitch - Network monitor with a world map for visualizing network connections.
- mitmproxy - Interactive intercepting HTTP proxy for penetration testers and software developers.
- Proxie - HTTP debugging proxy.
- Proxyman - Modern and intuitive HTTP debugging proxy for macOS.
- Wireshark - The world’s foremost and widely-used network protocol analyzer.
Command Line Tools
- ack - A tool like grep, optimized for programmers.
- alacritty - A cross-platform, GPU-accelerated terminal emulator.
- archey-osx - An archey script for OS X.
- asciinema - Easily record terminal sessions and replay them in a terminal as well as in a web browser.
- autojump - Replace
cdwith an intelligent autojump to easily navigate directories from the command line. - bash-it - Shameless ripoff of oh-my-zsh for bash.
- bat - A
cat(1)clone with syntax highlighting and Git integration. - ccat - The colorizing cat which works similar to cat but displays content with syntax highlighting.
- cmus - Small, fast and powerful console music player for Unix-like operating systems.
- cool-retro-term - Good looking terminal emulator which mimics the old cathode display.
- dark-mode - Control dark mode from the command-line.
- eureka - CLI tool to input and store your ideas without leaving the terminal.
- Fig - Fig adds autocomplete to your terminal.
- Fish Shell - Smart and user-friendly terminal, which is similar with zsh.
- fselect - Find files with SQL-like queries.
- Github CLI - gh is GitHub on the command line. It brings pull requests, issues, and other GitHub concepts to the terminal next to where you are already working with git and your code.
- Glances - Glances is a cross-platform curses-based system monitoring tool.
- Go2Shell - Go2Shell opens a terminal window to the current directory in Finder.
- htop - htop is an interactive text-mode process viewer for Unix systems. It aims to be a better 'top'.
- httpie - Modern command line HTTP client – user-friendly curl alternative with intuitive UI, JSON support, syntax highlighting, wget-like downloads, extensions, etc.
- hyper - A terminal built on web technologies.
- iTerm2 - iTerm2 is an amazing terminal emulator for OS X.
- itunes-remote - Software for controlling iTunes via the terminal.
- job - JOB, make your short-term command as a long-term job.
- kitty - A cross-platform, fast, feature full, GPU based terminal emulator.
- lnav - A log file navigator.
- m-cli - Swiss Army Knife for macOS.
- Mac-CLI - The ultimate tool to manage your Mac. Automatize the usage of your OS X system.
- Magic Wormhole - Get Things From One Computer To Another, Safely.
- mas - Simple command line interface for the Mac App Store.
- Miller - Like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON.
- mycli - CLI for MySQL that can do auto-completion and syntax highlighting.
- ndm - Manage npm straight from the couch.
- nushell - nushell is a modern, GitHub-era shell written in Rust.
- pgcli - Pgcli is a command line interface for Postgres with auto-completion and syntax highlighting.
- Rebound - Instantly browse Stack Overflow results in your terminal when you get a compiler error.
- ripgrep (rg) - Very fast text searching tool similar to (but faster than) ack, ag or grep
- Serial - Full-featured serial terminal for the Mac.
- shallow-backup - Easily create text documentation of installed applications, dotfiles, and more.
- silver searcher (ag) - A code searching tool similar to ack, with a focus on speed.
- spaceship - A Zsh prompt for Astronauts.
- Tabby (formerly Terminus) - Free terminal tool, built with TypeScript, heavily inspired by Hyper.
- Taskbook - Tasks, boards & notes for the command-line habitat.
- Termius - Free terminal tool,comparable to xshell on windows platform.
- TextQL - Execute SQL against structured text like CSV or TSV.
- thefuck - A interesting software that corrects errors in previous console commands[
]
- tmux - "Terminal multiplexer", it enables a number of terminals (or windows) to be accessed and controlled from a single terminal. tmux is intended to be a simple, modern, BSD-licensed alternative to programs such as GNU screen.
- tmuxinator - Manage complex tmux sessions easily.
- trash - Move files and directories to the trash.
- VisiData - Terminal spreadsheet multitool for discovering and arranging data.
- xonsh - Python-powered, cross-platform, Unix-gazing shell language and command prompt.
- Zsh - Zsh is a shell designed for interactive use, although it is also a powerful scripting language.
- xcodes - A command-line tool to install and switch between multiple versions of Xcode.
- xxh - Bring your favorite shell wherever you go through the SSH.
Frameworks For Hybrid Applications
- AppJS - Lightweight JavaScript UI library for creating mobile webapps that behave like native apps.
- create-dmg - Create a good-looking DMG for your macOS app in seconds.
- Electrino - Desktop runtime for apps built on web technologies, using the system's own web browser engine.
- Electron - Build cross platform desktop application with JavaScript, HTML and CSS.
- ionic - Build amazing native and progressive web apps with Angular and open web technologies. One app running on everything.
- MacGap - Provides a lightweight JavaScript API for OS X integration, such as displaying native notifications or writing data to a file.
- nw.js - Build desktop application with HTML and JavaScript. It lets you call all
Node.jsmodules directly from DOM and enables a new way of writing applications with all Web technologies. - Qt - Cross-platform application framework.
- React Native for Ubuntu - Build Ubuntu desktop apps using React Native.
- React Native macOS - Build OS X desktop apps using React Native and Cocoa.
- react-desktop - React UI Components for macOS Sierra.
- ReactXP - Microsoft official production, support platform Web, iOS, Android and Windows UWP is still an ongoing work.
Version Control
- Cornerstone - Powerful version control with a gorgeous interface.
- Fork - Fast and friendly Git client for Mac.
- Git Cola - Powerful, Fast, Lightweight and Friendly Git GUI. For those caffeine adicting users.
- Gitbar - Open-source,display Github contribution statistics on your menu bar.
- GitFinder - Fast and lightweight Git client for Mac with Finder integration.
- Gitfox - Commit faster, improve your code quality with superior diffs - and look good doing it.
- GitHub Desktop - The official GitHub GUI.
- GitKraken - The most popular Git GUI for Windows, Mac and Linux.
- GitUp - A simple & powerful Git client。
- GitX-dev - Fork of Pieter's nice git GUI for OS X. Includes branch/tag sidebar and various fixes.
- Hub - Command-line wrapper for Git that makes you better at GitHub.
- OhMyStar Beautiful and efficient way to manage, explore and share your Github Stars.
- SmartGit - Git client with support.
- SourceTree - Free Git & Mercurial client for Windows or Mac.
- Sublime Merge - Git client, from the makers of Sublime Text.
- Tower2 - The most powerful Git client for Mac and Windows.
- Vershd - The free for personal use effortless Git GUI, for Windows, Mac, & Linux.
- Versions - Mac Subversion (SVN) Client.
Virtualization
- Docker - Powerful, performs operating-system-level virtualization.
- Parallels - Powerful, easy-to-use VM. No free upgrade for each new Mac OS.
- QEMU - a free and open-source emulator and virtualizer that can perform hardware virtualization.
- Vagrant - Tool for building and distributing development environments.
- Veertu - The lightest VM on Mac. Responsive, sandboxed & native way to run VM on your Mac.
- Virtual Box - Powerful x86 and AMD64/Intel64 virtualization product.
- VMware Fusion - Powerful, commercial VM developed by VMware.
Databases
- Apache Directory Studio - LDAP browser and Active Directory client.
- Azure Data Studio - Cross-platform database tool for using on Microsoft family on-premises and cloud data platforms such as MSSQL Server
- Another Redis Desktop Manager - A faster, better and more stable redis desktop manager.
- Base 2 - Application for creating, designing, editing and browsing SQLite 3 database files.
- Beekeeper Studio - Smooth SQL editor and database manager
- Bdash - Modern SQL client application, supports MySQL, PostgreSQL (Redshift) and BigQuery.
- Chrome MySQL Admin - Powerful Chrome app to manage your MySQL.
- Core Data Editor - Core Data Editor lets you easily view, edit and analyze applications‘ data.
- DB Browser for SQLite - Official home of the DB Browser for SQLite.
- DBeaver - Universal SQL Client.
- ElectroCRUD - Modern MySQL CRUD application.
- FastoNoSQL - Cross-platform GUI client for Redis, Memcached, SSDB, LevelDB, RocksDB, UnQLite, LMDB, ForestDB, Pika and Dynomite key-value databases.
- FastoRedis - Cross-platform professional GUI management tool for Redis.
- JackDB - Secure, collaborative environment for your queries and data-driven insights.
- Keylord - Desktop GUI client for Redis, Bolt, LevelDB and Memcached key-value databases.
- MDB Explorer - MDB tool to open, read, export your MDB files to other formats and databases.
- Medis - GUI Manager for Redis.
- Mingo - Easy to use MongoDB GUI with mind-blowing features.
- Mongo Management Studio - Simple MongoDB GUI.
- mongoDB.app - The easiest way to get started with mongoDB on the Mac.
- MongoDB - MongoDB is a document database with the scalability and flexibility that you want with the querying and indexing that you need.
- MySQL Workbench - The official MySQL GUI.
- Navicat Data Modeler - Powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models.
- neo4j - The leading graph database!
- pgModeler - is an open source data modeling tool designed for PostgreSQL.
- Postgres.app - The easiest way to get started with PostgreSQL on the Mac.
- Postico - Modern PostgreSQL client for Mac.
- PSequel - PostgreSQL GUI tool for Mac OS X.
- RedisClient - Redis client application on mac, windows and linux.
- RedisDesktopManager - Cross-platform GUI management tool for Redis.
- Sequel Pro - MySQL database management for Mac OS X.
- SQLight - SQLite database manager tool.
- SQLPro Studio - Simple, powerful database manager for macOS.
- Tableau Public - Free data-visualization software.
- TablePlus - Supports: PostgreSQL, MySQL, RedShift, MariaDB... High-end security ensured.
- redis-pro - Small, easy to use Redis management, written with SwiftUI, support Dark mode.
Design and Product
Design Tools
- Acorn - Great Mac OS X picture and photo editor, built for humans.
- Affinity Designer - Professional graphic design software for Mac.
- Affinity Photo - Professional image editing software for Mac.
- Alchemy - Experimental, open-source drawing application with an emphasis on creating conceptual art.
- Amadine - A vector drawing app that has everything a graphic designer needs wrapped in an uncluttered and intuitive interface.
- Art Text 3 - This is graphic design software specifically tuned for lettering, typography, text mockups and various artistic text effects.
- Blender - Free and open 3D creation software.
- Colorpicker - Colorpicker is a complete open-source colors manipulation tool with picking!
- Figma - The collaborative interface design tool, for vector graphics and UI prototyping.
- FontForge - Free, open-source font editor.
- GIMP - The GNU Image Manipulation Program.
- Gravit Designer - Full featured free vector design app right at your fingertips.
- inklet - Turn your Mac trackpad into drawing board.
- Inkscape - Professional vector graphics editor.
- Krita - Open-source digital painting software for concept artists, digital painters, and illustrators.
- macSVG - Designing HTML5 SVG art and animation.
- MagicaVoxel - Free, lightweight 8-bit voxel editor and interactive path tracing renderer.
- MakeHuman - Powerful and free 3D human modeler.
- Monodraw - Powerful ASCII art editor designed for the Mac.
- Nik Collection - Nik Collection by DxO.
- Paintbrush - Bitmap image editor.
- Pencil2D - A easy, intuitive tool to make 2D hand-drawn animations.
- Pixel Perfect - Tool to overlay design images over implementation and make it pixel perfect.
- Pixelmator - Full-featured image editor for Mac.
- Principle - Application for designing animated and interactive user interfaces.
- ScreenToLayers- Easily export your screen into a layered PSD file.
- Sculptris - 3D sculpting software.
- Sketch - Professional digital design for mac.
- Sketch Cache Cleaner - Deletes hidden Sketch history files that can take a lot of space on your hard drive and that you would probably never use.
- Measure Plugin - Make it a fun to create spec for developers and teammates.
- Sketch Toolbox Plugin Manager - Simple plugin manager for Sketch.
- User Flows Plugin - Generating flow diagrams from Artboards.
- Sketch Cache Cleaner - Deletes hidden Sketch history files that can take a lot of space on your hard drive and that you would probably never use.
- SketchBook - Drawing software for concept design, comic art, and digital sketching.
- Sparkle - Pro visual web design.
- System Color Picker - The macOS color picker as an app with more features. [
]
- Tayasui Sketches - Professional drawing software.
- Vectornator: Design Software - The Most Intuitive and Precise Illustration Software in the Galaxy.
- Vectr - Free graphics editor used to create vector graphics easily and intuitively.
Prototyping and Mind-Mapping Tools
- Adobe XD (Experience Design) - First all-in-one cross-platform tool for designing and prototyping websites and mobile apps.
- Axure RP 8 - Prototypes, specifications and diagrams in one tool.
- Balsamiq Mockups - Wire-framing tool that helps you work faster and smarter.
- Flinto - Quickly create interactive prototypes of mobile, desktop, or web apps.
- Framer - Tool for interactive prototyping.
- Justinmind - Prototyping platform for web and mobile apps.
- Kite - Powerful animation and prototyping application for Mac & iOS.
- Lighten - The best way to clarify thinking, boost productivity, brainstorm, and visualize concepts.
- Loremify - Great Lorem ipsum generator.
- Marvel - Simple design, prototyping and collaboration.
- MindNode - Mind-mapping software with an emphasis on simplicity and ease-of-use.
- MockFlow - Online prototyping suite for web-design and usability testing.
- Mockplus - Prototype faster, smarter and easier.
- OmniGraffle - Diagramming and graphic design for Mac, iPhone, and iPad.
- Origami Studio - Tool for designing modern interfaces, built and used by designers at Facebook.
- pencil - Free, open-source tool for making diagrams and GUI prototyping.
- ProtoPie - Create the most advanced prototypes as easy as Pie.
- Scapple - Practical mind-mapping software with free whiteboard-like layout.
- SimpleMind - The world leader in cross platform Mind Mapping tools.
- WriteMapper - Get from idea to final draft in no time.
- XMind - The most popular mind-mapping tool on the planet.
- Simple Diagrams - A desktop app for creating hand-drawn-like, fast, clear sketches of problems, processes, workflows, ideas and more!
- yGraph Editor - High quality diagrams made easy.
Screencapturing Software
- CleanShot - Discover a superior way to capture your Mac's screen.
- CloudApp - Work at the speed of sight.
- Flameshot - Powerful yet simple to use screenshot software.
- Gifox - Gif Recording and Sharing.
- Kap - Open-source screen-recorder built with web technology.
- KeyCastr - KeyCastr, an open-source keystroke visualizer.
- Kyapchar - Simple screen and microphone audio recorder for Mac.
- Licecap - Record your screen and export to GIF. You can change the recording area anytime during recording.
- Lightshot - The fastest way to take a customizable screenshot.
- Monosnap - Make screenshots. Draw on it. Shoot video and share your files. It's fast, easy and free.
- ScreenShot PSD - Capture the screen as a layered PSD for easy editing.
- Shottr - Screen capture application with features like Scrolling capture, OCR and markup.
- Skitch - Screen capture application with a powerful annotation capabilities.
- Snip - Application for sharing captured images on QQ Mail.
- Snipaste - Simple but powerful snipping tool.
- Teampaper Snap - Let your screenshots speak up.
- Xnip - Handy Screenshot App.
- Dropbox - Dropbox app offers easy screenshot capturing and sharing
Other Tools
- APNGb - PNG image assembler/disassembler app.
- Assetizr - Resizing images and optimising them for web and mobile applications.
- Couleurs - Simple app for grabbing and tweaking the colors you see on your screen.
- Eagle App - Simple and intuitive file manager with tag and annotaion for all your design files. Supports all major source, image, RAW, video, 3D, audio, font, and office files.
- ExifCleaner - Remove exif metadata from images and videos with drag and drop.
- Frank DeLoupe - Color-picking tool, supports Retina.
- HEIC Converter - Convert HEIC images to JPEG or PNG.
- Iconset - Free, cross-platform and fast SVG icon organizer and manager for Mac and Windows.
- Iconjar - Icon management tool to organize or search your icons.
- IconKit - App icon generator.
- Image2icon - Create and personalize icons from your pictures.
- ImageAlpha - Compress images with PNG format and remove transparency.
- ImageOptim - Compress images and remove EXIF information.
- iPic - Easily upload images with Markdown supported.
- JPEGmini - Reduce image size by up to 80%, without compromising quality.
- Mark Man - Measure & Spec Fast.
- Nucleo - Icon manager. Import, export, customize and convert icon libraries.
- Preset Brewery - Tool to convert Lightroom presets to Adobe Camera Raw.
- Resize Master - Batch resize and watermark your images fast and easy.
- RightFont - Preview, sync, install and manage fonts on Mac, Dropbox or Google Drive.
- Sip - The best way to collect, organize & share your colors.
- Snagit - Simple, Powerful Screen Capture Software and Screen Recorder.
- Spectrum - Easily and intuitively creating beautiful color schemes.
- svgus - Organize, clean and transform your SVGs.
- TinyPNG4Mac - Open-source tool to compress images.
- Tropy - Research Photo Management.
- PicGo - Support for common cdn image hosting tool.
- AppIconBuilder - Export icons for multi-platform
- uPic - macOS native app, powerful terse image hosting client.
Communication
Collaboration and Team Tools
- Adium - Free instant messaging application for Mac OS X. Connect to AIM, MSN, SMPP, Yahoo and more.
- Caprine - Third-party privacy-focused Facebook Messenger app.
- DingTalk - Free, powerful and professional office tool used by over 5 million enterprises and organizations globally.
- Discord - All-in-one voice and text chat for gamers that's free, secure, and works on both your desktop and phone.
- Franz - Electron based, multi-protocol wrapper for web-based chat. One application, 23 messenger services.
- Gitter - Instant messaging and chat room system for developers as well as GitHub users. Developer friendly with Markdown syntax support.
- Keybase - Secure groups, files, and chat for everyone!
- Krisp - An AI-powered noise cancelling app that mutes background noise during calls.
- Lark - The Next-Gen Collaboration Suite. All your chats, meetings, calendars, docs, and emails in one place.
- LimeChat - Open-source IRC client for Mac OS X.
- Messenger For Mac - Third-party Facebook messenger for Mac.
- Muzzle - A simple mac app to silence embarrassing notifications while screensharing.
- BlurScreen App - Blur sensitive data instantly anywhere on screen, while recording or screen sharing. No post editing required.
- Rambox - Messaging and emailing app that combines common web applications into one.
- Element - Create, share communicate. Chat and call securely.
- Presentify - A mac app to draw on your screen while on calls, highlight your cursor, and more.
- Signal Desktop - Fast, simple, secure. Privacy that fits in your pocket.
- Skype - Cross-platform application that provides video chat and voice call services. Users can exchange images, text, video and any other digital documents.
- Shift - De-clutter your desktop workspace and streamline your accounts, apps, and workflows.
- Slack - Awesome tool for team collaboration and communication.
- Stack - Open, organize and use multiple web apps on a single screen. Stack your apps by categories or projects.
- Teambition - Team collaboration tool, including many features like task plan, schedule, file sharing, instant discussion and everything you need when collaborating with other team members.
- Telegram - Messaging app with a focus on speed and security.
- Textual - Internet Relay Chat (IRC) client.
- WeChat - Official WeChat app for Mac.
- WeeChat - The extensible command-line chat client.
- WhatsApp Desktop - Available in the Mac App Store, Whatsapp for Desktop.
Email Clients
- Airmail - Fast email client. For both Mac OS and iOS.
- Foxmail - Fast email client.
- MailTags - Use tags to organize email and schedule.
- N1 - Extensible, open-source mail app, free for developers and $7/month for Pro.
- Nylas Mail - Extensible desktop mail app built on the modern web.
- Polymail - Simple, beautiful and powerful email client.
- Postbox - Powerful, simple and beautiful email client, need to pay for a license.
- Spark - Fast email client. For both Mac OS and iOS.
- ThunderBird - Software that makes email easier.
- Edison Mail - A customisable, simple, and beautiful email client.
File Sharing
- Cyberduck - Free FTP, SFTP, WebDAV, S3, Backblaze B2, Azure and OpenStack Swift browser.
- Flow - Award-winning, beautiful, fast, and reliable FTP + SFTP client.
- Transmit - Highly flexible and intuitive FTP client, supports SFTP, S3 and iDisk/WebDAV.
Data Recovery Tools
- Data Rescue - Comprehensive and professional data recovery tool for most cases.
- DiskWarrior - The world’s most advanced repair and recovery tool for Mac.
- R-Studio for Mac - Powerful tool for recovering data on disks, even if their partitions are formatted, damaged or deleted.
- SuperDuper! - Painless fully bootable disk backups.
Audio and Video Tools
- Adapter - Free audio, video and image conversion software.
- Aegisub - Free, cross-platform open source tool for creating and modifying subtitles. Aegisub makes it quick and easy to time subtitles to audio, and features many powerful tools for styling them, including a built-in real-time video preview.
- Audio Profile Manager - Allows you to pin input/output devices for each particular combination of connected devices. May suppress HDMI displays from being chosen.
- Ardour - Cross-platform audio software for multi-track recording and editing.
- Audacity - Free, open-source, cross-platform audio software for multi-track recording and editing.
- Audio Hijack - Record any application's audio, including VoIP calls from Skype, web streams from Safari, and much more.
- BlackHole - Freemium, open-source virtual output/input audio driver for recording/routing internal audio.
- Carol - A minimal and beautiful lyrics app for macOS.
- Cog - Free, open-source audio player.
- DaVinci Resolve - Free, cross-platform video editing, color grading, video effects and audio editing software.
- Elmedia Player - This media player is a super versatile app for any file format you probably may think of: FLV, MP4, AVI, MOV, DAT, MKV, MP3, FLAC, M4V are all supported as well as many others.
- Gifski - Convert videos to high-quality GIFs.
- HandBrake - Tool for converting video from nearly any format to a selection of modern, widely supported codecs.
- Hydrogen - Professional yet simple and intuitive pattern-based drum programming for GNU/Linux.
- ffWorks - Comprehensive Media Tool for macOS. Making High Quality Video Encoding Accessible for Everyone.
- IINA - The modern video player for macOS. Based on mpv, the powerful media player project.
- Kodi - Award-winning free and open-source (GPL) software media center for playing videos, music, pictures, games, and more.
- LMMS Formerly "Linux MultiMedia Studio", LMMS is a powerful Digital Audio Workstation designed like FL Studio (formerly Fruity Loops).
- LosslessCut - Cross platform tool for quick and lossless video and audio trimming using ffmpeg.
- LyricsX - Lyrics for iTunes, Spotify and Vox.
- Metadatics - Advanced Audio Metadata Editor.
- Mp3tag - a powerful and easy-to-use tool to edit metadata of audio files.
- Mixxx - The most advanced free DJ software.
- Movie Catcher - Movie movie and online viewing offline download software, with Baidu cloud to make offline download and online playback.
- mpv - Free, open-source, and cross-platform media player.
- MuseScore - Free, open-source music notation software.
- Natron - Open-source compositing software. Node-graph based. Similar in functionality to Adobe After Effects and Nuke by The Foundry.
- Perian - (No longer under active development) ~~Let QuickTime play all the common formats of free plug-ins~~.
- Playback - Experimental video player.
- Plug - Discover and listen to music from Hype Machine.
- Popcorn Time - Watch torrent movies instantly, This Popcorn Time service will never be taken down. Download and enjoy.
- ScreenFlow - Screencasting and video editing software.
- Shotcut - Free open-source video editor.
- Soda Player - Player that can play seed, magnetic links, online video, automatic captions, links and local video files.
- Sonora - Minimal, beautifully designed music player.
- SpotMenu - Spotify and iTunes in your menu bar.
- Stremio - Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.
- Stringed 2 - Music practice software designed to help users learn how to play their favorite songs.
- Synfig Studio - Synfig Studio is free, open-source 2D animation software.
- VLC - Free, open-source, cross-platform multimedia player as well as framework that plays most multimedia files, DVDs, Audio CDs, VCDs and various streaming protocols.
- VOX Player - High-definition audio player for Mac and iPhone. Music just sounds better!
- XLD - Tool to decode, convert and play various 'lossless' audio files.
- MusicPlus - Search, play & download music for free.
- Recordia - Record audio directly from the menu bar or with a global keyboard shortcut.
- Omniplayer - Best media player on Mac, support almost all format.
Audio Record and Process
- GarageBand A free Digital Audio Workstation (DAW) from Apple,providing a simple interface and professional level audio production functions.
- Logic Pro X A professional Digital Audio Workstation (DAW) from Apple,providing complete audio production functions along with high quality native plugins and soundtracks. With native Apple Silicon support.
Download Management Tools
- aria2 - Lightweight multi-protocol & multi-source command-line download utility.
- Downie - Video downloader for macOS with support for YouTube and other 1200 sites.
- Deluge - Deluge is a lightweight, Free Software, cross-platform BitTorrent client.
- FOLX - Free download manager for Mac OS X with a true Mac-style interface.
- Free Download Manager - Powerful, modern download accelerator and organizer for Windows and Mac. (FREE)
- JDownloader - Free, open-source download management tool with a huge community of developers that makes downloading as easy and fast as it should be.
- Motrix - Motrix is a full-featured download manager that supports downloading HTTP, FTP, BitTorrent, Magnet, Baidu Net Disk, etc.
- qBittorrent - A project aims to provide an open-source software alternative to µTorrent.
- Shuttle - Easy Download Manager for any links.
- Transmission - Fast, easy, free BitTorrent Client.
- You-Get - Tiny command-line utility to download media contents (videos, audios, images) from the web.
- youtube-dl - Command-line program to download videos from YouTube.com and other video sites
Cloud Storage
I recommend using online storage with Mac clients
- Arq - Cloud storage backup client that supports AWS, GCP, DropBox, and more.
- Carbonite - Carbonite can protect your Mac from all of the most common forms of data loss.
- Dropbox - File hosting service that offers cloud storage and file synchronization with collaborative edit features.
- Mega - Free cloud service, offers 50GB free storage.
- NextCloud - Actively maintained fork of ownCloud, faster and completely open-source
- ownCloud - Cloud storage.
- Seafile - Reliable and High Speed File Sync and Share.
Input Methods
- Kawa - Better input source switcher for OS X.
- Rocket - Makes typing emoji faster and easier using Slack-style shortcuts.
- Touch Emoji - emoji picker for MacBook Pro Touch Bar.
- Type2Phone - Use Your Mac as Keyboard for iPhone, iPad & Apple TV.
Browsers
- Brave - Web browser with an emphasis on privacy and speed.
- Chrome - Chrome, developed by Google
- Chromium - Open-source, free web browser project by Google, to provide the source code for Google Chrome.
- Microsoft Edge — Microsoft Edge, based on Chromium, but built by MS
- Firefox - Meet Firefox Quantum. Fast, free, open-source web browser developed by the Mozilla Foundation.
- Safari - Native browser for Macs.
- TorBrowser - Anonymity Online. Protect your privacy. Defend against network surveillance and traffic analysis.
- Vivaldi - The browser that puts you in control.
Translation Tools
(Or you could just use the Mac OS built-in dictionary)
- Grammarly - Refine your english
- iTranslate - Translate entire website instantly with its built-in browser or with iTranslate Safari extension into over 40 languages.
- Ludwig - Linguistic search engine that helps you to write better in English.
- Mate Translate - Translate in Safari and any app on macOS between 103 languages.
- Translatium - Translate words, phrases and images between over 100 languages with dictionary, transliteration and voice output support.
Encryption
- Deadbolt - The easiest file encryption tool you'll ever use. macOS-compatible, and open-source so you can trust it.
Security Tools
- Antivirus One - Trusted Mac Security Protection: Protect your Mac from viruses, malware and adware. Block potential web threats and protect your Mac against vulnerabilities.
- BlockBlock - Me: "Please alert me whenever anything is persistently installed." BlockBlock: "You got it"
- Dylib Hijack Scanner - Simple utility that will scan your computer for applications that are either susceptible to dylib hijacking or have been hijacked.
- KextViewer - View all modules on that are loaded in the OS kernel.
- KnockKnock - See what's persistently installed on your Mac.
- LinkLiar - Link-Layer MAC spoofing GUI for macOS.
- LockDown - Open-source tool for El Capitan that audits and remediates security configuration settings.
- LuLu - is the free macOS firewall that aims to block unauthorized (outgoing) network traffic.
- MalwareBytes - Malwarebytes crushes the growing threat of Mac malware, so you are protected and your machine keeps running silky smooth. Cybersecurity smart enough for the Mac.
- Mana Security - vulnerability management app for individuals.
- OverSight - Monitor mic and webcam, alerting you when the internal mic is activated, or whenever a process accesses the webcam.
- ParetoSecurity - A MenuBar app to automatically audit your Mac for basic security hygiene.
- RansomWhere? - Generic Ransomware Detection.
- stronghold - Easily configure MacOS security settings from the terminal.
- TaskExplorer - Explore all processes running on your Mac with TaskExplorer.
- What's Your Sign? - Adds menu item to Finder.app to display the cryptographic signing information for any file.
Proxy and VPN Tools
- Algo - Personal IPSEC VPN in the cloud.
- tigerVPN - VPN Client for Mac.
- Lantern - Free application that delivers fast, reliable and secure access to the open internet.
- ShadowsocksX-NG - Next generation of ShadowsocksX.
- ShadowsocksX - Secure socks5 proxy, designed to protect your internet traffic.
- Shimo - VPN Client for Mac.
- SpechtLite - Rule-based proxy app for macOS.
- Surge - Web developer tool and proxy utility for iOS 9.
- tinc - Secure mesh VPN software.
- Tunnelbear - Really simple VPN to browse the web privately & securely. Unblock websites around the world with applications for Mac, PC, iOS, Android & Chrome.
- Tunnelblick - Free, open-source graphic user interface for OpenVPN on OS X.
- V2rayU - Macos client based on v2ray.
- Windscribe - Gives 10gb per month free on the spot and gives limited(on free) location control. Connection also takes very less time.
- ClashX - A rule based proxy For Mac base on Clash.
Utilities
Clipboard Tools
- ClipMenu - Clipboard manager for Mac OS X.
- Clipy - Clipy is a Clipboard extension app for macOS. Based on ClipMenu.
- CopyQ - Clipboard Manager with Advanced Features.
- iPaste - Lightweight and efficient clipboard tool.
- Paste - Smart clipboard history & snippets manager.
- PasteBot - Powerful clipboard manager.
- Flycut - Clean and simple clipboard manager for developers.
- Maccy - Lightweight clipboard manager for macOS.
- Yippy - Clipboard manager with user-friendly UI.
Menu Bar Tools
- Anvil - Anvil is a beautiful menubar app for managing local websites. Serve up static sites and Rack apps with simple URLs and zero configuration.
- Bartender - Organize or hide menu bar icons on your Mac.
- BeardedSpice - Allows you to control web based media players (SoundCloud, YouTube, etc) and some native apps with the media keys on Mac keyboards.
- BitBar - Place the output from any script or program right in your Mac OS X menu bar.
- Dato - A better menu bar clock with calendar, events, and time zones.
- Dozer - Hide MacOS menubar items.
- Eye Timer - Take Breaks to prevent Eye Strain timer for Mac.
- Hidden - A ultra-light MacOS utility that helps hide menu bar icons.
- Hue in the Menu - Philips Hue light management in the menu bar with multi-room support.
- iGlance - macOS System Monitor for the Status Bar.
- Itsycal - Tiny calendar for your Mac's menu bar.
- MeetingBar - Menu bar app for your calendar meetings
- One Thing - Put a single task or goal in your menu bar.
- Pandan - Time awareness in your menu bar.
- Streaker - GitHub contribution streak tracking menubar app.
- SwiftBar - Powerful macOS menu bar customization tool.
- UTC Time - Show the time in UTC in the menu bar or a widget.
- Vanilla - Hide menu bar icons on your Mac.
- Jiffy - Discover and share the best GIFs on GIPHY.
- Work Hours - Simple app that tracks your work hours from the menu bar.
- Xbar - Put the output from any script or program into your macOS Menu Bar (the BitBar reboot).
File Organization Tools
- BetterZip - Archive tool supports ZIP, TAR, TGZ, TBZ, TXZ (new), 7-ZIP, RAR.
- eZip - An easy to use, feature-rich archiver for macOS. Supports popular formats such as RAR, ZIP, 7Z, BZ2, GZ etc. Works great with Mojave dark-mode and QuickLook.
- Fileside - A modern, tiling file manager with unlimited panes.
- Hazel - Automated file organization for your Mac. Responsibly and beautifully designed.
- Keka - file archiver for macOS. Compression: 7Z, ZIP, TAR, GZIP, BZIP2, XZ LZIP, DMG, ISO. Extraction: 7Z, ZIP, RAR, TAR, GZIP, BZIP2, XZ, LZIP, DMG, ISO, LZMA, EXE, CAB, WIM, PAX, JAR, APK, APPX, CPGZ, CPIO.
- muCommander - Lightweight file manager with a dual-pane interface.
- PDF Archiver - Nice tool for tagging and archiving tasks.
- The Unarchiver - Unarchive many different kinds of archive files.
- Unarchive One - Quickly decompress multiple different types of compressed files/compressed files to various scene compression formats.
General Tools
- AirServer - Most advanced screen mirroring software receiver for Mac, PC and Xbox One.
- ControlPlane - Manages configuration profiles for your Mac. Determines where you are or what you are doing based on a number of available evidence sources and then automatically reconfigures your Mac based on your preferences.
- DNS Heaven - Unifies macOS DNS so applications using glibc can resolve DNS with the native stack. Mainly for use with VPNs.
- Google Assistant (Unofficial Desktop Client) - A cross-platform desktop client for Google Assistant based on Google Assistant SDK.
- Equinox - Create dynamic wallpapers for macOS.
- HTTrack - Useful tool for downloading a whole website and offline browsing.
- Lungo - Prevent your Mac from going to sleep.
- Mac Cache Cleaner - Cache cleaner for Mac
- Manta - Flexible invoicing desktop app with beautiful & customizable templates.
- Memo - Simple and elegant app. Unlock memos even more quickly using Touch ID.
- Numi - Beautiful calculator app for Mac.
- Plash - Make any website your desktop wallpaper.
- SlowQuitApps - An OS X app that adds a global delay of 1 second to the Cmd-Q shortcut.
- Speediness - Check your internet speed.
- Torimori Sweeper - MacOS app that lets you declutter your Downloads, one file at a time.
- Ultra TabSaver - The Open Source Tab Manager for Safari
To-Do Lists
- 2Do - Nice todo app.
- Day-O 2 - Menu bar clock replacement with built-in calendar.
- Fantastical - The calendar app you won't be able to live without.
- Focus - Beautiful pomodoro-based time manager.
- Focused Work: Focus Timer - A simple, flexible Focus Timer.
- Microsoft To-Do - Microsoft's successor to Wunderlist.
- Nozbe - Powerful GTD app for individuals and teams, with support for every Apple device (Mac, iPhone, iPad, Watch).
- OmniFocus - Nice GTD app, made by OmniGroups.
- Super Productivity - Cross-platform todo list app with integrated Timeboxing and time tracking capabilities.
- Taskade - Real-time collaborative editor for teams.
- TaskPaper - Plain text to-do lists.
- Things - Delightful and easy to use task manager. (Award-winning App)
- Todoist - Cross-platform todo list app.
- Tomato 2 - Beautiful and simple Pomodoro timer.
- TickTick - Simple and effective to-do list and task manager that helps you organize all aspects of life.
Productivity
- 1440 Minutes Left Today - Keep a track of how many minutes you have left until the day is over, right in your menu bar.
- Alfred - Award-winning app which boosts efficiency with hotkeys, keywords, text expansion and more. Search your Mac and the web, and be more productive with custom actions to control your Mac.
- BetterTouchTool - Great, feature-packed app that allows you to configure many gestures for your Magic Mouse, Macbook Trackpad, Magic Trackpad and also Mouse Gestures for normal mice.
- Choosy - UI, URL API and a browser extension set for managing rules where and how to open links.
- Clovery - Integrate all your favorite Google services tightly with your Mac, let you access these services quickly and work more productively.
- CursorSense - Mouse & trackpad driver that lets you tweak the acceleration curve and more.
- Dropzone - Create a popup grid of customizable actions. Scriptable in Ruby & Python.
- Hammerspoon - Tool for powerful OSX automation with the Lua scripting engine.
- HapticKey - A simple utility application for MacBook with Touch Bar that triggers a haptic feedback when tapping Touch Bar.
- HazeOver App that dims your background app windows so you can focus more on your main task!
- Hungrymark - Useful app to bookmark your files, folders, and webs, quick access your bookmarks through menu bar
- iCMD - Fuzzy menubar search and vim/easymotion emulation which works globally for every native MacOS app.
- Karabiner - Powerful and stable keyboard customizer for OS X.
- Keyboard Maestro - Automate routine actions based on triggers from keyboard, menu, location, added devices, and more.
- Keytty - App to keep your hands on the keyboard. Move, click, scroll, drag and more with a few strokes.
- Lazy - Keyboard-driven commands to manage your surroundings directly from your mac.
- Mos - Simple tool can offer the smooth scrolling and reverse the mouse scrolling direction on your Mac.
- Mouseless - Master all of the magic keystrokes for your favorite apps & tools.
- OmniPlan - The best way to visualize, maintain, and simplify your projects. Project Management made easy.
- Qbserve - Time tracking automation: freelance project tracking, timesheets, invoicing & real-time productivity feedback.
- Raycast - Raycast lets you control your tools with a few keystrokes. It’s designed to keep you focused.
- RescueTime - Personal analytics service that shows you how you spend your time and provides tools to help you be more productive.
- SensibleSideButtons – Use the side buttons on your mouse to move forward and backward in many apps, like in Windows.
- nnScreenshots - a super easy way to keep a visual record of your productivity to make it easier to fill out timesheets or just to help you review the day. Built in timesheet editor.
- skhd - Simple hotkey daemon for macOS.
- Strategr – No-fuss time management app. Stategr helps you maximize your productivity, giving you the quickest and most effective way to time-box your day.
- Time Out - Easy break reminders, with micro-break and flexible customization if you want it.
- Timing - Automatic time and productivity tracking for Mac. Helps you stay on track with your work and ensures no billable hours get lost if you are billing hourly.
- Trello - A collaboration tool that organizes your projects into Kanban boards.
- Ukelele - Unicode Keyboard Layout Editor.
- xScope - Powerful set of tools that are ideal for measuring, inspecting & testing on-screen graphics and layouts.
- Z - Powerful way to navigate easily by typing only a string of directory name in terminal instead of typing exact location of director.
- Pomodoro Cycle - Pomodoro tracker
Window Management
- AltTab - Open source window switcher with window previews.
- Amethyst - Tiling window manager.
- contexts - Provides more power than the native Mac Dock. Especially when you have multiple screens, it can help you switch more quickly.
- Divvy - Window management at its finest with its amazing Divvy Grid system.
- Hummingbird - Easily move and resize windows without mouse clicks, from anywhere within a window.
- IntelliDock - Hides the Dock, Automatically.
- Magnet - Window manager that keeps your workspace organized.
- Moom - Allows you to easily move and zoom windows, or to another display—using either the mouse or the keyboard.
- rcmd - Use the ⌘ Right Command key to switch applications based on their name.
- Rectangle - Window management app based on Spectacle, written in Swift.
- ShiftIt - Managing window size and position in OSX.
- SizeUp - Powerful, keyboard-centric window management.
- Slate - Window management application similar to Divvy and SizeUp (except better and free!). (Needs config file)
- Total Spaces - Provides window management much like ubuntu. Creates hotkeys for workspaces which allows you to easily move around.
- yabai - Tiling window manager for macOS. A rewrite of chunkwm, it provides a more seamless integration with the operating system.
Password Management
- 1Password - Cross-platform password management tool.
- Authy - Two-factor authentication token manager that backs up and syncs across your devices.
- Bitwarden - Open source password management tool for Mac OS, iOS and browsers.
- Buttercup - The Password Manager You Deserve
- Dashlane - Cloud-based password manager with award-winning design.
- Enpass - Cross-platform password management tool with cloud integration.
- Keeweb - Free, cross-platform password manager compatible with KeePass.
- KeepassXC - Free, open source, cross-platform password manager.
- LastPass - Password management tool for Mac OS and browser.
- MacPass - Open-source KeePass Mac OS client.
- SafeInCloud - Cross Platform password management, low cost app!
- Strongbox - Secure Password Management for iOS and MacOS. Open Source. Compatible with KeePass and Password Safe.
Finder Tools
- fman - The first dual-pane file manager to integrate features from Sublime Text.
- ForkLift - The most advanced dual pane file manager and file transfer client for macOS.
- Path Finder - File management app.
- QSpace - A clean and efficient Multi-view File Manager.
- TotalFinder - Chrome-styled Finder substitute.
- XtraFinder - Adds tabs and cut to Mac Finder.
Quality of Life Improvements
- Actions - Provides many useful actions for the Shortcuts app. [
]
- CheatSheet - Hold the ⌘-Key to get a list of all active shortcuts of the current application. It's as simple as that.
- f.lux - Makes the color of your computer's display adapt to the time of day.
- Lunar - Help you adujst brightness, contrast and volumn of your external display.
- Grayscale Mode - An open source macOS app that lets you quickly toggle grayscale filter right from your menu bar or using a keyboard shortcut (⌥⌘G).
- KeyCastr - Open-source keystroke visualizer.
- NightOwl - Automatically switch between macOS Mojave's light and dark themes by time of day or with a menu bar or keyboard shortcut.
- One Switch - Mac menu bar app that adds various switches to the Mac's menu bar.
- Shifty - A macOS menu bar app that gives you more control over Night Shift.
- Snap - Launch an app in a snap. Ridiculously easy shortcut management.
- Shareful - Supercharge the system share menu with copy, save, and open actions.
System Related Tools
- Amphetamine - Override your energy saver settings and keep your Mac awake.
- AdBlock One - Your New Favorite Free Ad Blocker for macOS and iOS: Stop seeing annoying ads in Safari. Open websites faster. Browse the web more safely.
- AppCleaner - Small application which allows you to thoroughly uninstall unwanted apps.
- Apple Silicon App Test - Browser-based tool for checking Apple Silicon app compatibility before you buy an M1 Mac.
- Background Music - Automatically pause your music, set individual apps' volumes and record system audio.
- Cleaner One - All-in-one Disk Cleaning Manager: Clean up your Mac and optimize its performance. Run a quick scan now to verify what's taking up your storage.
- Cleaner for Xcode - Helps make your Xcode faster by removing unwanted and deprecated files.
- coconutBattery - Shows live information about the battery in your Mac. Includes: manufacture date, capacity, cycle count, battery status, temperature, discharging power.
- Coolant - Menubar app that lets you know when an app is consuming 100% CPU or more than a gigabyte of memory (or any arbitrary limits you choose).
- DaisyDisk - Gives a great overview of disk usage. Can also make more disk-space available by cleaning up your disk.
- FruitJuice - Will let you know how long to stay unplugged each day to keep your battery healthy.
- gfxCardStatus - Unobtrusive menu bar app for OS X that allows MacBook Pro users to see which apps are affecting their battery life by using the more power-hungry graphics.
- Gray - Pick between the light appearance and the dark appearance on a per-app basis with the click of a button.
- HandShaker - Mac on the management of Android mobile phone content.
- HTML5 Player - HTML 5 video player. Keep your Mac from "burning".
- iStat Menus - Advanced Mac system monitor on the menubar.
- iStats - Command-line tool that allows you to easily grab the CPU temperature, fan speeds and battery information on OSX.
- Juice - Make your battery information a bit more interesting.
- KeepingYouAwake - Alternative to Caffeine with better support for dark mode in Mac.
- Monity - System monitoring widget for OS X.
- Mounty - Tiny tool to re-mount write-protected NTFS volumes under Mac OS X 10.9+ in read-write mode.
- NitroShare - Cross-platform network file transfer utility.
- Noti - Receive Android notifications on your Mac (with Pushbullet).
- OmniDiskSweeper - Shows you the files on your drive, ordered by size. It can be used to find and remove unused files.
- OnyX - Multifunction utility to verify disks and files, run cleaning and system maintenance tasks, configure hidden options and more.
- Paragon NTFS - Read/write access to NTFS in macOS Sierra.
- Porting Kit - Install Windows® Games inside your Mac.
- Sensei - Sensei is a multi-tool for Mac performance, with features spanning across both hardware and software.
- SSH Tunnel - Application for managing SSH connections.
- TG Pro - Temperature monitoring, fan control & hardware diagnostics to help keep your Mac cool and healthy.
- Tuxera NTFS - Full read-write compatibility with NTFS-formatted drives on a Mac.
- Overkill - Stop iTunes from opening when you connect your iPhone.
Gaming Software
- OpenEmu - A great video game console emulator, supports many different emulators in a single application. (e.g. Sony PSP, GameBoy, NDS and so on)
- PPSSPP - A awesome PSP emulator for any OS you can dream of!
Remote Login Software
- RustDesk - Yet another remote desktop software.
- AnyDesk - Provides Remote access across multiple machines.
- Microsoft Remote Desktop - Connect to a remote PC or virtual apps and desktops made available by your admin.
- RealVNC - The original and best software for remote access across desktop and mobile.
- RoyalTSX - Royal TSX is an ideal tool for system engineers and other IT professionals who need remote access to system with different protocols.
- TeamViewer - Proprietary computer software package for remote control, desktop sharing, online meetings, web conferencing and file transfer between computers.
Social Networking
- Chirper - A simple and tiny menu bar app for Buffer/Twitter that helps you tweet your thoughts without opening anything.
- Flume - A beautiful Instagram experience for your Mac. The free version is good enough if you only want to do the browsing instead of posting.
QuickLook Plugins
- quick-look-plugins - List of useful Quick Look plugins for developers
Third Party App Markets
If you come across websites offering pirated software or cracks, please post HERE. We love apps, but only authentic ones. :)
- Setapp - The best apps for Mac in one suite.
Package Managers
Here are some of the major software download sites, there are a number of OSX Mac software sites
- Cakebrew - GUI client for Homebrew. Install, check or remove apps, no command-line needed.
- Homebrew Cask - Command line installation manager which extends Homebrew and brings its elegance, simplicity, and speed to Mac OS applications and large binaries alike.
- Homebrew - The missing package manager for macOS.
- MacPorts - Open-source community initiative to design an easy-to-use system for compiling, installing, and upgrading either command-line, X11 or Aqua based open-source software on the Mac OS X operating system.
- MacUpdate Desktop - Simplifies finding, buying and installing apps for your Mac.
Mac App Download Sites
Here are some of the major software download sites, there are a number of OSX Mac software sites
Genuine Sites
- alternativeTo - Also a very nice community. If you are looking for some alternative apps FOR Windows or another platform, check this site.
- Slant - I personally recommend this. This is a platform where you can compare apps side-by-side, you might get an idea by seeing other users recommendations. Please contribute if you find an application from this list!
- Also, Quora, Reddit, you know the drill.
- App Shopper:http://appshopper.com/
- MacUpdate:https://www.macupdate.com/
- Other sites like MacStories, LifeHacker, ProductHunt are great resources.
Pirated software download site blacklist
Refuse piracy from me. Software vendors can go to these places rights.
- AppKed:~~
http://www.macbed.com~~ - Softasm:~~
https://softasm.com/~~
Podcasts
- Mac Power Users - Learn about getting the most from your Apple technology with focused topics and workflow guests.
Contributors
This project exists thanks to all the people who contribute.
Backers
Thank you to all our backers! 🙏 Become a backer
Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. Become a sponsor
License
This work is licensed under a Creative Commons Attribution 4.0 International License.
Awesome macOS open source applications
List of awesome open source applications for macOS. This list contains a lot of native, and cross-platform apps. The main goal of this repository is to find free open source apps and start contributing. Feel free to contribute to the list, any suggestions are welcome!
To receive all new or popular applications you can join our telegram channel.
Support
Hey friend! Help me out for a couple of :beers:!
Languages
You can see in which language an app is written. Currently there are following languages:
- C language.
- C++ language.
- C# language.
- Clojure language.
- CoffeeScript language.
- CSS language.
- Go language.
- Elm language.
- Haskell language.
- JavaScript language.
- Lua language.
- Objective-C language.
- Python language.
- Ruby language.
- Rust language.
- Shell language.
- Swift language.
- TypeScript language.
Contents
- Audio
- Backup
- Browser
- Chat
- Cryptocurrency
- Database
- Development
- Git
- iOS / macOS
- JSON Parsing
- Web development
- Other development
- Downloader
- Editors
- CSV
- JSON
- Markdown
- TeX
- Text
- Extensions
- Finder
- Games
- Graphics
- IDE
- Images
- Keyboard
- Menubar
- Music
- News
- Notes
- Other
- Podcast
- Productivity
- Screensaver
- Security
- Sharing Files
- Social Networking
- Streaming
- System
- Terminal
- Touch Bar
- Utilities
- VPN & Proxy
- Video
- Wallpaper
- Window Management
Applications
Audio
- AUHost - Application which hosts AudioUnits v3 using AVFoundation API.
- Audacity - Free, open source, cross-platform audio software
- Aural Player - Aural Player is a audio player application for the macOS platform. Inspired by the classic Winamp player for Windows, it is designed to be to-the-point and easy to use.
- AutoMute - Automatically mute the sound when headphones disconnect / Mac awake from sleep.
- Background Music - Background Music, a macOS audio utility: automatically pause your music, set individual apps' volumes and record system audio.
- BlackHole - BlackHole is a modern macOS virtual audio driver that allows applications to pass audio to other applications with zero additional latency.
- CAM - macOS camera recording using ffmpeg
- Clementine - Clementine is a modern music player and library organizer for Windows, Linux and macOS.
- Cog - Cog is an open source audio player for macOS. The basic layout is a single-paned playlist interface with two retractable drawers, one for navigating the user's music folders and another for viewing audio file properties, like bitrate.
- Karaoke Forever - Host awesome karaoke parties where everyone can queue songs from their phone's browser. Plays MP3+G and MP4 with WebGL visualizations.
- LocalRadio - LocalRadio is software for listening to "Software-Defined Radio" on your Mac and mobile devices.
- LosslessCut - The swiss army knife of lossless video/audio editing without re-encoding.
- Lyricism - macOS app to show you lyric what currently iTunes or Spotify is playing.
- LyricsX - Lyrics for iTunes, Spotify and Vox.
- MPV - Lightweight, highly configurable media player.
- MonitorControl - Control your external monitor brightness, contrast or volume directly from a menulet or with keyboard native keys.
- Mous Player - Simple yet powerful audio player for BSD/Linux/macOS.
- Music Bar - Music Bar is macOS application that places music controls right in your menu bar.
- NoiseBuddy - Control the listening mode on your AirPods Pro in the Touch Bar or Menu Bar.
- PlayStatus - PlayStatus is a macOS app that allows the control of Spotify and iTunes music playback from the menu bar.
- Plug - Discover and listen to music from Hype Machine.
- Scope - Audio Oscilloscope
- ShazamScrobbler - Scrobble vinyl, radios, movies to Last.fm.
- Sonora - Minimal, beautifully designed music player for macOS.
- SpotMenu - Spotify and iTunes in your menu bar.
- SpotSpot - Spotify mini-player for macOS.
- Spotify4BigSur - Spotify widget for Notification Center.
- Suohai - Audio input/output source lock for macOS.
- Tickeys - Instant audio feedback for typing. macOS version.
- Tuner - Musical Instrument Tuner
- [Un]MuteMic - macOS app to mute & unmute the input volume of your microphone. Perfect for podcasters.
- eqMac2 - System-Wide Equalizer for the Mac.
- fre:ac - The fre:ac audio converter project.
- iTunes-Volume-Control - This app allows you to control the iTunes volume using volume up and volume down hotkeys.
- jmc - jmc is new macOS media organizer.
- shairport-sync - macOS/Linux/FreeBSD/OpenBSD Airplay audio receiver.
- waveSDR - macOS native desktop Software Defined Radio application using the RTL-SDR USB device.
Backup
- BorgBase/Vorta - Simple and Secure Offsite Backups
- Mackup - Keep your application settings in sync (macOS/Linux).
- Syncalicious - Keeping multiple macOS preferences in sync can be painful, but it shouldn't be.
- UrBackup - UrBackup is Client/Server network backup for Windows, macOS and Linux.
- shallow-backup - Easily create lightweight documentation of installed applications, dotfiles, and more.
Browser
- Beaker Browser - Beaker is an experimental peer-to-peer Web browser.
- Brave Browser - Brave browser for Desktop and Laptop computers running Windows, macOS, and Linux.
- Chromium - Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
- Finicky - Always opens the right browser.
- Firefox - Fast, privacy aware browser from a non-profit. Runs on Windows, macOS and Linux.
- Helium - Floating browser window for macOS.
- Kaktus - Experimental web browser with minimalistic design. Running Windows, macOS and Linux.
- Min Browser - A fast and efficient minimal web browser.
- Pennywise - Pennywise opens any website or media in a small floating window that remains on top of all other applications. It's a great alternative to Helium.
- Plash - Make any website your desktop wallpaper.
- Privacy Redirect for Safari - Redirect Twitter, YouTube, Reddit, Google Maps, Google Search, and Google Translate to privacy friendly alternatives.
- browserosaurus - macOS tool that prompts you to choose a browser when opening a link.
- otter-browser - Otter Browser aims to recreate the best aspects of the classic Opera (12.x) UI using Qt5.
- seb-mac - Safe Exam Browser for macOS and iOS.
Chat
- Beagle IM - Powerful XMPP client with support for file transfer, VoIP and end-to-end encryption.
- ChitChat - Native Mac app wrapper for WhatsApp Web.
- Electronic WeChat - Better WeChat on macOS and Linux.
- Element - Element is a collaboration app (currently Electron) for the Matrix protocol.
- Ferdi - Ferdi is messaging application for services like WhatsApp, Slack, Messenger and many more. It started off as a hard-fork of Franz, but has now surpassed it in features.
- Franz - Franz is messaging application for services like WhatsApp, Slack, Messenger and many more.
- Google Allo for Desktop - Native macOS & Windows desktop app for Google Allo.
- GroupMe - Unofficial GroupMe App.
- MessagesHistoryBrowser - macOS application to comfortably browse and search through your Messages.app history.
- RocketChat - Free open source chat system for teams. An alternative to Slack that can also be self hosted.
- Seaglass - A truly native Matrix client for macOS.
- Signal Desktop - Electron app that links with your Signal Android or Signal iOS app.
- Telegram - Source code of Telegram for macOS on Swift.
- Telegram Desktop - Telegram Desktop messaging app.
- Textual - Textual is an IRC client for macOS.
- Thunderbird - Backed by Mozilla, Thunderbird is an extensible email, newsfeed, chat, and calendaring client.
- Torchat-Mac - TorChat for Mac is a macOS native and unofficial port of torchat.
- WhatsAppBar - Send WhatsApp message from menu bar.
- Wire Desktop - Standalone Electron app for the chatapp Wire.
Cryptocurrency
- Balance Open - App for all the world’s currencies.
- CoinBar - macOS menu bar application for tracking crypto coin prices.
- Copay - A secure bitcoin wallet platform for both desktop and mobile devices.
- Crypto Bar - macOS menu bar application built with Electron.
- Float coin - Native menu bar app with floating window and support for many Exchanges.
Database
- Beekeeper Studio - SQL editor and manager with support for SQLite, MySQL, MariaDB, Postgres, CockroachDB, SQL Server, and Amazon Redshift.
- DB Browser for SQLite - SQLite database management GUI.
- DBeaver - Universal database tool and SQL client.
- Medis - 💻 Medis is a beautiful, easy-to-use Mac database management application for Redis.
- MongoHub - Add another lightweight Mac Native MongoDB client.
- Postbird - PostgreSQL GUI client for macOS.
- Postgres.app - The easiest way to get started with PostgreSQL on the Mac.
- Redis Desktop Manager - Cross-platform open source database management tool for Redis ®
- Redis.app - The easiest way to get started with Redis on the Mac.
- Robo 3T - Robo 3T (formerly Robomongo) is the free lightweight GUI for MongoDB enthusiasts.
- Sequel Ace - Sequel Ace is a fast, easy-to-use Mac database management application for working with MySQL & MariaDB databases.
- Sequel Pro - MySQL/MariaDB database management for macOS.
- mongoDB.app - The easiest way to get started with mongoDB on the Mac.
- redis-pro - Redis management with SwiftUI.
- reventlou - Personal database as an information management system.
Development
- Apache Netbeans - Apache NetBeans is an IDE, Tooling Platform and Application Framework suitable for development in Java, JavaScript, PHP, HTML5, CSS, and more.
- ColorSet - ColorSet is a macOS utility and framework allowing developers to manage custom interface colors with ease.
- KiCad - A software suite for electronic design automation.
- Layout Designer for UICollectionView - A simple but powerful tool that helps you make complex layouts for UICollectionView.
- Pasteboard Viewer - Inspect the system pasteboards.
- Stringz - A lightweight and powerful editor for localizing iOS, macOS, tvOS, and watchOS applications.
Git
- Cashew - Cashew macOS Github Issue Tracker.
- GPM - macOS application for easily operating GitHub Projects.
- Git Interactive Rebase Tool - Full feature terminal based sequence editor for interactive rebase.
- GitBlamePR - Mac app that shows pull request last modified each line of a file
- GitHub Desktop - Simple collaboration from your desktop.
- GitSync - Minimalistic Git client for Mac.
- GitUp - The Git interface you've been missing all your life has finally arrived.
- GitX - Graphical client for the git version control system.
- Gitee - Gitee, macOS status bar application for Github.
- Github contributions - GitHub contributions app, for iOS, WatchOS, and macOS.
- GithubListener - Simple app that will notify about new commits to watched repositories.
- GithubNotify - Simple macOS app to alert you when you have unread GitHub notifications.
- Gitify - Your GitHub notifications on your menu bar.
- Streaker - GitHub contribution streak tracking menubar app.
- TeamStatus-for-GitHub - macOS status bar application for tracking code review process within the team.
- Trailer - Managing Pull Requests and Issues For GitHub & GitHub Enterprise.
- Xit - Xit is a graphical tool for working with git repositories.
- osagitfilter - Filter to put OSA languages (AppleScript, JavaScript) into git, as if they where plain text-files.
![applescript_icon]
JSON Parsing
- JSON Mapper - Simple macOS app to generate Swift Object Mapper classes from JSON.
- JSON to Model class - Template based highly customizable macOS app to generate classes from JSON string, supports many languages.
- JSONExport - Desktop application for macOS which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language.
- j2s - macOS app to convert JSON objects into Swift structs (currently targets Swift 4 and Codable).
Other Development
- Boop - A scriptable scratchpad for developers.
- ChefInspector - Node and Attribute viewer for Chef
- MQTTX - An elegant Cross-platform MQTT 5.0 desktop client.
- macho-browser - Browser for macOS Mach-O binaries.
- vegvisir - Browser based GUI for LLDB Debugger.
Web Development
- CoreOS VM - CoreOS VM is macOS status bar app which allows in an easy way to control CoreOS VM on your Mac.
- Corectl App for macOS - Corectl App is a macOS Status bar App which works like a wrapper around the corectl command line tool corectld to control the server runtime process.
- HTTP Toolkit - HTTP Toolkit is a cross-platform tool to intercept, debug & mock HTTP.
- Insomnia - Insomnia is a cross-platform REST client, built on top of Electron.
- KubeMonitor - KubeMonitor is a macOS app that displays information about your active Kubernetes cluster in your menu bar.
- KubeSwitch - KubeSwitch lists the available kubernetes cluster contexts on the mac, in Mac's Menu bar.
- Lantern - Dedicated Mac app for website auditing and crawling.
- LocalSites - Simple Menu Bar (Status Bar) App for macOS listing local Bonjour websites (as Safari 11 no longer has Bonjour Bookmarks).
- Now Desktop - Create deployments right from the tray menu.
- SimpleLocalize CLI - Open source tool for managing i18n keys in software projects.
- aws-s3-uploader - Simple macOS app for uploading files to Amazon Web Services.
- iTunesConnect - macOS app to let you access iTunesConnect.
- ndm - Npm desktop GUI.
- nodeScratchpad - Evaluate Nodejs/JS code snippets from Menubar.
- stts - macOS app for monitoring the status of cloud services.
iOS / macOS
- AVXCAssets Generator - Takes path for your assets images and creates appiconset and imageset for you in just one click.
- AppBox - Tool for iOS developers to build and deploy Development, Ad-Hoc and In-house (Enterprise) applications directly to the devices from your Dropbox account.
- AppIcons - Tool for generating icons in all sizes as required by macOS and iOS apps.
- AppStoreReviewTimes - Gives you indication about the average iOS / macOS app stores review times.
- AppleTrace - Trace tool for iOS/macOS.
- Asset Catalog Tinkerer - App that lets you open .car files and browse/extract their images.
- Assets - Assets is a macOS app that manages assets for your development projects (Xcode, web, etc).
- Attabench - Attabench is a microbenchmarking app for macOS, designed to measure and visualize the performance of Swift code.
- Board For GitHub - Small application to monitor your GitHub project web page in a native macOS app :octocat:!
- Brisk - macOS app for submitting radars.
- Cleaner for Xcode - Cleaner for Xcode.app built with react-native-macOS.
- CocoaRestClient - Native Apple macOS app for testing HTTP/REST endpoints.
- Corona Tracker - Coronavirus tracker app for iOS & macOS with maps & charts.
- FilterShop - macOS App to explore CoreImage Filters.
- IconGenerator - macOS app to generate app icons.
- Iconizer - Create Xcode image catalogs (xcassets) on the fly.
- Iconology - Edit icons and then export to Xcode, icns, ico, favicon, macOS iconset, or a custom collection.
- Icons.app - App for macOS which is designed to generate consistent sized icons of an existing application in various states, jiggling (shaking) etc.
- InjectionIII - overdue Swift rewrite of Injection.
- Knuff - The debug application for Apple Push Notification Service (APNs).
- LayerX - Intuitive app to display transparent images on screen.
- Localizable.strings - Mac app to localize your iOS and macOS projects.
- Localization Editor - Simple macOS editor app to help you manage iOS app localizations by allowing you to edit all the translations side by side.
- Localizations - Localizations is an macOS app that manages your Xcode project localization files (.strings).
- Menubar Colors - macOS app for convenient access to the system color panel.
- Notarize - Notarization status monitoring tool for macOS, supporting multiple developer accounts
- PodsUpdater - macOS app which helps you manage dependency releases in your Podfile.
- ProfilesManager - Apple iOS/macOS Provisioning Profiles management,.provisionprofile, .mobileprovision files manager tool for mac.
- PushNotifications - macOS app to test push notifications on iOS and Android.
- ResignTool - This is an app for macOS that can (re)sign apps and bundle them into ipa files that are ready to be installed on an iOS device.
- Resizr - MacOS application for creating AppIcon for iOS and Android apps.
- SmartPush - iOS Push Notification Debug App.
- Stringz - A lightweight and powerful editor for localizing iOS, macOS, tvOS, and watchOS applications.
- TransporterPad - iOS/Android app deployment tool for macOS.
- WWDC - Unofficial WWDC app for macOS.
- WWDC.srt - Powerful app for downloading subtitle for each WWDC session video since 2013 in (srt) format.
- Xcodes.app - The easiest way to install and switch between multiple versions of Xcode.
- calabash-launcher - iOS Calabash Launcher is a macOS app that helps you run and manage Calabash tests on your Mac.
- iOS Images Extractor - iOS Images Extractor is a Mac app to normalize, decode, and extract images from iOS apps.
- iSimulator - iSimulator is a GUI utility to control the Simulator and manage the app installed on the simulator.
- xib2Storyboard - Tool to convert Xcode .xib to .storyboard files.
Downloader
- App Downloader - Easily search and download macOS apps from the huge
homebrew caskapp catalog.
- Extream Download Manager - a powerful tool to increase download speeds up to 500%
- Get It - Native macOS video/audio downloader. Think of it as a youtube downloader that works on many sites.
- Motrix - A full-featured download manager.
- Pillager - macOS Video Downloader written in Swift and Objective-C.
- YouTube Downloader for macOS - Simple menu bar app to download YouTube movies on your Mac. I wrote this as a test project to learn more about app development on macOS.
- udemy-downloader-gui - desktop application for downloading Udemy Courses.
Editors
CSV
- TableTool - simple CSV editor for the macOS.
JSON
- JSON Editor - Dead simple JSON editor using josdejong/jsoneditor
- JSON-Splora - GUI for editing, visualizing, and manipulating JSON data.
Markdown
- Gingko - Tree-structured markdown editor for macOS, Windows, and Linux.
- MacDown - Markdown editor for macOS.
- Mark Text - Realtime preview markdown editor for macOS Windows and Linux.
- Notenik - Note-taking app with many organizational options.
- Pine - A modern MacOS markdown editor.
- QOwnNotes - Plain-text file notepad and todo-list manager with markdown support and ownCloud / Nextcloud integration.
- Zettlr - A Markdown Editor for the 21st century.
- linked - 🧾 Your daily journal app, diary or anything else to unclutter your mind. Let linked help you get focused by writing down what is in your mind on a daily basis.
![vue_icon]
TeX
- Qilin Editor - Text editor for exact sciences with built-in KaTeX/AsciiMath support.
Text
- CotEditor - Lightweight Plain-Text Editor for macOS.
- MacVim - Text editor for macOS.
- Noto - Plain text editor for macOS with customizable themes.
- SubEthaEdit - General purpose plain text editor for macOS. Widely known for its live collaboration feature.
- TextMate - TextMate is a graphical text editor for macOS.
- Tincta - One-window text editor with syntax highlighting.
- VimR - Refined Neovim experience for macOS.
- micro - A terminal-based text editor that aims to be easy to use and intuitive, while also taking advantage of the capabilities of modern terminals.
- reventlou - Personal database as an information management system.
Extensions
- AdGuard for Safari - The most advanced ad blocking extension for Safari
- BetterPiP - Use native picture-in-picture with browsers such as Google Chrome for HTML5 videos.
- Is It Private? - A Safari Extension providing a toolbar icon that changes its visual appearance if Private Browsing is enabled.
- Middleclick - Emulate a scroll wheel click with three finger Click or Tap on MacBook trackpad and Magic Mouse
- PageExtender - Extend pages with your own CSS and JS files.
- PiPTool - Add the Picture-in-Picture Functionality to YouTube, Netflix, Plex and other video broadcasting services in macOS.
- PiPifier - PiPifier is a native macOS 10.12 Safari extension that lets you use every HTML5 video in Picture in Picture mode.
- Privacy Redirect for Safari - Redirect Twitter, YouTube, Reddit, Google Maps, Google Search, and Google Translate to privacy friendly alternatives.
- Sessions - Safari extension to save your working sessions
- Swimat - Swimat is an Xcode plug-in to format your Swift code.
- ThenGenerator - Xcode Source Editor Extension for 'Then'
- Ultra TabSaver - Ultra TabSaver is an open-source Tab Manager for Safari
- nef - This Xcode extension enables you to make a code selection and export it to a snippets. Available on Mac AppStore.
Finder
- Clipy - Clipy is a Clipboard extension app for macOS.
- CopyQ - Clipboard manager with advanced features
- Duplicate Finder - It's a useful tool that would help you to find all duplicate files which have the same names in the specific folder.
- FiScript - Execute custom scripts from the MacOS context menu (CTRL+click) in Finder.
- Finder Go - macOS app and Finder Sync Extension to open Terminal, iTerm, Hyper from Finder.
- OpenInCode - Finder toolbar app to open current folder in Visual Studio Code.
- OpenInTerminal - Finder Toolbar app for macOS to open the current directory in Terminal, iTerm, Hyper or Alacritty.
- Quick Look plugins - List of useful Quick Look plugins for developers.
- cd to... - Finder Toolbar app to open the current directory in the Terminal
- dupeGuru - dupeGuru is a tool to find duplicate files on your computer. It can scan using file names and file contents.
Games
- 0 A.D. - Real-time strategy game of ancient warfare
- Battle for Wesnoth - Turn-based tactical strategy game, featuring both single-player and online multiplayer combat.
- Boxer - The DOS game emulator that’s fit for your Mac.
- Chess - The chess app that comes with macOS. ![objective-c_icon]
- Dolphin - Powerful emulator for Nintendo GameCube and Wii games.
- Dynamic Dark Mode - Dynamic Dark Mode is the app you are looking for to power up Dark Mode on macOS Mojave and beyond.
- OpenEmu - Retro video game emulation for macOS.
- OpenRCT2 - Re-implementation of RollerCoaster Tycoon 2.
- Screentendo - Turn your screen into a playable level of Mario.
- Stockfish - Beautiful, powerful chess application.
Graphics
- Aseprite - Animated sprite editor & pixel art tool (Windows, macOS, Linux).
- Blender - Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline: modeling, rigging, animation, simulation, rendering, compositing, motion tracking, and video editing.
- CaptuocrToy - Tool to capture screenshot and recognize text by online ocr apis.
- ColorSet - ColorSet is a macOS utility and framework allowing developers to manage custom interface colors with ease.
- FreeCAD - FreeCAD is an open-source 3D parametric modeler ![c++_icon]
- Gaphor - Gaphor is the simple modeling tool for UML and SysML.
- GifCapture - Gif capture app for macOS.
- Gifcurry - Video to GIF maker with a graphical interface capable of cropping, adding text, seeking, and trimming.
- Gifski - Convert videos to high-quality GIFs.
- InfiniteCanvas - Proof of concept Mac drawing application.
- Krita - Krita is a cross-platform application for creating digital art files from scratch like illustrations, concept art, matte painting, textures, comics and animations.
- Material Colors Native - Choose your Material colours and copy the hex code.
- Pencil2D Animation - Pencil2D is an animation/drawing software for macOS, Windows, and Linux. It lets you create traditional hand-drawn animation (cartoon) using both bitmap and vector graphics.
- ScreenToLayers for macOS - ScreenToLayers is a macOS application to easily capture your screen as a layered PSD file.
- macSVG - macOS application for designing HTML5 SVG (Scalable Vector Graphics) art and animation with a WebKit web view.
IDE
- Apache Netbeans - Apache NetBeans is an IDE, Tooling Platform and Application Framework suitable for development in Java, JavaScript, PHP, HTML5, CSS, and more.
- Atom - The hackable text editor.
- IntelliJ IDEA Community Edition - IntelliJ IDEA is an integrated development environment written in Java for developing computer software
- LiveCode - Cross-platform development IDE.
- Oni - Oni is a modern take on modal editing code editor focused on developer productivity.
- Vim - ubiquitous text editor
![Vim script_icon] - Visual Studio Code - Code editor developed by Microsoft.
- ZeroBraneStudio - ZeroBrane Studio is a lightweight cross-platform Lua IDE with code completion, syntax highlighting, remote debugger, code analyzer, live coding, and debugging support for various Lua engines.
Images
- APNGb - macOS app which assembles and disassembles animated png files.
- Crunch - Insane(ly slow but wicked good) PNG image optimization.
- ExifCleaner - Remove image metadata with drag and drop, multi-core batch processing, and dark mode.
- Freehand - macOS Status Bar App for quick sketch.
- Gimp - Gimp is GNU Image Manipulation Program.
- Iconology - Edit icons and then export to Xcode, icns, ico, favicon, macOS iconset, or a custom collection.
- ImageAlpha - Mac GUI for pngquant, pngnq and posterizer.
- Imagine - Imagine is a desktop app for compression of PNG and JPEG, with a modern and friendly UI.
- InVesalius - 3D medical imaging reconstruction software
- Inkscape - Inkscape is a Free and open source vector graphics editor. ![c++_icon]
- Katana - Katana is a simple screenshot utility for macOS that lives in your menubar.
- Krita - Krita is a cross-platform application for creating digital art files from scratch like illustrations, concept art, matte painting, textures, comics and animations.
- PhotoMiner - macOS app for finding and lost forgotten photos on your disks.
- Screenbar - macOS menubar app for automating screenshots.
- Seashore - Easy to use macOS image editing application for the rest of us.
- WebPonize - WebPonize is a macOS App for converting PNG, JPEG, animated (or not) GIF images into WebP.
Keyboard
- AnnePro-mac - macOS application for controlling AnnePro keyboard over bluetooth.
- Fluor - Handy tool for macOS allowing you to switch Fn keys' mode based on active application.
- GokuRakuJoudo - Karabiner-Elements configuration manager, rescue to bloated karabiner.json
- Karabiner - Karabiner (KeyRemap4MacBook) is a powerful utility for keyboard customization.
- Karabiner-Elements - Karabiner-Elements is a powerful utility for keyboard customization on macOS Sierra (10.12) or later.
- Kawa - Better input source switcher for macOS.
- Keycastr - Keystroke visualizer. ![Objective-C_icon]
- Thor - Switch the right application ASAP.
- Unshaky - A software attempt to address the "double key press" issue on Apple's butterfly keyboard
- Correo - Menubar/taskbar Gmail App for Windows and macOS.
- ElectronMail - Unofficial desktop app for ProtonMail and Tutanota end-to-end encrypted email providers.
- Mailspring - 💌 A beautiful, fast and maintained fork of @nylas Mail by one of the original authors
- Rambox - Cross Platform messaging and emailing app that combines common web applications into one.
- SimpleLogin - Email Alias solution: protect your real email address.
- Thunderbird - Backed by Mozilla, Thunderbird is an extensible email, newsfeed, chat, and calendaring client.
- dejalu - Fast and Simple Email Client.
Medical
- InVesalius - 3D medical imaging reconstruction software
Menubar
- Airpass - Status bar Mac application to overcome time constrained WiFi networks.
- Akku - The missing macOS bluetooth headset battery indicator app.
- AnyBar - macOS menubar status indicator.
- CloudyTabs - Simple menu bar macOS application for displaying lists of your iCloud Tabs and Reading List.
- DatWeatherDoe - Simple menu bar weather app for macOS written in Swift.
- DisplayMenu - Simple (bare-bones) macOS menubar extra to apply display presets.
- Dozer - Hide MacOS menubar items.
- Grayscale Mode - Manage grayscale mode from menu bar.
- Hidden Bar - An ultra-light MacOS utility that helps hide menu bar icons
- Itsycal - A tiny calendar for that lives in the Mac menu bar.
- KubeContext - import, manage and switch between your Kubernetes contexts on Mac.
- LinkLiar - Keep your MAC address random for privacy (intuitive GUI for ifconfig)
- Market Bar - Tiny stocks watcher for the menu bar.
- MeetingBar - Menu bar app for your calendar meetings
- MenuMeters - CPU, memory, disk, and network monitoring tools for macOS.
- Menubar Brightness - macOS app to change the screen brightness on the menubar.
- Music Bar - Music Bar is macOS application that places music controls right in your menu bar.
- Night Shift Control - Night Shift Control is a simple macOS menubar app for controlling Night Shift. It's aim is to bring features from f.lux which are missing from Night Shift such as disabling Night Shift for certain apps.
- Nocturnal - Menu bar app featuring darker than dark dimming, Night Shift fine tuning, and the ability to turn off TouchBar on MacBook Pro.
- NoiseBuddy - Control the listening mode on your AirPods Pro in the Touch Bar or Menu Bar.
- PSIBar - Quickly hacked up PSI macOS status bar app.
- Pareto Security - A MenuBar app to automatically audit your Mac for basic security hygiene.
- Pi Stats - macOS app to visualize Pi-hole information.
- Pika - Is an easy to use, open-source, native colour picker for macOS.
![metal_icon] - PlayStatus - PlayStatus is a macOS app that allows the control of Spotify and iTunes music playback from the menu bar.
- Quickeys - A mac menu bar app that provides note taking functionality though a quick dropdown menu.
- SensibleSideButtons - Small menu bar utility that lets you use your third-party mouse's side buttons for navigation across a variety of apps.
- Shifty - macOS menu bar app that gives you more control over Night Shift.
- SlimHUD - Cyanocitta - Replacement for MacOS' volume, brightness and keyboard backlight HUDs.
- Stats - macOS system monitor in your menu bar
- SwiftBar - Powerful macOS menu bar customization tool.
- baRSS – Menu Bar RSS Reader - RSS & Atom feed reader that lives in the system status bar.
- eul - macOS status monitoring app written in SwiftUI.
- gSwitch - macOS status bar app that allows control over the gpu on dual gpu macbooks.
- iGlance - macOS System Monitor (cpu, memory, network, fan and battery) for the Status Bar.
- xbar - Put the output from any script or program into your macOS Menu Bar.
Music
- Carol - A minimal and beautiful lyrics app that stays in the menu bar of macOS.
- ChordDetector - Tiny menu bar app that listens iTunes and Spotify to detect chords of songs!
- DeezPlayer - Deezer Desktop app for Windows, Linux and macOS.
- Karaoke Forever - Host awesome karaoke parties where everyone can queue songs from their phone's browser. Plays MP3+G and MP4 with WebGL visualizations.
- Lilypond UI - Create beautiful musical scores with LilyPond.
- MPV - Lightweight, highly configurable media player.
- Music Bar - Music Bar is macOS application that places music controls right in your menu bar.
- NoiseBuddy - Control the listening mode on your AirPods Pro in the Touch Bar or Menu Bar.
- PlayStatus - PlayStatus is a macOS app that allows the control of Spotify and iTunes music playback from the menu bar.
- Plug - Discover and listen to music from Hype Machine.
- SoundCleod - SoundCloud for macOS and Windows.
- Spotify-Cli-Mac - Control Spotify without leaving your terminal. :notes:
- YouTube-Music - macOS wrapper for music.youtube.com.
- iTunes Graphs - macOS app to visualise your iTunes library as graphs.
- lyricsify - Simple Spotify lyrics viewer menu bar app for macOS in Swift.
News
- Diurna - Basic/Classic Hacker News app, used as a Cocoa & Swift learning platform.
- NetNewsWire - Feed reader for macOS.
- Vienna - Vienna is a RSS/Atom newsreader for macOS.
- Winds - A Beautiful Open Source RSS & Podcast App Powered by Getstream.io
- baRSS – Menu Bar RSS Reader - RSS & Atom feed reader that lives in the system status bar.
- hacker-menu - Hacker News Delivered to Desktop.
Notes
- Boostnote - Note-taking application made for programmers just like you.
- Dnote - A simple command line notebook with multi-device sync and web interface.
- FSNotes - Notes manager for macOS/iOS: modern notational velocity (nvALT) on steroids.
- FromScratch - Little app that you can use as a quick note taking or todo app.
- Jupyter Notebook Viewer - Notebook viewer for macOS.
- NoteTaker - Simple note taking app for macOS and iOS which uses Realm and CloudKit for syncing.
- Notenik - Note-taking app with many organizational options.
- Notes - Notes is a macOS application built to create notes, using text amongst other formats: images, videos, contacts, and etc.
- QOwnNotes - Plain-text file notepad and todo-list manager with markdown support and ownCloud / Nextcloud integration.
- Simplenote - Simplest way to keep notes.
- Standard Notes - Safe place for your notes, thoughts, and life's work.
- Tusk - Unofficial, third-party, community driven Evernote app with a handful of useful features.
- joplin - Note taking and to-do application with synchronization capabilities for Windows, macOS, Linux, Android and iOS.
- linked - 🧾 Your daily journal app, diary or anything else to unclutter your mind. Let linked help you get focused by writing down what is in your mind on a daily basis.
![vue_icon]
- notable - Simple note taking application.
- tmpNote - Very simple macOS app to make temporary notes.
Other
- Cakebrew - Manage your Homebrew formulas with style using Cakebrew.
- DevDocs for macOS - An unofficial DevDocs API documentation viewer.
- Gas Mask - Hosts file manager for macOS.
- Hosts - Cocoa GUI for /etc/hosts.
- ImageOptim - GUI image optimizer for Mac.
- Keyframes Player - Simple macOS app to preview animations created with Facebook's keyframes framework.
- Lepton - Democratizing Code Snippets Management (macOS/Win/Linux).
- Letters - Teach your kids the alphabet and how to type.
- Platypus - Mac developer tool that creates application bundles from command line scripts.
- QorumLogs - Swift Logging Utility for Xcode & Google Docs.
- React Native Debugger - Desktop app for inspecting your React Native projects. macOS, Linux, and Windows.
- Reactotron - Desktop app for inspecting your React JS and React Native projects. macOS, Linux, and Windows.
- RktMachine - Menu bar macOS app for running rkt in a macOS hypervisor CoreOS VM.
- Ruby.app - macOS app that contains a full Ruby installation (for use with Ruby/Gosu).
- Shuttle - Simple SSH shortcut menu for macOS.
- SwiftyBeaver - Convenient logging during development & release in Swift.
- Unused - Mac app for checking Xcode projects for unused resources.
- Vagrant Manager - Manage your vagrant machines in one place with Vagrant Manager for macOS.
- macGist - Simple app to send pasteboard items to GitHub's Gist.
- syncthing-macosx - Frugal nativemacOS macOS Syncthing application bundle.
Player
- IINA - The modern video player for macOS.
- MPV - Lightweight, highly configurable media player.
- MPlayerX - Media player on macOS.
- MacMorpheus - 3D 180/360 video player for macOS for PSVR with head tracking.
- Movie Monad - Desktop video player built with Haskell that uses GStreamer and GTK+.
- Plug - Discover and listen to music from Hype Machine.
Podcast
- Cumulonimbus - Simple, beautiful podcast app.
- Doughnut - Podcast player and library for mac
- PodcastMenu - PodcastMenu is a simple app which puts Overcast on your Mac's menu bar so you can listen to your favorite podcasts while you work.
- Podlive for macOS - macOS client to listen to live streaming podcasts (only). It currently supports all livestreams broadcasting via Ultraschall with Studio Link On Air.
- Winds - A Beautiful Open Source RSS & Podcast App Powered by Getstream.io
- mkchromecast - Cast macOS and Linux Audio/Video to your Google Cast and Sonos Devices.
Productivity
- Ao - Elegant Microsoft To-Do desktop app.
- Calculeta - Calculator for macOS which working on statusbar.
- Cerebro - Cross-platform launcher app.
- ClipMenu - Clipboard manager for macOS.
- Clocker - macOS app to plan and organize through timezones.
- Condution - Create tasks, manage due dates, and filter with powerful perspectives.
- ControlPlane - Automate running tasks based on where you are or what you do.
- DevUtils.app - Developer Utilities for macOS, helps you with your tiny daily tasks with just a single click! i.e., JSON Formatter, UUID Generator...
- DropPoint - Make drag-and-drop easier using DropPoint. Helps to drag content without having to open side-by-side windows.
- Flycut - Clean and simple clipboard manager for developers.
- Itsycal - A tiny calendar for that lives in the Mac menu bar.
- KeyHolder - Record shortcuts in macOS, like Alfred.app.
- Kiwix - Kiwix for iOS and macOS, build on Swift.
- Layout Designer for UICollectionView - A simple but powerful tool that helps you make complex layouts for UICollectionView.
- Linked Ideas - macOS application to write down and connect ideas.
- Mac Screenshot Tracker - An open source, free and hackable screenshot tracker. Re-watch what you've been working on!
- Maccy - Lightweight search-as-you-type clipboard manager.
- Manta - Flexible invoicing desktop app with beautiful & customizable templates.
- MeetingBar - Menu bar app for your calendar meetings
- Middleclick - Emulate a scroll wheel click with three finger Click or Tap on MacBook trackpad and Magic Mouse
- PDF Archiver - Nice tool for tagging and archiving tasks.
- Paperless Desktop - Desktop app that uses the paperless API to manage your document scans.
- Pennywise - Pennywise opens any website or media in a small floating window that remains on top of all other applications. It's a great alternative to Helium.
- Pomodoro Cycle - Pomodoro Cycle for macOS
- QOwnNotes - Plain-text file notepad and todo-list manager with markdown support and ownCloud / Nextcloud integration.
- Quicksilver - Quicksilver is a fast macOS productivity application that gives you the power to control your Mac quickly and elegantly.
- Quickwords - Write anything in a matter of seconds. Create snippets that can substitute text, execute tedious tasks and more.
- SelfControl - macOS app to block your own access to distracting websites etc for a predetermined period of time. It can not be undone by the app or by a restart – you must wait for the timer to run out.
- Sessions - Safari extension to save your working sessions
- Speed Reader - Read faster with the power of silencing vocalization with SpeedReader.
- Spotter - Productivity tool, the main function is to search and launch external application actions and applications themselves, so you can stay focused on your current task. Kind of spotlight or alfred alternative.
- StickyNotes - A Windows 10-esque Sticky Notes app implemented in AppKit.
- Strategr - No-fuss time management.
- Super Productivity - Free to do list & time tracker for programmers & designers with Jira integration.
- ThenGenerator - Xcode Source Editor Extension for 'Then'
- Thyme - The task timer for OS X.
- Time to Leave - Log work hours and get notified when it's time to leave the office and start to live.
![html_icon] - Timer - Simple Timer app for Mac.
- Toggl Desktop - Toggl Desktop app for Windows, Mac and Linux.
- TomatoBar - Pomodoro Technique Timer for macOS with Touch Bar support.
- TrelloApp - Unofficial wrapper application for Trello.com written in Swift. This is almost a "Hello World" for a site specific browser.
- Ueli - A keystroke launcher for macOS (and Windows) like Spotlight or Alfred.
- Ultra TabSaver - Ultra TabSaver is an open-source Tab Manager for Safari
- Watson - A CLI application for time tracking.
- Whale - Unofficial Trello app.
- Yomu - Manga reader app for macOS.
- espanso - Cross-platform Text Expander, a powerful replacement for Alfred Snippets
- linked - 🧾 Your daily journal app, diary or anything else to unclutter your mind. Let linked help you get focused by writing down what is in your mind on a daily basis.
![vue_icon]
- macOrganizer - macOS app for organizing files or removing unnecessary files.
- reventlou - Personal database as an information management system.
- status-bar-todo - Simple macOS app to keep TODO-list in status bar.
- stretchly - Cross-platform electron app that reminds you to take breaks when working with computer.
Screensaver
- Aerial - Apple TV Aerial Screensaver for macOS.
- Brooklyn - Screensaver inspired by Apple's Event on October 30, 2018.
- Epoch Flip Clock Screensaver - Unix epoch timestamp flip clock screensaver.
- Image-As-Wallpaper - Utility application helps with selection of images for using as desktop wallpaper or in screensaver on Mac computers.
- Irvue - Screensaver for macOS.
- Life Saver - An abstract screensaver based on Conway's Game of Life implemented with SpriteKit
- MinimalClock - Simple and elegant screensaver that displays the time.
- MusaicFM - iTunes Screensaver Clone for Spotify and Last.fm
- Predator - A predator-inspired clock screensaver for macOS
- The GitHub Matrix Screensaver - The GitHub Matrix Screensaver for macOS.
Security
- Cloaker - simple drag-and-drop, password-based file encryption.
- Cryptomator - Multi-platform transparent client-side encryption of your files in the cloud.
- LuLu - LuLu is macOS firewall application that aims to block unauthorized (outgoing) network traffic.
- Pareto Security - A MenuBar app to automatically audit your Mac for basic security hygiene.
- Privacy Redirect for Safari - Redirect Twitter, YouTube, Reddit, Google Maps, Google Search, and Google Translate to privacy friendly alternatives.
- Swifty - Free and offline password manager.
- macOS GateKeeper Helper - Simple macOS GateKeeper script. It helps you to control your GateKeeper.
- stronghold - Easily configure macOS security settings from the terminal.
Sharing Files
- Cyberduck - Cyberduck is a libre server and cloud storage browser for Mac and Windows with support for FTP, SFTP, WebDAV, Amazon S3, OpenStack Swift, Backblaze B2, Microsoft Azure & OneDrive, Google Drive and Dropbox.
- Deluge - Lightweight cross-platform BitTorrent client.
- NitroShare - Transferring files from one device to another
- Rhea - macOS status bar app for quickly sharing files and URLs.
- Soduto - Soduto is a KDEConnect compatible application for macOS. It gives AirDrop like integration and allows file and clipboard sharing between your phones, desktops and tablets.
- Transmission - Official Transmission BitTorrent client repository.
- Tribler - Privacy enhanced BitTorrent client with P2P content discovery.
- mac2imgur - Simple Mac app designed to make uploading images and screenshots to Imgur quick and effortless.
- qBittorrent - BitTorrent client in Qt.
Social Networking
- Caprine - Elegant Facebook Messenger desktop app.
- Goofy - Unofficial Facebook Messenger client.
- Leviathan - Leviathan is a iOS and macOS client application for the Mastodon social network.
- Messenger - macOS app wrapping Facebook's Messenger for desktop.
- Product Hunt - share and discover your favorite new products and applications.
- Quail - Unofficial esa app.
- Ramme - Unofficial Instagram Desktop App.
- RedditOS - A SwiftUI Reddit client for macOS.
- Simpo - macOS menubar app to post status quickly.
Streaming
- Galeri - Perpetual artwork streaming app.
- OBS Studio - Free and open source software for live streaming and screen recording.
- Plug - Discover and listen to music from Hype Machine.
System
- AppPolice - App for macOS with a minimalistic UI which lets you quickly throttle down the CPU usage of any running process.
- Apple Juice - Advanced battery gauge for macOS.
- Clean-Me - Small macOS app that acts as a system cleaner (logs, cache, ...).
- Diagnostics - Diagnostics is an application displaying the diagnostic reports from applications on macOS.
- DisableMonitor - Easily disable or enable a monitor on your Mac.
- EtreCheck - EtreCheck is an easy-to-use macOS app to display important details of your system configuration and allow you to copy that information to the Clipboard.
- Fanny - Monitor your Mac's fan speed and CPU temperature from your Notification Center.
- HoRNDIS - Android USB tethering driver for macOS.
- Juice - Make your battery information a bit more interesting.
- KeepingYouAwake - Prevents your Mac from going to sleep.
- Latest - Small utility app for macOS that makes sure you know about all the latest updates to the apps you use.
- Loading - Simple network activity monitor for macOS.
- Overkill - Stop iTunes from opening when you connect your iPhone.
- ProfileCreator - macOS Application to create standard or customized configuration profiles.
- SlimHUD - Cyanocitta - Replacement for MacOS' volume, brightness and keyboard backlight HUDs.
- Sloth - Sloth is an macOS application that displays a list of all open files and sockets in use by all running applications on your system.
- Spotter - Productivity tool, the main function is to search and launch external application actions and applications themselves, so you can stay focused on your current task. Kind of spotlight or alfred alternative.
- Stats - macOS system monitor in your menu bar
- Turbo Boost Switcher - Turbo Boost Switcher is a little application for Mac computers that allows to enable and/or disable the Turbo Boost feature.
- VerticalBar - macOS application to add a vertical bar to Dock.
- eul - macOS status monitoring app written in SwiftUI.
- macOS GateKeeper Helper - Simple macOS GateKeeper script. It helps you to control your GateKeeper.
- macOSLucidaGrande - A small utility to set Lucida Grande as your Mac's system UI font.
Terminal
- Alacritty - Cross-platform, GPU-accelerated terminal emulator.
- Bifrost - A tiny terminal emulator for serial port communication (macOS/Linux).
- Console - macOS console application.
- Finder Go - macOS app and Finder Sync Extension to open Terminal, iTerm, Hyper from Finder.
- Hyper - Terminal built on web technologies.
- Kitty - Cross-platform, fast, feature full, GPU based terminal emulator.
- OpenInTerminal - Finder Toolbar app for macOS to open the current directory in Terminal, iTerm, Hyper or Alacritty.
- OpenTerminal - App for macOS that opens a new Finder window and changes the current directory to the folder launched by the app.
- cd to... - Finder Toolbar app to open the current directory in the Terminal
- iTerm 2 - Terminal emulator for macOS that does amazing things.
- macOS GateKeeper Helper - Simple macOS GateKeeper script. It helps you to control your GateKeeper.
- wallpapper - wallpapper is a console application for creating dynamic wallpapers for Mojave.
Touch Bar
- Muse - Spotify controller with TouchBar support.
- MyTouchbarMyRules - App to customize your Touch Bar as you want.
- Pock - Display macOS Dock in Touch Bar.
- Touch Bar Preview - Small application to display your designs on the Touch Bar of the new MacBook Pro.
- Touch Bar Simulator - Use the Touch Bar on any Mac.
- Touch Emoji - Emoji picker for MacBook Pro Touch Bar.
Utilities
- Android tool for Mac - One-click screenshots, video recordings, app installation for iOS and Android
- ArchiveMounter - Mounts archives like disk images.
- BeardedSpice - Control web based media players with the media keys found on Mac keyboards.
- Bitwarden - Cross-platform password management solutions for individuals, teams, and business organizations.
- Bitwarden Menu - Bitwarden Passwort Manager in your menu bar
- Boop - A scriptable scratchpad for developers.
- Buttercup Desktop - Secure password manager for mac and other platforms.
- Calculeta - Calculator for macOS which working on statusbar.
- Catch - Catch: Broadcatching made easy.
- Clear Clipboard Text Format - Easily clear the format of your clipboard text with Clear Clipboard Text Format.
- CoreLocationCLI - Get the physical location of your device and prints it to standard output
- CornerCal - Simple, clean calendar and clock app for macOS.
- Crypter - Crypter is an innovative, convenient and secure cross-platform crypto app that simplifies secure password generation and management by requiring you to only remember one bit, the MasterPass.
- DevUtils.app - Developer Utilities for macOS, helps you with your tiny daily tasks with just a single click! i.e., JSON Formatter, UUID Generator...
- Duplicate Finder - It's a useful tool that would help you to find all duplicate files which have the same names in the specific folder.
- ECheck - Small tool to validate epub files for macOS.
- Flying Carpet - cross-platform file transfer over ad-hoc wifi, like AirDrop but for Mac/Windows/Linux.
- Funky - Easily toggle the function key on your Mac on a per app basis.
- Gray - Pick between the light appearance and the dark appearance on a per-app basis with the click of a button
- Grayscale Mode - Manage grayscale mode from menu bar.
- Kap - Screen recorder application built with web technology.
- KeePassXC - Cross-platform community-driven port of the Windows application "Keepass Password Safe"
- KeeWeb - Cross-platform password manager compatible with KeePass.
- Kyapchar - Simple screen and microphone audio recorder for macOS.
- Layout Designer for UICollectionView - A simple but powerful tool that helps you make complex layouts for UICollectionView.
- Life-Calendar - Life Calendar.
- Lunar - Intelligent adaptive brightness for your external displays.
- MQTTX - An elegant Cross-platform MQTT 5.0 desktop client.
- MacPass - Native macOS KeePass client.
- Maria - macOS native app/widget for aria2 download tool.
- MeetingBar - Menu bar app for your calendar meetings
- Meme Maker - Meme Maker macOS application for meme creation.
- Middleclick - Emulate a scroll wheel click with three finger Click or Tap on MacBook trackpad and Magic Mouse
- MonitorControl - Control your external monitor brightness, contrast or volume directly from a menulet or with keyboard native keys.
- Monolingual - Remove unnecessary language resources from macOS
- Mos - Smooth your mouse's scrolling and reverse the mouse scroll direction
- Music Bar - Music Bar is macOS application that places music controls right in your menu bar.
- Nocturnal - Menu bar app featuring darker than dark dimming, Night Shift fine tuning, and the ability to turn off TouchBar on MacBook Pro.
- NoiseBuddy - Control the listening mode on your AirPods Pro in the Touch Bar or Menu Bar.
- Noti - Receive Android notifications on your mac (with PushBullet).
- PB for Desktop - Receive native push notifications on macOS, Windows and Linux.
- Padlock - A minimal, open source password manager for macOS.
- PercentCalculator - A menu bar application that calculates parcents.
- Pika - Is an easy to use, open-source, native colour picker for macOS.
![metal_icon] - Plain Pasta - Plaintextify your clipboard
- PlayStatus - PlayStatus is a macOS app that allows the control of Spotify and iTunes music playback from the menu bar.
- PowerShell - PowerShell is a cross-platform automation and configuration tool/framework that works well with your existing tools.
- Rugby - 🏈 Cache CocoaPods for faster rebuild and indexing Xcode project.
- ScreenCat - ScreenCat is a screen sharing + remote collaboration application.
- SlimHUD - Cyanocitta - Replacement for MacOS' volume, brightness and keyboard backlight HUDs.
- SlowQuitApps - Add a global delay to Command-Q to stop accidental app quits.
- Spotter - Productivity tool, the main function is to search and launch external application actions and applications themselves, so you can stay focused on your current task. Kind of spotlight or alfred alternative.
- Stats - macOS system monitor in your menu bar
- Stringz - A lightweight and powerful editor for localizing iOS, macOS, tvOS, and watchOS applications.
- Super Productivity - Free to do list & time tracker for programmers & designers with Jira integration.
- Telephone - SIP softphone for macOS.
- The Blockstack Browser - Blockstack is an internet for decentralized apps where users own their data. The Blockstack Browser allows you to explore the Blockstack internet.
- ThenGenerator - Xcode Source Editor Extension for 'Then'
- ToTheTop - Small macOS application to help you scroll to the top.
- Ultra TabSaver - Ultra TabSaver is an open-source Tab Manager for Safari
- baRSS – Menu Bar RSS Reader - RSS & Atom feed reader that lives in the system status bar.
- calibre - cross platform e-book manager.
- dupeGuru - dupeGuru is a tool to find duplicate files on your computer. It can scan using file names and file contents.
- eul - macOS status monitoring app written in SwiftUI.
- fselect - Command-line tool to search files with SQL syntax.
- homebrew-cask - A CLI workflow for the administration of macOS applications distributed as binaries
- iOScanX - Cocoa application for semi-automated iOS app analysis and evaluation.
- mac-sound-fix - Mac Sound Re-Enabler.
- macOS GateKeeper Helper - Simple macOS GateKeeper script. It helps you to control your GateKeeper.
- wechsel - manage bluetooth connections with your keyboard.
- Übersicht - Keep an eye on what's happening on your machine and in the world.
VPN & Proxy
- ShadowsocksX-NG - Next Generation of ShadowsocksX.
- Specht - Rule-based proxy app built with Network Extension for macOS.
- SpechtLite - Rule-based proxy app for macOS.
- Tunnelblick - Tunnelblick is a graphic user interface for OpenVPN on macOS.
- clashX - A rule based custom proxy with GUI for Mac base on clash.
- rvc-mac - Ribose VPN Client macOS Menu App.
Video
- Acid.Cam.v2.OSX - Acid Cam v2 for macOS distorts video to create art.
- AppleEvents - Unofficial Apple Events app for macOS.
- Conferences.digital - Best way to watch the latest and greatest videos from your favourite developer conferences for free on your Mac.
- Datamosh - Datamosh your videos on macOS.
- Face Data - macOS application used to auto-annotate landmarks from a video.
- GNU Gatekeeper - Video conferencing server for H.323 terminals.
- Gifted - Turn any short video into an animated GIF quickly and easily.
- HandBrake - HandBrake is a video transcoder available for Linux, Mac, and Windows.
- LosslessCut - The swiss army knife of lossless video/audio editing without re-encoding.
- MPV - Lightweight, highly configurable media player.
- MenuTube - Catch YouTube into your macOS menu bar!
- OpenShot - Easy to use, quick to learn, and surprisingly powerful video editor.
- Quick Caption - Transcribe and generate caption files (SRT, ASS and FCPXML) without manually entering time codes.
- QuickLook Video - This package allows macOS Finder to display thumbnails, static QuickLook previews, cover art and metadata for most types of video files.
- Subler - Subler is an macOS app created to mux and tag mp4 files.
- VLC - VLC is a free and open source cross-platform multimedia player
- Vid Quiz Creator - macOS application to insert quizzes within video playback and play those videos to receiving devices using the LISNR API.
- WebTorrent Desktop - Streaming torrent app. For Mac, Windows, and Linux.
- Yoda - Nifty macOS application which enables you to browse and download videos from YouTube.
Wallpaper
- 500-mac-wallpaper - Simple macOS app for the status bar to automatically download photos from 500px.com to a local folder that can be set as a source of wallpapers.
- ArtWall - ArtStation set as wallpapers from artwork.rss.
- Artify - A macOS application for bringing dedicatedly 18th century Arts to everyone
- BingPaper - Use Bing daily photo as your wallpaper on macOS.
- Desktop Wallpaper Switcher - Win / Linux / macOS tool for managing and cycling desktop wallpapers.
- Muzei - Muzei wallpaper app for macOS.
- Plash - Make any website your desktop wallpaper.
- Satellite Eyes - macOS app to automatically set your desktop wallpaper to the satellite view overhead.
- Sunscreen - Sunscreen is a fun, lightweight application that changes your desktop wallpaper based on sunrise and sunset.
- WallpaperMenu - macOS menubar application for navigation through beautiful pictures on the web and set them up as your desktop image.
- pyDailyChanger - pyDailyChanger is a program that changes your wallpaper daily.
Window Management
- AltTab - AltTab brings the power of Windows alt-tab to macOS.
- Amethyst - Automatic tiling window manager for macOS.
- AppGrid - Grid-based keyboard window manager for macOS.
- Desktop Profiles - An innovative desktop/window manager for macOS
- Hammerspoon - Staggeringly powerful macOS desktop automation with Lua.
- Phoenix - Lightweight macOS window and app manager scriptable with JavaScript.
- Rectangle - Rectangle is a window manager heavily based on Spectacle, written in Swift.
- ShiftIt - Managing windows size and position.
- Slate - Slate is a window management application similar to Divvy and SizeUp
- Spectacle - Spectacle allows you to organize your windows without using a mouse.
- Yabai - A tiling window manager for macOS based on binary space partitioning.
Contributors
Thanks to all the people who contribute:
Deprecated! This list will no longer be updated due to my focus shift.
A curated list of awesome watchOS frameworks, libraries, sample apps.
Contents
- Getting Started
- Library and Frameworks
- Design
- Tools
- Sample Apps
- Books
- Tutorials
- Twitters
- Other Awesome Lists
- Contributing
Getting Started
- Apple Watch Programming Guide - Official apple watch programming guide by Apple.
Libraries And Frameworks
Connectivity
- MMWormhole - A powerful toolkit for synthesizing, processing, and analyzing sounds.

UI
- IGInterfaceDataTable - A category on WKInterfaceTable that makes configuring tables with multi-dimensional data easier.

- JBWatchActivityIndicator - An easy way to generate activity indicator images for Apple Watch.
Charts
- YOChartImageKit - A chart image framework for watchOS.

- NKWatchChart - A chart library for Apple Watch based on PNChart and ios-charts.
Design
Design Guidelines
- Designing for Apple Watch - Official WWDC 2015 session by Apple about how to design for apple watch.
- Watch Human Interface Guidelines - Official human interface guidelines by Apple.
- 11 Tips For Designing Apps for Apple Watch - Some quick tips that will help you to build better watch apps.
- Icons for Apple Watch – The Definitive Guide - A guide to help you create your own watch app icon.
Design Resources
- Watch Design Resources - Official design resources provided by Apple, including Apple Watch Bezels, Guides, Templates, Typeface.
- Chart of Apple Watch Complication Types and Layouts - An useful chart of all the possible combinations of Complications.
Tools
Prototyping
- thinkapps for watch - A website help you create your free Apple Watch App prototype in just 10 minutes.
Images Generator
- RadialChartImageGenerator - A radial bar chart generator for apple watch.
- KFWatchKitAnimations - An image generator that creates beautiful 60 FPS animations for Watch by recording animations from the iOS Simulator.
Sample Apps
- Lister - An official sample app demonstrates Apple Watch integration.

- WatchKit Catalog - An official sample app demonstrates how to use UI elements available in the WatchKit framework.
- Cherry - A mini pomodoro timer app designed for the Watch.

-
Bitcoin Tracker - A bitcoin price tracking app.

-
WWDC - An open sourcing WWDC hit parties app.

- SwiftHN - A Hacker News reader written in Swift.
-
BaiduFM-Swift - A apple watch app for BaiduFM.

-
done-swift - A sample app to demonstrate data sharing between a WatchKit app and its main app using Realm.

-
HighstreetWatchApp - The watchKit app built on the http://highstreetapp.com platform.

-
OnTime - An apple watch app to access the SBB timetable.
-
WatchNotes - An apple watch app to display notes on your wrist.
-
WatchPics - Instagram for the Apple Watch.
-
WatchKit-Apps - Tutorials app for WatchKit.
-
watchOS-2-Sampler - Code examples for new features of watchOS 2.
-
soon - A countdown app.

Books
Tutorials
WatchKit Introduction
- WatchKit Tutorial with Swift Part 1: Getting Started
- WatchKit Tutorial with Swift Part 2: Tables and Network Requests
- WatchKit Tutorial with Swift Part 3: More Tables, Glances and Handoff
WatchOS 2 New Features
Hardware
- WatchKit 2 Hardware Bits: Using the Digital Crown
- WatchKit 2 Hardware Bits: The Taptic Engine
- WatchKit 2 Hardware Bits: The Accelerometer
Animations
- The Power of Animations - A tutorial demonstrates how to animate the user interface by changing layout properties.
ClockKit
- Writing a WatchKit Complication in watchOS 2 - A tutorial about how to add custom Complications to your watch app.
Connectivity
- How to communicate between devices using Watch Connectivity - A tutorial about how to use Watch Connectivity framework to communicate between devices.
Twitters
Other Awesome Lists
Other amazingly awesome lists can be found in the * awesome-awesomeness list. * Open Source apps list of open source ios apps * Awesome-swift * @matteocrippa - A collaborative list of awesome swift resources. * @Wolg - A curated list of awesome Swift frameworks, libraries and software. * awesome watchkit apps curated list of sample watchkit apps and tutorials. * iOS Learning Resources Comprenehensive collection of high quality, frequently updated and well maintained iOS tutorial sites. * awesome-ios-animation - A curated list of awesome iOS animation, including Objective-C and Swift libraries. * awesome-ios-chart - A curated list of awesome iOS chart libraries, including Objective-C and Swift. * awesome-gists - A list of amazing gists (iOS section). * awesome-ios-ui - A curated list of awesome iOS UI/UX libraries. * iOS App Development on Medium - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone
Contributing
Contributions welcome! Read the contribution guidelines first.
Feel free to contribute & Thank you very much!
License
To the extent possible under law, YenChen Lin has waived all copyright and related or neighboring rights to this work.
Awesome JVM 
A curated list of awesome JVM low level, performance and non-framework related stuff.
Bytecode
Tools for bytecode manipulation and analysis.
- asmtools - Used to develop tools for the production of Java .class files.
- Byte Buddy - Code generation library creating Java classes at runtime without the help of a compiler.
- Jitescript - Bytecode generation library similar to BiteScript.
Garbage collectors
Garbage collectors for the JVM.
- Azul Pauseless Garbage Collection - Providing continuous, pauseless operation for Java applications.
- Balanced GC - GC policy available in the Java Virtual Machine for IBM WebSphere Application Server V8.
- Epsilon GC - Completely passive GC implementation with bounded allocation limit, and lowest runtime performance overhead possible.
- G1 - The Garbage-First Garbage Collector.
- Shenandoah - Ultra-Low-Pause-Time Garbage Collector.
- The Garbage Collection Handbook - Book that addresses new challenges to garbage collection made by recent advances in hardware and software.
- ZGC - Garbage collector optimized for low latency and very large heaps.
Load tools
Tools that generate load and measure the system accurately without coordinated omission
- Gatling - Asynchronous non-blocking scenario driven load testing tool for testing HTTP servers.
- wrk2 - A constant throughput, correct latency recording variant of wrk.
Languages
Languages running on the JVM.
* Ceylon - Object-oriented, strong and static programming language with an emphasis on immutability, created by Red Hat.
* Clojure - Dialect of Lisp created by Rich Hickey. Dynamically typed with emphasis on functional programming.
* Erjang - A JVM-based Erlang VM.
* Eta - Pure, lazy, strongly typed functional programming language on the JVM.
* Frege - Pure functional programming language in the spirit of Haskell.
* gojava - Java bindings for Go packages.
* Golo - A simple dynamic language that makes extensive usage of invokedynamic.
* Groovy - Optionally typed and dynamic language, with static-typing and static compilation capabilities.
* Java - General-purpose, concurrent, strongly typed, class-based object-oriented language.
* JRuby - Implementation of the Ruby language on the JVM.
* JPHP - PHP on the Java VM.
* Jython - Python for the Java Platform.
* Kawa - Extension of the Scheme language, which is in the Lisp family of programming languages.
* Kotlin - Statically typed programming language for the JVM, Android and the browser.
* LuaJ - Java-centric implementation of lua vm built to leverage standard Java features.
* Nashorn - Lightweight high-performance JavaScript runtime in Java with a native JVM.
* OCaml-Java - Supports OCaml language v4. Generates plain Java bytecode and have seamless integration with Java.
* Rembulan - Rembulan is an implementation of Lua 5.3 for the JVM, written in pure Java with minimal dependencies.
* Renjin - JVM-based interpreter for the R language for the statistical analysis
* Scala - Strong and static programming language that combine object-oriented and functional programming ideas.
* Xtend - Flexible and expressive dialect of Java, which compiles into Java 5 source code.
Machine Learning
- Deeplearning4j - Open-Source, Distributed, Deep Learning Library for the JVM.
- H2O - Fast statistical, machine learning & math runtime.
- Smile - Statistical Machine Intelligence & Learning Engine.
Memory and concurrency
Tools and data structures for efficient memory layout and concurrent access.
- Agera - Reactive Programming for Android by Google.
- Agrona - Library of data structures and utility methods that are a common need when building high-performance applications.
- Apache Arrow - A high-performance cross-system data layer for columnar in-memory analytics.
- bloofi - Java implementation of multidimensional Bloom filters
- Cap’n Proto - Insanely fast data interchange format and capability-based RPC system.
- caffeine - A high performance caching library for Java 8.
- Chronicle-Bytes - Low level memory access wrappers.
- Chronicle-Queue - Micro second messaging that stores everything to disk.
- Chronicle-Map - In-memory key-value store designed for low-latency and/or multi-process applications.
- clj-ds - Clojure's data structures modified for use outside of Clojure.
- colfer - Binary serialization format and class generator.
- commons-math - Library of lightweight, self-contained mathematics and statistics components.
- CuckooFilter4J - Bloom filter replacement for approximated set-membership queries.
- cyclops - Integration modules for RxJava, Reactor, FunctionalJava, Guava & Javaslang.
- Eclipse Collections - Collections framework for Java.
- externalsortinginjava - Sort very large files using multiple cores and an external-memory algorithm.
- failsafe - A lightweight, zero-dependency library for handling failures.
- fasttuple - Collections that are laid out adjacently in both on- and off-heap memory.
- fast-uuid - Java library for quickly and efficiently parsing and writing UUIDs.
- FlatBuffers - Efficient cross platform serialization library for C++, C#, Go, Java, JavaScript, PHP, and Python.
- geohash - Java utility methods for geohashing.
- gs-collections - Goldman Sachs collections framework.
- hollow - Java library and comprehensive toolset for harnessing small to moderately sized in-memory datasets.
- high-scale-lib - Cliff Click's High Scale Library.
- hppc - High Performance Primitive Collections.
- injector - A new Executor for Java.
- java-concurrent-hash-trie-map - Java port of a concurrent trie hash map implementation from Scala collections.
- java-hll - Java library for the HyperLogLog algorithm.
- JavaFastPFOR - Library to compress and uncompress arrays of integers very fast.
- java-string-similarity - String similarity and distance measures, including Levenshtein edit distance and sibblings, Jaro-Winkler, Longest Common Subsequence, cosine similarity etc.
- JCTools - Concurrent data structures currently missing from the JDK.
- DSL-JSON - High performance JSON library with advanced compile-time databinding.
- jsoniter - Claims to be the fastest JSON parser ever (copy of DSL-JSON).
- jOOL - Useful extensions to Java 8 lambdas.
- Koloboke - Java Collections til the last breadcrumb of memory and performance.
- LevelDB - Rewrite (port) of LevelDB in Java.
- lightweight_trie - A very memory-efficient trie (radix tree) implementation.
- lmdbjni - Java API to LMDB (HawtJNI) which is an ultra-fast, ultra-compact key-value embedded data store written in C.
- lmdbjava - Java API to LMDB (JNR) which is an ultra-fast, ultra-compact key-value embedded data store written in C.
- low-gc-membuffers - In-memory circular buffers that use direct ByteBuffers to minimize GC overhead.
- lwjgl3 - Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL), audio (OpenAL) and parallel computing (OpenCL) applications.
- MapDB - Collections backed by off-heap or on-disk storage.
- mph-table - Minimal Perfect Hash Tables are an immutable key/value store with efficient space utilization and fast reads.
- mug - A small, zero-dep functional util library originating from Google.
- netty-buffers - Memory buffer pool implementation similar to jemalloc.
- ObjectLayout - A layout-optimized Java data structure package.
- ohc - Java large off heap cache developed for Apache Cassandra 3.0.
- okio - Modern Java IO library that do clever things to save CPU and memory.
- onyx-java - Mirrors the Onyx Platform core API by providing a Java equivalent for each component of an Onyx workflow.
- parquet - Columnar storage format that uses the record shredding and assembly algorithm described in the Dremel paper.
- PauselessHashMap - A java.util.HashMap compatible map that won't stall puts or gets when resizing.
- pcollections - A Persistent Java Collections Library.
- protobuf - Google's data interchange format.
- Quasar - Lightweight threads and actors for the JVM.
- rtree - Immutable in-memory R-tree and R*-tree implementations in Java with reactive api.
- RTree2D - RTree2D is a 2D immutable R-tree with STR (Sort-Tile-Recursive) packing for ultra-fast nearest and intersection queries on plane and spherical surfaces.
- Reactive Streams - Standard for asynchronous stream processing with non-blocking back pressure.
- Reactive Streams Utilities - Future standard utilities library for Reactive Streams.
- RoaringBitmap - A better compressed bitset in Java.
- rollinghashjava - Rolling hash functions in Java.
- Reactor - Reactive data applications on the JVM for Java, Groovy, Clojure and other.
- RxJava - Library for composing asynchronous and event-based programs using observable sequences.
- SmoothieMap - java.util.Map impl with worst put latencies more than 100 times smaller than java.util.HashMap.
- Simple Binary Encoding - High Performance Message Codec.
- splitmap - A parallel bitmap implementation.
- DataSketches - A Java software library of stochastic streaming algorithms.
- stormpot - A fast object pool for the JVM.
- stream-lib - A Java library for summarizing data in streams for which it is infeasible to store all events.
- streamvbyte - Fast integer compression in C using the StreamVByte codec.
- TraneIO - High-performance implementation of the Future abstraction.
- transducers-java - Composable algorithmic transformations independent from the context of their input and output sources.
- VarInt - No-deps variable int implementation without deps (by Bazel).
- vavr - Functional Library for Java 8+.
- wire - Clean, lightweight protocol buffers for Android and Java.
- Zero-Allocation-Hashing - Hashing any sequences of bytes in Java, including all kinds of primitive arrays, buffers, CharSequences and more.
Metaprogramming
Parsers, interpreters, compilers and source generation targeted for the JVM.
- Antlr - Parser generator for reading, processing, executing, or translating structured text or binary files.
- auto - A collection of source code generators for Java.
- Apache Calcite - Dynamic data management framework and SQL parser plugin.
- Checker Framework - Compiler plug-ins that find bugs or verify their absence.
- compile-testing - Testing tools for javac and annotation processors.
- derive4j - Algebraic data types constructors, pattern-matching, morphisms, optics and typeclasses.
- error-prone - Catch common Java mistakes as compile-time errors.
- GHCVM - A Haskell to JVM compiler that supports GHC Haskell.
- Graal - New experimental just-in-time compiler for Java that is integrated with the HotSpot virtual machine.
- grappa - Java fork of Parboiled. Write grammars with no preprocessing phase.
- immutables - Generate simple, safe and consistent value objects.
- javacc - Parser generator for use with Java.
- javaparser - Java 1.8 Parser and Abstract Syntax Tree for Java.
- JavaPoet - A Java API for generating .java source files.
- jparsec - Builds mini parsers in pure Java a la Haskell Parsec.
- JSweet - A transpiler from Java to TypeScript/JavaScript.
- MPS - Design and build extensible DSLs and editors.
- lombok - Reduce the amount of boilerplate code that is commonly written for Java classes.
- parboiled - Parsing of arbitrary input text based on parsing expression grammars.
- Sulong - LLVM IR interpreter written in Java using Truffle and Graal.
- TeaVM - Ahead-of-time translating compiler (transpiler) from Java bytecode to JavaScript.
- Truffle - Framework for implementing languages as simple interpreters.
- Xtext - Framework for development of programming languages and DSLs.
Native
Interconnecting JVM and native code
- hawtjni - A JNI code generator based on the JNI generator used in Eclipse SWT.
- Java Grinder - Compile Java bytecode to microcontroller assembly.
- j2v8 - Java API for Google's V8 JavaScript engine.
- JavaCPP - JavaCPP provides efficient access to native C++ inside Java.
- jnr-ffi - Load native libraries without writing JNI code by hand.
- jssembly - Execution of native assembly from Java.
- NuProcess - A low-overhead, non-blocking I/O, external Process execution implementation for Java.
- Project Panama - Enriching the connections between the JVM and APIs used by C programmers.
Network
Tools for network programming, packet capture, monitoring, testing and resiliency.
- Aeron - Efficient reliable UDP unicast, UDP multicast, and IPC message transport.
- armeria - Asynchronous RPC/API client/server library built on top of Java 8, Netty 4.1, HTTP/2, and Thrift.
- Chronicle-Network - A High Performance Network library.
- comcast - Simulating shitty network connections.
- gor - HTTP traffic replay in real-time.
- gRPC - A high performance, open source, general RPC framework that puts mobile and HTTP/2 first.
- jRT - Measures response time of a java application to socket-based requests.
- JXIO - Java API over AccelIO (C library), a high-performance asynchronous reliable messaging and RPC library optimized for hardware acceleration.
- K3PO - Create arbitrary network traffic and behavior to certify whether a network endpoint behaves correctly.
- muxy - Simulating real-world distributed system failures.
- Netty - Async event-driven network library for high performance protocol servers & clients.
- okhttp - An HTTP+HTTP/2 client for Android and Java applications.
- one-nio - library for building high performance Java servers.
- proteus-java - Proteus Java Client based on RSocket.
- reactive-grpc - Reactive gRPC is a suite of libraries for using gRPC with Reactive Streams programming libraries.
- RSocket - RSocket is a binary protocol for use on byte stream transports such as TCP, WebSockets, and Aeron.
- SimianArmy - Resiliency tool that helps ensure that your applications can tolerate random instance failures.
- pcap4j - Java library for capturing, crafting, and sending packets using libpcap.
- pig - A Linux packet crafting tool.
- tcpdump - Packet analyzer for network traffic capture.
- tcpflow - Captures TCP connections flows in a way that is convenient for protocol analysis and debugging.
- tcpreplay - Pcap editing and replay tools.
Nix tools
Useful nix tools when profiling the JVM and interaction with the host environment* * atoptool - Logging of system and process activity for long-term analysis, highlighting overloaded system. * bcc - Tools for BPF-based Linux IO analysis, networking, monitoring, and more. * Flame Graphs - Visualization of profiled software, allowing the most frequent code-paths to be identified quickly and accurately. * ioping - Simple disk I/0 latency measuring tool. * javap - Disassembles class files into code that reflects the java bytecode. * jhat - Java Heap Analysis Tool * jhsdb - Launch a postmortem debugger to analyze the content of a core-dump from a crashed JVM. * jinfo - Prints configuration information for a given process. * jstack - Prints stack traces of threads for a given Java process. * jstat - Monitors GC and compiler statistics in the JVM. * hwloc - Reports the structure of the processor, number of cores, hyperthreads and cache size. * likwid - Read hardware performance counters on Intel and AMD processors. * numactl - Control NUMA policy for processes or shared memory. * oprofile - System-wide hardware performance monitoring with easy-to-use interface at low overhead. * perf - Linux profiling with performance counters. * perf-tools - Performance analysis tools based on Linux perf_events (aka perf) and ftrace. * sysdig - Capture system state and activity from a running Linux instance, then save, filter and analyze. * sysstat - Performance monitoring tools for Linux. * taskset/process-affinity - Retrieve or set a processes’s CPU affinity. * tiptop - Like top but also shows instructions per cycle (IPC).
Profilers
Tools that provide profiling and tracing information to aid program optimization
- allocation-instrumenter - Java agent that rewrites bytecode to instrument allocation sites.
- aprof - Java memory allocation profiler.
- async-profiler - Sampling CPU profiler for Java featuring AsyncGetCallTrace + perf_events.
- BTrace - a safe, dynamic tracing tool for the Java platform.
- Byteman - tracing, monitoring and testing tool for Java
- bytestacks - Turn JVM bytecode execution into flame graphs.
- Chronon - Record your entire java program. Replay on any machine.
- GCeasy - Machine learning guided Garbage collection log analysis tool. Auto-detect problems in the JVM GC logs and recommend solutions to it.
- GCViewer - GCViewer is a tool that visualizes verbose GC output.
- grav - A collection of tools to help visualise process execution.
- hawkshaw - Tools for tracking down memory / JVM problems & generating predictable-as-possible VM behaviour.
- HdrHistogram - A Histogram that supports recording and analyzing sampled data value counts.
- hdrhistogram-metrics-reservoir - A Metrics Reservoir implementation backed by HdrHistogram.
- HdrLogProcessing - Utilities for HDR Histogram logs manipulation.
- heapster - Production heap profiling for the JVM.
- honest-profiler - Sampling JVM profiler without the safepoint sample bias.
- jamm - Measure actual object memory use including JVM overhead.
- Java Flight Recorder (JFR) - Tool for collecting diagnostic and profiling data about a running Java application with almost no performance overhead.
- java-sizeof - Memory consumption estimator for Java.
- jcstress - Experimental harness and tests to aid the research in the correctness of concurrency support in the JVM, class libraries, and hardware.
- jfr-flame-graph - Converting JFR Method Profiling Samples to FlameGraph compatible format.
- jfr-report-tool - Tool for creating reports from Java Flight Recorder dumps.
- jitwatch - Log analyser / visualiser for Java HotSpot JIT compiler.
- jitwatch-intellij - JITWatch plugin for IntelliJ IDEA.
- jHiccup - jHiccup is an open source tool designed to measure the pauses and stalls associated with an application’s underlying Java runtime platform.
- jmh - Micro benchmarks written in Java and other languages targetting the JVM.
- jmh-compare-gui - GUI for comparing JMH results.
- JOL - Analyze actual object layout schemes, footprint, and references in JVMs.
- JProfiler - Helps resolve performance bottlenecks, pin down memory leaks and understand threading issues.
- JVMTI - Provide a native API to inspect the state and to control the execution of applications running in the JVM.
- jvmtop - Lightweight console application to monitor running jvms on a machine in top-like manner.
- jvm-profiler - Java Agent to collect various metrics and stacktraces for Hadoop/Spark JVM processes in a distributed way.
- MAT - Java heap analyzer that help find memory leaks and reduce memory consumption.
- leakcanary - A memory leak detection library for Android and Java.
- metrics - Measure the behavior of critical components in production environment.
- micrometer - An application metrics facade for the most popular monitoring tools.
- osquery - osquery is an instrumentation framework that expose the operating system as a high-performance relational database.
- Overseer - Low-Level Hardware Monitoring and Management for Java.
- OpenTracing - A vendor-neutral open standard for distributed tracing.
- perf-map-agent - Generate method mappings to use with the linux
perftool. - perfj - Linux perf for java programs.
- polarbear - A tool to help diagnose OutOfMemoryError conditions.
- Riemann JVM Profiler - JVM agent which sends function-level profiler telemetry to a Riemann server for analysis, visualization, and storage.
- statsd-jvm-profiler - JVM agent profiler that sends profiling data to StatsD.
- Swiss Java Knife - Small set of tools for JVM troublshooting, monitoring and profiling.
- Takipi - Tells you when and why code breaks in production.
- Tracer - Manages custom trace identifiers and carries them through distributed systems.
- YourKit - Fully featured, easy to use, low overhead profiler.
- Zipkin - A distributed tracing system gather timing data for disparate services developed by Twitter.
Runtimes
Tools for managing jvm runtime processes * Capsule - Dead-Simple Packaging and Deployment for JVM Apps. * CRaSH - The shell for the Java Platform. * Drip - Fast JVM launching without the hassle of persistent JVMs. * HotswapAgent - Redefine classes at runtime and skip the redeploy process. * jvmkill - Agent that forcibly terminates the JVM when it is unable to allocate memory or create a thread. * Nailgun - Nailgun is a client, protocol, and server for running Java programs from the command line without incurring the JVM startup overhead.
Virtual Machines
Virtual machines that implement the JVM specification or parts of it. * Avian - Lightweight highly portable JVM with an option for AOT compilation. * Dalvik - Android runtime (ART) is the managed runtime used by applications and some system services on Android. * DCEVM - Modification of Java HotSwap VM with unlimited support for reloading classes at runtime. * HotSpot - HotSpot virtual machine maintained and distributed by Oracle Corporation. * IBM J9 - JVM developed by IBM. * Eclipse OpenJ9 - Eclipse OpenJ9. * J2ObjC - Translator from Java source to Objective-C code. Keeps shared code between iOS native apps and Android native apps. * jvm.go - A JVM written in Go. * ParparVM - An Open Source Java bytecode to C translator for iOS native development. Designed as a part of the Codename One WORA for mobile project. * MobiDevelop's RoboVM Fork - Ahead of time compiler for JVM bytecode targeting iOS, Mac OSX and Linux. * Zing - The only JVM that eliminates Java garbage collection pauses for large heap sizes. * Zulu - The only certified multi-platform build of OpenJDK: Free, 100% open source Java.
Resources
Documentation
Documentation related to JVM * TCP Tracepoints Linux bcc/BPF using tcplife by Brendan Gregg * Linux tracing workshop - JVM monitoring with BPF, examples and hands-on labs for Linux tracing tools workshops. * JVM Anatomy Park - mini-post series where every post goes deep for only a single topic by Aleksey Shipilёv. * Coordinated Omission problem - Discussion on Mechanical Sympathy. * False sharing - Threads impact the performance of each other while modifying independent variables sharing the same cache line. Martin Thompson. * The JVM specification - The Java Virtual Machine Specification Java SE 8 Edition. * The Java Memory Model - Starting point for discussions of and information concerning the Java Memory Model. * The JSR-133 Cookbook for Compiler Writers - Unofficial guide to implementing the new Java Memory Model (JMM) specified by JSR-133. * Garbage Collection Tuning Guide - HotSpot Virtual Machine Garbage Collection Tuning Guide. * Safepoints - Where is my safepoint? Nitsan Wakart. * Topics in High-Performance Messaging - Design decisions, experience and constraints explained in high performance messaging systems. * Top 10 Performance Mistakes - Digest of the top 10 performance related mistakes Martin Thompson has seen in production. * The USE method - The Utilization Saturation and Errors (USE) Method is a methodology for analyzing the performance of any system. Brendan Gregg. * An introduction to distributed systems - Kyle Kingsbury (author of Jepsen). * Using JDK 9 Memory Order Modes - For expert programmers familiar with Java concurrency, but unfamiliar with the memory order modes available in JDK 9 provided by VarHandles. * CPU Utilization is Wrong - Measure instructions per cycle (IPC) for CPU utilization. Brendan Gregg. * Linux Load Averages: Solving the Mystery - Brendan Gregg. * What every programmer should know about solid-state drives - Emmanuel Goossaert. * Quick Tips for Fast Code on the JVM - Daniel Spiewak.
Communities
Active discussions.
- concurrency-interest - Discussion list for JSR-166.
- hotspot-compiler-dev - Technical discussion about the development of the HotSpot bytecode compilers.
- hotspot-dev - HotSpot development mailing list.
- hotspot-gc-dev - Technical discussion about the development of the HotSpot garbage collectors.
- mechanical-sympathy - Discussing how to code sympathetically to and measure the underlying stack/platform so good performance can be extracted.
- Performance Java User's Group - For expert Java developers who want to push their systems to the next level
- Virtual Machine Meetup 2017 - Venue for discussing the latest research and developments in the area of managed language execution.
Media
Videos, podcasts and other media related to JVMs * FOSDEM 2018 - FOSDEM 2018 Free Java devroom. * JFokus 2018 - The GC edition. Shenandoah, ZGC, Zing, Fibers, Falcon etc. * G1 Garbage Collector in Java 8/9 - Kirk Pepperdine. * Extreme Profiling: Digging Into Hotspots - Nitsan Wakart. * Java vs. C Performance - Cliff Click. * Why JNI is slow? - Cliff Click * A Crash Course in Modern Hardware - Cliff Click * Java Profiling from the Ground Up - Nitsan Wakart. * The Illusion of Execution - Nitsan Wakart. * Mythbusting Modern Hardware to Gain 'Mechanical Sympathy' - Martin Thompson. * Designing for Performance - Martin Thompson. * How NOT to Measure Latency - Gil Tene. * JVM Language Summit 2015 - JVM Language Summit 2015. * JVM Language Summit 2016 - JVM Language Summit 2016. * JVM Language Summit 2017 - JVM Language Summit 2017. * Bits of advice for VM writers - Cliff Click. * Understanding Java garbage collection ... - Gil Tene. * Faster Object Arrays - Gil Tene at GOTO Conferences. * Java Memory Model Pragmatics - Aleksey Shipilev. * With GC Solved, What Else Makes a JVM Pause? - John Cuthbertson. * JVM Mechanics - Douglas Hawkins. * Give me 15 minutes and I'll change your view of Linux tracing - Brendan Gregg. * Kernel Recipes 2017: Performance Analysis with BPF - Brendan Gregg. * Shenandoah deep talk - Aleksey Shipilëv slightly-deeper-than-usual Shenandoah talk from Virtual Machine Meetup 2017. * Shenandoah: The Garbage Collector That Could - Aleksey Shipilev - Devoxx 2017/11 * Analyzing and Debugging the Java HotSpot VM at the OS Level - Volker Simonis. * Cliff Click podcast 2017/09/16 - Programming and Performance Intro. * Cliff Click podcast 2017/09/16 - Bugs and Coding Styles. * Cliff Click podcast 2017/09/18 - Java vs C/C++. * Cliff Click podcast 2017/09/21 - Debugging Data Races. * Cliff Click podcast 2017/09/24 - Fast Bytecodes for Funny Languages. * Cliff Click podcast 2017/09/28 - Struct of Arrays vs Array of Structs. * Cliff Click podcast 2017/10/04 - The 3 Hardest Problems in Programming. * Cliff Click podcast 2017/11/05 - Modern Hardware Performance and Cache Lines. * Cliff Click podcast 2017/11/09 - Queuing In Practice. * Which technique do programming language parsers and interpreters use? - Cliff Click. * Everything about Stack Traces and Heap Dumps - Andrei Pangin. * Fast and safe production monitoring of JVM with BPF tools - Sasha Goldshtein. * The Future of the Linux Page Cache - Matthew Wilcox.
People
People that share hard-earned, often undocumented, knowledge and data of the inner workings of the JVM * Aleksey Shipilëv - Developing Oracle/Open JDK/Hotspot and other Java-related technologies. * Andrey Breslav - Lead Language Designer of Kotlin @ JetBrains. * Brian Goetz - Java Language Architect at Oracle. * Ben Christensen - Facebook, Netflix, Apple engineering. * Brendan Gregg - Cloud performance, kernel engineer, speaker, author. * Charles Nutter - JRuby guy. * Claes Redestad - Working with OpenJDK stuff @ Oracle. * Cliff Click - Creator of the HotSpot Server Compiler. * Dave Dice - Senior research scientist in the Scalable Synchronization Research Group within Oracle. * Dávid Karnok - RxJava committer that blogs about advanced RxJava. * Doug Lea - Author of the Java memory model. * Gil Tene - Azul Systems. * Heinz Kabutz - Author of 250+ Java Specialists' Newsletters. * Ivan Krylov - JVM expert. * Jake Wharton - Square, Google, open source hacker. * John Rose - HotSpot developer. * Jonas Bonér - Founder & CTO of Lightbend. * Lukas Eder - Blogger. Author of JOOQ. * Marcus Lagergren - Java language team alumnus. * Mark Reinhold - Chief Architect, Java Platform Group, Oracle. * Martin Thompson - Pasty faced performance gangster. * Martijn Verburg - Java Champion. * Kirk Pepperdine - Working in high performance and distributed computing for nearly 20 years. * Nitsan Wakart - Azul Systems. * Norman Maurer - Netty developer. * Paul Phillips - Forever undisputed SLOC Scala compiler dev. * Per Liden - Hacking on the HotSpot JVM at Oracle. * Peter Lawrey - Innovative developer of high performance Java systems for competitive advantage. * Rafael Winterhalter - Author of ByteBuddy. * Richard Warburton - Developer, Speaker, Author. * Richard Startin - Performance Analyst, developer, blogger. * Ron Pressler - Parallel Universe. Leading Fibers and Continuations for the JVM. * Stephen Colebourne - Java Champion. Occasional blogger and speaker. Best known for Joda projects and JSR-310. * Todd L. Montgomery - Ex-CTO, Ex-NASA researcher, network geek, messaging middleware designer. * Stéphane Maldini - Project Reactor Lead @Pivotal. * Stuart Marks - Doctor Deprecator. Java/JDK/OpenJDK developer * Vladimir Ivanov - hacking HotSpot JVM @ Oracle. * Viktor Klang - Deputy CTO at Typesafe Inc.
Contributing
Contributions are very welcome!
Please have a look at contributing.md for guidelines.

Useful resources for creating apps with Salesforce
Inspired by the awesome list thing. You might also like to read complete awesome-list.
What is Awesome Salesforce ?
Awesome is awesome project started by Sindre Sorhus who is most popular person on Github. He created a project to list down coolest of links bookmarked in your machines and organized them together by compiling them at one place. Later, this projects caught fire and developers community around the world started writing awesome pages (dedicated to their favorite technology).
What makes for an awesome list?
Read the awesome manifesto and ensure your list complies.
The Fiery Meter of AWSome
- Repo with 0100+ Stars: :fire:
- Repo with 0200+ Stars: :fire::fire:
- Repo with 0500+ Stars: :fire::fire::fire:
- Repo with 1000+ Stars: :fire::fire::fire::fire:
- Repo with 2000+ Stars: :fire::fire::fire::fire::fire:
Repos not on The Fiery Meter of AWSome can still be awesome
A Note on Repo AWSomeness
Each repo listed meets at least one of the following requirements:
- Community-authored repo with 100+ stars
- Community-vouched repo with < 100 stars
100+ stars for community repos is not a strict requirement, it only serves as a guideline for the initial compilation. If you can vouch for the awesomeness of a repo with < 100 stars and you can explain why it should be listed, please submit a pull request.
Pull requests might be left open for a period of time to let the community chime in and vouch for it. An official repo from aws or awslabs can be removed if the community wishes. Check out the awesome manifesto.
Read Related Awesome Pages : * Awesome Lighting * Awesome Articles * Awesome Browser Extensions * Awesome Heroku
Table of Contents
- Awesome Salesforce
- Salesforce Developer Free Edition Signup
- Resource to Learn Salesforce Platform
- IDE
- Developer Utilities/Tools for Salesforce
- Salesforce Browser Extensions
- Open Source Github Project from Salesforce
- Salesforce Lightning Resources
- Mobile Development with Salesforce
- TroubleShooting and Developers Support
- Salesforce Certification Program
- Salesforce University
- Salesforce Technical Blogs
- Contribute to Project Awesome-Salesforce
- How to create pull request and report bug
Salesforce Developer Free Edition Signup
- Signup for Free Developer Account - Signup for Free Developer Account.
IDE
![]()
The previously popular Mavensmate editor(http://mavensmate.com/) has now ceased developement.
- Force.com IDE - Based on Eclipse Platform, supported and packaged by Salesforce.com(NOW RETIRED)
- ASIDE.IO - Online Editor, fast and connects to any Salesforce org quickly.
- WelkinSuite for Windows - Desktop Editor for force.com application, free for use, pay for support.
- C9.IO - Online Editor, connects to any Salesforce org quickly.
- Illuminated Cloud - A powerful Force.com development tool hosted within JetBrains IntelliJ IDEA.
Plugins for Salesforce

- Eclipse Plugin - Based on Eclipse Platform, supported and packaged by Salesforce.com
- Atom Plugin- MavensMate plugin for building Salesforce.com/Force.com/Salesforce1 applications inside GitHub's Atom text editor
- Visual Studio Code
- Salesforce Extensions for VS Code are the official Salesforce VS Code extensions.
- ForceCode is a Visual Studio Code extension for Salesforce development
- Auto-complete + Provides auto-completions for Apex & Visualforce, Go-To & Peek Definition and Realtime Syntax Checking
- xysfdx is a Visual Studio Code extension for Salesforce SFDX Development.
- Salesforce Snippets is a VS Code Extension which provides useful Salesforce snippets to speed up writing code for Salesforce platform
- ApexMate- Apex Plugin for TextMate.
- VimAwesome- VIM Plugin for Force.com.
- Force.com CLI- Command-line interface to Force.com.
- HaoIDE - Sublime Plugin for Force.com
- JedIDE - Force.com integration for IntelliJ IDEA
- Mavensmate Mavensmate extension for VS code. The main Mavensmate project is now no longer active, so this plugin may be of limited use.
Salesforce Custom Search Engines
- findsf: Google Custom Search of Salesforce related sites
- Search The Force.com: Google custom search of Salesforce related sites with OpenSearch support
Browser extensions for Salesforce
Read cruciated list of Awesome-list-of-browser-extensions-of-salesforce
Packages and Libraries supporting salesforce
-
Apex mocks - ApexMocks is a mocking framework for the Force.com Apex language.It derives it's inspiration from the well known Java mocking framework Mockito
-
Apex Commons - Common Apex Library supporting Apex Enterprise Patterns and much more! Must deploy ApexMocks before deploying this library.Also see MavensMate Templates

-
Apex Commons Sample Code - Samples application illustrating the Apex Enterprise Patterns library Must deploy Apex Common before deploying this library
-
Apex Metadata API - Apex Wrapper for the Salesforce Metadata API
-
Apex Core HttpCallout - Apex HTTP Callout Framework.
This library has been extended by five libraries
* Google Cloud Print
* Google Drive
* Google Mirror
* Google Sheets
* Dropbox
Key Features of this library + Framework for HTTP callouts. + JSON serialization and deserialization base classes. + OAuth Client - extends the base AbstractClient to provide the callouts required for OAuth authentication.
-
Polyforce - PolyForce is the project started as an idea with a motive create polymer applications/components that derive data from Salesforce, The idea create a robust set of polymer components that can mutually be shared with each other and on the other hand provide a working sample for developers to learn and get inspired to built more components

-
Salesforce to Github - Github API client in Apex for Force.com
- Apex UML Digram Maker - Create UML diagrams from Apex code using the Tooling API
-
SfApexDoc - A full-featured Apex documentation generator, similar to JavaDoc.
-
Visualforce TableGrid - TableGrid is a free, open-source Force.com library, that provides users and developers a highly customizable, native-looking, sortable, filterable, editable Grid Visualforce component. This component can be used as an advanced, highly configurable (by developer and user) replacement of apex:pageBlockTables and Standard Related Lists

-
Force.com ESAPI - Enterprise Security API for the Apex language on the Force.com platform. This library consists of three modules - Validation, Output Encoding and Access Control(CRUD, FLS and Sharing).
-
R.apex - Functional library for Apex. This library, inspired by Ramda.js, offers a bunch of utility functions to manipulate Apex collections, as well as extensive support for functional programming.
-
Force DI - Generic dependency injection (DI) library with support for injecting Apex, Visualforce, Lightning, and Flows at runtime.
-
Query.apex - SOQL query builder on Salesforce.com platform, which supports complex conditions, field and namespace management, child relationships query, and functional programming style coding.
-
Apex Chainable Batch - Apex Batches can be chained by calling the successor batch from the
finish()method of the previous batch. But such hardcoding makes this model inflexible. It's hard to build the chain from outside, neighter from a central class nor on runtime dependant on business logic. -
Apex Test Kit - Apex Test Kit can help generate massive sObject data for Apex test classes. It is can help establish arbitrary levels of many-to-one, one-to-many relationships, and also generate field values based on simple rules automatically.
Developer Utilities

-
Weave - Sublime Text Plugin to generate boilerplate Salesforce Code Templates
-
GitHub Salesforce Deploy Tool - Automagically deploy a GitHub repository to a Salesforce ORG and "Deploy to Salesforce button" to your README.md files
-
Cinnamon-Cinnamon is a Force.com app that enables you to build and run Selenium tests to validate custom UI pages with Visualforce/Javascript in your Salesforce org.
-
Push Notification Plugin for iOS and Android- Cordova Push Notifications Plugin for Android, iOS, WP8 and Amazon Fire OS
-
Salesforce1-Dev-Guide-Setup-Package-Salesforce1-Dev-Guide-Setup-Package
-
Analytics-Cloud-Dataset-Utils- Utility to load external data into Analytics Cloud datasets, and transform existing datasets.
-
Workbench- Workbench is a powerful, web-based suite of tools designed for administrators and developers to interact with Salesforce.com organizations via the Force.com APIs.
-
Playground- Adminbooster Playground is an online tool to run SOQL/SOSL queries or Apex code, providing high level features for analysis and admin productivity.
-
CassaCloud- Nice salesforce debug helps you to understand logs from Salesforce developer console. For example if you have Map of map with lists, it is hard to find value where it exactly is.
-
SoqlXplorer- SoqlXplorer is an awesome tool for developers using the Salesforce.com platform.
-
force-dev-tool - Command line tool supporting the Force.com development lifecycle.
-
JSON to Apex- Generate an Apex class from a JSON string.
-
Salesforce IDs converter- Convert IDs on 15 characters to IDs on 18 characters.
-
Sweet.apex - Sweet.apex is the next generation of Apex development, transpiling Sweet Apex(a feature-rich Apex-like code) to Apex classes.
-
soql-parser-js - JavaScript library for parsing SOQL queries, composing SOQL queries, and formatting SOQL queries.
-
Adminite - A query editor desktop app with built-in auto completions, inline data editing, and more.
Git Ignore for Salesforce

- GitIgnore for Salesforce - Reusable .gitIgnore file for Salesforce or Force.com Projects
Open Source Projects Repositories from Salesforce
- Salesforce Git Repo - Grab all latest salesforce open source projects here, you will find awesome projects, framework, libraries that salesforce and opened for the world
- Salesforce Labs - Checkout open source and experimental projects from Salesforce Team. Get an early access to features that can qualify in feature and contribute your ideas

- Salesforce Mobile UI - Polymer Elements for Salesforce - Mobile UI Elements is a free, open-source Force.com (unsupported) library to simplify the development of mobile apps. The library, based on the Google’s Polymer framework, provides the fundamental building blocks for creating HTML5 apps that run well on smartphones and tablets
- ForceServer - It supportes a proxy and web server, ForceServer is a simple development server aimed at providing a simple and integrated developer experience when building applications that use Salesforce OAuth and REST services.
Javascript Libraries for Salesforce
- JSForce - JSforce (f.k.a. Node-Salesforce) - it capsulates the access to various APIs provided by Salesforce in asynchronous JavaScript function calls.Unlike other Salesforce API libraries, it is intended to give integrated interface both server-side and client-side apps, so you don't have to rewrite similar logics with different libraries only for running in different environment.Additionally, it has useful command line interface (CLI) which gives interactive console (REPL), so you can learn the usage without hassle.

- ForceSniffer - Device Detection Library for Salesforce - Simplified Library that detect Mobile Devices, Salesforce1 App and other Saleforce Context.
- ForceJS - With ES6 support now, this micro library designed to use the Salesforce REST APIs in JavaScript Apps
- nForce - nforce is a node.js salesforce REST API wrapper for force.com, database.com, and salesforce.com
- ngForce -A set of Angular.js modules that facilitate quick and sustainable Angular.js application development on the Force.com Platform.
- ForceTK- ForceTK - a minimal Force.com REST API for JavaScript apps
- ForceEng - Micro-Library to use Salesforce REST API in AngularJS apps
- Formulon - Formula parser completely implemented in ES6. See Demo
- Scripting Toolkit - Windows based toolkit to run native Javascript to access Salesforce data.
UX Libraries for Salesforce
- Salesforce Lightning Design System - Office UI library based on Lightning Experience Design Language - With the Lightning Design System you can build custom applications with a look and feel that is consistent with Salesforce core features — without reverse engineering our styles! Simply download our platform-agnostic CSS framework and get started today. to showcase, usage of Google Material Design on Salesforce

- Feather - Google Material Design Mockup for Salesforce - Library
- React Components for Saleforce Lightning Design System - Salesforce Lightning Design System components built with React
- Salesforce ReactJS SPA Starter - A template project to create ReactJS-based single page application on Salesforce, with automatic build script (Gulp.js)
- ForceSpinner - Loaders/Spinner collections to leverage powerful User Experience for Salesforce Projects
- Avonni Creator - Salesforce prototyping tool with sophisticated Lightning Design System support.
ETL Tools

- Data Loader - Is an easy to use graphical tool that helps you to get your data into Salesforce objects.
- SFXOrgData - Copy data from your Production or Full Sandbox environment to Developer/Dev Pro sandboxes.
- DreamFactory Monarch - Migrate related sets of data between Orgs.
- Jitterbit - Commercial software integration product that facilitates transport between legacy, enterprise, and on-demand computing applications.
- Pentaho Kettle - The most popular open-source graphical ETL tool.
- Talend - An open source application for data integration job design with a graphical development environment.
- Some other solutions from awesome-etl list.
Salesforce Lightning
- Awesome Lightning: Awesome Contents for Salesforce Lightning Framework
Salesforce Browser Extensions
- Awesome Salesforce Browser Extensions: Collection of Awesome Browser Extensions for Salesforce
Mobile Development with Salesforce
Mobile SDK
-
Salesfoce MobileSDK for iOS-If you'd like to work with the source code of the SDK itself, you've come to the right place! You can browse sample app source code and debug down through the layers to get a feel for how everything works under the covers.
-
Salesfoce MobileSDK for Windows-Build the project normally in Visual Studio; everything should build fine. If you wish to create a new project and not use the NuGet versions of the core libraries, simply create a new project with the template, remove the NuGet reference and add references to Salesforce.SDK.Core, Salesforce.SDK.Store (for windows projects) or Salesforce.SDK.Phone for phone projects.
-
Salesfoce MobileSDK for Andriod- Source repository for the Salesforce Mobile SDK for Android.
Salesforce Mobile Packs with Javascript Libraries 
Google Polymer Pack : Try Designer | Github Repo | Watch Designer Video |
Build your Mobile App with a set of new HTML tags that ease the development of salesforce driven user interfaces. It's based on the Google’s Polymer framework and uses Web Components to provide fundamental building blocks for creating an Offline enabled application with Salesforce Mobile SDK
AngularJS Pack : Get Started | Github Repo |
Design and build apps that separate UI, logic, and data using Mobile Pack for AngularJS. Google's AngularJS lets you reap the benefits of a Model-View-Control architecture in your JavaScript code and utilize advanced features like reusable components and dependency injection.
Troubleshooting and queries
- Force.com Discussion boards : Rich variety of boards are available to discuss almost anything about platform. Locate the correct board [here].
- Tweet: Force.com community is pretty active on Twitter, tweet your question with hash #askforce
- StackOverFlow: Post your questions with right tags like apex, visualforce and salesforce to get a quick response.
- StackExchange: Salesforce Stack Exchange is a question and answer site for Salesforce administrators, implementation experts, developers and anybody in-between. It's 100% free, no registration required.
- salesforce-developer.ru: Russian-speaking Salesforce community: there are developer's and admin's forum and blog.
Official Salesforce Twitter Accounts 
- Salesforce Developers
- Salesforce Docs
- Salesforce Stack Exchange
- Salesforce Service Cloud
- Salesforce ForceDotComLabs
- Salesforce SalesforceLive
- Salesforce Engineering
- Salesforce UX
- Salesforce PartnerForce
Learning Salesforce Platform
- Trailhead - Trailhead teaches you how to build cloud apps for free with fun, interactive tutorials. Stand out by learning in-demand Salesforce development skills.
- Udacity Course - This class teaches you how to build powerful web and mobile apps and host them in the cloud, without writing a line of code.
- Pluralsight Course - A crash course on how to code Apex taught by four time Salesforce MVP David Liu.
- Focus on Force - This inexpensive learning resource provides platform courses, study guides, and practice exams for several certification paths including Admin, Advanced Admin, App Builder, Platform Developer I, Platform Developer II, among others.
Salesforce Certification Program
* Introducing three new Salesforce certifications: Salesforce Platform App Builder, Salesforce Platform Developer I, and Salesforce Platform Developer II.
- Online Salesforce Certification Credentials Verification Click Here
- Ready to register for an exam? Click here.
Salesforce University
Technical Blogs
- Salesforce Developer Relations Blog - Managed by Salesforce Developer Relations Team, you will find coolest of updates in the world of Salesforce, mostly experienments, features and developer evagelist blog official from this podium.
- Salesforce Engineering Blog - Covers latest update from engineering team, you will find updates about core engineering and product releated post and some awesome people to follow
- Andrew Fawcett - CTO at Financialforce.com, Author and known for his outstanding contribution to Salesforce Community. Read More
- Andrez Perez - (ElToro.IT) - Articles about Lightning Components, Apex, Visualforce, Force.com and Salesforce in general. He is a Master Technical Instructor at Salesforce.com and owns 11x Salesforce certifications.
- Christophe Coenraets - Christophe Coenraets is a Developer Evangelist for Salesforce.com where he focuses on mobile application development, Read More
- Harshit Pandey -(Oyecode) - Harshit Pandey is Principal Technical Architect at Intuitive Surgical, previously Technical Architect at Salesforce.com Developer Relations Team and build Trailhead while at Salesforce, love to expriement with ever evoloving capacities of Salesforce Read More
- Jeff Doughlas - Senior Technical Consultant at Appirio & Developer Evangelist Architect at topcoder specializing in cloud-based, APIs & mobile apps. Read More
- Keir Bowden- Also known as Keir Bowden and Keir is Chief Technical Officer at BrightGen, a Salesforce Platinum Partner, in the United Kingdom.Read More
- Enrico Murru -(Nerd @ Work) - Also known as Enreeco or ForceLogic.Ultra geek tech lover mercenary software developer and Salesforce enthusiast. Read More
- Peter Knolle - Peter Knolle enjoys working with all kinds of different technologies. Certified Salesforce.com professional, and Force.com MVP. Read More
- Abhinav Gupta -(TechGerm)- Force.com MVP & Architect - Passionate about S1 & Javascript, Architect by Profession and now owner of his company focusing on salesforce Consulting Read More
- Jitendra Zaa- 7 Salesforce Certificates, MVP and Technical Architect working on platform since 2008 Read More
- Mohith Shrivastava -(CloudyWorld)- Mohit is CodeScience at Codescience.com. He is known for his valuable contribution in stackexchange owns 9x Salesforce certification.
- The Wizard News - The Wizard News is a central location for blogs, video, and podcasts created by Brian Kwong – aka Salesforce Wizard.
- WIPDeveloper.com - WIPDevloper.com is where content created by Brett Nelson exploring areas of development in the Salesforce ecosystem is hosted.
Podcasts
- Good day, Sir! Podcast - A WEEKLY TECHNOLOGY AND SOFTWARE DEVELOPMENT PODCAST, WITH A STRONG FOCUS ON THE SALESFORCE PLATFORM.
- SalesforceWay Podcast - A WEEKLY SALESFORCE DEVELOPER TARGETED PODCAST.
- Salesforce Posse - The Salesforce Posse podcast was created to tell the world about Salesforce development and architecture best practice and news from the Salesforce eco-system.
- Code Coverage - Code Coverage is a podcast for developers on the force.com platform, in each episode we talk to a developer about how they got involved with the platform, what they’re working on, technologies they like and what they consider to be their most ‘creative’ solution.
Contribute
Contributions welcome! Read the contribution guidelines first.
BugReport-PullRequest
- Add your link as per the top-level Category page within the topic sub-section(s), in alphabetical order, with notes (if any) in the markdown files.
- For broken links or outdated information, submit a bug report (BR), or make the necessary changes and submit a PR. Both are welcome. Please submit separate PR's for each link or change added.
- For those unable to use git, create a github account, then fork this` repo on the user interface. Then edit the page by clicking on the "pencil" icon on the markdown page, then click on save and submit a PR. Github does this automatically in 8 steps.
License
Awesome AWS 
A curated list of awesome AWS libraries, open source repos, guides, blogs, and other resources.
Inspired by the awesome list.
The Fiery Meter of AWSome
- Repo with 0100+ Stars: :fire:
- Repo with 0200+ Stars: :fire::fire:
- Repo with 0500+ Stars: :fire::fire::fire:
- Repo with 1000+ Stars: :fire::fire::fire::fire:
- Repo with 2000+ Stars: :fire::fire::fire::fire::fire:
Repos not on The Fiery Meter of AWSome can still be awesome, see A Note on Repo AWSomeness.
awesome-aws Python Module
The Python module awesome-aws regularly scans repos on Awesome AWS to maintain the accuracy of the Fiery Meter of AWSome.
Contributing
Contributions are welcome!
Review the Contributing Guidelines.
Also check out the Watch List.
Index
- SDKs and Samples
- Command Line Tools
- IDE Toolkits
- Open Source Repos
- API Gateway
- CLI
- CloudFormation
- CloudSearch
- CloudTrail
- CloudWatch
- Code Deploy
- Code Pipeline
- Cognito
- Data Pipeline
- Device Farm
- DynamoDB
- Elastic Beanstalk
- Elastic Container Service
- Elastic File System
- Elastic MapReduce
- Elastic Search
- Elasticache
- Glacier
- Kinesis
- Lambda
- Machine Learning
- Mobile Analytics
- OpsWorks
- Redshift
- Route 53
- S3
- SNS
- SQS
- Data
- DevOps
- Security
- Accompanying
- Miscellaneous
- Guides, Books, Documentation, and Training
- Social
- Latest KPIs and Stats
- Appendix of Core Services
- Contributing
- Credits
- Other Awesome Lists
- Contact Info
- License
SDKs and Samples
AWS and community SDKs with samples and docs, grouped by language.
Android SDK
C++ SDK
The C++ SDK is a labs project with limited docs and/or samples.
Clojure SDK
The Clojure SDK is a community project with limited docs and/or samples.)
Go SDK
Related Repos:
iOS SDK
IoT SDK
- Repo for Arduino
- Repo for C :fire::fire::fire:
- Repo for JavaScript :fire::fire::fire:
- Repo for Arduino Yun :fire:
- Docs
The IoT SDK is a labs project with limited docs and/or samples.
Java SDK
JavaScript SDK
Related Repos:
- aws/aws-amplify :fire::fire::fire::fire::fire:
- chilts/awssum :fire::fire:
- mirkokiefer/aws-lib :fire::fire::fire:
- SaltwaterC/aws2js :fire::fire:
Haskell SDK
Related Repos:
The Haskell SDK is a community project with limited docs and/or samples.
Perl SDK
The Perl SDK is a community project.
PHP SDK
Related Repos:
Python SDK
Related Repos:
Ruby SDK
- Repo :fire::fire::fire::fire::fire:
- Repo with S3 Sample
- Install
- Docs
- Samples :fire::fire::fire::fire::fire:
Related Repos:
Rust SDK
The Rust SDK is a community project with limited docs and/or samples.
Scala SDK
Related Repos:
The Scala SDK is a labs project with limited docs and/or samples.
Unity SDK
Xamarin SDK
The Xamarin SDK is a labs project with limited docs and/or samples.
.NET SDK
Command Line Tools
AWS and community command line tools with samples and docs.
Universal Command Line Interface
Related Repos:
Windows PowerShell
IDE Toolkits
Official IDE toolkits with samples and docs.
Eclipse Toolkit
Visual Studio Toolkit
Open Source Repos
AWS and community open source projects, grouped by service. See A Note on Repo AWSomeness for more details.
API Gateway
AWS Repos:
- api-gateway-secure-pet-store :fire::fire: - Cognito credentials through Lambda.
- aws-apigateway-sdk-java - SDK for Java.
- aws-apigateway-swagger-importer :fire::fire::fire: - Tools to work with Swagger.
Community Repos:
CLI
AWS Repos:
- awscli-aliases :fire::fire: - Repository for AWS CLI aliases.
- amazon-ecs-cli :fire::fire::fire::fire: - ECS CLI using the same Docker Compose file format and familiar Compose commands.
- aws-cli :fire::fire::fire::fire::fire: - Universal Command Line Interface.
- aws-shell :fire::fire::fire::fire::fire:
- awscli-cookbook - Installs the CLI tools and provides a set of LWRPs for use within chef cookbooks.
- awsmobile-cli :fire: - CLI experience for Frontend developers in the JavaScript ecosystem.
Community Repos:
- achiku/jungle :fire::fire::fire: - Operations by EC2 and ELB cli should be simpler.
- dbcli/athenacli :fire: - a CLI tool for AWS Athena service that can do auto-completion and syntax highlighting.
- donnemartin/saws :fire::fire::fire::fire::fire: - A Supercharged AWS Command Line Interface.
- timkay/aws :fire::fire: - Easy command line access to Amazon EC2, S3, SQS, ELB, and SDB.
- wallix/awless :fire::fire::fire::fire::fire: - a Powerful CLI for EC2, IAM and S3 in Go.
- 99designs/aws-vault :fire::fire::fire::fire::fire: - A tool for securely storing AWS credentials, written in Go.
CloudFormation
AWS Repos:
- aws-cdk :fire::fire::fire::fire::fire: - Framework for defining cloud infrastructure in code.
- aws-cfn-custom-resource-examples - Custom resource examples.
- aws-cfn-resource-bridge - Custom resource framework.
- cfn-python-lint :fire::fire::fire::fire: - A tool for linting/validating CloudFormation.
- cfncluster-cookbook - Sample Cookbook.
- cfncluster :fire::fire::fire: - Framework that deploys and maintains HPC clusters.
Community Repos:
- Appliscale/perun - A CLI tool for linting/validation and managing CloudFormation templates and stacks.
- bazaarvoice/cloudformation-ruby-dsl :fire::fire: - Ruby DSL for creating templates.
- beaknit/cform :fire: - SublimeText plugin.
- cloudreach/sceptre :fire::fire::fire::fire: - A CLI tool for automating CloudFormation.
- cloudtools/troposphere :fire::fire::fire::fire::fire: - Python library to create descriptions.
- peterkh/cumulus :fire::fire: - Manages stacks.
- envato/stack_master :fire::fire: - A CLI tool to manage CloudFormation stacks.
- sparkleformation/sfn - CLI for stack management.
- sparkleformation/sparkle_formation :fire::fire: - Ruby DSL for template creation.
- Stelligent/cfn_nag :fire::fire::fire: - Linting tool for CloudFormation templates
CloudSearch
AWS Repos:
- cloudsearchable - An ActiveRecord-style ORM query interface.
Community Repos:
CloudTrail
AWS Repos:
- aws-cloudtrail-processing-library - Easily consume and process log files.
Community Repos:
- AppliedTrust/traildash :fire::fire: - Slick dashboard.
- GorillaStack/auto-tag :fire::fire: - Automatically tag AWS resources on creation, for cost assignment.
CloudWatch
AWS Repos:
- cloudwatch-logs-subscription-consumer :fire::fire: - Kinesis stream reader.
- ecs-cloudwatch-logs - Assets in the blog post on using Amazon ECS and Amazon CloudWatch logs.
- logstash-output-cloudwatchlogs - A logstash plugin that sends logs to CloudWatch.
- opsworks-cloudwatch-logs-cookbooks - OpsWorks sample cookbook.
Community Repos:
- jorgebastida/awslogs :fire::fire::fire::fire::fire: - Simple CLI for querying groups, streams and events.
- newrelic-platform/newrelic_aws_cloudwatch_plugin :fire: - New Relic plugin.
Code Deploy
AWS Repos:
- aws-codedeploy-agent :fire::fire: - Sample agent.
- aws-codedeploy-plugin :fire: - Jenkins plugin.
- aws-codedeploy-samples :fire::fire::fire: - Samples and template scenarios.
Community Repos:
Code Pipeline
AWS Repos:
- aws-codepipeline-custom-job-worker - Develop your own job worker when creating a custom action.
- aws-codepipeline-jenkins-aws-codedeploy_linux - Four-stage pipeline for Linux.
- aws-codepipeline-plugin-for-jenkins - Jenkins plugin.
- aws-codepipeline-s3-aws-codedeploy_linux :fire: - Simple pipeline for Linux.
- AWSCodePipeline-Jenkins-AWSCodeDeploy_Windows - Four-stage pipeline for Windows.
- AWSCodePipeline-S3-AWSCodeDeploy_Windows - Simple pipeline for Windows.
Community Repos:
Cognito
AWS Repos:
- amazon-cognito-android - Sync SDK for Android.
- amazon-cognito-developer-authentication-sample - Authentication sample.
- amazon-cognito-dotnet - Sync SDK for .NET.
- amazon-cognito-ios - Sync SDK for iOS.
- amazon-cognito-js :fire::fire: - Sync SDK for JavaScript.
- amazon-cognito-streams-sample - Consuming Streams sample.
- cognito-sample-nodejs :fire: - Sample App for Node.js.
Community Repos:
- capeless/warrant :fire::fire: - Python library for using Cognito.
- rahulpsd18/cognito-backup-restore :fire: - Tool for backing up and restoring Cognito user pools.
Data Pipeline
AWS Repos:
- data-pipeline-samples :fire::fire: - Sample pipelines.
Community Repos:
Device Farm
AWS Repos:
- aws-device-farm-appium-tests-for-sample-app - Appium TestNG Android tests.
- aws-device-farm-calabash-tests-for-sample-app - Calabash Android tests.
- aws-device-farm-gradle-plugin - Gradle plugin.
- aws-device-farm-jenkins-plugin - Jenkins plugin.
- aws-device-farm-sample-app-for-android :fire: - Sample Android app.
Community Repos:
DynamoDB
AWS Repos:
- aws-dotnet-session-provider - A session state provider for ASP.NET apps.
- aws-dotnet-trace-listener - A trace listener for System.Diagnostics that can be used to log events.
- aws-dynamodb-encryption-java :fire: - Encryption Client for Java.
- aws-dynamodb-examples :fire::fire: - Samples using the Java SDK.
- aws-dynamodb-mars-json-demo - Stores and indexes NASA JPL Mars images.
- aws-dynamodb-session-tomcat - Session store for Apache Tomcat.
- aws-sessionstore-dynamodb-ruby - Handles sessions for Ruby web apps.
- dynamodb-cross-region-library :fire::fire: - Cross-region replication.
- dynamodb-geo :fire::fire: - Library to create and query geospatial data.
- dynamodb-import-export-tool - Import and export examples.
- dynamodb-online-index-violation-detector - Finds violations on an online GSI's hash key and range key.
- dynamodb-streams-kinesis-adapter - Kinesis interface to consume and process data from a DynamoDB stream.
- dynamodb-tictactoe-example-app - Lightweight python app.
- dynamodb-titan-storage-backend :fire::fire: - Storage Backend for Titan.
- dynamodb-transactions :fire::fire: - Performs atomic writes and isolated reads across multiple items and tables.
- logstash-input-dynamodb :fire: - Logstash input plugin.
Community Repos:
- channl/dynamodb-lambda-autoscale :fire::fire: - Autoscale DynamoDB provisioned capacity using Lambda.
- lyft/confidant :fire::fire::fire::fire: - Stores secrets, encrypted at rest.
- sebdah/dynamic-dynamodb :fire::fire::fire: - Provides auto-scaling.
Elastic Beanstalk
AWS Repos:
- aws-eb-glassfish-dockerfiles - GlassFish docker files.
- aws-eb-python-dockerfiles - Python docker files.
- eb-demo-php-simple-app :fire: - Simple PHP app.
- eb-docker-multiple-ports - Simple Node.js and Tomcat apps using Docker images.
- eb-docker-nginx-proxy :fire: - Simple PHP app using the PHP-FPM and Nginx Docker images.
- eb-docker-virtual-hosting - Simple PHP, Tomcat, and Nginx applications using Docker images.
- eb-node-express-sample :fire::fire: - Sample express app.
- eb-node-express-signup - Express framework and Bootstrap Node.js sample app.
- eb-node-express - Sample app referenced in the Developer Guide.
- eb-py-flask-signup-worker - Python app that illustrates worker roles.
- eb-py-flask-signup :fire::fire: - Python signup form app with Flask and Bootstrap.
- eb-python-flask - Simple Python and Flask app.
- eb-wif-sample - Sample login app with Web Identity Federation.
Community Repos:
- alienfast/elastic-beanstalk :fire: - Gem with rake configuration and deployment for rails apps.
- ThoughtWorksStudios/eb_deployer :fire::fire: - Blue-green deployment automation.
Elastic Compute Cloud
AWS Repos:
Community Repos:
- alestic/ec2-consistent-snapshot :fire::fire: - Initiate consistent EBS snapshots in EC2.
- ConradIrwin/aws-name-server :fire::fire::fire: - DNS server that lets you look up instances by name.
- cristim/autospotting :fire::fire::fire::fire::fire: - Automatically rolling-replace on-demand EC2 instances in AutoScaling groups with compatible spot instances.
- evannuil/aws-snapshot-tool :fire::fire: - Automates EBS snapshots and rotation.
- kelseyhightower/kubernetes-the-hard-way :fire::fire::fire::fire::fire: - Bootstrap Kubernetes the hard way on EC2. No scripts.
- mirakui/ec2ssh :fire::fire: - SSH config manager.
- openebs/openebs :fire::fire::fire::fire::fire: - Containerized block storage QoS SLAs, tiering and replica policies across AZs and environments, and predictable and scalable performance.
- skavanagh/EC2Box :fire::fire: - A web-based SSH console to manage multiple instances simultaneously.
- wbailey/claws :fire: - CLI-driven console with capistrano integration.
Elastic Container Service
AWS Repos:
- amazon-ecs-agent :fire::fire::fire::fire: - Agent that runs on and starts containers.
- amazon-ecs-amazon-efs - Persists Data from containers.
- amazon-ecs-init :fire: - RPM developed to support the Amazon ECS Container Agent.
- blox :fire::fire::fire: - Open source tools for building custom schedulers on ECS.
- ecs-blue-green-deployment :fire::fire: - Blue-green deployment on ECS.
- ecs-cloudwatch-logs - Assets from the blog using Amazon ECS and Amazon CloudWatch logs.
- ecs-demo-php-simple-app :fire: - Simple PHP app.
- ecs-mesos-scheduler-driver :fire: - Integrates Apache Mesos.
- ecs-refarch-continuous-deployment :fire::fire::fire: - Reference Architecture for continuous deployment to ECS using CodePipeline.
- ecs-task-kite - Simple ambassador container for inter-task communication.
- lambda-ecs-worker-pattern :fire::fire: - Extends Lambda using SQS and ECS.
- py-flask-signup-docker - Python sample app.
- service-discovery-ecs-consul :fire: - Assets from the blog Service Discovery via Consul with Amazon ECS.
Community Repos:
- Lumoslabs/broadside - Command line tool for deploying revisions of containerized applications.
- Stelligent/mu :fire::fire::fire: - Command line tool to simplify ECS deployments via CodeBuild and CodePipeline.
Elastic File System
AWS Repos:
- amazon-ecs-amazon-efs - Persist data from ECS.
Community Repos:
Elastic MapReduce
AWS Repos:
- emr-bootstrap-actions :fire::fire::fire: - Sample bootstrap actions.
- emr-sample-apps - Sample apps.
Community Repos:
- Yelp/mrjob :fire::fire::fire::fire::fire: - Run MapReduce jobs on Hadoop or EMR.
Elastic Search
AWS Repos:
- logstash-output-amazon_es :fire::fire: - Logstash output plugin to sign and export events.
- opsworks-elasticsearch-cookbook - OpsWorks Elasticsearch sample cookbook.
Community Repos:
- elastic/elasticsearch-cloud-aws :fire::fire::fire: - Plugin for Elasticsearch.
Elasticache
AWS Repos:
- aws-elasticache-cluster-client-libmemcached - Libmemcached library support.
- aws-elasticache-cluster-client-memcached-for-java - Client for Java.
- aws-elasticache-cluster-client-memcached-for-php - Enhanced PHP library connecting to ElastiCache.
- elasticache-cluster-config-net - Config object for Enyim's MemcachedClient to enable auto discovery.
Community Repos:
Glacier
Community Repos:
- vsespb/mt-aws-glacier :fire::fire::fire: - Perl Multithreaded Multipart sync to Glacier.
Kinesis
AWS Repos:
- amazon-kinesis-aggregators :fire: - Provides a simple way to create real time aggregations.
- amazon-kinesis-client-net - Client Library for .NET.
- amazon-kinesis-client-nodejs :fire::fire: - Client Library for Node.js.
- amazon-kinesis-client-python :fire::fire: - Client Library for Python.
- amazon-kinesis-client-ruby :fire: - Client Library for Ruby.
- amazon-kinesis-client :fire::fire::fire: Client library for Amazon Kinesis.
- amazon-kinesis-connectors :fire::fire: - Libary to integrate with other AWS and non-AWS services.
- amazon-kinesis-data-visualization-sample :fire: - Sample data visualization app.
- amazon-kinesis-learning - Learning Kinesis Development.
- amazon-kinesis-producer :fire::fire: - Producer Library.
- amazon-kinesis-scaling-utils :fire::fire: - Provides the ability to scale streams.
- aws-fluent-plugin-kinesis :fire::fire: - Fluent Plugin.
- dynamodb-streams-kinesis-adapter - DynamoDB Streams Adapter.
- kinesis-log4j-appender - Log4J Appender.
- kinesis-poster-worker - Simple multi-threaded Python Poster and Worker.
- kinesis-storm-spout :fire: - Spout for Storm.
- mqtt-kinesis-bridge - Simple MQTT bridge in Python.
Community Repos:
Lambda
AWS Repos:
- amazon-elasticsearch-lambda-samples :fire::fire: - Data ingestion for Elasticsearch from S3 and Kinesis.
- awslabs/aws-sam-local :fire::fire::fire::fire::fire: - CLI tool for local development and testing of Serverless applications.
- aws-lambda-go :fire::fire::fire::fire::fire: - Libraries, samples and tools to help Go developers develop Lambda functions.
- aws-lambda-java-libs :fire::fire: - Official mirror for interface definitions and helper classes.
- aws-lambda-redshift-loader :fire::fire::fire: - Redshift loader.
- chalice :fire::fire::fire::fire::fire: - Python Serverless Microframework.
- create-thumbnails-lambda - Uses the grunt-aws-lambda plugin to help you develop and test.
- lambda-ecs-worker-pattern :fire::fire: - Extends Lambda using SQS and ECS.
- lambda-refarch-fileprocessing :fire::fire: - Reference Architecture for Real-time File Processing.
- lambda-refarch-iotbackend :fire::fire: - Reference Architecture for creating an IoT Backend.
- lambda-refarch-mobilebackend :fire::fire::fire: - Reference Architecture for creating a Mobile Backend.
- lambda-refarch-webapp :fire::fire::fire::fire: - Reference Architecture for creating a Web Application.
Community Repos:
- alestic/lambdash :fire::fire::fire: - Lambda shell - Run sh commands inside the Lambda environment.
- Alephbet/gimel :fire::fire: - Run your own A/B testing backend using Lambda.
- apex/apex - Minimal AWS Lambda function manager with Go support.
- claudiajs/claudia :fire::fire::fire::fire::fire: - Deploy Node.js projects to Lambda and API Gateway easily.
- cloudnative/lambda-chat :fire::fire: - A chat application without servers.
- danilop/LambdAuth :fire::fire::fire::fire: - Sample authentication service.
- eawsy/aws-lambda-go :fire::fire::fire: - A fast and clean way to execute Go on Lambda.
- garnaat/kappa :fire::fire::fire: - Kappa is a CLI tool that makes it easier to deploy, update, and test functions for AWS Lambda.
- goadapp/goad :fire::fire::fire::fire: - Lambda powered, highly distributed, load testing tool.
- graphcool/chromeless :fire::fire::fire::fire::fire: - Automate Chrome through Lambda.
- grycap/scar :fire::fire::fire: - Transparently execute containers out of Docker images in AWS Lambda.
- jeremydaly/lambda-api :fire::fire::fire::fire: - Lightweight web framework for your serverless applications.
- jimpick/lambda-comments :fire::fire::fire: - Blog commenting system built with Lambda.
- jorgebastida/gordon :fire::fire::fire::fire::fire: - λ Gordon is a tool to create, wire and deploy AWS Lambdas using CloudFormation.
- ks888/LambStatus :fire::fire::fire::fire: - A status page system inspired by StatusPage.io, built on AWS Lambda.
- kubek2k/lambdoku :fire::fire::fire: - Heroku-like experience when using Lambda.
- lambci/lambci :fire::fire::fire::fire::fire: - A continuous integration system built on Lambda.
- littlstar/s3-lambda :fire::fire::fire::fire: - Lambda functions over S3 objects with concurrency control (each, map, reduce, filter).
- mentum/lambdaws :fire::fire::fire::fire: - Deploy, run and get results in a breeze.
- Miserlou/Zappa :fire::fire::fire::fire::fire: - Serverless WSGI Python Web Apps with AWS Lambda + API Gateway.
- nficano/python-lambda :fire::fire::fire::fire: - A toolkit for developing and deploying serverless Python code in Lambda.
- serverless/serverless :fire::fire::fire::fire::fire: The Serverless Application Framework (formerly JAWS).
- Tim-B/grunt-aws-lambda :fire::fire: - Grunt plugin.
- trek10inc/aws-lambda-debugger :fire::fire: - Remote debugging tool for Lambda functions running on Node 6.10
Machine Learning
AWS Repos:
- machine-learning-samples :fire::fire::fire: - Sample apps.
Community Repos:
Mobile Analytics
AWS Repos:
- aws-sdk-mobile-analytics-js - JavaScript SDK.
Community Repos:
OpsWorks
AWS Repos:
- opsworks-attribute-customization - Attribute customization example.
- opsworks-capistrano - Capistrano with instances.
- opsworks-cloudwatch-logs-cookbooks - CloudWatch sample cookbook.
- opsworks-cookbooks :fire::fire::fire::fire: - Chef Cookbooks.
- opsworks-demo-php-photo-share-app - Simple PHP photo share app.
- opsworks-demo-php-simple-app - Simple PHP app.
- opsworks-demo-rails-photo-share-app - A sample Rails app.
- opsworks-elasticsearch-cookbook - Elasticsearch sample cookbook.
- opsworks-example-cookbooks :fire: - Cookbooks used with the sample apps.
- opsworks-first-cookbook - Cookbook used to demonstrate simple recipes.
- opsworks-windows-demo- - A sample Node.JS app.
- opsworks-windows-demo-cookbooks - Cookbooks for Windows.
- todo-sample-app-cookbooks - Custom cookbooks associated with the todo-sample-app.
Community Repos:
Redshift
AWS Repos:
- aws-lambda-redshift-loader :fire::fire::fire: - Lambda database loader.
- amazon-redshift-utils :fire::fire::fire::fire::fire: - Applies optimal Column Encoding to existing Tables.
Community Repos:
- Lumoslabs/aleph - A full featured web application for writing and running Redshift queries. Supports revision tracking of queries and has basic visualization support.
- getredash/redash :fire::fire::fire::fire::fire: - A web application that allows to easily query an existing database, share the dataset and visualize it in different ways. Initially was developed to work with Redshift, and has great support for it.
- everythingMe/redshift_console - A simple tool to monitor and manage a Redshift cluster. The first release has basic tools to monitor running queries, WLM queue and your tables/schemas.
Route 53
AWS Repos:
- route53-infima :fire::fire: - Manages service-level fault isolation.
Community Repos:
- barnybug/cli53 :fire::fire::fire::fire: - cli53 is a command line tool for Amazon Route 53 which provides import and export from BIND format and simple command line management of Route 53 domains.
- winebarrel/roadworker :fire::fire: - Roadworker is a tool to manage Route53. It defines the state of Route53 using DSL, and updates Route53 according to DSL.
S3
Community Repos:
- anomalizer/ngx_aws_auth :fire::fire: - Implements proxying of authenticated requests.
- bloomreach/s4cmd :fire::fire::fire::fire: - S3 command line tool, faster than S3cmd for large files.
- CulturalMe/meteor-slingshot :fire::fire::fire: - Upload files in meteor.
- danilop/yas3fs :fire::fire::fire: - Yet Another S3-backed File System, inspired by s3fs.
- grippy/node-s3 - Node.js app to manage buckets.
- jubos/fake-s3 :fire::fire::fire::fire::fire: - Lightweight S3 clone that simulates most commands.
- kahing/goofys :fire::fire::fire::fire::fire: - a Filey System for Amazon S3 written in Go.
- littlstar/s3renity :fire::fire::fire::fire: - Batch functions with concurrency control (each, map, reduce, filter, join)
- marcel/aws-s3 :fire::fire::fire: - Ruby implementation of Amazon's S3 REST API.
- mardix/flask-cloudy :fire::fire: - Flask extension.
- MathieuLoutre/grunt-aws-s3 :fire::fire: - Grunt plugin.
- mickael-kerjean/filestash :fire::fire::fire::fire::fire: - A modern web client for S3.
- minio/mc :fire::fire::fire::fire: - Minio Client for filesystem and cloud storage.
- minio/minio :fire::fire::fire::fire::fire: - Object storage server compatible with S3.
- mumrah/s3-multipart :fire: - Parallel upload/download to S3 via Python.
- ncw/rclone :fire::fire::fire::fire::fire: - Rsync for various cloud storage providers such as S3.
- owocki/s3_disk_util :fire: - S3 Disk usage (du) utility.
- peak/s5cmd :fire::fire::fire: - Fast S3 and local filesystem execution tool with wildcard and batch command support.
- pgherveou/gulp-awspublish :fire::fire: - Gulp plugin.
- rlmcpherson/s3gof3r :fire::fire::fire::fire: - Fast, concurrent, streaming access, includes a CLI.
- s3git/s3git :fire::fire::fire::fire: - CLI tool that allows you to create a distributed, decentralized and versioned repository.
- s3fs-fuse/s3fs-fuse :fire::fire::fire::fire::fire: - Allows Linux and Mac OS X to mount an S3 bucket via FUSE.
- s3tools/s3cmd :fire::fire::fire::fire::fire: - CLI for managing S3 and CloudFront.
- schickling/git-s3 :fire::fire: - Deploy your git repo to a bucket.
- sorentwo/carrierwave-aws :fire::fire: - Adapter for CarrierWave.
- spring-projects/aws-maven :fire::fire: - Maven Wagon for S3.
- tongwang/s3fs-c :fire: - Mounts buckets for use on a local file system.
- mishudark/s3-parallel-put :fire::fire: - CLI that supports parallel uploads.
- waynehoover/s3_direct_upload :fire::fire::fire: - Direct Upload to Amazon S3 With CORS
- weavejester/clj-aws-s3 :fire: - Client library for Clojure.
SES
Community Repos:
- drewblas/aws-ses :fire::fire::fire: - Provides an easy ruby DSL & interface.
- microapps/MoonMail :fire::fire::fire::fire: - Shoot billions of emails using SES and Lambda.
Simple Workflow
AWS Repos:
- aws-flow-ruby :fire: - Creates background jobs and multistep workflows.
- aws-flow-ruby-samples - AWS Flow Framework for Ruby samples.
- aws-flow-ruby-opsworks-helloworld - Hello World sample.
Community Repos:
SimpleDB
Community Repos:
- rjrodger/simpledb :fire: - Node.js library.
SNS
AWS Repos:
- aws-php-sns-message-validator :fire: - Message validation for PHP.
Community Repos:
SQS
AWS Repos:
- amazon-sqs-java-messaging-lib :fire: - Holds the Java Message Service to communicate with SQS.
Community Repos:
- phstc/shoryuken :fire::fire::fire::fire: - A super efficient SQS thread based message processor for Ruby.
Data
AWS Repos:
- aws-data-wrangler :fire::fire::fire::fire::fire: - Connects Pandas DataFrames and AWS data related services.
Community Repos:
- donnemartin/data-science-ipython-notebooks :fire::fire::fire::fire::fire: - Big data/data science notebooks.
- everpeace/vagrant-mesos :fire::fire: - Spin up your Mesos Cluster with Vagrant.
- jhorey/ferry :fire::fire: - Define, run, and deploy big data apps using Docker.
- nathanmarz/storm-deploy :fire::fire::fire: - One click deploy for Storm clusters.
DevOps
Community Repos:
- cloud-custodian/cloud-custodian :fire::fire::fire::fire::fire: - Rules engine for management, DSL in yaml for query, filter, and actions on resources.
- chef-cookbooks/aws :fire::fire: - Development repository for aws Chef cookbook.
- colinbjohnson/aws-missing-tools :fire::fire::fire::fire: - Tools for managing resources including EC2, EBS, RDS and Route53.
- k1LoW/awspec :fire::fire::fire::fire: - RSpec tests your resources.
- mitchellh/vagrant-aws :fire::fire::fire::fire::fire: - Use Vagrant to manage your EC2 and VPC instances.
- NixOS/nixops :fire::fire::fire::fire: - Use NixOS to provision EC2 instances, S3 buckets, and other resources.
Security
AWS Repos:
- aws-sha256-agentcs - SHA256 Agent Compatibility Ccanner.
- aws-tvm-anonymous - Token Vending Machine for Anonymous Registration.
- aws-tvm-identity - Token Vending Machine for Identity Registration.
- s2n :fire::fire::fire::fire::fire: - An implementation of the TLS/SSL protocols.
Community Repos:
- AdRoll/hologram :fire::fire::fire: - Easy, painless credentials on developer laptops.
- alex/letsencrypt-aws :fire::fire::fire: - Automatically provision and update certificates.
- bridgecrewio/checkov :fire::fire::fire::fire::fire: - Terraform static analysis, verifies security best practices.
- cloudsploit/scans :fire::fire::fire::fire: - Detects security risks.
- iSECPartners/Scout2 :fire::fire::fire::fire: - Security auditing tool.
- jordanpotti/AWSBucketDump :fire::fire::fire::fire: - Security Tool to Look For Interesting Files in S3 Buckets.
- Netflix/bless :fire::fire::fire::fire::fire: - SSH Certificate Authority that runs as a Lambda function.
- Netflix/security_monkey :fire::fire::fire::fire::fire: - Monitors policy changes and alerts on insecure configurations.
- RiotGames/cloud-inquisitor :fire::fire: - Tool to enforce ownership and data security.
- salesforce/policy_sentry :fire::fire::fire::fire: - IAM Least Privilege Policy Generator.
- sebsto/AWSVPN :fire: - Start a private VPN server in the cloud.
- trailofbits/algo :fire::fire::fire::fire::fire: - Set up a personal IPSEC VPN on EC2 and other cloud services.
- ttlequals0/autovpn :fire::fire::fire::fire: - Create On Demand Disposable OpenVPN Endpoints.
Accompanying Repos
AWS Repos:
Repos Accompanying Blogs, Training Events, and Conferences.
- aws-arch-backoff-simulator :fire: - Jitter and backoff Simulator for AWS architecture blog.
- aws-big-data-blog :fire::fire::fire: - Samples from the AWS Big Data Blog.
- aws-demo-php-simple-app - PHP apps from the AWS Blogs.
- aws-mobile-sample-wif - Samples from the AWS Mobile SDK blog.
- aws-mobile-self-paced-labs-samples - Android Snake Game from a self-paced lab.
- aws-quickstart - Official repository for AWS Quick Start.
- aws-spot-labs :fire::fire::fire: - Best practices using AWS Spot Instances.
- aws-training-demo :fire: - Demos from the Technical Trainers community.
- java-meme-generator-sample - Meme generation app from re:Invent 2012.
- railsconf2013-tech-demo :fire: - Seahorse demo from RailsConf 2013.
- reinvent2013-js-blog-demo - Demo blogging app from re:Invent 2013.
- reinvent2013-mobile-photo-share - Mobile photo share app from re:Invent 2014.
- reinvent2014-scalable-site-management - Scalable site management sample from re:Invent 2014.
- reinvent2015-dev309 - Large Scale Metrics Analysis from re:Invent 2015.
- timely-security-analytics - Security analytics sample from 2015 re:Invent 2015.
- todo-sample-app - Simple "Todo" app from RailsConf 2014.
Community Repos:
- startup-class/setup :fire::fire: - EC2 setup files for Startup Engineering MOOC.
Miscellaneous Repos
AWS Repos:
- amediamanager - Media manager.
- aws-hal-client-java - Java client for the Hypertext Application Language.
- aws-model-validators - Tools for validating the AWS service JSON model files.
- aws-sdk-js-sample-video-transcoder - Sample cross-platform video transcoder app.
- simplebeerservice :fire::fire: - Cloud-connected kegerator that streams live sensor data to AWS.
Community Repos:
- bcoe/thumbd :fire::fire: - Node.js/ImageMagick-based image thumbnailing service.
- cdkpatterns/serverless :fire::fire::fire::fire: - Deployable serverless architecture patterns built in AWS CDK.
- Comcast/cmb :fire::fire: - Highly available, horizontally scalable queuing and notification service.
- convox/rack :fire::fire::fire::fire: - Open-source PaaS on AWS.
- devops-israel/aws-inventory :fire::fire: - Display all your AWS resources on a single web page.
- donnemartin/dev-setup :fire::fire::fire::fire: - Mac setup of various developer tools and AWS services.
- dtan4/terraforming :fire::fire::fire::fire::fire: - Export existing resources to Terraform style (tf, tfstate).
- segmentio/stack :fire::fire::fire::fire::fire: - A set of Terraform modules for configuring production infrastructure.
- j2labs/microarmy - Deploy micro instances to launch a coordinated siege.
- jpillora/grunt-aws :fire: - Grunt interface into the Node.JS SDK.
- jvehent/haproxy-aws :fire::fire: - Documentation on building a HTTPS stack with HAProxy.
- localstack/localstack :fire::fire::fire::fire::fire: - A fully functional local AWS cloud stack. Develop and test your cloud apps offline!
- meducation/propono :fire::fire: - Easy-to-use pub/sub in Ruby.
- mozilla/awsbox :fire::fire::fire: - A featherweight PaaS on top of EC2 for deploying node apps.
- Netflix/aminator :fire::fire::fire: - A tool for creating EBS AMIs.
- Netflix/archaius :fire::fire::fire::fire::fire: - Library for configuration management API.
- Netflix/asgard :fire::fire::fire::fire::fire: - Web interface for application deployments and cloud management.
- Netflix/aws-autoscaling :fire::fire: - Tools for using auto scaling and documentation best practices.
- Netflix/chaosmonkey :fire::fire::fire::fire::fire: - Resiliency tool that helps applications tolerate random instance failures.
- Netflix/eureka :fire::fire::fire::fire::fire: - Service registry for resilient mid-tier load balancing and failover.
- Netflix/EVCache :fire::fire::fire::fire: - A distributed in-memory data store.
- Netflix/Fenzo :fire::fire::fire: - Extensible Scheduler for Mesos Frameworks.
- Netflix/ice :fire::fire::fire::fire::fire: - Usage and cost monitoring tool.
- Netflix/ribbon :fire::fire::fire::fire::fire: - Remote procedure call library with built in software load balancers.
- Netflix/SimianArmy :fire::fire::fire::fire::fire: - Tools to keep your cloud operating in top form.
- Netflix/zuul :fire::fire::fire::fire::fire: - Edge service that provides dynamic routing, monitoring, resiliency, security, and more.
- niftylettuce/gulp-aws-splash :fire::fire: - Open-source LaunchRock alternative. Build beautiful splash pages.
- puppetlabs/puppetlabs-aws :fire: - Puppet module for managing resources to build out infrastructure.
- mhart/react-server-routing-example :fire::fire: - Sample universal client/server routing and data in React.
- Similarweb/finala :fire::fire::fire: - A resource cloud scanner that analyzes and reports wasteful and unused resources to cut unwanted expenses.
- snowplow/snowplow :fire::fire::fire::fire::fire: - Enterprise-strength web, mobile and event analytics, powered by Hadoop, Kafka, Kinesis, Redshift and Elasticsearch.
- Spinnaker/spinnaker :fire::fire::fire::fire::fire: - Successor to asgard supporting pipelines and more.
- spulec/moto :fire::fire::fire::fire::fire: - Allows your python tests to easily mock out the boto library.
Guides, Books, Documentation, and Training
How-to's, training, whitepapers, docs, and case studies.
Getting Started Guides
AWS Guides:
Community Guides:
General Guides
AWS Guides:
- Analyzing Big Data
- Working with the AWS Management Console
- Deploying a Web App Using Elastic Beanstalk
- Hosting a Web App
- Hosting a .NET Web App
- Hosting a Static Website
- Quick Start Deployment Guides
Community Guides:
Books
- Amazon Web Services in Action Manning or Amazon.com
- AWS Lambda in Action Manning or Amazon.com - Code Repo :fire::fire:
Whitepapers
Documentation
- Documentation
- AWS Billing and Cost Management
- AWS Marketplace
- AWS Support
- AWS General Reference
- AWS Glossary
Training
Case Studies: Powered by AWS
- Adobe
- AdRoll
- Airbnb
- Autodesk
- Citrix
- Comcast
- Coursera
- Docker
- Dow Jones
- Dropbox
- Dropcam
- Expedia
- Foursquare
- IMDb
- Instrumental
- Intuit
- Johnson & Johnson
- Lionsgate
- mlbam
- NASA
- Netflix
- Nike
- Nokia
- PBS
- Pfizer
- Philips
- Samsung
- Siemens
- Slack
- Spotify
- Swiftkey
- The Weather Company
- Ticketmaster
- Time Inc
- Twilio
- U.S. Department of State
- Ubisoft
- Yelp
- Zillow
Social
Blogs, discussion groups, conferences, and social media.
Blogs
AWS Blogs:
- Official Blog
- DevOps
- Architecture
- Big Data
- Compute
- Mobile
- Messaging
- Java
- PHP
- Ruby
- .NET
- Security
- Startup
- Partner Network
- SAP
Community Blogs:
- All Things Distributed - Werner Vogels, AWS CTO.
- Things I Like... - Jeff Barr, AWS Chief Evangelist.
- Netflix Tech Blog
- A Curated List of Engineering Blogs
- AWS Geek
Twitter Influencers
AWS Tweeps:
- @awscloud - Official Twitter feed.
- @AWS_Partners
- @AWSIdentity
- @AWSMarketplace
- @AWSreInvent - Official Twitter account for re:Invent.
- @AWSStartups
- @ajassy - Andy Jassy: Senior Vice-President.
- @Ianmmmm - Ian Massingham - Technical Evangelist.
- @jeffbarr - Jeff Barr: Chief Evangelist.
- @mndoci - Deepak Singh: GM EC2.
- @mza - Matt Wood: Product Strategy.
- @Werner - Werner Vogels: CTO.
- Community heroes, Evangelists, etc
Community Tweeps:
Facebook Pages
AWS Pages:
- amazonwebservices - Official Facebook page.
- awsreinvent - Official Facebook page for re:Invent.
Community Pages:
YouTube Channels
AWS Channels:
Community Channels:
LinkedIn Groups
AWS Page:
Community Groups:
- Amazon AWS Architects
- Amazon AWS Architects, Engineers, Developers, Consultants, Entrepreneurs Experts
- Amazon Web Services (AWS) for Business
- Amazon Web Services Architects
- Amazon Web Services Community Network
- Amazon Web Services Enthusiasts
- Amazon Web Services Users
Subreddits
Conferences
AWS Conferences:
- re:Invent - Annual user conference. The event features keynote announcements, training and certification opportunities, over 250 technical sessions, a partner expo, after hours activities, and more.
- Summits - Global one-day events that are designed to educate new customers about the AWS platform and offer existing customers deep technical content to be more successful with AWS.
- AWSome Day - Global one-day events are delivered by AWS Education's technical instructors and are ideal for IT pros, developers and technical managers who would like to learn about how to get started in the AWS Cloud.
Community Conferences:
Latest KPIs and Stats
Latest key performance indicators and other interesting stats.
- Over 1 million customers active in past 30 days.1
- $7B+ annual revenue run-rate business.1
- 81% year over year revenue growth.1
- EC2 usage up 95% year over year.1
- S3 data transfer up 120% year over year.1
- S3 holds trillions of objects and regularly peaks at 1.5 million requests per second.2
- Database services usage up 127% year over year.1
- $1B annual revenue run-rate business.1
- 2 million new EBS volumes created per day.4
- Customers have launched more than 15 million Hadoop clusters.3
- 102Tbps network capacity into a data center.2
- 500+ major new features and services launched since 2014.1
- All 14 other cloud providers combined have 1/5th the aggregate capacity of AWS.2
- Every day, AWS adds enough new server capacity to support all of Amazon's global infrastructure when it was a $7B annual revenue enterprise (in 2004).2
Appendix of Core Services
Appendix of official services, grouped by service category.
Services in Plain English
- Amazon Web Services in Plain English - Entertaining and educational, a community contribution.
Compute Services
- Auto Scaling - Launches or terminates EC2 instances based on policies, schedules, and health checks.
- Batch - Run batch jobs at scale.
- Blox - Open source projects for building custom schedulers on ECS.
- EC2 Container Service (ECS) - Supports Docker containers on EC2 instances.
- EC2 Systems Manager - Easily configure and manage EC2 and on-premises systems.
- Elastic Beanstalk - Provides quick deployment and management of applications in the cloud.
- Elastic Compute Cloud (EC2) - Provides scalable virtual private servers using Xen.
- Elastic GPUs - Attach low-cost GPUs to EC2 instances for graphics acceleration.
- Elastic Load Balancing (ELB) - Automatically distributes incoming traffic across multiple EC2 instances.
- Lambda - Runs code in response to events and automatically manages EC2 instances.
- Lightsail - Launch and manage simple virtual private servers.
- Virtual Private Cloud (VPC) - Creates a logically isolated set of EC2 instances which can be connected to an existing network using a VPN connection.
Networking Services
- Direct Connect - Provides dedicated connections to AWS for faster and cheaper data throughput.
- Elastic Load Balancing (ELB) - Automatically distributes incoming traffic across multiple EC2 instances.
- Route 53 - Provides a highly available and scalable Domain Name System (DNS) web service.
- Virtual Private Cloud (VPC) - Creates a logically isolated set of EC2 instances which can be connected to an existing network using a VPN connection.
Enterprise Applications
- WorkDocs - Provides a fully managed, secure enterprise storage and sharing service.
- WorkMail - Provides managed email and calendaring service.
- WorkSpaces - Provides a cloud-based desktop experience to end-users.
- Workspaces Application Manager (WAM) - Simplifies deployment and management of WorkSpaces.
Analytics Services
- Athena - Query data on S3 instantly.
- Data Pipeline - Provides workload management by processing and moving data between services.
- Elastic MapReduce (EMR) - Hosts a Hadoop and Spark framework running on EC2 and S3.
- Elasticsearch Service (ES) - Managed Elasticsearch, a popular open-source search and analytics engine.
- Glue - Prepare and load data to data stores.
- Kinesis - Provides real-time data processing over large, distributed data streams.
- Kinesis Analytics - Write standard SQL queries on streaming data without having to learn any new programming skills.
- Kinesis Firehose - Captures and automatically loads streaming data into S3 and Redshift.
- Quicksight - Provides cloud-powered business intelligence for 1/10th the cost of traditional BI solutions.
- Redshift - Provides petabyte-scale data warehousing with columnar storage and multi-node compute.
Artificial Intelligence
- Lex - Build conversational interfaces through voice or text.
- Machine Learning - Provides managed machine learning technology.
- Polly - Turn text into lifelike speech.
- Rekognition - Deep learning-based image analysis.
Management Tools
- CloudFormation - Provides a file-based interface for provisioning other resources.
- CloudTrail - Provides logs of all activity.
- CloudWatch - Provides monitoring for AWS cloud resources and applications, starting with EC2.
- Command Line Interface (CLI) - Provides a CLI to manage all services.
- Config - Provides a detailed view of all resources.
- Management Console (AWS Console) - A web-based interface to manage all services.
- OpsWorks - Provides configuration of EC2 services using Chef.
- Personal Health Dashboard - Your personalized view of service health.
- Service Catalog - Service Catalog allows IT administrators to create, manage, and distribute portfolios of approved products to end users, who can then access the products they need in a personalized portal.
Security and Identity Services
- Certificate Manager - Lets you easily provision, manage, and deploy SSL/TLS certificates for use with AWS services.
- CloudHSM - Helps meet corporate, contractual and regulatory compliance requirements for data security by using dedicated Hardware Security Module (HSM) appliances within the AWS cloud.
- Directory Service - A managed service that allows you to connect your resources with an existing on-premises Microsoft Active Directory or to set up a new, stand-alone directory in the AWS Cloud.
- Identity and Access Management (IAM) - An implicit service, the authentication infrastructure used to authenticate access to the various services.
- Inspector - An automated security assessment service that helps improve the security and compliance of applications deployed on AWS.
- Key Management Service (KMS) - A managed service that makes it easy for you to create and control the encryption keys used to encrypt your data.
- Shield - Managed DDoS Protection.
- WAF - A web application firewall service that monitors and manages CloudFront distributions.
Internet of Things Service
- IoT - Enables secure, bi-directional communication between internet-connected things (such as sensors, actuators, embedded devices, or smart appliances) and the AWS cloud over MQTT and HTTP.
Mobile Services
- API Gateway - Service for publishing, maintaining and securing web service APIs.
- Cognito - Provides user identity and data synchronization.
- Device Farm - App testing service for iOS, Android and Fire OS apps on physical devices.
- Mobile Analytics - Service for collecting, visualizing, and understanding app usage data.
- Mobile Hub - Provides an integrated console that helps you build, test, and monitor your mobile apps.
- Pinpoint - Targeted push notifications for mobile apps.
- Simple Notification Service (SNS) - Provides a hosted multi-protocol "push" messaging for applications.
Storage and Content Delivery Services
- CloudFront - A content delivery network (CDN) for distributing objects to locations near the requester.
- Elastic Block Store (EBS) - Provides persistent block-level storage volumes for EC2.
- Elastic File System (EFS) - A file storage service for EC2 instances.
- Glacier - Provides a low-cost, long-term storage option, intended for archiving data.
- Import/Export - Accelerates moving large amounts of data into and out of AWS using portable storage devices for transport.
- Simple Storage Service (S3) - Provides Web Service based storage.
- Storage Gateway - An iSCSI block storage virtual appliance with cloud-based backup.
Databases
- Aurora - MySQL and PostgreSQL compatible relational database with improved performance.
- DynamoDB - Provides a scalable, low-latency NoSQL online Database Service backed by SSDs.
- ElastiCache - Provides in-memory caching for web apps (Memcached, Redis).
- Redshift - Provides petabyte-scale data warehousing with columnar storage and multi-node compute.
- Relational Database Service (RDS) - Provides a scalable database server with MySQL, Oracle, SQL Server, PostgreSQL, and MariaDB support.
- Schema Conversion Tool - App that helps you convert your database schema from an Oracle or Microsoft SQL Server database, to an RDS MySQL DB instance or an Aurora DB cluster.
- SimpleDB - Allows developers to run queries on structured data.
Application Services
- API Gateway - Service for publishing, maintaining and securing web service APIs.
- AppStream - Flexible, low-latency streaming service for apps and games.
- CloudSearch - Provides basic full-text search and indexing of textual content.
- DevPay - Provides billing and account management.
- Elastic Transcoder (ETS) - Provides video transcoding of S3 hosted videos.
- Flexible Payments Service (FPS) - Provides an interface for micropayments.
- Simple Email Service (SES) - Provides bulk and transactional email sending.
- Simple Notification Service (SNS) - Provides a hosted multi-protocol "push" messaging for applications.
- Simple Queue Service (SQS) - Provides a hosted message queue for web applications.
- Simple Workflow (SWF) - A workflow service for building scalable, resilient applications.
- Step Functions - Coordinate components of distributed applications.
Developer Tools
- CodeBuild - Build and test code.
- CodeCommit - Hosted Git version control service.
- CodeDeploy - Provides automated code deployment to EC2 instances.
- CodePipeline - Continuous delivery service.
- Command Line Interface (CLI) - Provides a CLI to manage all services.
- X-Ray - Analyze and debug your applications.
Miscellaneous Services
- Fulfillment Web Service - Provides a programmatic web service for sellers to ship items to and from Amazon using Fulfillment by Amazon.
- Mechanical Turk - Manages small units of work distributed among many persons.
- Partner Network (APN) - Provides partners with the technical information and sales and marketing support to increase business opportunities.
- Product Advertising API - Provides access to product data and electronic commerce functionality.
Credits
Check out the Credits page.
Other Awesome Lists
Other awesome lists can be found in awesome and awesome-awesomeness.
Contact Info
Feel free to contact me to discuss any issues, questions, or comments.
My contact info can be found on my GitHub page.
License
I am providing code and resources in this repository to you under an open source license. Because this is my personal repository, the license you receive to my code and resources is from me and not my employer (Facebook).
Copyright 2017 Donne Martin
Creative Commons Attribution 4.0 International License (CC BY 4.0)
http://creativecommons.org/licenses/by/4.0/
An awesome & curated list of best applications and tools for Windows.
*Please, consider supporting my work as a lot of effort takes place to generate this list! Thanks a lot.
Items marked with
are open-source software. Items marked with
are free.
- Applications
- Audio
- Chat Clients
- Compression
- Customization
- Data Recovery
- Developer Tools
- Documents
- E-Book Utilities
- Games
- Graphics
- Text Editors
- IDEs
- Online Storage
- Backup
- Productivity
- Terminal
- Utilities
- Proxy and VPN Tools
- Video
- Setup
- Windows 10 Setup
- Windows 8.1 Setup
- Security
- Miscellaneous
- Discussion Forums
- Contribute
- Backers
- License
Applications
Audio
- AIMP - 32 bit audio processing and multi-format playback.
- Audacity - Free, open source, cross-platform software for recording and editing sounds.
- AudioNodes - Modular audio production suite with multi-track audio mixing, audio effects, parameter automation, MIDI editing, synthesis, cloud production, and more.
- CDex - CD Ripper (French site, English program).
- Dopamine - An audio player which tries to make organizing and listening to music as simple and pretty as possible.
- Exact Audio Copy - Transfer files from your CDs to your PC in almost every format.Comes with some pretty nifty features too.
- Foobar2000 - Free audio player for Windows, supports a wide range of audio formats and has a lot of cool features.
- K-Lite Codecs - Collection of DirectShow filters, VFW/ACM codecs, and tools.
- Kodi - Free and Open Source home theatre software.
- Mixxx - Free DJ software that gives you everything you need to perform live mixes, veritable alternative to Traktor.
- Musicbee - Like iTunes but better than iTunes.
- MusicBrainz Picard - Picard is a cross-platform music tagger that looks up and rewrite metadata tags.
- Qtractor - An Audio/MIDI multi-track sequencer.
- Reaper - Lightweight application with deep feature set and \$60 for individual, non-profit, or small business use.
- Resonic - Fast and free audio player.
- WACUP - An extension/improvement to Winamp, providing bugfixes and more features such as a better MOD player and YouTube support.
- Winamp - Music player capable of playing MP3s, MP2s, WAVs, VOCs and MIDI files.
Chat Clients
- Caprine - An elegant Facebook Messenger desktop app.
- Discord - Discord is a free voice and text chat client for gamers and non-gamers alike. You can use it from your browser and it's available on iOS, Android, Windows, Mac, and Linux.
- Hexchat - IRC client based on XChat
- LimeChat - Instant messaging application.
- mIRC - An Internet Relay Chat (IRC) client.
- Quassel - Quassel IRC is a modern, cross-platform, distributed IRC client.
- Riot - A decentralised encrypted comms app for the Matrix.org ecosystem.
- Telegram - A messaging app with a focus on speed and security, it’s super fast, simple and free.
- Waow - Awesome WhatsApp Web Client to deliver you the best WhatsApp experience.
- Franz - A messaging app for WhatsApp, Facebook Messenger, Slack, Telegram and many many more.
Compression
- 7-Zip - Open source Windows utility for manipulating archives. Formats 7z, ZIP, GZIP, BZIP2 and TAR are supported fully, other formats can be unpacked.
- Bandizip - A lightweight, fast and free All-In-One Zip Archiver.
- PeaZip - Archiver and file compressor. Extract 7Z CAB ISO RAR TAR ZIP archive files.
- Riot - Compress images either by file size or by many other image attributes.
- WinRAR - A powerful archive manager. It can backup your data and reduce the size of email attachments, decompress RAR, ZIP and other files.
Customization
- 7+ Taskbar Tweaker - Allows to customize and extend Windows taskbar functionality with various productivity enhancements.
- Classic Start - Use Start Menu and Explorer like it's 2000.
- Clover - Add multi-tab functionality to Windows Explorer.
- EarTrumpet - Per application volume control from the system tray.
- QTTabBar - Extends Explorer by tabs and extra folder views.
- Rainmeter - Rainmeter allows you to display customizable skins on your desktop, from hardware usage meters to fully functional audio visualizers.
- Search Deflector - A small program that redirects searches made from the Windows Start Menu or Cortana to whatever browser and search engine you prefer.
- TranslucentTB - Make your Windows task bar transparent.
- Windows 10 Login Background Changer - Lets you change the Windows 10 login screen background.
- ZBar - If you use multiple monitors, it lets you display a separate taskbar on each monitor.
Data Recovery
- Data Rescue - Comprehensive and professional Hard drive recovery software that can recover your photos, videos, documents.
- Ontrach EasyRecovery - Has filtering tools to help sort the large amount of data the software can recover.
- PartitionGuru | Eassos Recovery - Data recovery with partition recovery.
- Recuva - Recover your deleted files quickly and easily.
- Stellar Phoenix Windows Data Recovery - Remote recovery option to recover data from another computer over a network.
- TestDisk - Powerful free data recovery software primarily designed to help recover lost partitions and/or make non-booting disks bootable again.
Developer Tools
- Cacher - Cloud-based, team-enabled code snippet manager with Gist sync, VSCode/Atom/Sublime packages and full-featured web client.
- DB Browser for SQLite - High quality, visual, open source tool to create, design, and edit database files compatible with SQLite
- ExtendsClass - Online tools for developers (REST/SOAP clients, SQLite browser, Regex tester, XPath tester)
- Fiddler - Web debugging proxy.
- FileZilla - FTP, FTPS and SFTP client.
- Fork - A fast & friendly Git client for Windows (and Mac).
- Git Extensions - A powerful and easy to use UI for Git.
- GitHub Desktop - GitHub Desktop is an open source Electron-based GitHub app.
- GitKraken - A beautiful, cross-platform Git client.
- HeidiSQL - Powerful and easy client for MySQL, MariaDB, Microsoft SQL Server and PostgreSQL.
- HTTP Toolkit - HTTP debugging & mocking tool.
- I'm Only Resting -A feature-rich WinForms-based HTTP client
- Insomnia - A modern REST client with a beautiful interface.
- Keylord Cross-platform GUI client for Redis, LevelDB and Memcached key-value databases.
- Mamp - Local server environment.
- Meld - A visual diff and merge tool.
- NSudo - A Powerful System Administration Tool.
- Open Server - Portable server platform and software environment (like MAMP, XAMPP, WAMP and very user friendly).
- Pixie - A simple color picker for developers.
- pngquant - Apply lossy compression on PNG files with or wi
- PostgreSQL Database - A comprehensive list of tools.
- Postman - REST client with intuitive user interface to send requests, save responses, add tests, and create workflows.
- Process Explorer - A powerful task manager.
- Process Hacker - Excellent full blown task manager.
- Process Monitor- A sysinternal tool shows real-time file system, Registry, network and process/thread activity.
- RazorSQL - A GUI for managing SQLite databases which requires major work.
- Redis Desktop Manager Cross-platform open source Redis DB management tool.
- Robo 3T - A lightweight GUI for MongoDB enthusiasts.
- SourceTree - A free Git & Mercurial client.
- Sql Wave - A MySQL database manager.
- SSLyog - A powerful MySQL administration tool
- TailBlazer - A small fast tool for browsing through logs
- TortoiseGit - Git client with full shell integration.
- Tower - Tower - the most powerful Git client for Mac and Windows.
- Vagrant - A tool for building and managing virtual machines.
- Velocity - Offline API Documentation Tool. (like Dash for macOS)
- Visual Studio Code - Lightweight Source Code Editor.
- Visual Studio - Ultimate Microsoft Developer Tool.
- Wamp - Web development environment.
- WinSCP - Free open source SFTP, FTP, WebDAV and SCP client.
- Wireshark - A network protocol analyzer.
- WMI Explorer - Provides the ability to browse and view WMI namespaces/classes/instances/properties in a single pane of view.
- Xampp - Apache driven web development environment.
- Xftp 5 - Flexible and lightweight SFTP/FTP client.
- Zsh - A powerful command line shell.
Documents
- FreeOffice - FreeOffice is a complete office suite with a word processor, a spreadsheet application and a presentation program – all compatible with their counterparts in Microsoft Office.
- LibreOffice - Open source office suite.
- Microsoft Office - Microsoft's own productivity suite.
- NitroPDF - The best PDF Reader you'll ever get.
- OnlyOffice - The most complete and feature-rich office and productivity suite.
- OpenOffice - Software suite for word processing, spreadsheets, presentations, graphics, databases and more.
- Sumatra PDF - PDF, ePub, MOBI, CHM, XPS, DjVu, CBZ, CBR reader.
- WPS Office - The perfect free office software
E-Book Utilities
- Bookviser - Awesome application for Windows 8 devices to read eBooks in a simple way.
- Calibre - Powerful software for e-book management and conversion.
- kobo - Incredibly ugly but powerful software for ebook management and conversion.
- Mailbird - IMAP and POP3 email client, featuring customization, complete touch support and multiple language support.
- Mailspring - A fast and maintained fork of Nylas Mail, built on modern web technologies.
- Nylas Mail - An extensible desktop mail app built on the modern web.
- Postbox - The Power Email App
- Thunderbird - Email client with minimalistic design.
- BlueMail - beautifully designed, powerful and easy to use email app if you're looking for cross-platform functionality.
Games
- 0 A.D. - A free, open-source real-time strategy game of ancient warfare.
- Awesome Games - List of games hosted on Github.
- Freeciv - A Free and Open Source empire-building strategy game inspired by the history of human civilization.
- Godot Engine - Free and open source game engine. Easy to get started and flexible for intermediate users.
- GOG - DRM-free game store with a lot of old games but also has a rich collection of new games.
- Itch.io - Install, update and play indie games.
- LuaStudio - Free game development tool/engine. Create games and other graphic focused apps on Windows using Lua/LuaJIT programming language. Export them to many platforms including iOS, Android and Mac.
- Origin - Like Steam, but for EA.
- Steam - Largest online video game retailer. Desktop app allows you to organise your library of games and play them at any time. But you already knew that.
- Unity - Free game engine. Easy to pick up and use with a number of tutorials.
- Unreal Engine - Another free game engine. Lots of documentation and easier to pick up, but you pay 5% royalties to Unreal when you make money from UE-based games.
- Warsow - Free & fast-paced FPS game for Windows.
Graphics
- Blender - Fully-featured extensible cross-platform 3D content suite.
- Gimp - Open source image editor.
- Inkscape - Inkscape is a professional vector graphics editor for Windows, Mac OS X and Linux.
- Krita - Krita is a professional FREE and open source painting program.
- MapTiler - MapTiler generates zoomable raster maps from images in user-defined coordinate system.
- Paint.net - how can you live without paint.net?
Text Editors
- Atom - A hackable text editor for the 21st Century.
- Brackets - A modern, open source text editor that understands web design.
- GVim - (G)Vim is a highly configurable text editor built to enable efficient text editing.
- Light Table - A customizable editor with instant feedback and showing data values flow through your code.
- Neovim - literally the future of vim
- Notepad++ - A source code editor which supports several programming languages.
- Notepad2 - Tiny and fast Notepad replacement with many useful features.
- Oni - Modern Modal Editing - powered by Neovim
- SpaceVim - A community-driven vim distribution
- Sublime Text 3 - The sophisticated text editor.
- Visual Studio Code - Build and debug modern web and cloud applications.
IDEs
- Android Studio - The official IDE for Android based on the IntelliJ platform.
- CLion - Smart cross-platform IDE for C/C++ that uses CMake as a build system.
- Eclipse - A powerful IDE.
- IntelliJ IDEA - A modern Java IDE with free community edition.
- NetBeans IDE - A free and open-source IDE.
- PhpStorm - Lightning-smart PHP IDE with major frameworks support.
- PyCharm - Python IDE for professional developers with free community edition.
- Rider - A cross-platform .NET/Mono IDE.
- RubyMine - An intelligent Ruby IDE that supports many modern frameworks.
- Visual Studio - Microsofts official IDE. Supports a multitude of languages via plugins.
- WebStorm - A smart JavaScript IDE that uses the full power of the modern JavaScript ecosystem.
Online Storage
- Box - Ability to sync more than 100,000 files and supporting both special characters in file names and file paths longer than 256 characters.
- Dropbox -Simple, elegant and versatile (PC, Macs, Android...) cloud storage solution.
- Google Drive - Cloud storage solution deeply integrated in the Google ecosystem.
- pCloud - A swiss based privacy first cloud provider. Also offers one time payment lifetime plans.
- Sync - Encrypted file storage that stores all files in canadian datacenters
- Mega - Encrypted file storage.
- Mozy
- OneDrive - Best cloud storage solution for Windows users.
Backup
- Arq - Backs up your files to your own cloud account (Amazon Cloud Drive, AWS, Dropbox, Google Drive, Google Cloud Storage, OneDrive, and SFTP).
- Bvckup 2 - Light, versatile data replication software.
- Duplicati - Free backup software to store encrypted backups online For Windows, macOS and Linux.
Productivity
- Aperture Control - Windows environment automation tool with a number of premade recipes and examples available.
- AutoHotkey - The ultimate automation scripting language for Windows.
- Chocolatey - A package manager for Windows.
- Cold Turkey - The only blocker for distracting websites that actually works. (even doesn't let you uninstall it when blocking is active).
- CommandTrayHost - A Command Line program monitor systray for Windows.
- CopyQ - Clipboard manager with advanced features.
- Ditto - Clipboard manager.
- Easy Window Switcher - Switch between application instances, fast.
- Everything - The fastest file/folder search tool by name.
- Executor.dk - A free multi purpose customizable and light-weight launcher.
- f.lux - Automatically adjust your computer screen to match lighting.
- File Juggler - Organize files automatically. Monitor folders and execute actions like rename, delete, unzip and more. Finds dates in PDFs and much more.
- Inkdrop - The note-taking app for Markdown lovers.
- KatMouse - Utility that enables "universal scrolling" in Windows: scrolling does not need the window to be active/clicked first (i.e. how it works in macOS and Linux)
- Keypirinha - A fast launcher for keyboard ninjas on Windows. You can think of Keypirinha as an alternative to Launchy and a cousin of Alfred.
- Launchy - The Open Source Keystroke Launcher.
- Listary - Keep files at your fingertips. An unique search utility.
- Luna - Automatic dark mode for Windows 10.
- MultiCommander - File Manager for Professionals.
- Ninite - The easiest, fastest way to update or install software.
- One Commander - File manager featuring miller columns and dual-pane views.
- Scoop - A command-line installer for Windows.
- Simplenote - Simple cross-platform note taking app with cloud-based syncing.
- Taskade - Smart task lists with real-time cross-platform syncing and team collaboration.
- Total Commander - The best file manager for Windows.
- WordWeb - A very good English dictionary for windows.
- Wox - An effective launcher for windows.
Terminal
- Alacritty - A cross-platform, GPU-accelerated terminal emulator
- Babun - Alternative Windows shell based on Cygwin.
- Cmder - Console emulator package with clink shell.
- ColorTool - Set custom color schemes for the Windows Console with support for iTerm color schemes.
- ConEmu - Customizable terminal with tabs, splits, quake-style and more.
- ConsoleZ - Modified version of Console 2 for a better experience and a better visual rendering.
- FluentTerminal - A Terminal Emulator based on UWP and web technologies.
- Hyper - A terminal built on web technologies.
- Kitty - advanced Putty (SSH and telnet client).
- MobaXterm - Xserver and tabbed SSH client.
- mRemoteNG - The next generation of mRemote, open source, tabbed, multi-protocol, remote connections manager.
- MTPuTTY - Multi-Tabbed PuTTY.
- Putty - SSH and telnet client.
- Terminus - modern, highly configurable terminal app based on web technologies.
- Windows Terminal - Microsoft's official new terminal for Windows.
Utilities
- A-Z of Windows Terminal Commands
- Acrosync - The only native rsync client for Windows (no cygwin required). It supports automatic uploads on file changes and incremental hourly backups.
- AddToSendTo - This script lets you add your favorite Folder to Send To option, when you right-click.
- Advanced Renamer - Advanced batch renaming program, with support for renaming based on GPS data from images, ID3 tags from music files, TV show data and regular expressions.
- Bandicam - Recording software allowing easy video recording of both desktop and 3D apps simultaneously.
- Carnac - The easiest way to record keystrokes during any screen recording.
- CleanMyPC - A clean computer in no time.
- CPU-Z - A free all-in-one CPU monitoring tool.
- Econap - Prevent sleep mode while your system is busy.
- Ext2Fsd - Open source ext3/4 file system driver for Windows.
- ExifCleaner - Remove exif metadata from images and videos with drag and drop.
- Far - File and Archive manager. Clone of the Norton Commander.
- FileOptimizer - A lossless file size optimizer supporting a wide array of formats.
- Fraps- Video game capture screen recorder that can be used with all games using DirectX or OpenGL technology.
- FreeFileSync - An easy backup solution for files and folders, It supports mirroring/two way sync/update between source and destination.
- fselect - Command-line tool to search files with SQL-like queries.
- Glary Utilities - Provides many more advanced features which are non existent in ccleaner.
- GPU-Z - A free all-in-one GPU monitoring tool.
- Greenshot - Take and crop screenshots directly on the screen.
- HTTrack- Offline browser utility, allowing you to download a website from the Internet to a local directory.
- HWMonitor - A hardware monitoring program that reads PC systems main health sensors : voltages, temperatures, fans speed.
- IrfanView - A very fast, small, compact and innovative graphic viewer for Windows.
- LICEcap - Animated screen captures and save them directly to .GIF
- LightBulb - Reduces eyestrain by adjusting gamma based on the current time
- Link Shell Extension - Create symlinks from Explorer.
- PowerPlanSwitcher - Provides a quick UI for switching power schemas & automatic switch on AC-plug-in on Windows10.
- Process Explorer - Discover which program has a particular file or directory open. Process Explorer shows you information about which handles and DLLs processes have opened or loaded.
- qBittorrent - Free and reliable P2P Bittorrent client.
- Retroshare - A platform for secure communications and file sharing between friends.
- rimraf - A deep deletion module for node. Help to delete files and folders with very long paths
- Rufus - Create bootable USB drives the easy way.
- SDelete - A command line utility that can securely delete a file, or clean the slack space.
- SetToStartup - This script will help you to add your favorite programs or self made scripts/folders to startup.
- ShareX- Lets you take screenshots or screencasts of any selected area with a single key.
- Snipping Tool / Snip & Sketch - Windows 10 utility to easily capture and edit selected area in screen.
- SDelete - A command line utility that can securely delete a file, or clean the slack space.
- SetToStartup - This script will help you to add your favorite programs or self made scripts/folders to startup.
- ShareX- Lets you take screenshots or screencasts of any selected area with a single key.
- SpaceMonger - A graphical utility to display folders and files in blocks relative to their disk usage.
- Speccy -Detailed statistics on every piece of hardware in your computer.
- SpeedCrunch - The best and only calculator you'll need, completely stripped down of unnecessary UI clutter.
- Sysinternals Suite - Tool suite by Mark Russinovich that provides access to Windows internals for troubleshooting: processes, physical ports, disk activity etc.
- ueli - A powerful keystroke launcher for Windows.
- SpeedCrunch - The best and only calculator you'll need, completely stripped down of unnecessary UI clutter.
- Sysinternals Suite - Tool suite by Mark Russinovich that provides access to Windows internals for troubleshooting: processes, physical ports, disk activity etc.
- Unlocker - Unlock files Windows won't let you delete
- Waltr - Transfer any movie or music file to your iPhone w/o iTunes.
- WinDirStat - It is a disk usage statistics viewer and cleanup too.
- Windows 10 Login Screen Changer - Changes the Windows 10 Login Screen Background.
winreg-cli- Command line tool with a fluent API for modifying Windows registry.- WizTree - Excellent, small utility application allows users to quickly find large files on a hard drive.
- Yacy - A general search engine by corporations of people, including the search web page, general crawlers, indexing, and ranking functions.
- ZeroNet - A decentralized web.
- ZoomIt - It is a screen zoom and annotation tool for technical presentations. It runs unobtrusively in the tray and activates with customizable hotkeys to zoom in on an area of the screen, move around while zoomed, and draw on the zoomed image.
Proxy and VPN Tools
- Algo - Personal IPSEC VPN in the cloud.
Video
- DaVinci Resolve - Professional video creation software for editing, visual effects, color correction, and audio post production.
- HandBrake - High performance video encoding and conversion tools with a nice GUI.
- K-Lite Codecs - Collection of DirectShow filters, VFW/ACM codecs, and tools.
- mpv - Media player.
- Olive Video Editor - Open source cross-platform non-linear video editor.
- Open Broadcaster Software - Free and open source software for video recording and live streaming.
- PotPlayer - Multimedia player with a wide collection of codecs which also offers extensive configuration options for users.
- ScreenToGif - ScreenToGif allows you to record a selected area of your screen and save it as a gif or video.
- Shotcut - Open source cross-platform video editor.
- SMPlayer - Multimedia player that can save different preferences for any single video.
- VLC - Multimedia player and framework that plays DVDs, Audio CDs, VCDs, and various streaming protocols.
- Videotape - Video player for windows 10 focused on simplicity with a beautiful and easy to use interface.
Setup
Windows 10 Setup
- http://www.theverge.com/2015/7/31/9077997/microsoft-windows-10-clean-install-how-to-guide
- http://www.howtogeek.com/224342/how-to-clean-install-windows-10/
- Win10-Initial-Setup-Script - Powershell script to turn off or on various defaults in Windows
Windows 8.1 Setup
- http://windows.microsoft.com/en-IN/windows-8/clean-install
Security
- Acrylic DNS Proxy - A local DNS proxy which caches the responses coming from your DNS servers and helps you fight unwanted ads through a custom HOSTS file.
- AdwCleaner - Free removal tool for adware, PUP/LPI, Toolbars and Hijacker.
- Bitdefender - Best outright protection against malware.
- Cryptomator - Free client-side encryption for your cloud files.
- Disable Data Logging - Make Windows 10 more private and safe.
- ENCRYPTO - Encrypt your files in an elegant way.
- GlassWire - Network security monitoring tool and analyzer that visualizes your network activity.
- IIS Crypto - A utility for configuring encryption protocols, cyphers, hashing methods, and key exchanges for Windows components (eg TLS/AES/SHA for Remote Desktop)
- KeePass - Free, open-source, easy-to-use password manager.
- Malwarebytes - protects from dangerous threats that antivirus doesn't.
- NetLimiter - Internet traffic control and monitoring tool.
- SpyBot - Search and destroy malware, spyware and viruses.
- System Explorer - An enhanced task manager with support for monitoring and modifying system processes, start-up programs, system services, drivers, shell extensions, and more.
- Tor Project - Enable anonymous communication.
- UnChecky - automatically unchecks unrelated offers from installers.
- VeraCrypt - VeraCrypt is a free open source disk encryption software for Windows, Mac OSX and Linux.
- Viscosity - Fully-featured OpenVPN client, ready for enterprise deployment.
- Windows 10 Paranoid's Guide
Miscellaneous
Discussion Forums
Windows
IRC channels
Contribute
Contributions are most welcome, please adhere to the contribution guidelines.
Backers
Thank you to all our supporters! 🙏
*Please, consider supporting my work as a lot of effort takes place to generate this list! Thanks a lot.
License
This work is licensed under a Creative Commons Attribution 4.0 International License.
Awesome IPFS 
Useful resources for using IPFS and building things on top of it
This list is for projects, tools, or pretty much any things related to IPFS that are totally awesome. This is for products which are already awesome - if you have plans for cool stuff to do with IPFS, you should build it, and then link it here. If you have an idea for an awesome thing to do with IPFS, a good place to ask about it might be in our IPFS Discuss Forums.
Table of Contents
- Contribute
- Collab-Cluster
- Apps
- Articles
- Datasets
- Services
- Tools
- Videos
- Discussions
- Want to hack on IPFS?
- License
Contribute to this list!
Everyone is welcome to submit their new awesome-ipfs item, but it will be accepted only if it meets our content policy.
Readme and the website are automatically generated. In order to add an element to this list, you need to modify the files in /data and then run make build before publishing your pull request. Read contributing guidelines to learn how to do so.
Collab-Cluster
Collaborative clusters are public IPFS Clusters that anyone can join to help replicating and re-distributing content on the IPFS network. Instead of datasets cluster content is usually updated.
Apps
- 2read - Convert article in current tab to readable form and upload it to writable node(s). Source
- 3Box - Create and manage your Ethereum Profile, and your personal data. Use the 3box-js library to integrate profiles into your dapp. Source
- a js video player - Demo
- a markdown renderer - Demo
- a qr-code renderer - Demo
- Agregore - A minimal web browser for the distributed web. Supports downloading/uploading data from IPFS using the browser's
fetch()API - AirSecure - Decentralized two factor authentication app built on Textile & IPFS.
- akasha - A Next-Generation Social Media Network, powered by Ethereum and embedded into IPFS.
- Alexandria - Decentralized content publishing / monetization platform.
- Arbore - A friend-to-friend file-sharing app build on top of IPFS.
- Autonomica "IPFS Social Proof" - Autonomica is a Keybase-like Dapp for creating an identity and proving this identity via published social media and web proofs.
- beets - Beets has a plugin which allows for easy sharing of music libraries using IPFS
- Blokaly - A badge issuing, sharing and display platform based on IPFS.
- Boards - Distributed social platform that runs in the browser. Source
- brig - File synchronization with git like interface and FUSE filesystem. Source
- Cohort - A golang app to preset a threejs interface and get all of its assets out of IPFS.
- Cyber - A decentralized Google alternative, built with the help of IPFS. Source
- dapple - Dapple is a Solidity developer multitool designed to manage the growing complexity of interconnected smart contract systems.
- Diffuse - Play music from your IPFS node, or any other cloud/distributed storage service you use.
- digx - Digix is an asset-tokenisation platform built on Ethereum and IPFS.
- Discussify - Discussify provides a real-time, peer to peer, and permanent discussion platform for anyone to join and participate.
- DreamLink - Share files easily and quickly on the decentralized network. Source
- DtinyUrl - Decentralized URL shortening service based on IPFS.
- dtube - Distributed video sharing with steem.it integrations, using ipfs for backend storage.
- edChain - EdChain is a global network for education and careers. It uses blockchain and distributed web technologies to deliver educational content, even to those without broadband internet. Source
- enzypt.io - A website to buy and sell files through Ethereum and IPFS. Source
- Ethlance - First completely decentralised job market platform built on Ethereum and IPFS. Source
- Everforo - Everforo is the next generation of online community groups build on top of IPFS.
- git-ipfs-rehost - A script to rehost your git repos in ipfs.
- Global Upload - File transportation service for IPFS, upload files to the future of distributed web.
- gogo.tattoo - Gogo Tattoo Project uses IPFS, DLTs and other modern technologies to offer tattoo artists and wearers an unbreakable lifetime record of their portfolios. gogo.tattoo app already has a feature to share works directly to IPFS.
- Gorilla REPL viewer - Gorilla is a rich REPL for Clojure in the notebook style.
- Hardbin - Hardbin is an encrypted pastebin, with the decryption key passed in the URL fragment
- HydrusNetwork - A booru-style media tagging application with a multitude of features, recently added basic ipfs support.
- InfiniteBooru - A booru-style media tagging application and content aggregator with all media backed by IPFS.
- infura.io - An Infrastructure: use API and developer tools provide secure, reliable, and scalable access to Ethereum and IPFS to help build decentralized application easier.
- InterPlanetary Wayback - Web Archive (WARC) indexing and replay using IPFS.
- Interplanetary Wiki - Wiki built on top of IPFS
- ipcoronafs - A realtime service to scrape COVID-19 and SARS-CoV-2, storing on IPFS, DNSLink, and streaming over LibP2P pubsub
- IPFessay - A simple way to publish uncensorable essays on IPFS.
- IPFS Desktop - Run your IPFS node on your machine without having to bother with command line tools. Manage your node, add your files, easily change the settings... everything from just one interface.
- IPFS Drive - In browser file manager for IPFS.
- IPFS Event Drop - An app that allows for improved visualization of ipfs events.
- IPFS ID and Public Key QR Codes Demo - A demo app that uses windows.ipfs to show you a QR Code of your IPNS Link and of your Public Key. Source
- IPFS Image Uploader - IPFS image uploader and viewer. Minerva is a storage plugin of Apache Drill that connects IPFS's decentralized storage and Drill's flexible query engine. Source
- IPFS with TiddlyWiki - IPFS with TiddyWiki is a TiddlyWiki plugin who aims to help developers, editors or users to save their wikis and attachments over IPFS.
- ipfs-chat - Terminal-based, encrypted chatrooms. Allows private messaging & secure in-chat file/directory sharing. Server/broker-less (no signaling/rendezvous server needed). Works over LAN/internet(w/ NAT-traversal).
- IPFS-forum - A web3 forum.You can get new ideas,reports,dicussions from this forum ,though you maybe are in a network-restricted area,all the contents will be updated qucikly by ipfs. Source
- IPFS-FPS - A completely decentralized first person shooter. Built with Unity, Fleek, Unstoppable Domans and Pinata.
- ipfs-md-wiki - Build your wiki system base on ipfs and markdown.
- ipfs-search - Searching the universe since 2016. Sniffs the DHT gossip and indexes file and directory hashes. Metadata and search API's available. Source
- ipfs-share - Pastebin/Image host/File sharing application
- ipfs.ink - Publish and render markdown essays to and from ipfs.
- ipfs.pics - Upload and share pics.
- IPFSBin - Pastebin clone build.
- IPGit - Remote Git repository that mirrors your code to IPFS
- IpJot - Creates short notes, stories, books, poems, conversations on IPFS.
- IPSE - A search engine for the IPFS network.
- Kauri - A community-based knowledge platform for web3 technologies built on top of IPFS and Ethereum. Learn, share and curate on up-to-date and high-quality technical articles and series.
- KDE-DolphinServiceMenu-IPFS - Service Menu for Dolphin File Manager to upload files to IPFS The open network for transaction requests.
- killcord - A censorship resistant deadman's switch Source
- La Marque - Generate & pin content from your phone. Validate "La Marque" assets by verifying received images from others.
- markup.rocks - Pandoc-based markup editor/previewer/converter, ported to IPFS. Source
- Minerva - Minerva is a storage plugin of Apache Drill that connects IPFS's decentralized storage and Drill's flexible query engine.
- OpenBazaar - This new version(v2.0) is built on IPFS, Openbazaar stores can now be accessible to buyers even when they are offline.
- Orbit - Distributed, peer-to-peer chat application on IPFS. Source
- Origin Protocol - Distributed sharing economy marketplace with images, metadata, and ERC 725 data stored on IPFS. Source
- P2Pdoc - P2Pdoc allows you to create a document and then upload it to the distributed web. Source
- Partyshare - A simple file sharing desktop app. Source
- Pathephone - Distributed music streaming app.
- Peer Bandwidth Demo - An demo app that uses window.ipfs, provided by the IPFS Companion web extension to get and graph bandwidth info for your IPFS node Source
- Peer Map Demo - A map of IPv4 IPFS peers that uses window.ipfs Source
- Peer Web Site - Peer to Peer Web Site hosting at your fingertips! Send full featured HTML (incl. CSS, JS) sites from your browser and attach files eg. videos, images, etc. Source
- Peergos - End-to-end encrypted, peer-to-peer file storage and sharing. Source
- Philes - A simple browser-based IPFS notepad app. Source
- Playback - IPFS playback support. This allows casting a video in IPFS to a Chromecast.
- PubSub Chat Demo - A ~76KB demo chat app that uses window.ipfs, provided by the IPFS Companion web extension Source
- Pugdit - A bulletin board service that discovers and distributes over IPFS
- PushToTalk - Push to Talk lets you edit audio essays and publish them with IPFS.
- qri - Dataset version control, discovery and collaboration tools (free, open-source). Source
- QuestNetwork Messenger - Multi-Platform End-To-End Encrypted Messenger on IPFS PubSub. Emulates Servers/Community with folders that can be shared using invitation codes. It's free and open source. On track to become the most comprehensive and user-friendly messenger on IPFS.
- Request - Decentralized network for financial transactions. Source
- RocketPad - Create mini essays/documents using a WYSIWYG editor and publish them to the distributed web via IPFS. Source
- SimpleAsWater Bot - A twitter bot that adds, pins, unpins your tweets to public IPFS network using IPFS Cluster. Source
- SimpleID - Developer tools for adding Ethereum authentication and content pinning to your app. Source
- Skyhook - Send and receive files securely
- TallyLab - Local-first, end-to-end encrypted data diary app for capturing, analyzing, and sharing data about any and everything.
- Temporal - Temporal is an easy to use API and platform for integrating IPFS and other distributed/decentralized storage technologies into enterprise applications
- Terrive - A Photo and Video Sharing Platform that uses the HIVE blockchain as a database and Immutable Image/Video Hosting. Source
- Textile Photos - Textile Photos is a secure, mobile digital wallet for your photos. Source
- ToDo List Demo - A ToDo List demo app that uses windows.ipfs. Source
- Tree3 Network - A decentralized platform for micropayments, offchain data and blogging powered by Stellar and IPFS. Source
- ujo - A blockchain marketplace for musicians.
- Uniswap - Decentralized Trading Protocol built on Ethereum. Source
- uport - Uport is a mobile, self-sovereign identity and key management system, built on the Ethereum blockchain.
- Valist - A trustless universal package repository enabling you to digitally sign and distribute software in just a few steps. Source
- Watchit - A movie platform with a decentralized network approach.
- Wistful Books - Single page offline application for enjoying librivox.org audio books. Source
- xfce-screenshooter-ipfs-support - A fork of xfce-screenshooter with IPFS support!
- youtube2ipfs - Download videos from YouTube (and similar video platforms) and add them to IPFS. Source
Articles
- 2020-08-03: How to Create a Unity Game on IPFS using Pinata
- 2020-01-22: Building a Twitter Bot using IPFS Cluster
- 2020-01-04: Hands-on IPLD Tutorial in Golang Series
- 2019-10-01: InterPlanetary Chat Application using Libp2p
- 2019-08-14: Managing storage in a Java application with IPFS
- 2019-07-22: 10+ Resources Every IPFS Developer Should Know About
- 2019-05-12: The Complete Beginner's Guide to Deploying Your First Static Website to IPFS
- 2019-03-10: The Case for a Decentralized Social Network
- 2019-01-30: Ultimate Guide to Filecoin Breaking Down Filecoin Whitepaper & Economics
- 2018-08-06: Content Identifiers in IPFS
- 2018-07-11: On future-proof cryptographic hashes
- 2017-08-21: Understanding the IPFS White Paper part 2
- 2017-08-10: Understanding the IPFS White Paper part 1
- 2017-05-05: Decentralized indexes for public genomic data
- 2017-03-31: Using IPFS for IoT Communications
- 2016-09-12: IPFS: The Internet Democratised
- 2016-05-20: Changelog Podcast
- 2015-09-18: The InterPlanetary File System Wants to Create a Permanent Web
- 2015-09-13: Introduction to IPFS
- 2015-09-08: HTTP is obsolete. It's time for the distributed, permanent web
- Downloading nodejs versions with nvm/n over IPFS
Datasets
- 7-piece Syzygy tablebases - Solutions for all chess endgames with up to 7 pieces. Source
- alpine-linux 3.4 packages Source
- arXiv Source
- cdn.media.ccc.de Source
- cdnjs Source
- Cooking Recipes - Around 50GB of formatted and unformatted cooking recipes. Source
- Geocities by Archive Team Source
- haveibeenpwnd.com passwords Source
- IETF RFC Archive Source
- KinoKabaret Caen, 2018 - Shortfilms Source
- MDSConnect Source
- No-Intro Collection Source
- Old Internet Files Source
- Operating Systems Mirror & Archive (OSMA) - Mirror and archive of 29 established operating systems with 192 releases. Source
- Presidential Daily Briefs Source
- Project Apollo Archives Source
- textfiles.com Source
- WistfulBooks: LibriVox Audiobook Archive - Free public domain audiobooks from LibriVox.org packaged into a single page that lets you listen to audiobooks in your browser. Source
- World Wide Web History Project Source
- xkcd Source
- yarchive.net Source
Services
- Boom.FYI - An IPFS link shortening and access control service.
- DWS - Deploy modern static websites with DWS and Enjoy secure and decentralized storage on IPFS.
- Eternum - Paid pinning service with an easy-to-use API.
- Fission - App and website hosting powered by IPFS, including DNS automation, identity, and end-to-end encryption.
- Fleek - Open Web development platform for building, hosting, and storing sites and apps on IPFS, Filecoin, and the Internet Computer. Source
- Monaparty - Token assets platform based on Monacoin and Counterparty. Contents bound to user assets are hosted by IPFS.
- Peergos - Your private, but social, space online. Store and edit documents and media. Share files or folders with friends. Source
- Pinata - Build and manage your dapp through Pinata’s REST API and IPFS toolkit.
- Robonomics Network - Ethereum network infrastructure for cyber-physical systems' integration into Smart Cities and Industry 4.0
- Sharp Photos - Private end-to-end encrypted cloud photo storage.
- Space - User-owned, encrypted, and open source personal file storage and sharing on IPFS and Textile, with decentralized backups in Filecoin. Source
- Temporal - Scalable IPFS Infrastructure with free starter package featuring turnkey APIs, toolkits and storage.
- Unstoppable Domains - Domains on blockchains
Tools
- Almonit Browser Extension - Resolves ENS domains, this let users access .eth websites while offering maximum decentralization. Source
- Blockwatch - Monitor the current block number of the Ethereum blockchain, and set alerts (stored locally using PouchDB in your browser) for when certain block heights are passed. Source
- Bubble IPFS From URL Plugin - Bubble (no code platform) plugin for IPFS From URL integration
- cachewarmer - Donate ipfs gateways to cache other people's content
- dillo-ipfs - IPFS integration for the Dillo web browser.
- galacteek - A multi-platform Qt5-based browser for the distributed web Source
- gatsby-plugin-ipfs - Adds support for deploying Gatsby websites to IPFS by ensuring that assets are relative.
- git-remote-ipfs - push/pull repositories from/to IPFS
- go-orbit-db - This is a Golang port of OrbitDB that intends to be fully compatible with the original JavaScript version. OrbitDB is a serverless, distributed, peer-to-peer database.
- go-stellar-ipfs - go-stellar-ipfs is a library that is a bridge between Stellar and IPFS.
- gomobile-ipfs - IPFS and libp2p on Mobile, with Gomobile
- http2ipfs - This is a simple webtool to add URLs to an IPFS node.
- Image Sever - Upload Images via JSON HTTP API; URI, URL, File and Base64 Source
- ipcat - :cat2: Retrieve IPFS object data and send it to stdout.
- IPDR - IPFS-backed Docker Registry
- IPFS Setup Action - A GitHub Action to install and initialize go-ipfs to provision a cross-platform test environment on GitHub's CI platform. Source
- ipfs-action - GitHub Action for delivery of static websites.
- ipfs-add-from-encrypted - Encrypt a file or directory with AES256 then add to IPFS
- ipfs-add-from-url - Add a file to IPFS from a URL instead of a file path
- ipfs-chrome-extension - Chrome extension to redirect ipfs.io traffic to local gateway
- ipfs-chrome-station - Chrome extension to redirect ipfs.io traffic to local gateway
- ipfs-common - Some common tools, 1.CID to human readable cid, 2.cid and block name convert, 3. read the leveldb tools. Source
- ipfs-companion - Browser extension that simplifies access to IPFS resources.
- ipfs-deploy - Zero-config CLI to deploy static websites: cd my-static-website && npx @agentofuser/ipfs-deploy
- ipfs-gui - Windows UI integration and IPFS installer
- ipfs-linux-service - IPFS Linux Init Daemon
- ipfs-mount - Mount IPFS as a mapped drive on Windows
- ipfs-paste - Paste stdin and clipboard to IPFS
- ipfs-pinner - A toolkit help upload files to IPFS pinning services.
- ipfs-publish - Continuous Delivery tool for delivery of static websites from Git providers to IPFS. Source
- ipfs-screencap - Capture screenshots, publish them to IPFS, and copy the link to the clipboard.
- ipfs-video-gateway - Cloud-init your own IPFS gateway on a cloud provider and easily pin content through a simple web interface. Source
- ipfscrape - Scrape a webpage with all assets and put it in IPFS
- ipfsecret - Encrypt and decrypt IPFS files with a secret passphrase
- ipget - :satellite: wget for IPFS: retrieve files over IPFS and save them locally.
- IPLD Explorer - Explore the Merkle Forest from the comfort of your browser Source
- ipns-pin - A command-line tool to pin stuff via ipns.
- IPRedirect - Browser userscript for redirecting IPFS/IPNS addresses to your local gateway. This should work on any browser that hasn't had an extension written for it yet and has support for userscripts.
- iprfc - IETF RFC downloader which stores RFCs on IPFS and indexes them with RTradeLtd/Lens.
- ipscend - Tool for hosting web apps and static websites in IPFS
- mahuta - Mahuta is a plug and play service for your micro-service architecture allowing to collect, store and index data on IPFS and offering search functionalities (full text, query).
- Multiverse - Multiverse is a decentralized version control system that enables peer-to-peer software development.
- orbit-db - OrbitDB is a serverless, distributed, peer-to-peer database that uses IPFS as its data storage and IPFS Pubsub to automatically sync databases with peers.
- pinbot - Pin content via IRC
- Public gateway status checker - Web app to check public states of IPFS gateways, including latency and gateway writable state. Source
- ShareX integration - ShareX is a file upload and manipulation tool that has a custom integration with IPFS
- Siderus Orion - Easy to use IPFS desktop client for macOS, Windows and Linux Source
- Sweet IPFS - Full node for Android
- Tellit - Encrypt files before uploading them using a keypair or a passphrase
- wbipfs - A command-line tool and Go package interface for wayback webpage to IPFS.
Videos
- Distributed Apps with IPFS - Juan Benet at Fullstack Fest 2016 - This talk breaks down how to build a dynamic app on top of IPFS with CRDTs, pub/sub, and slick UIs. It also delves into new models for distributed computation, and the ethical importance of distributing the web.
- IPFS Alpha - Why we must redistribute the web
- IPFS Simply Explained - Let's take a look at how IPFS works, how it can solve issue's like censorship and if it would really work across multiple planets!
- Juan Benet at Stanford 2015 - The talk includes a broad look at The IPFS Project, and a discussion on evolving the network stack through open source protocols R & D.
- Textile Build Series - A Free Online Workshop - A full Training Program to teach devs on how to build for the Decentralized Web. The series covers a ton of content, touch multiple parts of the IPFS stack and guides devs through building a simple DApp.
Discussions
Want to hack on IPFS?
License
Awesome Fuse 
A curated list of awesome Fuse applications, articles, and plugins.
Please read the contribution guidelines before contributing.
Like awesome-fuse? Reach out to me and say hi on Twitter! 👋
This list is currently unmaintained, and we are looking for a new maintainer. See here for details if you're interested.
Contents
Applications
- 20,000 Leagues Under The Sea - Interactive book (iOS).
- Amphi Festival 2017 - Semi-official app for Amphi Festival 2017 (iOS) (Android).
- Beer Week - The official app for Gothenburg beer festival (iOS) (Android).
- BPMTap - A BPM tapper that works (iOS).
- CityU Minerals - A mobile virtual museum (iOS) (Android).
- CityU Mobile - City University of Hong Kong official portal app (iOS) (Android).
- Conrad Wise - The all-knowing Conrad Wise (iOS) (Android).
- Countinental - An app for counting things (iOS) (Android).
- Criminal Mind - Interactive story book (iOS) (Android).
- Dark Forest - Interactive book (iOS) (Android).
- Deem - The ultimate way to see movie reviews worldwide (iOS) (Android).
- FuseCloud - A SoundCloud® player that uses the free SoundCloud API (iOS) (Android).
- GameCalculator - A custom game calculator for parties (iOS) (Android).
- Gig - Discover local nightlife (Android).
- Guias Doop - Celebrity lifestyle guide. (iOS) (Android)
- HatTrick The official app for the card-driven soccer simulation Hat-Trick (iOS) (Android).
- HowOld - Find out how old or young you look (Android).
- Klickle - Find stuff that’s happening now from local businesses (iOS).
- Opportunity - A lead generation tool built inside of a business network (iOS) (Android).
- Quotis - Streamlined inspirational quote app that let's you browse and copy/paste great quotes (Android).
- Sanntidsappen - Great-looking overview of bus routes in Trondheim (iOS).
- Snapptime - Enjoy the food offers in your city (in German) (iOS) (Android).
- SpinDice3D - Select and spin a dice from collection of 4, 6, 8, 12 and 20 sides (iOS) (Android).
- Tasty - The local food curation chatbot app (Android).
- Tesla CTRL - This app will give you better control of your Tesla (iOS).
- The Monster and the Cat - Interactive book (iOS) (Android).
- Tiffinity - Order delicious home made food from around you (iOS). (Android)
- Timecircle - Simple yet effective and good-looking stop watch (iOS) (Android).
- Timestealer - Track how much your meetings are costing you and your company (iOS) (Android).
- Vaka - Vaka is a game for focused and stable mind (iOS) (Android).
- Wonder - An idea companion app that trains your creative and ideation skills (iOS).
Articles
- A sane way of mixing languages in Fuse - Written by Chris Bagley.
- Do we need better prototyping or simpler coding? - Written by Daniel Hollick.
- Fuse Foreign Speech - Written by Remi Pedersen.
- How Fuse differs from React Native and NativeScript - Written by Remi Pedersen.
- How to add infinite scrolling to fuse tools apps - Written by Neo Ighodaro.
- I made a cross-platform SoundCloud® player with Fuse - Written by Kristian Hasselknippe.
- No, Bots are not killing apps (Bad apps are killing apps) - Written by Anders Lassen.
- Interview with Anders Lassen from Fuse - Written by Abduzeedo.
- Light the fuse, using F# to write Fuse apps - Written by 7sharp9.
- Making mobile apps using Fuse - Written by Tri Nguyen.
- SwiftFuse - Tutorial on how to use Swift with Fuse.
Community
- Blog - The official Fuse blog on Medium
- Forums - The official Fuse forums.
- Medium - Articles on Medium by the core team.
- Newsletter - Fuse Weekly is a weekly curated publication full of interesting news and articles.
- Slack - The official Slack channel.
- Twitter - The official Fuse Twitter account.
- YouTube - Official Fuse YouTube channel.
Development
- Developer Guides - Getting up and running with Fuse is super easy.
- Examples - A list of examples create by Fuse.
- Features Status - List of current and upcoming Fuse features.
- Packages - A curated list of third party Fuse packages created by the community.
- Plugin API - The official Fuse plugin API.
- Samples - Samples demonstrating the use of various Fuse and FuseJS APIs.
- Tour De Fuse - The sample for introducing functions of the Fuse.
Open Source
- 11t - 11t is an iOS and Android app for connecting to Mastodon
- 500px Gallery Demo - Nifty gallery demo app using 500px API.
- Firebase - Firebase bindings for Fuse.
- FormulaFuse - Formula 1 Fuse application.
- Fuse Input Validation - Reusable and highly functional input validation methods in Fuse components
- Fuse PM - A Fusetools package manager.
- Fuse Pokedex - A Pokedex created using Fuse.
- Fuse Review - Get reviews from your users without making them leave the app.
- Fuse Samples - A collection of smaller examples using the various features of Fuse and FuseJS.
- Fuse Taptic-Feedback - Get access to the iPhone 7's taptic engine.
- fuse.QrScanner - A small library for scanning QrCode.
- Fuse Tags with Firebase - Simple Tags app. Adds and retrieves tags from Firebase.
- FuseBus - A simple Fuse application for testing and funtimes.
- Haxe - Haxe compiler for Fuse tools.
- Hikr - An example app case to accompany Fuse's end-to-end tutorial.
- Infinite Scroll - An example implementation of "infinite scroll" for use with Fuse Tools version 0.26 and above.
- Motion - iOS accelerometer, gyroscope, magnetometer readings and more for Fuse.
- slush-xfuse - Fuse slush generator with Gulp, Rollup and Babel integration.
- Snake - A proof-of-concept experimental game of snake made with Fusetools.
- Syncano - Simple example of integration Syncano with Fuse.
- UnityAds Sample - Simple example of integration UnityAds with Fuse.
Plugins
- Alfred Workflow - Integrate Fuse on Alfred.
- Atom - Atom Editor plugin for Fuse.
- Bash Completion - Simple bash completion script for UNO.
- Emacs - Emacs plugin for Fuse.
- Sublime - Sublime Text 3 plugin for Fuse.
- Visual Studio Code - Fuse Helper for Visual Studio Code.
- Fuse Language - Syntax Highlighting for *.uno and *.ux files in VS Code.
- Fuse-Log - Get Fuse log messages into Visual Studio Code's output panel.
License
To the extent possible under law, Fuse Compound has waived all copyright and related or neighboring rights to this work.

A curated list of helpful Heroku resources.
- Analytics
- Architecture
- Blogs
- Deployment
- Development
- Domains
- Meta
- Postgres
- Scaling
- Security
- Toolbelt
- Goodbye...
Analytics
Analytics for Heroku...
toolMetabase — a beta of Metadata as an app that can be deployed directly to Heroku.
Architecture
How to architect your Heroku projects...
articleExploring Microservices Architecure on Heroku — explores why Heroku eliminates a lot of the tooling you need to worry about when working with microservices.articleHeroku and SOA — discusses why Heroku is perfectly suited to building a service-oriented architecture for your projects.articleSplit Frontend from Backend on Heroku with npm and NodeJS - hands-on guide to deploy a microservices web application in Heroku using npm and NodeJS.
Blogs
Blogs around the internet that often (or exclusively) write about Heroku...
blogHeroku Blog — the official Heroku blog.
Deployment
Resources that help with deploying on Heroku...
officialPreboot — explains how to use the "Preboot" feature to enable zero-downtime deployments, which can be tricky to get right.articleAutomating our Heroku deployments from Jenkins — explains how you'd go about automating certain parts of deployment like enabling maintenance mode, copying your database from production to staging, running migrations against staging, etc.questionHow do you ignore files when deploying to Heroku? — the answer to a common question about.gitignorelike functionality.articleSix Tips for Mastering your Procfile — improvements for how you run your Heroku processes.articleDeploying Django to Heroku With Docker — looks at how to deploy a Django app to Heroku with Docker via the Heroku Container Runtime
Development
officialManaging Multiple Environments for an App — a good primer on how to think about managing the different pieces of each environment.
Domains
Tips for using custom domain names on Heroku...
articleConfiguring CloudFlare DNS for a Heroku app — a walkthrough of how to use CloudFlare as your DNS provider.articleHosting multiple Heroku apps on a single domain — an article on how to share the same domain between multiple Heroku applications.questionHow do you host multiple Heroku apps on a single domain? — a StackOverflow question with a few responses to a the common question of how to serve multiple Heroku apps from different paths instead of subdomains.
General
General resources that cover lots of different things about Heroku...
bookThe Heroku Hacker's Guide — an ebook that covers a lot of the basics in maintaining and scaling a project on Heroku.bookHeroku Cookbook — step-by-step recipes to solve the challenges of administering and scaling a real-world production web application on Heroku.
Meta
Information about the company itself...
officialThe big kickoff — the first ever Heroku blog article.articleHeroku isn't for idiots — explains Heroku's advantages and why it's not just for side projects.articleMy Heroku values — a great series of takeaways from Brandur Leach when he left Heroku.talkBuildpack Adventure — a cool slideshow about Heroku's buildpacks, and what the open-source community is hacking together with them.
Postgres
Anything dealing with Heroku Postgres...
officialHeroku Postgres — the landing page explaining with it is.pluginheroku-buildpack-pgbouncer — a buildpack that allows for transaction pooling usingstunnelandpgbouncerto avoid hitting connection limits.
Redis
Anything dealing with Heroku Redis...
Scaling
Resources that help you scale your Heroku projects...
toolHireFire — a SaaS tool that automatically scales your Heroku dynos up and down as load requires.
Security
How to secure your Heroku applications...
articleSet up CloudFlare's free SSL on Heroku — walks you through the exact steps to setting up free SSL via Cloudflare.
Toolbelt
Helpful resources for the Heroku Toolbelt...
officialToolbelt Download — where to download the Heroku toolbelt.pluginheroku-accounts — makes it easy to work with multiple accounts at once from the command line.pluginheroku-pg-extras — a toolbelt plugin that adds extra useful plugins for working with Postgres. Things like analyzing cache hit rates, outlier queries, unused indexes, table sizes, etc.
Goodbye...
Things to check out if you decide to migrate off of Heroku for some reason...
tooldokku — a self-hosted, docker-based, Heroku-compliant platform.
License
To the extent possible under law, Ian Storm Taylor has waived all copyright and related or neighboring rights to this work.
Awesome Raspberry Pi
The Raspberry Pi is a series of credit card-sized single-board computers developed in the United Kingdom by the Raspberry Pi Foundation to promote the teaching of basic computer science in schools and developing countries. Official Link: Raspberry Pi Foundation Homepage, Raspberry Pi Computer Homepage
This list is a collection of tools, projects, images and resources conforming to the Awesome Manifesto
Contributions very welcome but first see Contributing
Contents
Models
The complete collection of (consumer) Raspberry Pi models consist of:
- Raspberry Pi 1, Model A & Model B (2012, discontinued)
- Raspberry Pi 1, Model B+ (July, 2014)
- Raspberry Pi 1, Model A+ (November, 2014)
- Raspberry Pi 2, Model B (February, 2015)
- Raspberry Pi Zero (November, 2015)
- Raspberry Pi 3, Model B (March, 2016)
- Raspberry Pi Zero W (February, 2017)
- Raspberry Pi 3, Model B+ (March, 2018)
- Raspberry Pi 3, Model A+ (November, 2018)
- Raspberry Pi 4, Model B (June, 2019)
- Raspberry Pi 400 (November, 2020)
- Raspberry Pi Pico (January, 2021)
- Raspberry Pi Zero 2 W (October, 2021)
OS Images
- Alpine Linux - Security-oriented, lightweight Linux distribution based on musl libc and busybox.
- Arch Linux ARM - Lightweight and flexible Linux distribution that tries to Keep It Simple.
- balenaOS - open source OS to run Docker containers on embedded devices that's been designed for reliability and proven in production.
- BerryBoot - Bootloader/universal OS installer, with support to VNC and HDMI-CEC.
- CentOS - CentOS on the Raspberry Pi.

- chilipie-kiosk - Image which boots directly into full-screen Chrome, perfect for dashboards and build monitors.

- Channels DVR Server - Custom image for Channels DVR Server which provides a whole home DVR system.
- DietPi - Minimal image designed to fit on a 2GB SD card, with tons of configurable settings and scripts.
- DroneBridge - A WifiBroadcast extension to make for a real alternative to DJI Lightbridge and other similar systems.

- EZ-WifiBroadcast - Affordable Wireless Digital HD Video Transmission made easy.

- FabScanPi - FabScanPi is an open source 3D laser scanner using the Raspberry Pi Camera Module.

- Fedora - Linux Fedora distribution built for the Pi.

- FreeBSD - FreeBSD is an advanced computer operating system used to power modern servers, desktops, and embedded platforms.
- Gentoo - Gentoo Stage 3 tarball for Raspberry Pi.
- Gladys Assistant - Gladys, a privacy-first, open-source home assistant.

- Hass.io - Home automation operating system/application for embedded device, also available standalone.
- HypriotOS - Minimal Debian-based operating system, optimized to run Docker.
- Kali Linux - Penetration Testing & Ethical Hacking Linux distro for ARM devices.
- Kano OS - Open-source OS for exploration, creation, and play – free for Raspberry Pi and the new Pi 3.
- Lakka - Retro-gaming on the Raspberry Pi built entirely on RetroArch.
- LibreELEC - Just enough OS for Kodi
- Manjaro - Friendly, open-source Linux distribution for Raspberry Pi.
- Minibian - Minimal Raspbian (lighter than Jessie Lite).
- MoodleBox - The MoodleBox provides a Moodle learning management system on Raspberry Pi.

- motionEyeOS - Linux distribution that turns a single-board computer into a video surveillance system.
- NetBSD - NetBSD is a free, fast, secure, and highly portable Unix-like Open Source operating system.
- NextCloudPi - Nextcloud ready image based on Raspbian. Features Nextcloud 11 running on Raspbian 8, with PHP 7 and HTTP2 enabled Apache server.
- NOOBS - New Out Of the Box Software, an easy OS installer for beginners.
- OctoPi - Distribution for 3d printers.
- OpenHABian - A preconfigured version of the OpenHAB home automation software.

- OpenMediaVault - OpenMediaVault is the next generation network attached storage (NAS) solution based on Debian Linux containing services like SSH, (S)FTP, SMB/CIFS, DAAP media server, RSync, BitTorrent client and many more.

- openSUSE - openSUSE is a major Linux distribution that has images based for its stable release Leap and rolling release Tumbleweed. Images can be found for many of the Pis, including the Raspberry Pi 3 and Raspberry Pi 4.
- OpenWRT - OpenWrt is described as a Linux distribution for embedded devices for network management.
- OSMC - Open Source Media Centre, based on Kodi.
- PiDeck - Small form factor DVS system allowing you to control digital music files with timecode vinyl.
- PiNet - System to manage Raspberry Pi classrooms.
- PirateBox - Anonymous offline mobile file-sharing and communications system.
- RasComm RaspberryPi MorseCode Translator - RasComm is a communication device that translates plain text into Morse code (IMC) visually or audibly.
- Raspberry Pi OS - The official supported Raspberry Pi OS (previously called "Raspbian"), based on Debian and available as a lite version.
- Raspbian - Raspbian is a free operating system based on Debian optimized for the Raspberry Pi hardware.
- RasPlex - Plex client for the Raspberry Pi.
- Recalbox - Drag & drop light-weight retro-gaming and media center on the Raspberry Pi.
- RetroPie - Retro-gaming on the Raspberry Pi.
- Risc OS - Non-Linux OS originated from the group that developed the ARM microprocessor.
- Rocket Show - Play synced backing tracks, videos and DMX light-sequences live on stage.

- RuneAudio - Free and open source OS that turns embedded hardware into Hi-Fi music players.
- SamplerBox - Drop'n'play sampler: drop .WAV samples on the SD card, and play!
- SARPi - Stands for the Slackware ARM on Raspberry Pi.
- Snappy Ubuntu Core - Official (minimal) Ubuntu distribution for IoT.

- Twister OS - Skinned version of Raspberry Pi OS with preinstalled apps like box86 and Retropie to introduce noobs to Linux and Raspberry Pi.

- Ubuntu MATE - Ubuntu distribution for the Raspberry Pi based on MATE desktop.

- Ubuntu Server - Ubuntu Server distribution for the Raspberry Pi.

- Volumio - Headless audiophile music player, designed to play music with the highest possible fidelity.
- Windows 10 ARM - Community maintained Windows 10 on Raspberry Pi.

- Windows 10 IoT Core - Windows 10 distribution for IoT.

Tools
- Alpha - Remotely load, debug and test bare-metal programs using GDB with this system-level GDB server.
- ApplePi Bakery - macOS application to easily install/backup/restore images onto an SD card.
- Atlas toolkit - Very lightweight and easy to install toolkit to write in Python single-page web applications to pilot your RPi, without having to install a web server.
- CusDeb - Web UI for creating custom images with specific packages installed.
- balenaEtcher - SD card burner app that is simple for end users, extensible for developers, and works on any platform.
- Drago - Flexible configuration manager for Wireguard networks that is perfect for establishing secure overlays spanning multiple Raspberry Pis.
- Hardened Kernel Builder for RPi - Cross-compile the Linux kernel for Raspberry Pi with enhanced security using a single command.
- HealthyPi - HAT which includes vital health monitoring like ECG, respiration, pulse oximetry and optional blood pressure & body temperature sensing.

- iotwifi - Wifi AP + Client management in 8MB Docker Container, with REST API for controlling wifi client and station modes simultaneously.

- ndm - Command line tool to easily manage DNS and DHCP servers.
- OpenVPN-Setup - Shell script to set up Raspberry Pi as an OpenVPN server.
- Orangetool - Control functions for Single-Board computers in Python.
- pi-gen - Tool used to create the raspberrypi.org Raspbian images. This can be used to create your own custom images with specific packages installed, etc.
- PiBakery - The blocks based, easy to use setup tool for Raspberry Pi.
- Pieman - Script for creating custom images based on Raspbian, Devuan, Ubuntu and Alpine Linux.
- Pimod - Reconfigure Raspberry Pi images with an easy, Docker-like configuration file.
- PiShrink - Bash script that automatically shrinks a pi image that will then resize to the max size of the SD card on boot.
- pistrong - Manage certificate-secured strongSwan VPNs. Installer and command-line tool for client-server, site-to-site, and host-to-host VPNs.
- PiVPN - Create a full-featured OpenVPN/WireGuard VPN Server with a single bash command.
- Pi-Apps - The most popular app store for Raspberry Pi computers, 100% open-source bash scripts.
- Processing - Processing Development Environment running on Raspberry Pi.
- Pwnagotchi - Pwnagotchi is an AI based Wi-Fi cracking tool that learns from its surrounding WiFi environment to maximize the crackable WPA key material it captures.
- RaspAP-webgui - A simple, responsive web interface to control wifi, hostapd and related services on the Raspberry Pi.
- Raspberry Pi Imager - An easy way to install Raspberry Pi OS and other operating systems to an SD card ready to use with your Raspberry Pi
- Raspbian QEMU with network - Simple tool to launch QEMU on Raspbian with the required modifications on the system and kernel. Automatic network access. Handy to create images in your PC.
- Resin Bridge - Simple application/repo to bridge a Raspberry Pi's wlan0 interface to devices plugged into it over ethernet (eth0).
- sdm - Easily and fully customize RasPiOS images. Install apps, configure settings, etc then burn SSDs/SD cards for lots of different systems from a single image, and each one boots up fully configured and ready for work. Or play.
- stressberry - Stress test your Raspberry Pi and plot temperatures.
- TorTiPi - Shell script to automate the task of converting Raspberry Pi into a tor based wifi hotspot.
- WebStation SYSMON - An intuitive remotely-accessible system performance monitoring and task management tool for servers and headless Raspberry Pi setups.
- WiFi config generator - Simple tool to generate wpa_supplicant.conf files with wifi settings
Projects
- 40-node Raspberry Pi Cluster - Cluster aimed to be under the size of full tower desktop.
- AdGuard Home - DNS relay station with ad/tracker/other blocking, IP address redirections, and DNS-over-HTTPS.
- BeeMonitor - Honey beehive monitoring project.
- Bitcoin Tracker - A Physical Dashboard that displays Bitcoin stats in real time.

- Building a Ceph Cluster on Raspberry Pi - Highly redundant and low power usage RADOS home storage solution.
- Building Timelapse with Resin - Remotely deploying timelapse camera using Docker, Resin, and 3G internet.
- Chromebook Charger Kiosk - Timed charging station for students using Chromebooks at school.
- Ceil - Auto-provisioned RPi cluster running K8S on bare-metal.

- Circle - A C++ bare metal environment for Raspberry Pi.
- clockOS - simple smart desktop clock using a Raspberry Pi display.
- Coder for Raspberry Pi - A open source project by Googlers to turn a Raspberry Pi into a simple, tiny, personal web server and web-based development environment.
- DIY USB Rubber Ducky - Raspberry Pi Zero Rubber Ducky recognized as a USB HID by just about anything with a USB port, thus allowing you to run custom scripts as if it were a keyboard.

- docsis-cable-load-monitor - Tool to monitor downstream load on DOCSIS cable networks.
- Drumbooth controller with touch interface - Project using Java, JavaFX, Pi4J and Arduino to control 8 relays and LED strips.
- FistBump BLE Edition - WPA Hash Grabbing Bluetooth Peripheral / Android App.
- FruitNanny - Baby monitor including custom case, server, and client source code.

- Gaussmeter - Project utilizing a Raspberry Pi Zero W, WS2812B Leds and the Tesla API to collect and display a Tesla's status.

- Harry Potter and the real life Daily Prophet - Display mimicking the Daily Prophet from Harry Potter using a 7" Raspberry Pi display.
- Haven - Host a private blog on your Rasperry Pi intead of using Facebook.
- Hearing aid prototoype - A Raspberry Pi powered prototype of a hearing aid.

- Internet Chronometer - Turn your Raspberry Pi in to an Internet Chronometer.
- Jasper - Flexible open source personal assistant.
- Kubernetes on ARM - Get your ARM device up and running Kubernetes in less than ten minutes.
- Lightberry - Led lighting solution dedicated for raspberry pi and your TV.
- Lomorage - Private photo cloud host on Raspberry Pi, with Android/iOS/Web client.
- Looper/synth/drum thing - Sequencer/Drumpad, like Native Instruments' Maschine for the Pi.
- Lumos - Smart Lamp for Better Sleep.

- Magic Mirror - The original open source modular smart mirror platform.

- Mini OONTZ - 3D printed mini MIDI controller.
- Movel - Raspberry Pi car computer.
- Multi-Datacenter Cassandra on 32 Raspberry Pi’s - Showcase for the always on, fault tolerant nature of Cassandra using a Raspberry Pi cluster board.
- NALIVATOR-9000 - Robot bartender for making cocktails with Telegram-bot interface and speech synthesis on Golang.
- Nerves Project - Craft and deploy bulletproof embedded software in Elixir.
- Network Presence Detector - Setup a Pi Zero to scan for devices on a WiFi network and use that to determine who is "home".
- NTP driven Nixie Clock - Nixie Tube Clock powered by a Raspberry Pi.
- Occu-Pi - Controller software for the Occu-pi, a totally awesome bathroom door sensor.
- P4wnP1 - P4wnP1 is a highly customizable USB attack platform, based on a low cost Raspberry Pi Zero or Raspberry Pi Zero W (required for HID backdoor).

- Pi Image Capturer - Captures images, integrated with the Google IOT Cloud Platform ecosystem.
- pi_payments - Payment module based on RFID.
- Pi-hole - Black hole for internet ads.
- Pi-KVM - DIY KVM over IP to manage remote computers via Web UI or VNC with FullHD video, mouse, virtual drive, IPMI, Wake-on-LAN and many other things.
- pi-timolo - Remote Headless multi feature PiCamera Operation from Rclone Remote Storage Service and More.
- Pi4j Project - Java I/O library the Raspberry Pi.
- PiAware - Live flight tracking using a Raspberry Pi.
- PiClock - Fancy Clock built around a monitor and a Raspberry Pi.
- PiE-Ink - E-ink nametag display running on a Pi Zero.

- PiFanTuner - CPU-fan-tuner daemon, just enables your fan as necessary.

- PiFmRds - FM-RDS transmitter using a Raspberry Pi.
- PiScan - Makeshift Amazon Dash orders using a Raspberry PI + EAN scanner.
- Planning lunch with a Slackbot on resin.io - Node.js Slackbot (lunchbot), hosted on Resin.
- PoisonTap - Exploits locked/password protected computers over USB, drops persistent WebSocket-based backdoor, exposes internal router, and siphons cookies using Raspberry Pi Zero & Node.js.

- Power Sniffing Strip - Enclosure in a power strip, sniffing network data.
- Project MyHouse - Smart Doll House with Gesture Recognition, using Raspberry Pi 3 or Pi Zero and PSMove motion controller.
- Raspberry Pi Dashboard - Full-featured web-based dashboard interface to inspect and manage Raspberry Pi hardware and software, with no extra software required.
- Raspberry Pi Erlang Cluster - Erlang cluster on a Raspberry Pi 2.
- Raspberry PI Hadoop Cluster - Big Data cluster running on the Raspberry Pi.
- RaspiBlitz - Fastest and cheapest way to get your own Lightning Node running.
- RaspiBolt - Beginner’s Guide to ️⚡Lightning️⚡ on a Raspberry Pi.
- Relayboard Control - A Qt application to connect a Waveshare 8-channel relay board to an MQTT server.
- Rhasspy - Open source, fully offline set of voice assistant services that works well with Home Assistant, Node-RED, MQTT and more.
- RPi Motor Library - Python 3 library to connect various motors & servos to the Pi.
- RPI tempmon - CPU GPU temperature monitor with various functions such as LED GPIO, Graph output, email, alarm limit, notifications and logging.
- SecPi - Raspberry Pi based home alarm system.
- Skate-o-Meter - Skateboard odometer and speedometer with RFID user system.
- SkyJack - Take over and allow full control over any Parrot AR Drone within wireless distance.
- Smart Mirror - Voice controlled smart mirror with IoT integration.

- Smart Security Camera - Using OpenCV, Twilio and a WebCam/picam.
- Sonic Pi - The Live Coding Music Synth for Everyone.
- Sonus - Node.js voice control for your Pi (and everything else) with customizable offline hotword detection.
- speed-camera - Object Motion Tracking uses python, openCV, USB Cam or picamera module to record speed data.
- Stratux - Open source ADS-B receiver which feeds weather, traffic, GPS, and AHRS data to electronic flight bag software via wifi.
- StreamPi - A robust alternative to the Elgato Stream Deck, that can launch apps, scripts, websites and control applications like OBS.
- TeslaCam - Project utilizing a Raspberry Pi Zero W for USB Mass storage emulation and a PiJuice to collect and archive TeslaCam video.

- USB Proxy - A USB man-in-the-middle project that allow users to monitor and modify USB packets flow between host and device.
- Vinyl Shelf Finder - Uses a tilt & pan laser to find a record in a record collection.
- Voice Kit - AIY Voice Kit from Google, to build a standalone voice recognition system using the Google Assistant, or add voice recognition and natural language processing to your Raspberry Pi-based projects.
- Waves - Transforming the transience of the spoken word into something concrete and physical through a microphone, waveform and thermal printer.
- Whispering Mirror - Interactive soundart installation using the Hifiberry DAC.
- Wordpress using Docker - Run a Wordpress site in containers with dynamic DNS.
- Zelda Home Automation - Home automation based on sound recognition from notes played on an ocarina.
Resources
Useful Apps
- AndFTP - Alternative FTP client app. Android
- Home Remote Control - Control mouse/keyboard, volume, manage download/upload files, custom commands, terminal, execute tasks in future, control media. Android
- Kore Remote - Official remote to control Kodi. Android
- RasPi Check - To check Pi stats - frequency, temperature, volts and more system information (free memory, runtime, disk status). You can also restart or halt your Raspberry Pi and send custom commands. Android
- RaspController - Manage your Raspberry Pi remotely, control the GPIO ports, send commands directly through the terminal, view images from a connected camera and obtain data from different sensors. Android
- Raspicast - Cast YouTube videos, media content from your android device, Play local media files, Play streams from playlists (m3u, pls) on your Raspberry Pi. Android
- Screen Stream Mirroring - To stream your phone screen directly to Pi. Android
- TeamViewer - Remote into Raspberry Pi while you are on the road!. Android
- Termius - One of the cleanest SSH Client for Pi. Android, iOS
- Tubio - Cast web videos directly to Pi. Android
- Turbo FTP - A good FTP client app for accessing files on raspberry. Android
- VNC Viewer - To remotely control Raspberry Pi desktop. Android
Articles
- 10 Ways To Power - Information about different & correct ways to power the pi.
- Raspberry Pi A to Z List - Comprehensive list with links to common questions & pitfalls.
- Raspberry Pi and why do I need one? - Intro into the Raspberry Pi and what can be done with it.
- Raspberry Pi Beginners - Guide to setup the Raspberry Pi for beginners.
- The Ultimate Raspberry Pi Security Guide - Extensive guide on security best practices for the Pi ie. exposed to the internet.
Books
- Control Your Home with Raspberry Pi - Teaches you how to turn a Raspberry Pi into a secure, modular, open source and self-hosted home automation gateway with Docker Compose, MQTT and TLS.
- Essentials - AIY Voice Projects - Using Google's AIY Project Kit, learn how to use artificial intelligence with your Raspberry Pi.

- Essentials - Camera Module Guide - How to use your Raspberry Pi Foundation's Camera Module with your Raspberry Pi.
- Essentials - Code Music with Sonic Pi - Learn how to create music by coding with Sonic Pi on your Raspberry Pi.
- Essentials - Conquer the Command Line (Version 2) - Learn how to command and conquer the command line on the Raspberry Pi using Raspbian, simplify complex tasks while you automate simple ones.
- Essentials - GPIO Zero Electronics - Create electronic creations using the GPIO pins and the GPIO Zero library on your Raspberry Pi.
- Essentials - Learn to Code with C - Learn how to code using the language that built most of Linux and Raspbian, the C programming language, on your Raspberry Pi.
- Essentials - Learn to Code with Scratch - Use the Scratch coding blocks language to learn the basics of programming on your Raspberry Pi.
- Essentials - Make Games with Python - Create your own entertainment with a Raspberry Pi by making games with Python, from simple text based games to full-fledged games with sound and animations.
- Essentials - Making with Minecraft - Learn how to interact with a special Raspberry Pi version of minecraft using APIs, the GPIO pins, your programs, and so much more.
- Essentials - Sense HAT Experiments - A useful book of experiments to use with the Sense HAT and how use it to it's full potential.
- Getting Started with Java on the Raspberry Pi - A lot of info and history about Java itself and how to install and use it on the Raspberry Pi with a lot of example projects.
- Getting Started with Raspberry Pi - Learn how to get started with your Raspberry Pi 3A+.

- Raspberry Pi Annual 2018 - An educational book aimed to kids of all ages for an introduction to the Raspberry Pi.
- Raspberry Pi Beginner's Book 1 - The official Raspberry Pi beginner book covering how to get started with your Raspberry Pi and starting to utilize different software and hardware projects.
- Raspberry Pi Beginner's Guide - Learn how to get started with your Raspberry Pi 3B+.

- Raspberry Pi Beginner's Guide v2 - Learn how to get started with your Raspberry Pi 4.
- Raspberry Pi Beginner's Guide v3 - Learn how to get started with your Raspberry Pi 4.
- Raspberry Pi Beginner's Guide v4 - Learn how to get started with your Raspberry Pi 4 and Raspberry Pi 400.
- Raspberry Pi Camera Guide - Learn how to use your High Quality Camera or Camera Module with your Raspberry Pi.
- Raspberry Pi Projects Book 1 - A collection of Raspberry Pi projects with project guides and reviews of Raspberry Pi products.
- Raspberry Pi Projects Book 2 - A second collection of Raspberry Pi projects with project guides and reviews of Raspberry Pi products.
- Raspberry Pi Projects Book 3 - A third collection of Raspberry Pi projects with project guides and reviews of Raspberry Pi products.
- Raspberry Pi Projects Book 4 - A fourth collection of Raspberry Pi projects with project guides and reviews of Raspberry Pi products.
- Raspberry Pi Projects Book 5 - A fifth collection of Raspberry Pi projects with project guides and reviews of Raspberry Pi products.
- Retro Gaming with Raspberry Pi - A guide on how to setup your Raspberry Pi to play classic games, and how to make your own games.
- The Official Raspberry Pi Handbook 2021 - A guide to help you get the most of your Raspberry Pi computer, essential information, project ideas, tutorials, and reviews.
- The Official Raspberry Pi Handbook 2022 - A guide to help you get the most of your Raspberry Pi computer, essential information, project ideas, tutorials, and reviews. Updated for Raspberry Pi Pico.
Tutorials
- Auto Mount USB - Guide to setup Auto Mount USB on Raspberry Pi.
- Bridging Wifi to the Raspberry Pi over Ethernet - Set up tethered networking between macOS & Raspberry Pi.
- Build a $35 Time Capsule - Time Machine Backup Server.
- Controlling Spotify with Slack and a Raspberry Pi - Node.js project to control Spotify & Slack with libspotify.
- DC++ Hub - Guide to setup an ADC (DC++) Hub on Raspberry Pi.
- DIY Neural Network - Uses image recognition and Google’s Inception to recognize specific objects.
- Docker Swarm with LetsEncrypt - Clear guidelines on how to set up a cluster with Docker, distributing services with Docker Compose and signing valid SSL certs with Letsencrypt.
- How To Make a Raspberry Pi Turn on a Lamp with iBeacon™ Technology - Good beginners-guide to working with Beacon technology.
- How to setup a secure VPN server on Raspberry Pi or DigitalOcean - Simple, secure and detailed guide to setup VPN on your Raspberry Pi.
- Moonlight - Nvidia GameStream implementation to stream your full collection of Steam games from desktop to the Raspberry Pi.
- Raspbereum - Run your own Ethereum node on a Raspberry Pi.
- Raspberry Pi Game Console - How to Build a Raspberry Pi Retro Game Console for $35.
- Raspberry Pi login with SSH keys - Password-less login for ssh sessions on the Raspberry Pi.
- Raspberry Pi Media Server Guides - Media Server and NAS tutorials from HTPC Guides.
- Turn a Raspberry Pi into a Plex Media Server - Beginners guide to setting up a Plex media server to stream all of your media content.
- Turn the Raspberry Pi Zero into a mini dongle computer - Setup a pi0 to be able to ssh & vnc over USB.

- Use a Raspberry Pi with multiple WiFi networks - Tutorial on using a Raspberry Pi with multiple networks.
- Use a Raspberry Pi with Netflix - Tutorial on watching Netflix on a Raspberry Pi.
- Using openSUSE's YaST on the Raspberry Pi.
Swift programming
- BuildSwiftOnARM - All you need to build Swift on a RaspberryPi or other ARM boards, updated to Swift 4.1.3.
- Compile Swift for Raspberry Pi by Xcode - Quick tutorial to share the way to help setup compiling Raspberry Pi code with Xcode.
- Setup Swift environment on Raspbian - Quick guide to help setup Swift environment on Raspbian stretch (lite).
- SwiftyGPIO - Swift library for hardware projects on Linux/ARM boards with support for GPIOs/SPI/I2C/PWM/UART/1Wire.
- Swish - Build Swift Projects on a remote machine within Xcode.
Community
@Raspberry_Pion Twitter#raspberrypion FreenodeRaspberry Pion YouTuberaspberry-pion Spectrum- eLinux Hub
- MAKE on Youtube
- Novaspirittech on YouTube
- Official Blog
- Official Forum
- Raspberry Pi Jam — Official conferences
- Reddit Projects
- StackExchange
Contributing
Contribution guidelines can be found here
License
Awesome Qt 
A curated list of awesome tools, libraries, and resources for the Qt framework.
Qt is a powerful cross-platform application development framework, for use primarily (but not exclusively) in C++. It's great for GUI applications, but can be used for many other things as well.
Contributions are welcome!
Conventions
- Any list item with an OctoCat :octocat: has a GitHub repo or organization; click on it to see the source code!
- List items with this :package: icon have source code hosted elsewhere.
Contents
- Official Resources
- Communities
- Official
- Unofficial
- Tools
- Official Tools
- Third-Party Tools
- Bindings in Other Languages
- Libraries
- Integrations
- New Functionality
- Software Repositories
- Blogs
- Books
- Software that Uses Qt
- Other Relevant Awesome Lists
- License
Official Resources
- Official Website - The official website for the Qt framework.
- Qt Documentation - Official Qt documentation. Massive and comprehensive.
- Qt Newsletters - The best of Qt, straight to your spam filter.
- Qt Bug Tracker - If you think you've found a bug with Qt or one of its related projects, report it here (or see if someone else already has).
- Qt Code Review - See how the Qt maintainers ensure their code is well-written.
- Source Code - Browse the various source trees that comprise the Qt project. Has mirrors at several GitHub organizations:
- Qt :octocat:
- Qt Project :octocat:
- Qt Labs :octocat:
Communities
If you build it, they will come. This section describes aggregations of Qt users who share knowledge and code with one another. The most popular and active communities are listed in this section, but you can find a more comprehensive list here (that includes several in other languages) if you'd prefer.
Official
- Mailing Lists - Mailing lists for users and developers of Qt alike. Arguably the best place to communicate directly with Qt's maintainers. Sees frequent activity.
- Qt Forum - If e-mail's not your thing, then you might also consider getting help or sharing knowledge on the forums.
- Qt Wiki - The premier source for user-contributed Qt knowledge.
- IRC - For real-time chat with other Qt developers and users. The most popular channels are on Freenode, and include
#qt,#qt-quick,#qt-creator, and#qt-chat. - For a full list of Qt-related IRC channels, see here.
- Note that the linked webchat client is not a part of the Qt project, and is provided by the author of this list for convenience only. These channels can be accessed through any IRC client.
Unofficial
- QtForum.org - Not to be confused with the official Qt forum.
Tools
A good developer writes his or her own tools. A great one uses tools others wrote. This section will help you be great; more formally, this section details applications that make it easier to create software with Qt. You may also be interested in the Libraries section.
Official Tools
The Qt framework has surprisingly many tools that don't get the spotlight. This section describes them (as well as the star players that do). For the purpose of this section, "tool" refers to Qt-centric utilities whose code does not get embedded within your application (but their output might).
- Qt Creator :octocat: - By no means does Qt lock you into its provided IDE, but its firm integration with the framework makes it a good sell. Among other things, it provides a UI designer, modeling tools, a documentation browser, and great QML support if you're into that sort of thing. There's also a plugin system, but third-party plugins are unfortunately scarce.
- Qt Designer :octocat: - If you'd rather just design the interfaces and let someone else hook them up to logic, the GUI designer is available as a separate application.
- Qt Assistant :octocat: - So is the documentation viewer, for that matter.
- Qt Visual Studio Add-in :octocat: - If you'd rather stick to Visual Studio, this add-in will let you do that.
- Qt Linguist :octocat: - Qt provides excellent internationalization/localization support, and this tool is very much responsible for it. Write translatable strings in your code with special macros, and this tool will aggregate them all for you so you or your translator(s) can broaden your software's audience.
- Qt Installer Framework :octocat: - Nobody seems to talk about this, but Qt also provides a way to write an installer for your application. Does not support creation of macOS disk images, app bundles, or Linux packages, so be mindful of that when considering your project's distribution.
macdeployqt:octocat: - Generates macOS application bundles for Qt projects.- qmake :octocat: - The bundled build system designed for Qt, though it can be used for non-Qt projects.
- qbs :octocat: - If QML is more your style, consider this alternative build system.
- Emulator - Don't forget about Qt's mobile support!
qtdiag:octocat: - Command-line tool that prints out a lot of information pertaining to both your Qt installation and your system in general. No link because there's no dedicated web page; just runqtdiagon the command line. Excellent for troubleshooting.qmleasing:octocat: - Lets you make easing curves suitable for QML, though if you understand the underlying math there's no reason you couldn't use the resulting numbers elsewhere.
Third-Party Tools
- CMake :octocat: - General C++ build tool that happens to have great Qt support.
- GammaRay :octocat: - Powerful debugger and general inspection tool for Qt-built software. Lets you inspect and manipulate the
QObjecthierarchy, view object properties, edit widgets at runtime, and far, far more. A two-sentence blurb can't do it justice, seriously check it out. - moc-ng :octocat: - Alternative implementation of
mocthat's binary-compatible with Qt's version. - Qt-Inspector :octocat: - Inspection tool with similar goals to GammaRay, though much simpler.
- SIP :package: - Generates Python bindings for C or C++ libraries. Has special support for Qt signals and slots, and was used to create PyQt.
- linuxdeployqt :octocat: - Lets you bundle your Qt based application as an AppDir or AppImage, making it possible to ship it to users of many desktop Linux distributions. Similar to the official
windeployqtandmacdeployqttools but for Linux. - Qompoter - Dependency manager for Qt / C++.
Bindings in Other Languages
This section describes software that enables creation of Qt software in a primary language other than C++. Libraries that allow run-time scripting in a Qt application are listed under Integrations.
- Python (via PyQt) :package: - Arguably the most comprehensive and well-known binding of Qt to another language.
- Python (via PySide) :package: - Another binding for Python, which has been officially adopted by the Qt project.
- Ring (via RingQt) :octocat: - I've never heard of this language either, honestly.
- Mono/.NET languages (via QtSharp) :octocat: - Experimental wrapper for Qt that allows it to be used by .NET-based languages such as C#. Young, but active.
See these these three articles if you want more.
Libraries
This section describes two kinds of third-party libraries; those that provide their own brand-new functionality (e.g. widgets, dealing with particular file formats), and those that provide integrations with existing software (e.g. scripting languages, clients for REST APIs, implementations of established protocols).
Integrations
For the purpose of this section, an "Integration"-focused library does one of the following:
- Serves as a client for an established Web service.
-
Wraps another library in a Qt-friendly manner as more than just an implementation detail (i.e. it tries to mimic the wrapped API).
- neiasound :octocat: - OpenAL wrapper designed for games, with stb_vorbis and libsndfile support.
- PythonQt :package: - Script your Qt applications with Python. Not to be confused with PyQt or PySide.
- QScintilla :package: - Absurdly versatile and customizable text editor widget that provides syntax highlighting, code completion, code folding, recordable macros, and much more. Built around Scintilla. Created by the same company that developed PyQt.
- QtAwesome :octocat: - Add Font Awesome icons to your Qt application. Other icon sets are supported, too.
- QtLua :package: - Use Lua as a scripting language for Qt-based software.
- qtruby :octocat: - Use Ruby as a scripting language within your application.
- QuaZIP :package: - Read from and write to ZIP archives. Uses Minizip under the hood.
- VLC-Qt :octocat: - Wrapper for libvlc that lets you add a VLC-like media player to your application.
New Functionality
- Communi :octocat: - Cross-platform IRC framework. We've got enough IRC clients out there already, but I suppose this could also be used to implement a chat function in your application (e.g. for community support).
- cutelyst :octocat: - Web framework that takes some ideas from Perl's Catalyst framework.
- DiceParser :octocat: - Dice Roller framework based on its own syntax.
- DOtherSide :octocat: - Binding for QML in C, primarily designed as an API for other languages to support QML.
- Felgo - Cross-platform game engine and app framework that relies heavily on QML. Has a lot of tools and resources, and may even deserve its own list.
- glraw :octocat: - Convert images from any Qt-supported format to OpenGL-format textures. Useful for speeding up texture loading in graphics applications.
- grantlee :octocat: - Django-inspired text templating.
- injeqt :octocat: - Dependency injection for Qt.
- KDE Frameworks :octocat: :package: - Metric ass-ton of libraries for KDE, but many of them can be used with regular Qt applications as well. Cross-platform, for the most part.
- Marble :package: - Virtual globe and map that can be used standalone or embedded within other applications.
- qgexedit2 :octocat: - Embed a hex editor in your application.
- qml-material :octocat: - Material Design implemented in QML.
- QNodeView :octocat: - Widget that lets you create and edit nodes in a graph similar to the kind provided by Unreal Engine, Substance Designer, or PureData.
- QSimpleUpdater :octocat: - Let your application update itself.
- qt-maybe :octocat: - Fans of type theory will enjoy these sum and optional types.
- qt-mustache :octocat: - Render Mustache templates.
- QtAV :octocat: - Actively developed multimedia framework.
- Qtilities :octocat: - Powerful set of libraries that provide GUI, logging, testing, configuration, and project functionality (among other things) for your application.
- QtitanChart - Chart generation framework. Commercial.
- QtitanRibbon - For fans of the ribbons that Microsoft uses in their software. Commercial.
- qtnotify :octocat: - Notification framework.
- QtTerminalWidget :octocat: - Make your application capable of anything.
- QtVerbalExpressions :octocat: - Create regular expressions using natural English expressions. Part of the VerbalExpressions project, which does the same thing for a wide variety of languages.
- qtwebserver :octocat: - If you need to write a web application server in Qt for some reason, this'll help you along.
- QtXlsx :octocat: - Read and write spreadsheets in Microsoft Excel format.
- Qwt :package: - Qt widgets designed for scientific and technical applications.
- verdigris :octocat: - Experimental library to write Qt applications without using the
moc.
Software Repositories
If the Libraries section doesn't satisfy you, perhaps one of these will.
- #inqlude - The most well-known aggregation of Qt-centric libraries out there. A package manager is also available here.
- QtPods - Another Qt-centric package manager. If you want to see the offerings without using QtPods, the full list is available here, and can be added to by submitting a pull request.
- Linux-Apps.com - Despite the name, Linux-Apps.com aggregates a wide variety of Qt-based tools and libraries for both end-users and developers.
- Stephan Binner's Ubuntu PPAs - Ubuntu users who are hesitant to install anything outside of their package managers can obtain any recent version of Qt from these repositories. Instructions for adding them are found within.
Blogs
Each entry is followed by a standout list of articles, talks, or other resources.
- Planet Qt - Official aggregation of first-party and third-party Qt-related blogs.
- ICS - Qt-centric software consulting firm with a really neat blog. Specializes in graphics applications.
- Qt Tips and Tricks [1, 2] - Odds and ends that might be nice to keep in your back pocket.
- Mastering Qt File Selectors - Sometimes you need different variations of the same asset, but you won't know which ones to load until runtime. This class will decide for you.
- Some Lesser Known Qt Tools and Commands [1, 2, 3, 4, 5] - You don't find hidden gems by staying on the beaten path.
- Using Self-Signed Certificates in Qt Code - Trust nobody.
- Integrating C++ with QML - Talk to your scripting language. That's what it's there for.
- Qt and OpenGL: Loading a 3D Model with Open Asset Import Library (Assimp) [1, 2] - Assimp supports a lot of different model types; these articles will help you support all of them.
- What's new in Qt 5: QStandardPaths - This feature's been around for a few years, but it's still useful enough to warrant an entry on this list.
- What's New in Qt 5.2: QCommandLineParser - Another oldie, but still a goodie.
- Woboq - Another software consulting firm that also contributes code to Qt. They seem to specialize in Qt's core architecture.
- Moc myths debunked - The magic that Qt appears to rely in is really just a bunch of code generators. This post will bring you up to speed on the reality of the
moc, the most notable one. - How Qt Signals and Slots Work [1, 2, 3] - Qt's signals/slots system lets any object talk to any other object. Understanding these three articles will help you take full advantage of the feature.
- QMetaType knows your types - C++ isn't known for having good run-time type information, so Qt brings its own.
- C++11 in Qt5 - Stop writing C++ like it's 2003; learn how you can take advantage of recent C++ features in your Qt applications.
- C++14 for Qt programmers -
s/2003/2011/ - QStringLiteral explained - String literals are widely used in many applications; wouldn't it be nice if you could make them faster to access?
- Nicer debug output in Qt using QT_MESSAGE_PATTERN - It's nice to be able to read your application's logs.
- KDAB - Another consulting firm that specializes in Qt.
- GammaRay: Taking a deep look into your Qt application - Talk about GammaRay and how it can help you dissect your Qt applications. Talk given at QtCon 2016 by Volker Krause.
- Multithreading with Qt - I want to make my application do more than once thing at once. What could possibly go wrong? Talk given at QtCon 2016 by Giuseppe D'Angelo.
- Linux perf for Qt developers - How to make your Qt application faster, Linux-style. Talk given at QtCon 2016 by Milian Wolff.
Books
- Qt5 C++ GUI Programming Cookbook, by Lee Zhi Eng :octocat: - Overview of advanced GUI programming techniques for those familiar (but not satisfied) with the basics. The source code used in the book is available for free.
- Game Programming Using Qt: Beginner's Guide by Witold Wysota and Lorenz Haas - Good place to start learning how to program games with QML.
- Application Development with Qt Creator - 2nd Edition, by Ray Rischpater - Beginner's guide to Qt, with a lot of focus on Qt Creator and its associated tools.
- Qt 5 Blueprints, by Symeon Huang - Seems to be about the overall structure of a Qt project.
- Mastering Qt 5, by Guillaume Lazar and Robin Penea :octocat: - Not your daddy's Qt. Tips and tricks for the experienced. The source code used in the book is available for free.
- PySide GUI Application Development - 2nd Edition, by Gopinath Jaganmohan and Venkateshwaran Loganathan - Imagine these other books, but in Python.
- Qt5 Cadaques :octocat: - Free book that focuses on QML, named for this town in northeastern Spain that the authors vacationed to once.
Software that Uses Qt
A framework is only as great as the software that uses it. Fortunately, much great software uses Qt.
- Autodesk Maya - 3D animation and design software that has been used to create visual effects for some of the most popular movies and TV shows of all time.
- Davinci Resolve - Non-linear video editing freeware with commercial plan used to create some Hollywood movies.
- CMake :octocat: - The closest thing to a standard C++ build system out there. The bundled GUI uses Qt.
- CRYENGINE :octocat: - But can it run Crysis? Some auxillary tools use Qt.
- Doxygen :octocat: - The most popular documentation generator for C++, though it supports other languages as well. The bundled GUI uses Qt.
- Google Earth - The virtual globe.
- KDE :octocat: - One of the most popular desktop environments for Linux.
- LMMS - Digital audio workstation.
- Malwarebytes - Your Windows desktop's personal bodyguard.
- MuseScore - Music notation software.
- Parallels Desktop - Consumer-focused virtualization.
- Qt Creator :octocat: - Something something eating your own dog food. Listed in the official tools, but not listing it here doesn't feel right.
- Rolisteam :octocat: - Virtual tabletop for remote Role Playing Games.
- Shotcut - Video editor.
- RUBE - Level design tool for any game that uses the Box2D physics engine.
- TeamSpeak - When gamers want to voice chat in a game that doesn't support it, they'll use this.
- Telegram Desktop :octocat: - Secure your conversations so well, you'll raise the blood pressure of potential eavesdroppers. The desktop client uses Qt and is open source.
- Tiled :octocat: - Perhaps the world's most popular tilemap editor. Suitable for level design in games.
- VirtualBox :package: - Virtualization software for x86/64 processors. The bundled GUI uses Qt.
- VLC :package: - One of the most flexible open source video players in existence.
- Vuo :octocat: — Realtime visual programming language for interactive media.
- Wireshark :package: - The most popular packet-sniffer out there. You are going to use this for good and not evil, right?
- Wolfram Mathematica - Programming language, symbolic calculator, and an engineer's best friend.
- Yabause :octocat: - Sega Saturn emulator.
There's also an official showroom here, which lets developers submit their own Qt-powered applications for display.
Other Relevant Awesome Lists
If you're familiar with Awesome, you'll know that there's an extremely wide variety of resources, the usefulness of which will depend on your project. However, if you're developing Qt applications, you'll almost certainly want to look at these as well.
- Awesome C/C++ - There's no reason you can't use C++ libraries that weren't designed for Qt. Sometimes they might even suit your needs better than what Qt offers.
- Awesome C - Same goes for C libraries; might wanna brush up on those RAII techniques while you're at it.
- Awesome CMake - If you're not using qmake for your project, you're likely using CMake instead.
- Awesome OpenGL - Qt is commonly used for graphics applications, even providing its own wrappers around OpenGL.
License
To the extent possible under law, Jesse Talavera-Greenberg has waived all copyright and related or neighboring rights to this work. See the LICENSE file for details.
Awesome WebExtensions 
A curated list of awesome resources for WebExtensions development.
WebExtensions are a cross-browser system for developing browser add-ons. To a large extent the system is compatible with the extension API supported by Google Chrome. Extensions written for this browser will in most cases run in Firefox with just a few changes.
Follow @fregante for more webext-related news.
Contents
Getting started
- Chrome Extensions documentation - Documentation for the original Chrome extension model.
- Mozilla's WebExtensions documentation - MDN wiki for the WebExtensions API.
- Browser support for WebExtensions - Compatibility table for Chrome, Edge, Firefox, and Opera.
- Safari Extensions documentation - Developer documentation on building Safari extensions. Technically not WebExtensions, the API is completely different.
- Opera API support - Detailed WebExtensions support for Opera.
- Porting Chrome Extensions to Firefox - Guide to prepare, install, and debug Chrome extensions to be ported in Firefox.
- Browser Extension Standard - Standard for the API, supported by Mozilla, Opera and Microsoft.
Community
- Google Groups - Discussions.
- Mozilla Discourse - Discussions.
#addons:mozilla.org- Matrix channel by Mozilla.google-chrome-extensiontag on Stack Overflow - Relevant questions.firefox-addon-webextensionstag on Stack Overflow - Relevant questions.microsoft-edge-extensiontag on Stack Overflow - Relevant questions.
Libraries and Frameworks
Code meant become part of the extension.
- webext-options-sync - Helps you manage and autosave your extension's options.
- webext-storage-cache - Map-like promised cache storage with expiration.
- webext-dynamic-content-scripts - Automatically inject your
content_scriptson custom domains. - mozilla/webextension-polyfill - Polyfill to support the standardized promise based API in the
browsernamespace. - @types/firefox-webext-browser - Supplies TypeScript types for the
browsernamespace. - redux-webext - Uses Redux for managing the state of your WebExtension.
- ExtPay - Take secure payments in extensions without needing to run a server backend.
- More…
Tools
Apps that help you manage your extensions.
- Chrome Webstore Upload - Upload the extension to the Chrome Web Store via cli (or on Travis, automatically).
- mozilla/web-ext - Command line tool to help build, run, and test WebExtensions.
- chromepet - Get notified when your new version has been published.
- chrome-ext-downloader - Download any extension on Chrome Web Store to see how they do it.
- chrome-store-api - Chrome Web Store API wrapper.
- Chrome extension source viewer - WebExtension to view source code of extensions directly on the store.
- @wext/shipit - Tool to automatically publish to Chrome Web Store, Mozilla Addons and Opera Addons.
- wext-manifest-loader - Webpack loader that lets you specify
manifest.jsonproperties to appear only in specific browsers. - webextension-manifest-loader - Webpack loader that loads browser tailored manifest.json. It also imports all importable properties, allowing you to have 'manifest.json' as your only webpack entry point.
- webpack-extension-reloader - A Webpack plugin to automatically reload browser extensions during development.
- webpack-target-webextension - Adds code-splitting support to WebExtensions build with Webpack.
Testing
- sinon-chrome - Mocks the Chrome Extensions API for testing.
- addons-linter - Validate an extension against Mozilla's guidelines.
- webextensions-jsdom - Load popup, sidebar and background with JSDOM based on the manifest.json.
- webextensions-api-fake - In-memory WebExtensions API Fake Implementation (includes TypeScript types).
- webextensions-api-mock - WebExtensions API as sinon stubs (includes TypeScript types).
- webextensions-schema - Programmatically consume the WebExtensions Schema JSON files.
Boilerplates
- browser-extension-template - Barebones boilerplate with parcel, options handler and auto-publishing.
- create-webextension - Yarn WebExtension generator.
- extensionizr.com - Web UI that helps you create an initial configuration and files.
- generator-web-extension - WebExtension generator that creates everything you need to get started with cross-browser web-extension development.
- vue-web-extension - A Vue CLI 3+ preset for quickly starting a web extension with Vue, Babel, ESLint and more!
Sample Extensions
These are simple and modern WebExtensions repositories that could help you figure out where pieces go, including automatic deployment via Travis CI.
- npmhub
- Hide Files on GitHub
- mdn/webextension-examples - Various example extensions curated for the MDN documentation.
Awesome Smart TV 
A curated list of awesome resources for building Smart TV apps
Smart TV is a growing platform of TVs having access to the internet and allowing to browse web-sites and install applications. It has own ecosystem with main players like Samsung, LG, Android TV and Apple TV. In this list you will find official and third-party resources for developing Smart TV apps and communicating with TV from remote devices.
Contents
- Platforms
- Samsung Tizen
- LG webOS
- Android TV
- Apple tvOS
- Google Chromecast
- Cross-platform frameworks
- Remote control protocols
- Navigation libraries
- Testing
- Misc
- Community
Platforms
Below are the most popular platforms for Smart TV. The full list is here.
Samsung Tizen
Official resources
- Samsung TV Developers site - News, documentation and SDK downloads.
- Tizen TV Developers site - Full API documentation and guides for developing Tizen TV apps.
- Tizen Studio - IDE for TV apps development including Tizen TV Emulator.
- Smart View SDK - Official Android, IOS and JavaScript SDK for communication between remote device and Samsung Smart TV.
- Samsung TV Developers Forum - Ask questions and share tips when developing apps with Samsung SDKs.
- Samsung Smart TV Bug Bounty - If you find bug in Samsung TV, submit it here and get a reward $1000+.
- vscode-extension-tizentv - A Visual Studio Code extension that provides a lightweight IDE for Tizen application developers.
- Wits - A tool for reloading tv app's JavaScript/CSS without reinstalling the app every time you make a change.
Third-party remote control libraries
- samsungctl - Library and command line tool for remote controlling Samsung televisions via a TCP/IP connection. It currently supports both pre-2016 TVs as well most of the modern Tizen-OS TVs with Ethernet or Wi-Fi connectivity (Python).
- samsung-tv-remote - Node.js module to remotely control Samsung Smart TV starting from 2016 (JavaScript).
- homebridge-samsungtv2016 - A plugin for Homebridge that allows you to control your 2016 Samsung TV with HomeKit and Siri (JavaScript).
- homebridge-samsung-tizen - A plugin for Homebridge that allows you to control your Samsung Tizen TV with HomeKit and Siri (JavaScript).
- samsung-remote-models-2014-and-newer - Encrypted communication with the internal web service of Samsung TV models 2014+.
- SmartCrypto - SmartView2 encrypted handshake API implementation in C/Python.
- samsung-messagebox - Python script to show notifications on Samsung TVs.
- samsung-tv-control - Library for remote control Samsung TV in your Node.js
Other
- Identification of Samsung TV models 2008-2017 - How to get screen size, matrix type, year of development, series and other parameters from Samsung TV model name.
- Tizen Studio development references - Documents focused on web apps for Smart TVs e Professional Monitors, based in personal researches.
LG webOS
Official resources
- webOS TV Developers Site - WebOS TV apps development principles, tutorials, API documentation and packaging tools.
- webOS TV IDE + SDK - IDE for apps development including a Command Line Interface and emulator.
- Connect SDK - Open source framework developed by LG that connects your mobile apps with multiple media device platforms. Currently supports 8 platforms. But seems abandoned.
- webOS TV Developers Forum - Ask questions, share information and learn about Smart TV app development with other developers.
Third-party remote control libraries
- lgtv2 - Node.js module for remote control of LG webOS TV via WebSocket messages (JavaScript).
- node-red-contrib-lgtv - Module for Node-RED allowing remote control of LG webOS Smart TVs (JavaScript).
- node-webos - Node.js module to discover and control webOS TVs (JavaScript).
- lgtv2mqtt - Interface between LG WebOS Smart TVs and MQTT (JavaScript).
- ares-webos-sdk - webOS CLI as separate NPM module (JavaScript).
- pylgtv - Library to control webOS based LG Tv devices (Python).
- LGWebOSRemote - Command line tool for webOS remote control of LG TVs (Python).
- homebridge-webos-tv - A plugin for Homebridge which allows you to control your webOS TV.
- PyWebOSTV - A generic & entensible WebOS 3.0 Client Library (Python2, Python3).
- go-webos - A small Go library for interaction with webOS TVs (golang).
Videos
- LG Magic Motion Remote - Point, Click, and Control - Operate TV like a computer mouse.
Other
- openlgtv.org.ru - A non-commercial project for legal reverse engineering and research on LG Television firmware. Seems a bit outdated but contains a lot of information.
- Identification of LG TV models 2011-2017 - How to get screen size, matrix type, year of development, series and ohter parameters from LG TV model name.
Android TV
Official resources
- Android TV Developers site - Documentation, tutorials and best practises for building Android TV apps.
Articles
- How to develop Android TV App? - An article about developing apps for Android TV.
Apple tvOS
Official resources
- tvOS Developers Site - SDK, documentation and tutorials for developing tvOS apps.
- TVML - Apple TV Markup Language for creating tvOS apps.
Google Chromecast
Official resources
- Google Cast SDK - Official Google Cast SDK documentation and tutorials.
- TVs with Chromecast built-in - List of vendors supporting built-in Chromecast and advantages over traditional TV remote controller.
Cross-platform frameworks
- react-tv - React development for TV: renderer for low memory applications and Packager for WebOS, Tizen, Orsay.
- TOAST - Samsung open-source framework for multi-platform TV apps developemnt.
- Enyo - LG framework for development apps for all major platforms, from phones and tablets to PCs and TVs.
- Smartbox - Smart TV universal library for Samsung, LG, Philips, SmartTV Aliance, STB Mag app development.
- Mautilus Smart TV SDK - A platform-agnostic framework for developing TV Apps. Supports Samsung, LG, Philips, Sony, Panasonic and VESTEL Smart TVs.
- BBC TAL - An open source library for building applications for Smart TV developed by BBC engineers.
- PureQML TV - A declarative front-end framework for web-based SmartTV/STB platforms. Has experimental support of Android TV.
- ZombieBox - An open source Smart TV framework. Strongly typed JavaScript, component based, built-in D-PAD navigation management, abstract video API with DRM for all platforms. Supports many platforms like Tizen, webOS, Android TV, etc.
Remote control protocols
- DLNA - Industry-wide standard for sharing data over a home network. Depending on the DLNA-compatible devices you own, you might be able to stream films from your laptop to your TV, play an MP3 stored on your phone over your hi-fi system, or print a photo from your tablet on your home printer.
- DIAL - Developed by Netflix and Google, this protocol alows client devices (like smartphone, tablet, or computer) to discover apps on server devices (like a smart TV or streaming box) and launch content on them.
- Wi-Fi Direct - Standard enabling devices to easily connect with each other without requiring a wireless access point.
- Miracast - Standard for wireless connections from devices (such as laptops, tablets, or smartphones) to displays (such as TVs, monitors or projectors). Works over Wi-Fi Direct.
Navigation libraries
- lrud - Left, Right, Up, Down. A spatial navigation library for devices with input via directional controls.
- js-spatial-navigation - A javascript-based implementation of Spatial Navigation.
- react-js-spatial-navigation - A wrapper of js-spatial-navigation to react components.
- react-key-navigation - Spatial Navigation components for React. Similar to the "Focus Management" of the BBC TAL.
- react-spatial-navigation - HOC-based Spatial Navigation (key navigation) solution for React.
Testing
- Suitest - Test automation solution for Smart TVs, gaming consoles, streaming sticks etc.
- stb-tester - Automated User Interface Testing for Set-Top Boxes & Smart TVs (python).
Misc
- LIRC - A package that allows you to decode and send infra-red signals of many (but not all) commonly used remote controls.
- awesome-smarttv - Another list of Smart TV resources. Discovered after this one was already done :roll_eyes:.
- docker-tizen-webos-sdk - Docker image with Samsung Tizen CLI and LG webOS CLI. Allows to develop, build, launch and debug Smart TV apps without installing Tizen Studio and webOS SDK.
Community
Contribute
Feel free to share your experience and contribute useful extension resources by creating new issue or pull request. Please read the contribution guidelines first. Thanks!
License
Awesome GNOME 
A curated list of awesome apps, extensions, modules, themes and tools for the GNOME Desktop Environment.
GNOME is a desktop environment for Linux and Unixes, designed to put the user in control and get things done. It uses GTK for its applications and Clutter and JavaScript for its official desktop shell.
Items marked with
are applications officially maintained and distributed by the GNOME Project as part of the core set of applications and tools, or extensions that are maintained and distributed as part of the Classic mode.
Items marked with
are applications championned by the GNOME Circle iniative that aim to showcase the best apps and libraries for GNOME.
Contents
- Applications
- Internet and Networking
- Office
- Productivity and Time
- Well Being
- Multimedia
- Graphics
- Gaming
- System and Customization
- Utilities
- Security and Privacy
- Development and Design
- Others
- Third-party Apps Plugins
- Extensions
- Complete Overhaul
- Menus
- Applets
- Windows
- Docks and Panels
- Usage Experience
- Visual Changes
- Services Integration
- Look and Feel
- Icons
- Cursors
- Community
- Developer Resources
- Libraries
- Examples
- Documentation
Applications
Internet and Networking
- GNOME Web - Official web browser project of GNOME.
- Fragments - BitTorrent client.

- Newsflash - RSS feeds reader.

- Font Downloader - Get fonts from Google Font.

- Tangram - Group your webapps into a single application.

- Eolie - Web browser that uses vertical tabs.
- Geary - Modern mail client, created originally by Yorba.
- Feeds - An RSS/Atom feed reader.
- Cawbird - Twitter client.
- Jami - Client for Jami, a secure communication tool.
- Haguichi - Graphical frontend for Hamachi.
Office
- Apostrophe - Distraction-free Markdown editor.

- NFO Viewer - Simple viewer for NFO files, beating text editors with preset font and encoding settings and clickable hyperlink support.
- Paperwork - Personal document manager for scanned documents and PDFs.
- Foliate - Simple and modern eBook reader.
- Pdftag - Simple metadata editor for PDFs.
- PDF Slicer - Simple application to extract, merge, rotate and reorder pages of PDF documents.
- Marker - Markdown editor with an integrated previewer.
Productivity and Time
- GNOME Todo - Minimal task manager.
- Solanum - Balance working time and break time.

- GTimeLog - Simple app for keeping track of time.
- Gnome Pomodoro - Simple pomodoro timer.
- Timetrack - Time tracker.
Well Being
Multimedia
- Shortwave - Client for web-based radio.

- Cozy - Audiobook player.

- Video Trimer - Trim video quickly.

- Nuvola Player - Runtime for web-based music streaming services providing a more native user experience and integration with Linux desktop environments.
- Vocal - Powerful, beautiful, and simple podcast client for the modern free desktop.
- Celluloid - Simple frontend for mpv.
- Lollypop - Beautiful music application.
- Parlatype - Audio player specialized for transcription.
- Pulseeffect - Provides limiter, compressor, reverberation, equalizer and auto volume effects for PulseAudio applications.
- Curlew - Multimedia converter.
- Pitivi - Beautiful and powerful video editor.
- Podcasts - Listen to your favourite podcasts.
- Spot - Spotify Client.
- Clapper - Simple and modern media player.
Graphics
- Curtail - Simple & useful image compressor.

- Drawing - Responsive drawing application.

- Identity - Compare image and video.

- Coulr - Convert between RGB and hexadecimal codes for colours.
- Color Picker - Color pickle, working on both X11 and Wayland.
- GThumb - Powerful and advanced application to manage your photos and images.
Gaming
- Lutris - Open Source gaming platform.
- GNOME Games - Game launcher and an emulation frontend to libretro.
System and Customization
- Pika Backup - Simple backups based on borg.

- Déjà Dup Backups - Simple backups tool.

- GNOME Tweaks - Graphical interface for advanced GNOME settings.
- Tilix - Tiling terminal emulator.
- Menulibre - Manage your applications categories if you use a traditional application menu like Arc or the Application Menu.
- HydraPaper - Set a different background for each monitor.
- Dynamic Wallpaper Editor - Utility for editing GNOME's XML wallpapers
- Unifydmin - Unified administration panel for heterogeneous Linux servers.
- Dynamic Gnome Wallpapers - Gallery of MacOS like dynamic wallpapers, and easy scripts to install them
Utilities
- Dialect - Translate text.

- Markets - Stock, currency and cryptocurrency tracker.

- GPaste - Clipboard manager (composed of an application and a gnome-shell extension).
- Peek - Simple screen recorder that saves your recording as a GIF.
- Catfish - Simple search application.
- Detwinner - Simple and fast tool for removing duplicate files.
- Recipes - Cooking application.
- RecApp - User friendly Open Source screencaster.
- Sunflower - Small and highly customizable twin-panel file manager.
- Kooha - A simple screen recorder.
- Junction - Junction lets you choose the application to open files and links.

Security and Privacy
- Obfuscate - Censor private information.

- Metadata Cleaner - View and clean metadata in files.

- Password Safe - Keepass-compatible password manager.

- Passbook - Password manager compatible with freedesktop secrets.
Development and Design
- GNOME Builder - Official IDE for creating GNOME applications.
- Gaphor - The simple modeling tool for UML and SysML.

- Webfont Kit Generator - Create @font-face kits easily.

- Commit - Commit message editor.

- Sysproof - Profile an application or entire system.
- DevHelp - Developer tool for browsing and searching API documentation.
Design Tooling
- Icon Preview - Simple utility to preview icons.
- Palette - Tool for viewing the GNOME colour palette.
- Contrast - Check the contrast between two colors.
- Icon Library - Symbolic icons for your apps.
- Symbolic Preview - Symbolics Made Easy.
Others
- Boxes - View, access, and manage remote and virtual systems.
Third-party Apps Plugins
- Firefox GNOME Theme - Integrate Firefox into GNOME-based desktop using Adwaita.
- Nautilus Terminal - Integrates a terminal into Nautilus.
Extensions
Complete overhaul
- Dash-to-Panel - Make your desktop more similar to W7/KDE.
Menus
- Application Menu - Category-based menu for applications.
- Places Indicator - Menu that provides fast access to your folders.
- Arc Menu - Windows7-like application menu inspired by the one in Zorin OS.
- Fly-Pie - Mouse-based menu.
Applets
- Caffeine - Applet that let you deactivate the GNOME lock screen.
- Removable Drive Menu - Status menu to show your removable drives.
- OpenWeather - Weather applet.
- Focusli - Ambient noise applet.
- Clipboard Indicator - Simple clipboard applet.
- Desk Changer - Wallpaper slideshow applet.
- Emoji Selector - Emoji picker applet.
- Todo.txt - Interface for todo.txt.
- Time ++ - A todo.txt manager, time tracker, timer, stopwatch, pomodoro, and alarm clock.
- GSConnect - KDE Connect implementation.
- Docker Integration - An extension for managing docker containers
- KStatusNotifiers/AppIndicator Support - Appindicator systray.
- Extensions Sync - Syncs gnome shell keybindings, tweaks settings and extensions with their configuration across all gnome installations.
Windows
- PaperWM - Tiled scrollable window management.
Docks and Panels
- Dash-to-Dock - A fully-featured dock.
Audio
- Application Volume Mixer - Control volume output per-application.
- Sound Input & Output Device Chooser - Quickly switch between different input and output devices.
Usage Experience
- Custom Hot Corners - Extended - Customize hot corners.
- Simple Off Menu - Removes selected power options from system menu.
- Coverflow Alt-Tab - Advanced fullscreen app switcher.
- Just Perfection - Customize GNOME Shell.
Visual Changes
- Blur-my-shell - Apply a blur effect to the overview and top panel background.
- Transparent Shell - Makes some UI elements transparent.
- Compiz alike windows effect - Adds wobbly effects to windows.
Services integration
- GMail Message Tray - Integrate GMail with your desktop.
Look and Feel
Icons
Upstream Style
- GNOME++ - Third-party application icons compatible with GNOME's current guidelines.
- Pop! - Official icon theme of Pop!_OS by System76.
Material Icons
Flat Icons
- La Capitaine - Icon inspired by macOS and Material Design guidelines.
Homogeneous Icons
- Obsidian - Continuation of the famous Faenza theme.
- Numix Circle - Flat rounded icon theme.
- Numix Square - Flat square icon theme.
Skeumorphic Icons
- Elementary XFCE - Desktop-agnostic version of the icons of elementary OS.
Cursors
- ComixCursors - X11 mouse theme with a comics feeling.
- Bibata - Silm material-based cursor theme.
- Capitaine Cursors - An x-cursor theme inspired by macOS and based on KDE Breeze. Designed to be paired with La Capitaine icons.
Community
Official Venues
- GNOME News Feed - Official news posts.
- This Week in GNOME - Weekly news from project maintainers from the community.
- Apps for GNOME
- Planet GNOME - Federation of GNOME Developers' blogs.
- GNOME's Discourse
- GNOME Wiki
#gnomeon GIMPNet - General-purpose GNOME IRC channel (complete list of channels)
GNOME Communities
GNOME on Social Networks
@gnomeon Twitter@gnomeon floss.social@GNOMEDesktopon FacebookGNOMEDesktopon YoutubeGNOMEDesktopon Peertube
Developer Resources
Libraries
- libadwaita - Library that contain official GNOME patterns and widgets (GTK4)
- libdazzle - Companion library to GObject and Gtk+, providing various new features. (GTK3)
- libhandy - Building blocks for modern adaptive GNOME apps (GTK3)
Examples
- Hello - Set of Hello World examples for GNOME/GTK in different languages.
Documentations
- GNOME Newcomers Wiki - Perfect place to start contributing to GNOME.
- GNOME Developer Center - Contains all the official GNOME documentations.
- GTK Documentation - Official GTK documentation.
- Valadoc - Documentation about Vala.
- GJS Documentation - Documentation for the JavaScript GTK bindings.
- GJS Guide - Guide for GJS.
- The Python GTK+ 3 Tutorial - Introduction to writing GTK+ 3 applications in Python.
Awesome KDE 
A curated list of awesome apps, extensions, modules, themes and tools for the KDE Desktop Environment.
KDE is a free software community dedicated to creating an open and user-friendly computing experience, offering an advanced graphical desktop, a wide variety of applications for communication, work, education and entertainment and a platform to easily build new applications upon.
Items marked with 📌 (pushpin) are projects hosted on KDE's own infrastructure and developed by the KDE community.
Contents
Applications
Tip: An overview of the most used KDE community apps are listed on the official website.
Internet & Networking
- Akregator - Enables you to follow news sites, blogs and other RSS/Atom-enabled websites 📌.
- Falkon - QtWebEngine based cross-platform web browser 📌.
- Firefox KDE - Standalone web browser from mozilla.org with OpenSUSE patch, integrate better with KDE.
- GSConnect - A complete implementation of KDE Connect especially for GNOME Shell with Nautilus, Chrome and Firefox integration.
- KDE Connect - A project to communicate across all your devices: receive your phone notifications on your desktop computer, control your desktop from your phone, etc 📌.
- KGet - A versatile and user-friendly download manager 📌.
- KMail - KMail is the email component of Kontact, the integrated personal information manager from KDE 📌.
- KNetworkManager - A KDE client for the back end NetworkManager software 📌.
- Konqueror - Uses the KHTML rendering engine (and optionally Webkit) so it supports the latest web standards such as HTML5, JavaScript, CSS3, and others 📌.
- Konversation - A user-friendly Internet Relay Chat (IRC) client built on the KDE Platform 📌.
- KRDC - A client application that allows you to view or control a desktop session on another machine that is running a compatible server (VNC & RDP) 📌.
- KTorrent - A BitTorrent application which allows you to download files using the BitTorrent protocol 📌.
- Otter Browser - Otter Browser aims to recreate the best aspects of the classic Opera (12.x) UI using Qt5.
- Plasma-browser-integration - A suite of new features which make Firefox, Chrome and Chromium-based browsers work with your desktop 📌.
- qBittorrent - An advanced BitTorrent client programmed in C++, based on Qt toolkit and libtorrent-rasterbar.
- Qt WebBrowser - Qt WebBrowser is a browser for embedded devices developed using the capabilities of Qt and Qt WebEngine.
- Smb4K - Advanced Network Neighborhood Browser and Samba Share Mounting Utility 📌.
Graphics & Imaging
- digiKam - Professional Photo Management with the Power of Open Source 📌.
- Gwenview - A fast and easy to use image viewer by KDE 📌.
- KColorChooser - A simple application to select the color from the screen or from a pallete 📌.
- KolourPaint - A simple painting program to quickly create raster images. It is useful as a touch-up tool and simple image editing tasks 📌.
- Krita - Painting tool designed for concept artists, illustrators, matte and texture artists, and the VFX industry 📌.
- Okular - A universal document viewer 📌.
- Spectacle - An application for capturing desktop screenshots 📌.
Multimedia
- Amarok - Amarok is a powerful music player for Linux, Unix and Windows with an intuitive interface 📌.
- Elisa - A music player developed by the KDE community that strives to be simple and nice to use 📌.
- Haruna - Open source video player built with Qt/QML and libmpv 📌.
- Kdenlive - A non-linear video editor for Linux using the MLT video framework.
- KMix - A sound channel mixer and volume control 📌.
- KWave - A sound editor built on the KDE Frameworks 5 📌.
- SMPlayer - Media player with built-in codecs that can play virtually all video and audio formats.
- VLC - A free and open source cross-platform multimedia player and framework that plays most multimedia files, and various streaming protocols.
Office & Productivity
- Calligra - Includes efficient and capable office components 📌.
- Kate - A multi-document, multi-view text editor by KDE 📌.
- Kronometer A stopwatch application for KDE 📌.
- KWrite - A text editor by KDE, based on the KDE Frameworks editor component 📌.
- RSI Break - RSIBreak can be used to remind you to take a break now and then 📌.
System Administration
- Discover - Intended for users and distros where the terminal isn't the optimal solution for installation of apps and add-ons or updates 📌.
- Dolphin - File manager included in the KDE desktop 📌.
- KDiskFree - Displays the available file devices (hard drive partitions, drives, etc.) along with information on their capacity, free space, type and mount point 📌.
- KInfoCenter - A utility that provides detailed information about a computer system 📌.
- Konsole - Terminal emulator included in the KDE desktop 📌.
- Krusader - An advanced twin panel (commander style) file manager for KDE 📌.
- KSystemLog - A system log viewer tool 📌.
- Kup - A backup scheduler for KDE's Plasma desktop 📌.
- Sweeper - Sweeper helps to clean unwanted traces the user leaves on the system and to regain disk space removing unused temporary files 📌.
- Yakuake - A drop-down terminal emulator based on KDE's Konsole technology 📌.
Utilities & Tools
- Android File Transfer - Reliable MTP client with minimalistic UI.
- Ark - Archiving Tool 📌.
- fancontrol-gui - GUI for fancontrol which is part of lm_sensors.
- KDE Wallet Manager - Manage the passwords on KDE systems. The KDE wallet subsystem allows access and password management of every application that integrates with the KDE wallet 📌.
- KeePassXC - Cross-platform community-driven port of Keepass password manager.
- KFind - A standalone search tool, launched by KRunner or from your menu. It is also integrated into Konqueror as "Find File" in the "Tools" menu 📌.
- KRename - A utility to rename multiple files 📌.
- KWin-lowlatency - An attempt to reduce latency and stuttering in the popular KWin compositor used in KDE.
- KWinFT - Wayland compositor and X11 window manager.
- QtPass - A multi-platform GUI for pass.
- Wacom GUI - Python/PyQt Wacom GUI for KDE.
- Yin-Yang - Auto Night-mode for Linux.
Development & Programming
- KDevelop - A cross-platform IDE for C, C++, Python, QML/JavaScript and PHP 📌.
- Kompare - A diff/patch frontend 📌.
- Okteta - Hex Editor 📌.
- Qt Designer - Qt tool for designing and building graphical user interfaces (GUIs) with Qt Widgets.
- Umbrello - UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology 📌.
Education
- KTurtle - An educational programming environment that aims to make learning how to program as easy as possible 📌.
- LabPlot - Interactive graphing and analysis of scientific data 📌.
Customization
Note: Customizations quickly become outdated, it is recommended to look in the KDE Store or use Discover instead.
Plasma desktop
Extensions
- Bismuth - A KDE Plasma extension that lets you tile windows automatically and manage them via keyboard, just like in classical tiling window managers (i3, dwm or XMondad).
- Dynamic Wallpaper Engine - A wallpaper plugin that continuously updates the desktop background based on the current time in your location.
- Hoppla - KDE Plasma desktop widget to control Philips Hue lights.
- Kvantum - An SVG-based theme engine for Qt4/Qt5, KDE and LXQt, with an emphasis on elegance, usability and practicality.
- Latte-Dock - Latte is a dock based on Plasma frameworks that provides an elegant and intuitive experience for your tasks and plasmoids 📌.
- Places Widget - Plasma 5 widget that gives access to user places.
- Window AppMenu Applet - Plasma 5 applet in order to show the window appmenu.
- Window Title Applet - Plasma 5 applet that shows the current window title and icon in your panels.
KCM Modules and Systems
- kcm-wacomtablet - KDE GUI for the Wacom Linux Drivers 📌.
- kde-gtk-config - GTK2 and GTK3 Configurator for KDE 📌.
- kded_rotation - A small, hacky KDED module for handling automatic screen rotation on tablets and hybrid laptops.
Themes
- Adapta KDE - A port of the popular GTK theme Adapta for Plasma 5 desktop with a few additions and extras.
- Arc KDE - A port of the popular GTK theme Arc for Plasma 5 desktop with a few additions and extras.
- Breath - Breath Theme for Manjaro Linux (Plasma 5).
- Canta - A flat design theme for KDE Plasma desktop.
- ChromeOS - A materia Design theme for KDE Plasma desktop.
- Darkine KDE - Theme for KDE Plasma 5 desktop, SDDM and more.
- Fluent - A Microsoft inspired fluent Design theme for the KDE Plasma desktop.
- Helium - A translucent theme for Plasma 5.
- Hello - A compilation of various color-schemes, themes, icons and more for the KDE Plasma desktop. It is unopinionated, putting you in charge.
- Layan - A flat design theme for KDE Plasma desktop.
- Materia KDE - A port of the popular GTK theme Materia for Plasma 5 desktop with a few additions and extras.
- McMojave - A MacOSX Mojave like theme for KDE Plasma desktop.
- Orchis - A materia Design theme for KDE Plasma desktop.
- Qogir - A flat design theme for KDE Plasma desktop.
- WhiteSur - A MacOS Big Sur theme for KDE Plasma.
Qt and GTK+ Applications Appearance
- Akava-Kv - User oriented Kvantum theme for KDE.
- breeze-gtk - A GTK Theme Built to Match KDE's Breeze 📌.
- Breeze10 - A Windows 10 style windows decoration for KDE Plasma.
- BreezeBlurred - A fork of KDE Breeze window decoration written in Qt C++.
- BreezeEnhanced - A fork of KDE Breeze decoration with additional options.
- Chrome-KDE5BreezeDark - A theme for Chrome on KDE5 when using the Breeze Dark window decoration.
- KDE-Rounded-Corners - Rounds the corners of your windows.
- SierraBreeze - OSX-like window decoration for KDE Plasma written in C++.
- Sweet KDE - A dark and modern theme for KDE plasma.
- XBoomer - XP Window Decorations for KDE Plasma.
Icons
- Antu - A smooth icon theme designed for Plasma Desktop.
- Candy - Sweet gradient icons.
- Flatery - Icon theme for Linux in flat style.
- La Capitaine - Icon pack with inspiration taken from the latest iterations of macOS and Google's Material Design.
- Papirus - Material icon theme, initially based on Paper.
- Tela - A flat colorful Design icon theme.
- Zafiro - Minimalist icons created with the flat-desing technique, utilizing washed out colors and always accompanied by white. The priority is simplicity.
Cursors
- Bibata - Material Based Cursor Theme.
- Capitaine - An x-cursor theme inspired by macOS and based on KDE Breeze.
Scripts
- Grid-Tiling-Kwin - A kwin script that automatically tiles windows.
- Kröhnkite - A dynamic tiling extension for KWin.
- kwin-tiling - Tiling script for kwin.
Display Manager
- Chili - The hottest login theme around for KDE Plasma 5.
- Delicious - A delicious SDDM theme for DE collectors/addicts.
- Sugar Candy - The sweetest login theme available for the SDDM display manager.
Documentation and Resources
- KDE Wikis - The KDE wikis are a source of information and documentation for the KDE desktop, applications, teams, events and more 📌.
- KDE Invent - Discover KDE projects, groups and snippets 📌.
- KDE Bugtracker - KDE's official Bugtracker 📌.
- ArchWiki - Arch Linux KDE Wiki.
- Gentoo Wiki - Gentoo KDE Wiki.
- KDE Configs - List of KDE configuration files and more.
Articles
- KDE.news - The official KDE news website 📌.
- Planet KDE - Blogs of KDE contributors 📌.
- Phoronix - Phoronix KDE News Archives.
- Nate Graham's Blog - Adventures in Linux and KDE.
- Nico's Blog - Programmer from Germany that is working on KDE.
- Kai Uwe's Blog - Stories of a Plasma developer.
Communities
- Kreddit - KDE Community on Reddit.
- KDE Store - Official KDE Store for developers to share Plasma customizations 📌.
- Stack Overflow - Questions tagged with
kde.
License
Awesome .NET!
A collection of awesome .NET libraries, tools, frameworks, and software.
Inspired by awesome-ruby, awesome-php, awesome-python, frontend-dev-bookmarks and ruby-bookmarks.
Contributions are always welcome! Please take a look at the contribution guidelines and quality standard pages first. We accept proprietary and commercial software too.
Thanks to all contributors, you're awesome and wouldn't be possible without you! The goal is to build a categorized community-driven collection of very well-known resources.
License
To the extent possible under law, Vitali Fokin has waived all copyright and related or neighboring rights to this work.
Table of Contents
- Awesome DotNet
- Algorithms and Data Structures
- API
- Application Frameworks
- Application Templates
- Artificial Intelligence
- Assembly Manipulation
- Assets
- Authentication and Authorization
- Blazor
- Books
- Build Automation
- Business Intelligence and Reporting
- Caching
- Calendar
- Chat
- CLI
- CLR
- CMS
- Code Analysis and Metrics
- Code Snippets
- Compilers, Transpilers and Languages
- Compression
- Continuous Integration
- Cryptography
- Database
- Database Drivers
- DateTime
- Decompilation
- Deployment
- DirectX
- Distributed Computing
- DLR
- Documentation
- E-Commerce and Payments
- Environment Management
- ETL
- Event aggregator and messenger
- Exceptions
- Extensions librairies
- Functional programming
- Game
- GIS
- Git Tools
- Graphics
- GUI
- HTML and CSS
- HTTP
- IDE
- Image Processing
- Install Tools
- Internationalization
- Interoperability
- IoC
- JavaScript Engines
- Logging
- Machine Learning and Data Science
- Markdown Processors
- Mathematics
- Media
- Metrics
- Micro Framework
- Minification
- Misc
- MVVM
- Networking
- Object to object mapping
- Office
- ORM
- Package Management
- Profiler
- Protocols
- Push Notifications
- Query Builders
- Queue
- Reactive Programming
- Real-time Communications
- Regular Expression
- Scheduling
- SDK and API Clients
- Search
- Serialization
- SMS and Phone Calls
- State machines
- Static Site Generators
- Strong Naming
- Style Guide
- Template Engine
- Testing
- Tools
- Trading
- UI Automation
- Visual Studio Plugins
- Web Browsers
- Web Frameworks
- Web Servers
- WebSocket
- Windows Services
- WPF
- Parser Library
- Other Lists
- Resources
Algorithms and Data structures
- Algorithmia - Algorithm and data-structure library for .NET 3.5 and up. Algorithmia contains sophisticated algorithms and data-structures like graphs, priority queues, command, undo-redo and more.
- C# Algorithms - A C# plug-and-play class-library project of standard Data Structures and Algorithms. It contains 35+ Data Structures and 30+ Algorithms designed as Object-Oriented isolated components.
- Towel - data structures, algorithms, mathematics, metadata, extensions, console, measurements, and other useful stuff
API
- Telegram.Bot - .NET Client for Telegram Bot API
- TLSharp - It's a perfect fit for any developer who would like to send data directly to Telegram users or write own custom Telegram client.
- NancyFx - Lightweight, low-ceremony, framework for building HTTP-based services on .NET and Mono
- ASP.NET Web API - Framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices
- Breeze - API framework enabling rich data access by using the OData 3 protocol. Client libraries available for JavaScript and C#.
- Mobius: C# API for Spark - Mobius adds C# language binding to Apache Spark, enabling the implementation of Spark driver code and data processing operations in C#.
- ServiceStack - Thoughtfully architected, obscenely fast, thoroughly enjoyable web services for all
- Nelibur - Nelibur is message based web service framework on the pure WCF. Nelibur simplifies creating high-performance and message-based web services and you certainly have all the power of the WCF.
- WebAPI Contrib - Collection of open source projects to help improve your work with ASP.NET Web API
- Xamarin.Essentials - Xamarin.Essentials provides developers with cross-platform APIs for their mobile applications.
- FFImageLoading - Fast & Furious Image Loading - This Library to load images quickly & easily on Xamarin.iOS, Xamarin.Android, Xamarin.Forms, Xamarin.Mac / Xamarin.Tizen and Windows (UWP, WinRT)
- Ocelot - .NET core API Gateway
- CommandQuery - Command Query Separation for 🌐ASP.NET Core ⚡AWS Lambda ⚡Azure Functions ⚡Google Cloud Functions 🌐ASP.NET Web API 2
Application Frameworks
- .NET Boxed Framework - .NET Core Extensions and Helper NuGet packages
- ASP.NET Boilerplate - A starting point for new modern ASP.NET MVC web applications with best practices and most popular tools.
- ABP - The next generation of the ASP.NET Boilerplate web application framework.
- Butterfly Server .NET - Enables defining a Web API and Subscription API that automatically synchronizes datasets across connected clients. Allows building real-time web apps and native apps with minimal effort.
- Orleans - Orleans is a framework that provides a straight-forward approach to building distributed high-scale computing applications, without the need to learn and apply complex concurrency or other scaling patterns
- Newbe.Claptrap - This is a set of server-side development frameworks with reactive, event sourcing and Actor pattern as basic theories. On top of this, developers can develop "distributed", "scale out", and "easy to test" application more simply.
- CoreFX - The corefx repo contains the library implementation (called "CoreFX") for .NET Core. It includes System.Collections, System.IO, System.Xml and many other components.
- CSLA .NET - business layer development framework https://cslanet.com/
- Mono - Open source ECMA CLI, C#, F#, VB and .NET implementation
- Mono-Addins - Mono.Addins is a generic framework for creating extensible applications, and for creating add-ins which extend those applications
- peasy - Peasy is a middle tier framework that offers an easy to use and flexible rules engine and was designed to address common challenges such as concurrency handling, transactional support, fault tolerance, threading, scalability, async and multiple client support, and easy testability, all without a huge learning curve!
- Plastic - Plastic provides encapsulation of things like Domain, Application Rules, Business Rules or Business Logic in Application. For this, Command pattern is used.
- Signals - Signals is a .NET5 based framework which focuses on increasing the quality and productivity within development teams by providing them with tools, aspects and processes.
- Spring.Net - Spring.NET is an open source application framework that makes building enterprise .NET applications easier
- DotNetty - DotNetty is a port of Netty, asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.
- AspectCore Framework - AspectCore Framework is an Aspect-Oriented Programming based cross platform framework for .NET Core and .NET Framework. Core support for aspect-interceptor,dependency injection integration , web applications , data validation , and more.
- HopFramework - HopFramework is a framework to create projects easily applying Domain Driven Design and a lot of patterns to delivery a better solution.
- Fusion - .NET Core and Blazor library that attempts to dramatically improve the way we implement real-time and high-load services by introducing a novel kind of "computed observables" - immutable, thread-safe, and most importantly, almost invisible for developers. Samples 1 Samples 2
- silky - The Silky framework is designed to help developers quickly build a microservice development framework through simple code and configuration under the .net platform.
Application Templates
- .NET Boxed Templates - .NET project templates with batteries included, providing the minimum amount of code required to get you going faster.
- ASP.NET Core Starter Kit - backend: .NET Core, EF Core, C#; frontend: Babel, Webpack, React, CSS Modules
- ProjectScaffold - A prototypical .NET solution recommended by the F# Foundation---includes file system setup, Paket for dependencies and FAKE for build/test automation. By default, build process also compiles documentation and generates NuGet packages.
- Serene - Serenity is an ASP.NET MVC application platform designed to simplify and shorten development of data-centric business applications with a service-based architecture. Serene is a starter template to build Serenity applications.
- Side-Waffle - Large collection of useful templates for Web and Desktop development.
- Template10 - Windows 10 templates with design patterns.
- Nucleus - Vue startup application template that uses ASP.NET Core API layered architecture at the back-end and JWT based authentication
- JHipster.NET JHipster blueprint for replace orginal SpringBoot Backend by asp.net core. The main goal generator of jhipster is showcases best practices of modern web development in java. So the goal of the project is to do the same in .net. The Frontend can be generated with angular or react and soon with blazor.
Artificial Intelligence
- AIMLBot (Program#) - A small, fast, standards-compliant yet easily customizable implementation of an AIML (Artificial Intelligence Markup Language) based chatter bot in C#.
- SIML - Synthetic Intelligence Markup Language, a next generation Chatbot & Digital Assistant Language.
Assembly Manipulation
- Fody - Extensible tool for weaving .NET assemblies.
- ILRepack - Open-source alternative to ILMerge.
- Mono.Cecil - Cecil is a library to generate and inspect programs and libraries in the ECMA CIL form.
Assets
- Cassette - Manages .NET web application assets (scripts, css and templates)
- NodeAssets - Asset Manager for .NET that has live CSS updates using SignalR and can optionally leverage Node.js compilers
- Bundle Transformer - Modular extension for Microsoft ASP.NET Web Optimization Framework. Its modules supports LESS, Sass, CoffeeScript, TypeScript, Mustache, Handlebars, Autoprefixer along with a bunch of different JS and CSS minifiers.
- Bundler - Compile & Minify Less/Sass/Stylus/Css/JS/CoffeeScript/LiveScript files. Integrates with MVC and ServiceStack
- SquishIt - Lets you easily bundle some CSS and JavaScript
Authentication and Authorization
- ASP.NET Identity - New membership system for ASP.NET applications
- ASP.NET SAML - SAML authentication support for ASP.NET apps
- DotNetOpenAuth - A C# implementation of the OpenID, OAuth and InfoCard protocols
- Logibit Hawk - A F# Hawk authentication library
- IdentityModel - Helper library for identity & access control in .NET 4.5 and MVC4/Web API.
- IdentityServer - Extensible OAuth2 and OpenID Connect provider framework.
- OAuth - A very lightweight library for generating OAuth 1.0a signatures written in C#
- Stuntman - Stuntman is a library for impersonating users during development leveraging .NET Claims Identity.
Blazor
- BootstrapBlazor - A set of enterprise-class UI components based on Bootstrap and Blazor.
- ant-design-blazor - A set of enterprise-class UI components based on Ant Design and Blazor WebAssembly.
- MASA.Blazor - A set of enterprise-class UI components based on Material Design and Blazor WebAssembly.
Blockchain
- Nethermind - full Ethereum client in .NET Core
Books
- .NET Core in Action - teaches how to write applications and libraries with .NET Core. [$]
- C# in Depth - 3rd edition, 4th edition (early access) - deep dive into the details of the C# language. [$]
- CLR via C# - Dig deep and master the intricacies of the common language runtime, C#, and .NET development. [$]
- Functional Programming in C# - teaches how to best leverage the functional features of the C# language. [$]
- Functional Programming in C#, Second Edition - Real world examples and practical techniques for functional programming in C# without the jargon and theory. [$]
- Microservices in .NET Core - A comprehensive guide to building microservice systems using the .NET stack. [$]
- Dependency Injection in .NET 2nd edition - teaches you to use Dependency Injection to reduce hard-coded dependencies between application components in .NET. [$]
- ASP.NET Core in Action - teaches how to write web applications with ASP.NET Core. [$]
- ASP.NET Core in Action, Second Edition - A comprehensive guide to creating web applications with ASP.NET Core 5.0. [$]
- Entity Framework Core in Action - teaches how to use Entity Framework Core, including lighter weight data access alternatives such as Dapper. [$]
- The Little ASP.NET Core Book - A free, open-source, tutorial-based book aiming to provide a simple introduction to ASP.NET Core.
- Blazor in Action - A guide to building UIs and client-side applications using C# and .NET. [$]
- Code Like a Pro in C# - Build on your existing programming skills and upskill to professional-level C# programming. [$]
- ASP.NET Core Security - A practical and hands-on guide to securing web applications built with ASP.NET. [$]
- Microservices in .NET Second Edition - A comprehensive guide to building microservice applications using the .NET stack. [$]
- ASP.NET Core Razor Pages in Action - A comprehensive guide to how to use Razor Pages to create dynamic websites that are easy to test and scale. [$]
Build Automation
- Psake - .NET-based build automation tool written in PowerShell
- FAKE - F# Make, a cross-platform build automation system
- Invoke-Build - PowerShell build and test automation tool inspired by Psake.
- MSBuild - The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio
- Cake - Cake (C# Make) is a cross-platform build automation system with a C# DSL.
- Nake - Magic script-based C# task runner
- Nuke - Cross-platform build automation system
- FlubuCore - A cross platform build and deployment automation system for building projects and executing deployment scripts using C# code.
Business Intelligence
- FastReport - The open source report generator for .NET Core 2.x/.Net Framework 4.x. FastReport can be used in ASP.NET MVC, Web API applications.
- NReco PivotData - in-memory data aggregation/OLAP library, pivot tables generation (render to HTML, exports), ASP.NET pivot builder control [$][Free for single-deployment/non-SaaS]
Caching
- CacheCow - An ASP.NET Web API HTTP caching implementation both on client and server
- Akavache - An asynchronous, persistent key-value store
- EasyCaching - A caching library that contains basic and some advanced usages of caching which can help handle caching more easier!
- CacheManager - A common interface and abstraction layer for caching.
- Foundatio - A common interface with in memory, Redis and hybrid implementations.
- Cashew - a .NET library for caching responses easily with an
HttpClientthrough an API that is simple and elegant yet powerful. - Cache Tower - An efficient multi-layered caching system for .NET (In-Memory, Redis, Database, File etc)
- FusionCache - An easy to use, high performance and robust cache with an optional distributed 2nd layer and some advanced features, like a fail-safe mechanism and advanced timeouts management
Calendar
- iCal.NET iCal.NET is an iCalendar (RFC 5545) class library for .NET aimed at providing RFC 5545 compliance, while providing full compatibility with popular calendaring applications and libraries.
Chat
- Stream Official .NET API client for Stream Chat, a service for building chat applications.
CLI
- Appccelerate - Command Line Parser - A command-line parser with fluent definition syntax, different argument types, required and optional arguments, value restrictions, aliases, type conversion and semi-automatic usage help message composition
- Argu - Declarative CLI argument & XML configuration parser for F# applications.
- CliFx - Declarative framework for building command line interfaces.
- Typin - Simple to use declarative framework for interactive CLI applications and command line tools (direct mode) that has its roots in CliFx.
- clipr - A CLI library inspired by Python's argparse that transforms a command line into a strongly-typed object. It supports custom argument types, automated (and localized) help generation, and a variety of ways to store parsed arguments.
- CliWrap - Wrapper for command line interfaces.
- Colorful.Console - Colorful console output.
- CommandDotNet - Model your console app using C# in a composable manner. Define commands with methods. Define subcommands with properties or nested classes. Extensible parsing and command execution.
- Command Line Parser - The Command Line Parser Library offers to CLR applications a clean and concise API for manipulating command-line arguments and related tasks
- CommandLineUtils - This is a fork of Microsoft.Extensions.CommandLineUtils, which is no longer under active development.
- CsConsoleFormat - .NET C# library for advanced formatting of console output.
- Docopt - Command-line interface description language that will make you smile.
- EntryPoint - Composable CLI Argument Parser for .NET Core & .NET Framework 4.5+.
- Fluent Command Line Parser - A simple, strongly typed .NET C# command-line parser library using a fluent easy to use interface
- JustCli - That’s just a quick way to create your own command line tool.
- Gui.cs - Terminal UI toolkit for .NET.
- Power Args - PowerArgs converts command-line arguments into .NET objects that are easy to program against. It also provides a ton of optional capabilities such as argument validation, auto generated usage, tab completion, and plenty of extensibility
- ReadLine - A GNU-Readline like library for .NET/.NET Core.
- RunInfoBuilder - A unique command line parser, utilizing object trees for commands.
- SharpNetSH - A simple netsh library for C#.
- spectre.console - A library that makes it easier to create beautiful console applications.
CLR
- Runtime - Mono and CoreCLR .NET runtimes, as well as the standard library and some higher level components like
System.LinqandSystem.Text.Json.
CMS
- Composite C1 - A web CMS that focus on UX and adaptability
- mojoPortal - MojoPortal is an extensible, cross database, mobile friendly, web content management system (CMS) and web application framework written in C# ASP.NET
- N2CMS - Open source, lightweight, code-first CMS able to seamlessly integrate into any MVC project.
- Orchard - Free, open source, community-focused project aimed at delivering applications and reusable components on the ASP.NET platform
- Piranha CMS - Piranha is the fun, fast and lightweight .NET framework for developing cms-based web applications with an extra bite. It's built on ASP.NET MVC and Web Pages and is fully compatible with both Visual Studio and WebMatrix. https://piranhacms.org
- Umbraco - Umbraco is a free open source Content Management System built on the ASP.NET platform
- BetterCMS - Open Source .NET Intuitive User Interface for Developer and Publisher
- DotNetNuke - DNN Platform is our free, open source web CMS and the foundation of every professional DNN solution. Over 750,000 organizations worldwide have built websites powered by the DNN Platform.
- BlogEngine.NET - Simple but full featured ASP.NET blog
- Squidex
- Open source headless CMS and content management hub. https://squidex.io
Code Analysis and Metrics
- .NET Compiler Platform ("Roslyn") Analyzers - A number of Roslyn diagnostic analyzers initially developed to help flesh out the design and implementation of the static analysis APIs.
- NDepend - is a Visual Studio and VS Team Services extension that estimates your .NET code quality and Technical-Debt, that lets create code rules with C# LINQ syntax, visualize code structure and focus on changes and evolution. [$]
- App.Metrics - App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application and reports it's health. See the docs for me details.
- CodeMaid - Visual studio extension to cleanup, dig through and simplify C#, C++, F#, VB, PHP, JSON, XAML, XML, ASP, HTML, CSS, LESS, SCSS, JavaScript and TypeScript coding.
- StyleCop - StyleCop analyzes C# source code to enforce a set of style and consistency rules
- Gendarme - Extensible rule-based tool to find problems in .NET applications and libraries
- Metrics-Net - Capturing CLR and application-level metrics. So you know what's going on.
- AspNet.Metrics - Capturing CLR, application-level web request metrics. Middleware and extensions using Metrics-Net
- BenchmarkDotNet - Powerful .NET library for benchmarking.
- Codinion - Enhanced syntax highlighting for C# and some other "Visual" features. [$]
- NsDepCop - Static code analysis tool to enforce namespace dependency rules in C# projects.
Code Snippets
- .NET Fiddle - Write, compile and run C#, F# and VB code in the browser. The .Net equivalent of JSFiddle.
- Gistlyn - Create, run and share your executable C# GitHub Gists.
- Sharplab - Run C# code using different branches and versions of Roslyn, see the IL that was produced and examine the JIT's output.
Compilers, Transpilers and Languages
- ClojureCLR - A port of Clojure to the CLR, part of the Clojure project
- F# - The F# compiler, core library and tools - a functional programming language for safer, faster, better code writing.
- Hybridizer - CIL (C#, VB.Net, F#) to CUDA compiler. [$]
- IronScheme - R6RS Scheme compiler, runtime and many standard libraries
- JSIL - CIL to JavaScript Compiler http://jsil.org/
- Mond - A dynamically typed scripting language written in C# with a REPL, debugger, and simple embedding API.
- Mono-basic - Visual Basic Compiler and Runtime
- Nemerle - Nemerle is a high-level statically-typed programming language for the .NET platform. It offers functional, object-oriented and imperative features. It has a simple C#-like syntax and a powerful meta-programming system.
- Netjs - .NET to TypeScript and JavaScript compiler. Portable Class Libraries work great for this. You can even pass EXEs.
- P - P is a language for asynchronous event-driven programming.
- PeachPie - PeachPie is a PHP compiler and runtime for .NET and .NET Core, which allows entire PHP applications to run on the modern, secure and performant .NET and .NET Core platforms.
- Roslyn - The .NET Compiler Platform ("Roslyn") provides open-source C# and Visual Basic compilers with rich code analysis APIs. It enables building code analysis tools with the same APIs that are used by Visual Studio.
- Testura.Code - Wrapper around the Roslyn API and used for generation, saving and compiling C# code. It provides methods and helpers to generate classes, methods, statements and expressions.
- VisualFSharp - The Visual F# compiler and tools
- Fable - F# to JavaScript Compiler
- LinqOptimizer - An automatic query optimizer-compiler for Sequential and Parallel LINQ
- Roslyn-linq-rewrite - Compiles C# code by first rewriting the syntax trees of LINQ expressions using plain procedural code, minimizing allocations and dynamic dispatch.
- Iron python - A python 2 implementation that is integrated with the dot net framework.
- Amplifier.NET - Write and compile your own kernel function using C# and Amplifier will take care of running it on your favorite hardware. Amplifier allows .NET developers to easily run complex applications with intensive mathematical computation on Intel CPU/GPU, NVIDIA, AMD without writing any additional C kernel code.
Compression
- SharpCompress - SharpCompress is a compression library for .NET/Mono/Silverlight/WP7 that can unrar, un7zip, unzip, untar unbzip2 and ungzip with forward-only reading and file random access APIs. Write support for zip/tar/bzip2/gzip are implemented
- DotNetZip.Semverd - An open-source project that delivers a .NET library for handling ZIP files, and some associated tools. (fork of Unmaintained DotNetZip)
- SharpZipLib - a Zip, GZip, Tar and BZip2 library written entirely in C# for the .NET platform
- Snappy for Windows - Snappy compression library for .NET baked on P/Invoke
- Snappy.Sharp - An implementation of Google's Snappy compression algorithm in C#.
Continuous Integration
- TeamCity - Ready to work, extensible and developer-friendly build server — out of the box [$]
- MyGet - Continuous Integration and Deployment, Hosted Package Repository for NuGet, NPM, Bower and VSIX [$]
- AppVeyor - .NET Continuous Integration and Deployment as a service. [$] [Free for OSS]
Cryptography
- BouncyCastle - Together with the .Net System.Security.Cryptography, the reference implementation for cryptographic algorithms on the CLR.
- HashLib - HashLib is a collection of nearly all hash algorithms you've ever seen, it supports almost everything and is very easy to use
- libsodium-net - libsodium for .NET - A secure cryptographic library
- NaCl.Core - A managed-only cryptography library for .NET which provides modern cryptographic primitives.
- Pkcs11Interop - Managed .NET wrapper for unmanaged PKCS#11 libraries that provide access to the cryptographic hardware
- StreamCryptor - Stream encryption & decryption with libsodium and protobuf
- SecurityDriven.Inferno - .NET crypto library. Professionally audited.
- CryptoNet - .NET simple crypto library. Native c#.
Database
- BrightstarDb - BrightstarDB is a native .NET RDF triple store
- DBreeze - DBreeze Database is an open-source embedded Key-Value store
- Event Store - The open-source, functional database with Complex Event Processing in JavaScript
- LiteDB - A .NET NoSQL Document Store in a single data file - https://www.litedb.org
- RavenDB - A LINQ-enabled document database for .NET
- Marten - PostgreSQL as a document database and event store for .NET applications
- Realm Xamarin - A fast, easy-to-use alternative to SQLite & ORMs - https://realm.io/docs/dotnet/latest/
- Streamstone - Event store for Azure Table Storage
- StringDB - StringDB is a modular, key/value pair archival DB designed to consume tiny amounts of ram & produce tiny databases.
- Ignite - Distributed in-memory platform: document database with SQL and LINQ support; distributed computations; distributed services and events.
- Yessql - A .NET document database working on any RDBMS
- JsonFlatFileDataStore - Simple JSON flat file data store with support for typed and dynamic data
- Db4o-gpl - Object-oriented database, embedded and remote connections supported.
Database Drivers
- MySQL Connector - Connector/Net is a fully-managed ADO.NET driver for MySQL
- Npgsql - .NET data provider for PostgreSQL
- MongoDB - Official MongoDB C# driver
- RethinkDb.Driver - A RethinkDB database driver in C# striving for 100% ReQL API compatibility and completeness.
- ServiceStack Redis - .NET's leading C# Redis client
- StackExchange Redis - General purpose Redis client from StackExchange
- Cassandra - DataStax .NET driver for Apache Cassandra
- Couchbase - Official Couchbase .NET client library, based on the Enyim memcached client
- Firebird.NET - The .NET Data provider is written in C# and provides a high-performance, native implementation of the Firebird API
- Storage.Net - Generic storage abstractions and implementations for popular cloud storage providers like Amazon S3, Azure Service Bus, Azure Event Hub, Azure Storage, Azure Data Lake Store and many others.
- Stowage - Bloat-free zero dependency .NET cloud storage kit that supports at minimum THE major cloud providers.
Datetime
- NodaTime - Noda Time is an alternative date and time API for .NET. It helps you to think about your data more clearly, and express operations on that data more precisely. https://nodatime.org/
- DateTimeExtensions - Common Date Time operations on the form of extensions to
System.DateTime, including holidays and working days calculations on several culture locales. - Exceptionless.DateTimeExtensions - DateTimeRange, Business Day and various
DateTime,DateTimeOffset,TimeSpanextension methods.
Decompilation
- dnSpy - open-source .NET assembly browser, editor, decompiler and debugger
- ILSpy - ILSpy is the open-source .NET assembly browser and decompiler
- JustDecompile Engine - The decompilation engine of JustDecompile
- dotPeek - Free-of-charge standalone tool based on ReSharper's bundled decompiler. It can reliably decompile any .NET assembly into equivalent C# or IL code. It can create Visual Studio solutions based on the original binary files in a straight-forward way. [Proprietary] [Free]
Deployment
- Unfold - PowerShell-based deployment solution for .NET web applications
- DbUp - .NET library that helps you to deploy changes to SQL Server databases. It tracks which SQL scripts have been run already, and runs the change scripts that are needed to get your database up to date
- Octo Pack - Used to build NuGet packages of your application for deployment using tools such as Octopus Deploy
- yuniql - Free and open source schema versioning and migration tool made with .NET Core. Run migrations with plain SQL, arrange versions in ordinary folders and seed your data from CSV via stand-alone CLI (no CLR needed), Azure Pipelines, Docker or ASP.NET Core code. https://yuniql.io
DirectX
- Vortice.Windows - Cross platform .NET standard libraries for DirectX, WIC, Direct2D1, XInput, XAudio and X3DAudio
Distributed Computing
- .NEXT Raft - Raft implementation for .NET and ASP.NET Core that allows to build clustered microservices powered by distributed consensus and replication
- Orleans - Orleans is a framework that provides a straight-forward approach to building distributed high-scale computing applications, without the need to learn and apply complex concurrency or other scaling patterns. It was created by Microsoft Research.
- Orleankka - Orleankka is a functional API for Microsoft Orleans framework. It is highly suitable for scenarios where having composable, uniform communication interface is preferable, such as: CQRS, event-sourcing, re-routing, FSM, etc. Additional API available for F# called Orleankka.FSharp.
- Akka.net - Akka.NET is a port of the popular Java/Scala framework Akka to .NET. This is a community-driven port and is not affiliated with Typesafe who makes the original Java/Scala version.
- Zebus - Zebus is a lightweight, highly versatile, peer-to-peer service bus, built with CQRS principles in mind. It allows applications to communicate with each other in a fast and easy manner. Most of the complexity is hidden in the library and you can focus on writing code that matters to you, not debugging messaging code. A very fundamental base for any distributed application.
- FsShelter - F# library for authoring Apache Storm components and topologies. Offering high-level abstractions for distributed and fault-tolerant event stream processing.
- Foundatio - Pluggable foundation blocks for building distributed apps.
- MBrace - Integrated Data Scripting for the Cloud
- protoactor-dotnet - Proto Actor - Ultra fast distributed actors for Golang and C#
DLR
- cmd - C# library to run external programs in a simpler way. Demonstration of "dynamic" features of C#.
Documentation
- Sandcastle - Sandcastle Help File Builder similar to NDoc
- SourceBrowser - Source browser website generator that powers https://referencesource.microsoft.com
- Swashbuckle - Seamlessly adds a Swagger to Web API projects.
- F# Formatting - Tools for documenting F# and C# projects from F# script files, Markdown documents and inline XML or Markdown comments
- DocFX - Tools for building and publishing API documentation for .NET projects
- DocNet - Your friendly static documentation generator, using markdown files to build the content.
E-Commerce and Payments
- Paypal Merchant SDK - Official PayPal Merchant SDK for .NET
- NopCommerce - nopCommerce. Free open-source e-commerce shopping cart (ASP.NET Core)
- ServiceStack.Stripe - Typed .NET clients for stripe.com REST APIs
- SmartStoreNET - Free ASP.NET MVC e-commerce Shopping Cart Solution
- Stripe.Net - Stripe.net is a full service .NET API for https://stripe.com/
- Virto Commerce - Virto Commerce is the second generation release and is the only enterprise level e-commerce product fully available under Open Source license. Virto Commerce is based on .NET 4.5 with extensive use of MVC, IoC, EF, Azure, AngularJS and many other cutting edge technologies. It can be deployed in Microsoft Cloud (Azure), Amazon Web Services (AWS) and on-premise. https://virtocommerce.com
- SimplCommerce - Super simple ecommerce system built on .NET Core. Simple to use and easy to customize. Thanks to .NET Core, you can run the SimplCommerce on Windows, Linux. With various RDBMS: Microsoft SQL Server, PostgreSQL, MySQL
- GrandNode - Headless, multi-vendor, multi-tenant, the most advanced open source e-commerce platform based on .NET Core 5.0 and MongoDB.
- Square - The official SDK for Square payments and other Square APIs.
- Adyen - The official Adyen Payment API Library for .NET
Environment Management
- Dotnet CLI - The cross-platform .NET Core command-line toolchain utility.
ETL
- Cinchoo ETL - ETL Framework for .NET (Read / Write CSV, Flat, Xml, JSON, Key-Value formatted files)
- Reactive ETL - Reactive ETL is a rewrite of Rhino ETL using the reactive extensions for .NET
Event aggregator and messenger
- Mediator.Net - A simple mediator for .NET for sending command, publishing event and request response with pipelines supported
- MediatR - Simple, unambitious mediator implementation in .NET
- Rx Event Aggregator - Super-simple Reactive-Extension code from Reactive.EventAggregator
- TinyMessenger - A lightweight event aggregator/messenger for loosely coupled communication.
- Xer.Cqrs - A simple library for creating applications based on the CQRS pattern with support for attribute routing and hosted handlers. Developed in C# targeting .NET Standard 1.0.
- FluentMediator - FluentMediator is an unobtrusive library that allows developers to build custom pipelines for Commands, Queries and Events
Exceptions
- Exceptionless - Exceptionless .NET Client
Extensions
- ExtensionMethods.Net - Site with collection of extension methods
- Z.ExtensionMethods - Over a 1000 useful extension methods
Functional programming
- Curryfy - Provides strongly typed extensions methods for C# delegates to take advantages of functional programming techniques, like currying and partial application.
- language-ext - This library uses and abuses the features of C# 6+ to provide a functional 'Base class library', that, if you squint, can look like extensions to the language itself. It also includes an 'Erlang like' process system (actors) that can optionally persist messages and state to Redis (note you can use it without Redis for in-app messaging). The process system additionally supports Rx streams of messages and state allowing for a complete system of reactive events and message dispatch.
- Optional - A robust option type for C#
- JFlepp.Maybe - A Maybe type for C#, aimed as an idiomatic port of the option type in F# to C#
- Optuple - .NET Standard Library for giving
(bool, T)Option-like semantics in a non-obtrusive way; this is, there is no new option type dependency for a library or its users. - MoreLinq - Provides extra methods to LINQ to Objects.
Game
- MonoGame - One framework for creating powerful cross-platform games
- FNA - FNA is an XNA4 reimplementation that focuses solely on developing a fully accurate XNA4 runtime for the desktop
- CocosSharp - CocosSharp is a C# implementation of the Cocos2D and Cocos3D APIs that runs on any platform where MonoGame runs
- Duality - Duality is a 2D game development framework. Focused on modularity, comes with a visual editor.
- Stride Game Engine - Stride Game Engine is a 2D/3D cross-platform game engine featuring a scene editor, particles, physically based rendering (PBR), scripting, and much more
- Wave Engine - Wave engine is a free C# component-based modern game engine which allows you to create cross-platform games supporting Kinect, Oculus Rift, Vuforia, Cardboard, Leap Motion and much more. [Free][Proprietary]
- UrhoSharp - UrhoSharp is a C# implementation of the Urho3D game engine that runs on iOS, Mac, Windows, Android and Linux systems
- Nez - Nez is a free 2D-focused framework that works with MonoGame and FNA
- BEPUphysics - BEPUphysics is a pure C# 3D physics library
- Devtodev - A full-cycle analytics solution for game developers.
- UnrealCLR - Unreal Engine .NET Core integration
- osu!framework - A 2D application/game written with amazing games in mind.
GIS
- NetTopologySuite A .NET GIS solution that is fast and reliable for the .NET platform
- SharpMap An easy-to-use mapping library for use in web and desktop applications
- OsmSharp - C# library to work with OpenStreetMap (OSM) data. Provides reading, writing and route-planning for OSM data.
- GeoJSON4EntityFramework - A library to create GeoJSON from Entity Framework Spatial Data or Well-Known Text (WKT) inputs.
- GeoJSON.NET - .Net library for GeoJSON types & corresponding Json.Net (de)serializers
- CoordinateSharp - Easily parse or convert coordinate formats and calculate location based solar/lunar information.
- DEM Net Elevation API - .Net library for Digital Elevation Models, allows 3D terrain generation in glTF / STL format.
Git Tools
- Husky.Net - Git hooks made easy with Husky.Net internal task runner, You can use it to lint your commit messages, run tests, lint code, etc... when you commit or push. supports C# scripts, gitflow hooks, Multiple file states (staged, lastCommit, glob)
- Bonobo Git Server - Bonobo Git Server for Windows is a web application you can install on your IIS and easily manage and connect to your Git repositories. https://bonobogitserver.com/
- GitExtensions - GitExtensions is a shell extension, a Visual Studio 2008/2010/2012/2013 plugin and a standalone Git repository tool. https://gitextensions.github.io/
- GitLink - let's users step through their code hosted on GitHub or BitBucket
- GitVersion - Generate a Semantic Version Number based on the state of your Git repository
- LibGit2Sharp - LibGit2Sharp brings all the might and speed of libgit2, a native Git implementation, to the managed world of .NET and Mono.
- GitRead.Net - GitRead.Net is a .NET Standard library which allows you to very easily interrogate a Git repository that you have on disk. It allows you to enumerate the commit log, count lines per file and list files changed by a commit.
- NGit - NGit is a port of JGit to C#
- posh-git - A PowerShell environment for Git
- RepoZ - A Git repository information aggregator with Windows Explorer & CLI-enhancements
- Git Credential Manager for Windows - Helps solving issues of credentials, made by Microsoft
Graphics
- LibTessDotNet - .NET port of the famous GLU Tessellator, triangulates polygons
- Oxyplot - OxyPlot is a cross-platform plotting library for .NET
- OpenTK - The Open Toolkit is an advanced, low-level C# library that wraps OpenGL, OpenCL and OpenAL
- NGraphics - NGraphics is a cross-platform library for rendering vector graphics on .NET
- Aspose.Drawing - Fully managed, cross-platform, complete 2D graphic library for drawing text, geometries, and images, with System.Drawing compatible API. [$]
- ScottPlot - A plotting library to interactively displays large datasets. Line plots, bar charts, pie graphs, scatter plots, and more. It supports WinForms, WPF, Avalonia, Console.
- LiveCharts2 - Simple, flexible, interactive & powerful charts, maps, and gauges for .Net. LiveCharts2 supports WPF, WinForms, Xamarin, Avalonia, WinUI, UWP.
- Helix Toolkit - Helix Toolkit is a collection of 3D components for .NET
- AssimpNet - A cross-platform .NET Standard wrapper for the Open Asset Importer ("Assimp"). The library enables importing, processing, and exporting of 3D models for rendering in graphics/game applications. Over 40 formats are supported for importing (e.g. OBJ, FBX, GLTF, 3DS, Collada) and a subset of those formats can be exported to (e.g. OBJ, GLTF, 3DS, Collada). Mesh processing features allow for mesh data to be generated or optimized for real-time rendering.
- Silk.NET - A cross-platform, high-performance, low-level .NET Standard wrapper for many advanced APIs such as OpenGL, OpenCL, OpenAL, OpenXR, Assimp, GLFW, as well as many others. In addition to wrapping over Native APIs, it also comes with its own Windowing and Input abstraction. This makes game and application development with Silk.NET a breeze, and has pretty much everything a 3D application developer would need.
- Veldrid - A low-level, portable graphics and compute library for .NET
- RealTimeGraphX - RealTimeGraphX is a data type agnostic, high performance plotting library for WPF, UWP and soon, Xamarin Forms.
GUI
- HandyControl - Contains some simple and commonly used WPF controls
- Lara - Lara Web Engine is a library for developing Web user interfaces in C#
- QtSharp - Mono/.NET Bindings for Qt
- Qml.Net - A cross-platform Qml/.NET integration for Mono/.NET/.NET Core
- MahApps.Metro - Toolkit for creating Metro-styled WPF apps
- Callisto - A control toolkit for Windows 8 XAML applications. Contains some UI controls to make it easier to create Windows UI style apps for the Windows Store in accordance with Windows UI guidelines.
- ObjectListView - ObjectListView is a C# wrapper around a .NET ListView. It makes the ListView much easier to use and teaches it some new tricks
- DockPanelSuite - The Visual Studio inspired docking library for .NET WinForms
- AvalonEdit - The WPF-based text editor component used in SharpDevelop
- XWT - A cross-platform UI toolkit for creating desktop applications with .NET and Mono
- Gtk# - Gtk# is a Mono/.NET binding to the cross platform Gtk+ GUI toolkit and the foundation of most GUI apps built with Mono
- MaterialDesignInXamlToolkit - Toolkit for creating Material Design styled WPF apps
- Eto.Forms - Cross-platform GUI framework for desktop and mobile applications in .NET and Mono
- Dragablz - Dragable, tearable WPF tab control (similar to Chrome) which supports layouts and is full themeable, including themese compatible with MahApps and Material Design.
- Fluent.Ribbon - Fluent Ribbon Control Suite is a library that implements an Office- and Windows 8-like Ribbon for WPF.
- Office Ribbon - A library that implements MS Office Ribbon for WinForms.
- MaterialSkin - Theming .NET WinForms, C# or VB.Net, to Google's Material Design principles.
- Xamarin.Forms - Build native UIs for iOS, Android and Windows from a single, shared C# codebase.
- SciterSharp - Create .NET cross-platform desktop apps using not just HTML, but all features of Sciter engine: CSS3, SVG, scripting, AJAX, <video>... Sciter is free for commercial use
- Empty Keys UI - Multi-platform and multi-engine XAML based user interface library [Free][Proprietary]
- UWP Community Toolkit - The UWP Community Toolkit is a collection of helper functions, custom controls, and app services. It simplifies and demonstrates common developer tasks building UWP apps for Windows 10.
- ScintillaNET - Windows Forms control for the Scintilla text editor component (Scintilla is used by Notepad++)
- FastColoredTextBox - Fast Colored TextBox is text editor component for .NET. Allows you to create custom text editor with syntax highlighting. It works well with small, medium, large and very-very large files.
- Avalonia - A multi-platform .NET UI framework (formerly known as Perspex).
- Modern UI for WPF - MUI - Set of controls and styles to convert WPF applications into a great looking Modern UI apps.
- WinApi - A simple, direct, ultra-thin CLR library for high-performance Win32 Native Interop with automation, windowing, DirectX, OpenGL and Skia helpers.
- Neutronium - Build .NET desktop applications using HTML, CSS, javascript and MVVM bindings such as with WPF.
- Ooui - A small cross-platform UI library that brings the simplicity of native UI development to the web
- AdonisUI - Lightweight UI toolkit for WPF applications offering classic but enhanced Windows visuals.
- Windows UI Library - The Windows UI Library (WinUI) provides official native Microsoft UI controls and features for Windows UWP apps.
- Bunifu UI Framework - Carefully crafted Winforms controls and components for creating stunning modern application UI. [$]
- Ookii.Dialogs.Wpf - Enable WPF applications to access common Windows dialogs such as task dialogs, credential dialog, progress dialog, folder browser dialog, and more
- Ookii.Dialogs.WinForms - Enable Windows Forms applications to access common Windows dialogs such as task dialogs, credential dialog, progress dialog, folder browser dialog, and more
- UNO Platform - The only platform for building native mobile, desktop and WebAssembly with C#, XAML from a single codebase. Open source and professionally supported. Website: platform.uno
HTML and CSS
- AngleSharp - Complete HTML5 DOM and CSS3 OM construction
- dotless - .NET port of the Ruby Less CSS lib http://www.dotlesscss.org
- ExCSS - CSS3 parser library for C#
- HtmlAgilityPack - an agile HTML parser that builds a read/write DOM and supports plain XPath or XSLT
- LibSass Host - .NET wrapper around the libSass library with the ability to support a virtual file system
- LtGt - lightweight HTML processor, can be used to parse and navigate DOM, handles CSS selectors, can convert to Linq2Xml, easily extensible, and more.
HTTP
- Tiny.RestClient - Simpliest Fluent REST client for .NET.
- Http.fs - A functional HTTP client for F#.
- RestSharp - Simple REST and HTTP API client for .NET
- Flurl - Fluent, portable, testable REST/HTTP client library
- EasyHttp - HTTP library for C#
- Refit - The automatic type-safe REST library for Xamarin and .NET
- RestEase - Easy-to-use typesafe REST API client library, which is simple and customisable. Heavily inspired by Refit
- RestLess - The automatic type-safe-reflectionless REST API client library for .Net Standard.
- HttpClientGoodies - utilities for working with
HttpClient - CoreRPC - Extensible library for WCF-like RPC targeting netstandard1.3. Compatible with .NET, Mono and .NET Core.
- WebApiClient An open source project based on the HttpClient. You only need to define the c# interface and modify the related features to invoke the client library of the remote http interface asynchronously.
IDE
- AvalonStudio - An extensible, cross platform IDE written in C# for Embedded C/C++, .NET Core, Avalonia and Typescript
- SharpDevelop - A free IDE for .NET programming languages
- MonoDevelop - MonoDevelop is a cross-platform IDE mostly aimed at Mono/.NET developers
- Visual Studio Express - The free lightweight version of Visual Studio for .NET programming.
- Visual Studio Community - A full-featured IDE
- Waf DotNetPad - A simple and fast code editor that makes fun program with C# or Visual Basic.
- Visual Studio Code - Excellent open source editor from Microsoft, based on Electron.
- Ionide - An Atom Editor and Visual Studio Code package suite for cross platform F# development.
- Rider - A cross-platform C# IDE based on the IntelliJ platform and ReSharper
- RoslynPad - A simple C# editor based on Roslyn and AvalonEdit.
- Consulo - A cross-platform IDE with C# & Java support, fork of IntelliJ IDEA Community Edition
Image Processing
- ImageResizer - Add commands to image URLs to get altered versions in milliseconds. Resizing, editing etc of images in real-time.
- ImageProcessor - Open-source .NET library to manipulate images on-the-fly.
- ImageSharp - Fully managed cross-platform library for processing of image files.
- DynamicImage - High-performance open-source image manipulation library for ASP.NET.
- MetadataExtractor - Extracts Exif, IPTC, XMP, ICC and other metadata from image files.
- Emgu CV - Cross-platform .NET wrapper for the OpenCV library.
- DotImaging - Minimalistic .NET imaging portable platform
- Magick.NET - .NET wrapper for the ImageMagick library.
- OpenCvSharp - Cross platform wrapper of OpenCV for .NET Framework.
- PixelViewer - Cross-platform (Windows/macOS/Linux) image viewer which supports reading raw Luminance/YUV/RGB/ARGB/Bayer pixels data from file and rendering it. 10/16-bit YUV and viewing image frame sequence are also supported (v1.99+).
- TeximpNet - A cross-platform .NET Standard library for reading/manipulating/writing image files. The primary focus is to create 2D/3D/Cubemap textures for graphics/game applications, notably to convert images to GPU compressed formats and generate mipmaps. The library wraps the FreeImage native library to import/export over 30 common image formats, and wraps the Nvidia Texture Tools native library for GPU compression features. It also has a fully featured DDS format importer/exporter written in C#.
- Colourful - Open source .NET library for working with color spaces.
- Imgix-CSharp - Easily update image urls to be fast and responsive. [$]
- ColorHelper - Useful methods for work with colors.
Install tools
- Wix Toolset - The most powerful set of tools available to create your Windows installation experience
- Squirrel - Squirrel is both a set of tools and a library, to completely manage both installation and updating your desktop Windows application.
- Chocolatey - like
yumorapt-get, but for Windows. - Wax - An interactive editor for WiX projects.
- Onova - An unopinionated auto-update framework for desktop applications.
Interactive programming
- .NET Interactive - .NET Interactive takes the power of .NET and embeds it into your interactive experiences.
Internationalization
- i18n - Smart internationalization for ASP.NET MVC
- MessageFormat.NET - ICU MessageFormat implementation in .NET lets you write contextual UI messages (PCL library)
- ResX Resource Manager - The most popular free tool to localize all kind of applications with resx-based resources.
Interoperability
- CppSharp - Tools to surface C++ APIs to C#
- Sharpen - Sharpen is an Eclipse plugin created by db4o that allows you to convert your Java project into C#
- CXXI - C++ interop framework
- pythonnet - Python and .NET interop framework
- PInvoke Interop Assistant - Converts C to managed P/Invoke signatures or verse visa.
- pinvoke - A library containing P/Invoke code for latest Windows OS.
- LegacyWrapper - LegacyWrapper uses a wrapper process to call DLLs from a process of the opposing architecture (x86 or AMD64).
- Pyrolite - This library allows your Java or .NET program to interface very easily with the Python world. It uses the Pyro protocol to call methods on remote objects.
IoC
- Castle Windsor - Castle Windsor is best of breed, mature Inversion of Control container available for .NET and Silverlight
- Unity - Lightweight extensible dependency injection container with support for constructor, property, and method call injection
- Autofac - An addictive .NET IoC container
- DryIoc - Simple, fast all fully featured IoC container.
- Ninject - The ninja of .NET dependency injectors
- Spring.Net - Spring.NET is an open source application framework that makes building enterprise .NET applications easier
- Lamar - A fast IoC container heavily optimized for usage within ASP.NET Core and other .NET server side applications.
- LightInject - A ultra lightweight IoC container
- Simple Injector - Simple Injector is an easy-to-use Dependency Injection (DI) library for .NET 4+ that supports Silverlight 4+, Windows Phone 8, Windows 8 including Universal apps and Mono.
- Microsoft.Extensions.DependencyInjection - The default IoC container for ASP.NET Core applications.
- Scrutor - Assembly scanning extensions for Microsoft.Extensions.DependencyInjection.
- VS MEF - Managed Extensibility Framework (MEF) implementation used by Visual Studio.
- TinyIoC - An easy to use, hassle free, Inversion of Control Container for small projects, libraries and beginners alike.
- Stashbox - A lightweight, portable dependency injection framework for .NET based solutions.
JavaScript Engines
- ClearScript - A library that makes it easy to add scripting to your .NET applications. It currently supports JavaScript (via V8 and JScript) and VBScript.
- Edge.js - Run .NET and Node.js code in-process on Windows, macOS, and Linux
- Jint - JavaScript interpreter for .NET which provides full ECMA 5.1 compliance and can run on any .NET platform.
- Jurassic - A implementation of the ECMAScript language and runtime. It aims to provide the best performing and most standards-compliant implementation of JavaScript for .NET.
- YantraJS - JavaScript Runtime (Similar to NodeJS) for .NET Standard, compiles JavaScript to IL, support for many ES6 features, generators, CommonJS modules, CSX modules and expression compiler.
Logging
- Essential Diagnostics - Extends the inbuilt features of System.Diagnostics namespace to provide flexible logging
- NLog - NLog - Advanced .NET and Silverlight logging
- Logazmic - Open source NLog viewer for Windows
- ELMAH - Official ELMAH site
- Elmah MVC - Elmah for MVC
- Logary - Logary is a high performance, multi-target logging, metric, tracing and health-check library for Mono and .NET. .NET's answer to DropWizard. Supports many targets, built for micro-services.
- Log4Net - The Apache log4net library is a tool to help the programmer output log statements to a variety of output targets
- Rollbar.NET - Simplifies real-time remote error monitoring while using Rollbar.com. Open-source Rollbar Notifier SDK for any .NET-based technology stack. The SDK that can be used in any application built on the following .NET versions: .NET Core 2.0+, .NET Standard 2.0+, .NET Full Framework 4.5.1+, Mono, Xamarin, and, in general, any implementation of the .NET Standard 2.0+. It simplifies building data payloads based on exception data, tracing data, informational messages, and telemetry data and sends the payloads to the Rollbar API for remote monitoring and analysis of the hosting application's behavior.
- Sejil - Capture, view and filter your ASP.NET Core app's logs right from your app. It supports structured logging, querying as well as saving log queries.
- Sentry - .NET SDK for Sentry Open-source error tracking that helps developers monitor and fix crashes in real time..
- Serilog - A no-nonsense logging library for the NoSQL era. Combines the best of traditional and structured diagnostic logging in an easy-to-use package.
- StackExchange.Exceptional - Error handler used for the Stack Exchange network
- Semantic Logging Application Block (SLAB) - Extends the inbuilt features of System.Diagnostics.Tracing namespace (EventSource class) to log to several sinks including Azure Tables, Databases, files (JSON, XML, text). Supports in-process and out-of-process logging through ETW, and Rx for real-time filtering/aggregating of events.
- ULogViewer - Cross-Platform (Windows/macOS/Linux) Universal Log Viewer which supports reading and parsing various type of logs. You can also define your own profile to parse and show logs.
- Foundatio - A fluent logging API that can be used to log messages throughout your application.
- Exceptionless - Exceptionless .NET Client
- Loupe - Centralized .NET logging and monitoring. [Proprietary] [Free Tier]
- elmah.io - Cloud logging for .NET web applications using ELMAH. Find bugs before you go live. Powerful search, API, integration with Slack, GitHub, Visual Studio and more. [Free for OSS] [$]
- BugSnag - Logs errors. Includes useful diagnostic info like stack trace, session, release, etc. Has a free tier. [Free for OSS][$]
- ZeroLog - ZeroLog is a zero-allocation .NET logging library. It provides basic logging capabilities to be used in latency-sensitive applications, where garbage collections are undesirable.
Machine Learning and Data Science
- Infer.NET - A framework for running Bayesian inference in graphical models. It can also be used for probabilistic programming.
- Accord.NET - Machine learning framework combined with audio and image processing libraries (computer vision, computer audition, signal processing and statistics).
- Accord.NET Extensions - Advanced image processing and computer vision algorithms made as fluent extensions.
- AForge.NET - Framework for developers and researchers in the fields of Computer Vision and Artificial Intelligence (image processing, neural networks, genetic algorithms, machine learning, robotics).
- Catalyst Cross-platform Natural Language Processing (NLP) library inspired by spaCy, with pre-trained models, out-of-the box support for training word and document embeddings, and flexible entity recognition models. Part of the SciSharp Stack
- Deedle - Data frame and (time) series library for exploratory data manipulation with C# and F# support
- FsLab - A collection of data science and machine learning libraries for F# and .NET
- GeneticSharp - Multi-platform genetic algorithm library for .NET Core and .NET Framework. The library has several implementations of GA operators, like: selection, crossover, mutation, reinsertion and termination.
- numl - Designed to include the most popular supervised and unsupervised learning algorithms while minimizing the friction involved with creating the predictive models.
- ML.NET - Cross-platform open-source machine learning framework which makes machine learning accessible to .NET developers.
- R Provider - Type provider that exposes R packages and functions in a type-safe way to F# callers
- F# Data - F# type providers for accessing XML, JSON, CSV and HTML files (based on sample documents) and for accessing WorldBank data
- Spreads - Series and Panels for Real-time and Exploratory Analysis of Data Streams. Spreads library is optimized for performance and memory usage. It is several times faster than other open source projects.
- SciSharp STACK - A rich machine learning ecosystem for .NET created by porting the most popular Python libraries to C#.
- Synapses - An in-memory neural network library written in F#.
- m2cgen - A CLI tool to transpile trained classic ML models into a native .NET (C#, F# or Visual Basic) code with zero dependencies.
Markdown Processors
- MarkdownSharp - Open source C# implementation of Markdown processor, as featured on Stack Overflow.
- F# Formatting - Tools for documenting F# and C# projects. The library contains extensible Markdown parser as a core component.
- CommonMark.NET - Implementation of CommonMark specification in C# for converting Markdown documents to HTML. Optimized for maximum performance and portability.
- markdig - A fast, powerful, CommonMark compliant, extensible Markdown processor for .NET.
- FluentEmail - A fluent wrapper for System.Net.Mail with Razor templating support.
- MailKit - A complete cross-platform mail stack including IMAP, POP3, SMTP, authentication and more. Built on top of MimeKit.
- MimeKit - A cross-platform .NET MIME creation and parser library with support for S/MIME, PGP, TNEF and Unix mbox spools.
- PreMailer.Net - C# library that moves your stylesheets to inline style attributes, for maximum compatibility with e-mail clients.
- StrongGrid - Client for SendGrid's v3 API. Not only allows you to send emails, but also allows you to bulk import contacts, manage lists and segments, create custom fields for your lists, etc. Also includes a parser for SendGrid Webhooks.
Mathematics
- MathNet - Math.NET is an open source initiative to build and maintain toolkits covering fundamental mathematics, targeting advanced but also every day needs of .NET developers
- Microsoft Automatic Graph Layout - A set of tools for graph layout and viewing.
- UnitConversion - Expansible Unit Conversion Library for .NET Core and .NET Framework
- ALGLIB - ALGLIB is a cross-platform numerical analysis and data processing library. It supports several programming languages (C++, C#, Delphi) and several operating systems (Windows and POSIX, including Linux) [Proprietary] and [Free Edition]
- AutoDiff - AutoDiff is a library for quickly computing gradients of functions defined by expressions. Mainly useful in numerical optimization
- GeometRi - Simple and lightweight computational geometry library for .Net
- Rationals - Implementation of rational number arithmetic for .NET with arbitrary precision.
- MKL.NET - A simple cross platform .NET API for Intel MKL.
- AngouriMath - An open-source symbolic/computer algebra library, made primarily for C# and F#. It covers a range of features and might be considered as an alternative to SymPy in .NET.
- Vim.Math3d - A feature-rich cross-platform replacement for System.Numerics with support for consistent serialization and binary layout, and additional structures and algorithms for efficient 3D Math.
- WPF-Math - a .NET library for rendering mathematical formulae using the LaTeX typesetting style, for the WPF framework
Media
- CSCore - An advanced audio library, supporting playback/recording, decoding/encoding and processing of audio data in realtime (effects, visualizations, ...).
- TagLib# - TagLib# (aka taglib-sharp) is a library for reading and writing metadata in media files, including video, audio, and photo formats
- LibVLCSharp - Xamarin bindings for libvlc, the multimedia framework powering the VLC applications made by VideoLAN.
- NAudio - Playback, decode and encode audio in a variety of file formats such as MP3, MP4, WAV, AIFF, Speex, etc.
- Xabe.FFmpeg - .NET Standard wrapper for FFmpeg. It allows to process media without know how FFmpeg works, and can be used to pass customized arguments to FFmpeg from C# application. [$]
- SeeShark - Cross-platform camera library for .NET using FFmpeg supporting over 190 pixel formats
Metrics
- C# StatsD Client - C# client for Etsy's StatsD
- Foundatio - A common interface with in-memory, Redis, StatsD, and Metrics.NET implementations.
Micro Framework
- .NET Micro Framework Interpreter - Microsoft® .NET Micro Framework (NETMF) for developing embedded applications on small devices using Visual Studio
Minification
- Microsoft Ajax Minifier - Contains JS and CSS minifiers which have a highest performance, because its have been specifically designed for .NET. Optionally produce Source Maps for JS code.
- Web Markup Minifier - .NET library that contains a set of markup minifiers. The objective of this project is to improve the performance of web applications by reducing the size of HTML, XHTML and XML code.
- CompressedStaticFiles - Send compressed static files to the browser without having to compress on demand, also has support for sending more advanced image formats when the browser indicates that i has support for it.
Misc
- CSharp Pad - A web-based C# REPL with awesome code completion.
- AzureCrawler - Take HTML Snapshots for your Angular, Ember, Durandal or any JavaScript applications
- CSScript - CS-Script is a CLR based scripting system which uses C# as a programming language. CS-Script currently targets Microsoft implementation of CLR (.NET 2.0/3.0/3.5/4.0/4.5) with full support on Mono. Comes with many additional features, such as script hosting.
- CsvHelper - Library to help reading and writing CSV files https://github.com/JoshClose/CsvHelper
- RecordParser - Library to help reading and writing CSV and Flat files with zero heap allocation.
- Hashids.net - Generate short unique ids from integers, as per https://hashids.org
- ConsoleTableExt - Fluent library to create table for .Net console application.
- FlatMapper - A library to import and export data from and to plain text files in a LINQ-compatible way.
- FluentValidation - A small validation library for .NET that uses a fluent interface and lambda expressions for building validation rules.
- FormHelper - Form & Validation Helper for ASP.NET Core. Form Helper helps you to create ajax forms and validations without writing any javascript code. (Compatible with Fluent Validation)
- Guard - A high-performance, extensible argument validation library.
- Valit - Valit is dead simple, fluent validation for .NET Core.
- Validot - Validot is a performance-first, compact library for advanced model validation. Using a simple declarative fluent interface, it efficiently handles classes, structs, nested members, collections, nullables, plus any relation or combination of them. It also supports translations, custom logic extensions with tests, and DI containers.
- Humanizer - Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities
- LINQPad - a C#/VB/F# scratchpad that instantly executes any expression, statement block or program with rich output formatting and a wealth of features. Also lets you interactively query databases in LINQ. [$]
- LINQPad.QueryPlanVisualizer - View SQL Server and Postgres query plans directly inside LINQPad.
- Polly - Express transient-exception-handling and resilience policies such as Retry, Wait-and-Retry, Circuit Breaker, and Bulkhead Isolation in a fluent manner. Fully thread-safe and full async support. (4.0 / 4.5 / .NET Core / .NET Standard / Xamarin).
- Rant - The Rant Procedural Text Generation DSL
- ScriptCS - Write C# apps with a text editor, NuGet and the power of Roslyn!
- Shielded - Software Transactional Memory (STM) implementation for .NET
- MSBuild ILMerge task - MSBuild ILMerge task is a NuGet package allows you to use the famous ILMerge utility in automated builds and/or Visual Studio projects.
- ReactJS.NET - ReactJS.NET is a library that makes it easier to use Babel along with Facebook's React and JSX from C#.
- Aeron.NET - Efficient reliable UDP unicast, UDP multicast, and IPC message transport - .NET port of Aeron
- TypeShape - TypeShape is a small, extensible F# library for practical generic programming
- Streams - A lightweight F#/C# library for efficient functional-style pipelines on streams of data.
- Warden - Define "health checks" for your applications, resources and infrastructure. Keep your Warden on the watch
- ByteSize - ByteSize is a utility class that makes byte size representation in code easier by removing ambiguity of the value being represented. ByteSize is to bytes what System.TimeSpan is to time.
- Jot - a library for persisting and restoring application state (a better alternative to .settings files).
- Enums.NET - Enums.NET is a high-performance type-safe .NET enum utility library
- HidLibrary - This library enables you to enumerate and communicate with Hid compatible USB devices in .NET.
- SystemWrapper - SystemWrapper is .NET library for easier testing of system APIs.
- YoutubeExplode - Ultimate library for extracting metadata and downloading Youtube videos and playlists.
- DeviceId - Generate a 'device ID' that can be used to uniquely identify a computer.
- DeviceDetector.NET - The Universal Device Detection library will parse any User Agent and detect the browser, operating system, device used (desktop, tablet, mobile, tv, cars, console, etc.), brand and model.
- NaturalSort.Extension - Extension method for StringComparer that adds support for natural sorting (e.g. "abc1", "abc2", "abc10" instead of "abc1", "abc10", "abc2").
- Coravel Near-zero config .NET Core library that makes Task Scheduling, Caching, Queuing, Mailing, Event Broadcasting (and more) a breeze!
- Quickenshtein - An extremely quick and memory efficient Levenshtein Distance calculator with SIMD and Threading support
- Infinity Crawler - A simple but powerful web crawler library for .NET
- Build Versioning - Simple build versioning for .NET, powered by Git tags
MVVM
- Community Toolkit - Collection of control & helper libraries and samples for various .NET technologies. Contains modern MVVM library, supported by Microsoft. Includes Windows Community Toolkit, MAUI Community Toolkit, and Dotnet Community Toolkit.
- Caliburn.Micro - A small, yet powerful framework, designed for building applications across all XAML platforms. Its strong support for MV* patterns will enable you to build your solution quickly, without the need to sacrifice code quality or testability.
- MVVM Light Toolkit - The main purpose of the toolkit is to accelerate the creation and development of MVVM applications in WPF, Silverlight, Windows Store (RT) and for Windows Phone
- Catel - Catel is an application development platform with the focus on MVVM (WPF, Silverlight, Windows Phone and WinRT) and MVC (ASP.NET MVC). The core of Catel contains an IoC container, models, validation, memento, message mediator, argument checking, etc.
- UpdateControls - Update Controls does not require that you implement
INotifyPropertyChangedor declare aDependencyProperty. It connects controls directly to CLR properties. This makes it perfect for the Model/View/ViewModel pattern. - ReactiveUI - An MVVM framework for .NET that integrates the Reactive Extensions (Rx) framework, enabling developers to build elegant, testable applications using WPF, Windows Store Apps, WP8 or Xamarin.
- Okra App Framework - An app centric MVVM framework for Windows 8.1 built with dependency injection in mind, including a full set of Visual Studio MVVM templates.
- Prism - A cross-platform desktop and mobile MVVM development framework.
- Win Application Framework (WAF) - A lightweight Framework that helps you to create well structured WPF and UWP Applications. It supports you in applying a Layered Architecture and the Model-View-ViewModel pattern.
- MVVMCross - Cross-platform mvvm mobile development framework for WPF, Silverlight for WP7 and WP8, Mono for Android, MonoTouch for iOS, Windows Universal projects (WPA8.1 and Windows 8.1 Store apps). Makes extensive use of Portable Class Libraries (PCL) to provide maintainable cross platform C# native applications.
- Stylet - Minimal MVVM framework inspired by Caliburn Micro, with good documentation, high test coverage, and its own IoC container
- Gemini - IDE framework similar in concept to the Visual Studio Shell. Built on WPF, AvalonDock, and Caliburn Micro.
- Toms Toolbox - Visual Composition framework to easily build modularized MVVM applications based on the Managed Extensibility Framework (MEF).
- MVVM Dialogs - Framework simplifying the concept of opening dialogs from a view model when using MVVM in WPF or UWP.
- Smaragd - A platform-independent, lightweight library for developing .NET applications using the MVVM architecture.
- EBind - A concise, fast and feature-rich .NET data binding solution.
Networking
- NetCoreServer - Ultra fast and low latency asynchronous socket server & client C# .NET Core library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution (NETStandard).
- SharpPcap - Fully managed, cross platform (Windows, Mac, Linux) .NET library for capturing packets from live and file based devices.
Object to object mapping
- AutoMapper - A convention-based object-object mapper in .NET. https://automapper.org
- TinyMapper - A tiny and quick object mapper for .NET.
- ExpressMapper - A lightweight, lighting fast .NET mapper to map one type of object(s) to another in automated and easy way. ExpressMapper relies completely on the expression trees.
- AgileMapper - A zero-configuration Object-Object mapper supporting .NET Standard 1.0
- Mapster - A high performance object mapper in .net
Office
- ExcelDna - ExcelDna makes it easier to create and deploy Excel Add-Ins using C#, F# or VB .NET
- ClosedXML - ClosedXML makes it easier for developers to create Excel 2007/2010 files
- NPOI - This project is the .NET version of POI Java project at https://poi.apache.org/.
- EPPlus - EPPlus is a .NET library that reads and writes Excel 2007/2010 files using the Open Office XML format (xlsx).
- Open XML SDK - The Open XML SDK provides open-source libraries for working with Open XML Documents (DOCX, XLSX, and PPTX).
- DocX - DocX is a .NET library that allows developers to manipulate Word 2007/2010/2013 files, it does not require Microsoft Word or Office to be installed.
- ExcelDataReader - Lightweight and fast library written in C# for reading Microsoft Excel files (2.0-2007).
- NetOffice - .NET wrapper assemblies for Microsoft Office applications.
- GemBox.Bundle - A package of .NET components that enable fast, simple and efficient processing of office files (Excel, Word, PowerPoint, PDF and emails). [$][Free Lite versions]
- Outlook Redemption - Library to work with the Outlook Object Model and (Extended) MAPI. Supports Outlook 98 - 2019. Work with objects/mails/accounts/folders in Exchange and Outlook. [$]
- ShapeCrawler - A fluent API for the processing of PowerPoint presentations without Microsoft Office installed.
- MiniExcel - A micro Excel helper avoids OOM and high performance to create/mapping/template-fill-data.
- Toxy - .NET text extraction framework supports a few file formats
ORM
- Entity Framework 6 - Object-relational mapper that enables .NET developers to work with relational data using domain-specific objects
- Entity Framework Core - Object-relational mapper that enables .NET developers to work with relational data using domain-specific objects
- EntityFramework.Exceptions - Use typed Exceptions for Entity Framework Core when your SQL query violates database constraints in SqlServer, MySql, PostgreSQL or SQLite
- Dapper - A simple object mapper for .NET by StackExchange
- Dapper Extensions - Small library that complements Dapper by adding basic CRUD operations (Get, Insert, Update, Delete) for your POCOs
- Dapper.FastCRUD - The fastest micro-ORM extension for Dapper
- SqlSugar - Another ORM library supports many RDBMS including MySql, SqlServer, Sqlite, Oracle, Postgresql
- FreeSql - a convenient ORM in dotnet, supports MySql, SqlServer, PostgreSQL, Oracle, Sqlite, Firebird, 达梦, 人大金仓, 神舟通用, 翰高 and Access.
- NHibernate - NHibernate Object Relational Mapper
- Fluent NHibernate - Fluent, XML-less, compile safe, automated, convention-based mappings for NHibernate.
- FluentMigrator - Fluent Migrations framework for .net
- ServiceStack.OrmLite - Light, simple and fast convention-based POCO ORM [Free for OSS] [$]
- Massive - A small, happy, data access tool that will love you forever.
- LINQ to DB - The fastest LINQ database access library offering a simple, light, fast, and type-safe layer between your POCO objects and your database.
- MicroLite ORM MicroLite ORM is a micro Object Relational Mapper for the .NET framework. It is designed to be easy to use, extensible and testable.
- PetaPoco - A tiny ORM-ish thing for your POCOs
- AsyncPoco - A long-"awaited" fully asynchronous PetaPoco fork
- NPoco - Simple microORM that maps the results of a query onto a POCO object. Based on Schotime's branch of PetaPoco
- Limebean - Hybrid ORM which uses SQL fragments and doesn't require Model Classes.
- LLBLGen Pro - Entity Modeling solution for Entity Framework, NHibernate, Linq to SQL and its own ORM framework: LLBLGen Pro Runtime Framework. [$][Free Lite version]
- Insight.Database - Insight.Database is a fast, lightweight, micro-ORM for .NET
- DbExtensions - Data-access framework with a strong focus on query composition, granularity and code aesthetics.
- SmartSql - SmartSql = MyBatis + Cache(Memory | Redis)+ ZooKeeper + R / W Splitting + Dynamic Repository ....
- RepoDb - A hybrid ORM library for .NET.
- Venflow - A super fast and lightweight ORM for PostgreSQL.
- MongoFramework - An "Entity Framework"-like interface for MongoDB
Package Management
- NuGet - The .NET package manager
- BaGet - A cross-platform, lightweight NuGet and Symbol server
- Cloudsmith - A fully managed package management SaaS, with support for NuGet, Npm, Docker and much more. [Free for Public/OSS] [$]
- MyGet - Hosted Package Repository for NuGet, NPM, Bower and VSIX. Also provides CI as-a-Service. [$]
- Paket - A package dependency manager for .NET with support for NuGet packages and GitHub repositories. https://fsprojects.github.io/Paket/
- Sleet - A NuGet v3 static feed generator with support for AWS S3 and Azure Storage
- Cloudmersive PDF - Cloudmersive PDF is a native .NET Framework and .NET Core NuGet library and API service that can create, modify, encrypt or convert PDF documents at high scale and fidelity; and is free to use with no expiration [Free]
- Docotic.Pdf - PDF library to create, read, edit, draw, and print PDF documents in .NET and .NET Core applications. 100% managed, without unsafe blocks. [$] [Free for OSS]
- ITextSharp - iText is a PDF library that allows you to CREATE, ADAPT, INSPECT and MAINTAIN documents in the Portable Document Format (PDF)[$] [Free for OSS]
- PdfiumViewer - PdfiumViewer is a PDF viewer based on the PDFium project.
- WkhtmlToPdf - C# wrapper around wkhtmltopdf console utility. Allow to generate preety PDF using HTML and CSS.
- Pdfium.Net SDK - Advanced C# PDF library for render, create, edit, merge, split, print, and view PDFs. Open source PDF Viewer is available on GitHub. A NuGet package is also available for easy inclusion into your projects.[$]
- PdfPig - Read and create and extract text and other content from PDFs in C# (port of PdfBox)
- QuestPDF - QuestPDF is an open-source, modern and battle-tested library that can help you with generating PDF documents by offering friendly, discoverable and predictable C# fluent API.
Profiler
- MiniProfiler - A simple but effective mini-profiler for ASP.NET websites
- Glimpse - The open source diagnostics platform for the web
- Unchase.FluentPerformanceMeter - An open-source and cross-platform .Net Standard 2.0 library that is designed for the method’s performance measurement.
Protocols
- SSH.NET - A Secure Shell (SSH) library for .NET, optimized for parallelism. Provides SSH commands, SFTP/SCP uploads and downloads, and SOCKS4/SOCKS5/HTTP proxies.
- FluentFTP - An FTP and FTPS library for .NET, optimized for speed. Provides extensive FTP commands, file uploads/downloads and FTP proxies.
- SharpSnmpLib - An open source SNMP implementation for .NET/Mono/Xamarin. Versioin 1, 2c, and 3 are supported.
- DNS - A library for parsing and serializing DNS messages. Includes a basic DNS client and server.
- DnsClient.NET - A simple yet very powerful and high performant open source library for the .NET Framework to do DNS lookups.
- Tecan SiLA2 SDK - A library and code generator to develop SiLA2 clients and servers.
Push Notifications
- PushSharp - A server-side library for sending Push Notifications to iOS, OSX, Android, Chrome, Windows Phone, Windows 8, Blackberry, and Amazon devices.
Query Builders
- SqlKata - Elegant SQL query builder, that supports complex queries, joins, sub queries, nested where conditions, vendor engine targets and more
Queue
- CAP - An EventBus with local persistent message functionality for RabbitMQ or Kafka.
- NServiceBus - The most popular service bus for .NET
- Gofer.NET - Easy C# API for Distributed Background Tasks/Jobs for .NET Core. Inspired by celery for python.
- Hangfire - Incredibly easy way to perform fire-and-forget, delayed and recurring tasks inside ASP.NET applications
- RabbitMQ.NET - Implementation of an AMQP client library for C#, and a binding exposing AMQP services via WCF
- NetMQ - NetMQ is 100% native C# port of ZeroMQ
- MassTransit - MassTransit is lean service bus implementation for building loosely coupled applications using the .NET Framework.
- Rebus - Rebus is a lean service bus implementation for .NET, similar in nature to NServiceBus and MassTransit, only leaner
- RestBus - A service-oriented .NET messaging library for RabbitMQ.
- RawRabbit - A modern .NET Core library for RabbitMQ.
- EasyNetQ - An easy to use .NET API for RabbitMQ
- Warewolf ESB - An easy to use service bus and microservices platform. Easily build applications and services in a visual IDE.
- Confluent's .NET Client - Confluent's .NET Client for Apache Kafka.
- Foundatio - A common interface with in-memory, Redis and Azure implementations.
- Kafunk - F# Kafka client from Jet
- Brighter - Command Dispatcher, Processor, and Distributed Task Queue https://www.goparamore.io/
- Silverback - A simple but feature-rich message bus for .NET core (supports Kafka, RabbitMQ and MQTT).
Reactive Programming
- Rx.NET - The Reactive Extensions (Rx) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators
- Dynamic Data - Reactive Extensions (Rx) for collections
- ObsevableComputations - A cross-platform .NET library for computations whose arguments and results are objects that implement INotifyPropertyChanged and INotifyCollectionChanged (ObservableCollection) interfaces.
Real-time Communications
- SIPSorcery - A cross platform C# .NET library supporting SIP, VoIP and WebRTC.
Regular Expression
- RegExtract - Clean & simple idiomatic C# RegEx-based line parser that emits strongly typed results.
Scheduling
- FluentScheduler - Task scheduler with fluent interface that runs automated jobs from your application
- NCrontab - Class library for parsing & formatting crontab expressions as well as calculating occurrences of time based on a crontab schedule
- QuartzNet - Quartz Enterprise Scheduler .NET
- Hangfire - An easy way to perform fire-and-forget, delayed and recurring tasks inside .NET apps
- Chroniton - A simple, fully integrable, and customizable library for running strongly typed jobs (tasks) on schedules.
- DurableTask - This framework allows users to write long running persistent workflows in C# using the async/await capabilities.
- Workflow Core - Lightweight embeddable workflow engine
SDK and API Clients
- AWS SDK - The AWS SDK for .NET enables .NET developers to easily work with Amazon Web Services
- Azure PowerShell - A set of PowerShell cmdlets for developers and administrators to develop, deploy and manage Microsoft Azure applications
- Countly SDK for Windows - Windows SDK for Countly analytics and marketing platform for product and marketing managers
- Octokit.NET - A GitHub API client library for .NET
- Dropbox.NET - Official .NET SDK for the Dropbox API
- Getty Images API SDK - SDK for the Getty Images and iStock APIs
- Cloudmersive APIs - An API client library for .NET [Proprietary][Free]
Search
- Elasticsearch .NET - Elasticsearch.Net & NEST
- PlainElastic.Net - Plain .NET client for ElasticSearch
- SolrNet - Solr client for .NET
- SolrExpress - A simple and lightweight query .NET library for Solr, in a controlled, buildable and fail fast way
- Lucene.net - Lucene.Net is a port of the Lucene search engine library, written in C# and targeted at .NET runtime users
Serialization
- Ceras - Ceras is a binary serializer. It converts any object into a byte[] and back. It goes above and beyond in terms of features, speed, and comfort. Supports reference loops, large/complicated inheritance chains, splitting objects into parts and more.
- CsvExport - Very simple & lightweight CSV exporter, Excel friendly, escapes text & quotes etc.
- Protobuf.NET - Protocol buffers is the name of the binary serialization format used by Google for much of their data communications
- Json.NET - Popular high-performance JSON framework for .NET
- ServiceStack.Text - JSON, JSV and CSV Text Serializers used in servicestack.net
- Msgpack-Cli - MessagePack implementation for Common Language Infrastructure
- Jil - Fast .NET JSON serializer, built on Sigil (used by StackOverflow)
- ProtoBuf - Generate C# code for protocol buffer serialization from a .proto specification.
- FlatSharp - Fast, idiomatic FlatBuffers implementation. Use .fbs files or attributes.
- F# Data - F# type providers for accessing XML, JSON, CSV and HTML files (based on sample documents) and for accessing WorldBank data
- Bond - cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data.
- Hyperion - A high performance polymorphic serializer for the .NET framework.
- FileHelpers - free and easy to use .NET library to import or export data from fixed length or delimited records in files, strings or streams.
- FsPickler - A fast multi-format message serializer for .NET
- Migrant - Fast and flexible serialization framework usable on undecorated classes.
- Utf8Json - Fast and Zero Allocation JSON Serializer for C#(.NET, .NET Core, Unity and Xamarin), this serializer write/read directly to UTF8 binary so boostup performance.
- ObjectDumper.NET - Serializes in-memory object to C# code.
SMS and Phone calls
- Twilio-csharp - A C#/.NET Library for sending and receiving phone calls and text messages with Twilio.
State machines
- Stateless - Create state machines and lightweight state machine-based workflows directly in .NET code
- Automatonymous - A state machine library for .NET - allows you to write fluent style state machines
- LiquidState - Efficient asynchronous and synchronous state machines for .NET
Static Site Generators
- FsBlog - Blog aware, static site generation using F#
- Pretzel - A site generation tool (and then some) for .NET platforms
- Sandra.Snow - Jekyll-inspired static site generation for .NET
- Wyam - A simple to use, highly modular, and extremely configurable static content generator
Strong Naming
- Strong Namer - Automatically add strong names to referenced assemblies which do not already have a strong name. This will allow you to reference and use (NuGet packages with) assemblies which are not strong named from your projects that do use a strong name.
- .NET Assembly Strong-Name Signer - Utility software to strong-name sign .NET assemblies, including assemblies you do not have the source code for.
Style Guide
- C# Style Guide - StackOverflow Q & A on style guides
- C# Coding Conventions - Official MSDN C# code conventions
- C# Async Guidance - list of problematic asynchronous patterns for .NET Core with an explanation of how to solve those issues
Template Engine
- RazorEngine - Open source templating engine based on Microsoft's Razor parsing engine
- RazorLight - Open source template engine based on Microsoft's Razor parsing engine supporting .NET Standard 2.0
- Nustache - Open source library for logic-less templates
- Stubble - Trimmed down {{mustache}} templates in .NET. Successor of Nustache.
- DotLiquid - C# port of the Ruby Liquid templating language
- Mustache Sharp - An extension of the mustache text template engine for .NET.
- Scriban - A fast, powerful, safe and lightweight text templating language and engine for .NET
Testing
- ArchUnitNET - Simple library for checking the architecture of C# code with a fluent API.
- AutoFixture - AutoFixture is an open source framework for .NET designed to minimize the 'Arrange' phase of your unit tests
- BDTest - A behaviour driven testing and reporting framework!
- BDDfy - BDDfy is the simplest BDD framework EVER!
- Bogus - A simple and sane fake data generator for C#. Based on and ported from the famed faker.js.
- ExpressionToCode - Use plain C# syntax in assertions that include both the expression expression and subexpression values in the failure message.
- FakeItEasy - The easy mocking library for .NET https://fakeiteasy.github.io
- Fluent Assertions - A set of .NET extension methods that allow you to more naturally specify the expected outcome of a TDD or BDD-style test
- FluentAutomation - Simple Fluent API for UI Automation
- FsCheck - Random Testing for .NET.
- Fuchu - A unit-testing library for F# with tests-as-values which makes DSLs extremely easy to create.
- Machine.Specifications - Machine.Specifications (MSpec) is a context/specification framework that removes language noise and simplifies tests.
- Moq - The most popular and friendly mocking framework for .NET
- NBomber - Very simple load testing framework for Pull and Push scenarios. It's 100% written in F# and targeting .NET Core and full .NET Framework.
- NBuilder - Rapid generation of test objects
- NCrunch - An automated continuous & concurrent testing tool for Visual Studio. [$]
- NFluent - NFluent is an assertion library which aims to fluent your .NET TDD experience.
- NSubstitute - A friendly substitute for .NET mocking frameworks
- NUnit - A unit-testing framework for all .NET languages
- Rhino Mocks - Dynamic Mocking Framework for .NET
- Shouldly - Shouldly is an assertion framework which focuses on giving great error messages when the assertion fails while being simple and terse.
- Snapshooter - A snapshot testing tool for .NET Core and .NET Framework
- SpecFlow - Binding business requirements to .Net code
- Stryker.NET - Mutation testing for .NET Core projects
- xBehave.net - An xUnit.net extension for describing your tests using natural language.
- xUnit.net - A free, open source, community-focused unit testing tool for the .NET Framework.
- Canopy - Canopy is a free, open source F# web automation and testing framework
- Expecto - A smooth testing framework for F# with tests as values. Unit testing, property based testing, performance testing and stress testing.
- ReportPortal - AI-powered Test Automation Dashboard. Acquire, aggregate and analyze test reports to ascertain release health.
- Compare-Net-Objects - Perform a deep compare of any two .NET objects using reflection. Shows the differences between the two objects.
- Verify - Verification tool to enable simple approval of complex models and documents.
- CsCheck - Random testing library for C#. Including concurrency, causal profiling, regression and performance testing.
Tools
- Downloader - Fast and reliable multipart downloader with asynchronous progress events for .NET applications.
- Fiddler - The free web debugging proxy for any browser, system or platform
- Open Live Writer - Blog writer which integrated with WordPress, Blogger, et. al. Open Live Writer makes it easy to write, preview, and post to your blog.
- CodeHub - CodeHub is the best way to browse and maintain your GitHub repositories on any iOS device!
- ShareX - ShareX is a free and open source program that lets you capture or record any area of your screen and share it with a single press of a key. It also allows uploading images, text or other types of files to over 80 supported destinations you can choose from.
- Myrtille - A native HTML4/5 Remote Desktop Protocol client, HTTP gateway written in C# for .NET
- Opserver - Stack Exchange's Monitoring System
- CatLight - Build status notifications for TFS/Jenkins/Travis/Appveyor. Cross-platform desktop app based on .NET Core and Electron. [Free][Proprietary]
- Mockaco - API mock server with fast setup, useful to simulate HTTP responses, leveraging ASP.NET Core features, built-in fake data generation and C# scripting engine powered by Roslyn scripting API.
- Netling - A load tester client for easy web testing. It is extremely fast while using little CPU or memory.
- Papercut - Papercut is an open source (.NET based) test email viewer that runs locally with a built-in SMTP server designed to receive and notify of test email messages.
- Visual Studio Uninstaller - Uninstall and clean up all components of Visual Studio.
- Fake JSON Server - Fake REST API for prototyping or as a CRUD Back End. No need to define types, uses dynamic typing. Data is stored to a single JSON file. Has authentication, WebSocket notifications, async long running operations, random generation for errors/delays and experimental GraphQL support.
- posh-dotnet -
PowerShelltab completion for the dotnet CLI - SmartCode - SmartCode = IDataSource -> IBuildTask -> IOutput => Build Everything!!! (Including [Code generator])
- NETworkManager - A powerful tool for managing networks and troubleshoot network problems!
- AnyStatus - A desktop notifications app for monitoring CI/CD pipelines, servers, network, health and metrics. AnyStatus supports Azure DevOps, Jenkins, TeamCity, AppVeyor and more.
- OctoLinker - Navigate through
project.json,packages.config,*.props,*.targets, and C#/F#/VB.NET project files efficiently with the OctoLinker browser extension for GitHub. - YARP - YARP is a reverse proxy toolkit for building fast proxy servers in .NET using the infrastructure from ASP.NET and .NET.
- JSON Formatter and Validator - A blazing fast JSON formatter and validator that won't share JSON with a server.
- CSharpier - An opinionated code formatter for c# that is based on the Prettier printing process.
- UnitsNet - Makes life working with units of measurement just a little bit better.
Trading
- Lean - Lean Engine is an open-source fully managed C# algorithmic trading engine built for desktop and cloud usage. https://www.quantconnect.com/lean/
- StockSharp - Trading and algorithmic trading open source platform (stock markets, forex, bitcoins and options). https://stocksharp.com
UI Automation
- Atata - Automated web testing full featured framework based on Selenium WebDriver.
- Managed Windows API - Introspect and automate third-party Windows / VC++ applications without needing its source code.
- FlaUI - FlaUI is a .NET library which helps with automated UI testing of Windows applications (Win32, WinForms, WPF, Store Apps, ...).
- PuppeteerSharp - Puppeteer Sharp is a .NET port of the official Node.JS Puppeteer API.
- PuppeteerSharp.Contrib - Contributions to Puppeteer Sharp that provides a convenient way to write readable and robust browser tests.
Visual Studio Plugins
- Web Essentials - Web Essentials extends Visual Studio with lots of new features that web developers have been missing for many years
- VsVIM - VIM in Visual Studio
- Nuget Package Manager - NuGet is the package manager for the Microsoft development platform including .NET
- SideWaffle - A collection of Item Templates for Visual Studio 2012/2013/2015 that makes any web developer's life much easier
- Resharper - Developer Productivity Tool for Visual Studio [$]
- Refactoring Essentials - Open source extension for C# and VB.NET refactorings, including code best practice analyzers.
- CodeContracts - Source code for the CodeContracts tools for .NET
- Git Diff Margin - Displays live Git changes of the currently edited file on Visual Studio margin and scroll bar
- Productivity Power Tools - A set of extensions to Visual Studio Professional (and above) which improves developer productivity.
- Tabs Studio - Visual Studio tab manager with multiple tab rows, tab coloring and tab grouping. [$]
- VSColorOutput - Color highlighting for Build, Find and Debug output windows. Custom match patterns and colors can be added.
- CodeLineage - Easy access to a cumulative diff view between file revisions (supports svn, git, mercurial, perforce).
- OzCode - OzCode is a Visual Studio Extension which cuts down on debugging time and increases productivity by detecting and isolating bugs, making them easy to fix. [$]
- ViEmu - very powerful Vi/vim emulator for Visual Studio supporting all basic and many advanced features of vi/vim. [$]
- Roslynator - A collection of 500+ analyzers, refactorings and fixes for C#, powered by Roslyn
- Unchase.Odata.Connectedservice - A Visual Studio Connected Service for generating API client code in C# or VB for OData web service.
- Unchase.OpenAPI.Connectedservice - A Visual Studio 2017/2019 extension to generate C# (TypeScript) HttpClient (or C# Controllers) code for OpenAPI web service with NSwag.
Web Browsers
- CefSharp - HTML5, CSS3 and JS web browser powered by Chromium, for WinForms and WPF
Web Frameworks
- ASP.NET MVC - ASP.NET is a free web framework for building great web sites and applications
- Coalesce - Coalesce is a framework for rapid-development of ASP.NET Core web applications.
- FubuMVC - A front-controller style MVC framework for .NET
- NancyFx - Lightweight, low-ceremony, framework for building HTTP-based services on .NET and Mono
- IISNode - Host Node.js applications in IIS
- Suave.IO - Framework/library/web server that makes you cry tears of joy after finishing your project ahead-of-time when you look at the beautiful code you've written in F#.
- DotVVM - MVVM framework for people who don't like to write JavaScript, with OWIN and ASP.NET Core support and a free extension for Visual Studio 2015 and 2017.
- Giraffe - Functional (F#) ASP.NET Core micro framework for building rich web applications
Web Servers
- EmbedIO - Web server built on Mono and cross-platform
- XSP - Mono's ASP.NET hosting server. This module includes an Apache Module, a FastCGI module that can be hooked to other web servers as well as a standalone server used for testing (similar to Microsoft's Cassini)
WebSocket
- Fleck - Fleck is a WebSocket server implementation in C#. Branched from the Nugget project
- SignalR - Library for ASP.NET developers that makes it incredibly simple to add real-time web functionality to your applications
- SuperSocket - SuperSocket is a light weight extensible socket application framework
- Websocket-Sharp - A C# implementation of the WebSocket protocol client and server
- WebSocket4NET - WebSocket client for .NET 2.0+, Xamarin, Mono, Silverlight, Windows Phone, & WinRT
- Crossertech - Provides a great set of tools for you to build real-time applications on the Microsoft.NET plattform and much more. [$]
- WampSharp - A C# implementation of The Web Application Messaging Protocol - a protocol that provides messaging patterns of Remote Procedure Calls and Publish/Subscribe over WebSockets.
- NetGain - A high performance WebSocket server library powering Stack Overflow.
- Websockets.PCL - WebSockets.PCL is a portable class library, profile 259, C# WebSocket implementation.
- Websocket.Client - A multiplatform wrapper over native C# class ClientWebSocket with built-in reconnection and error handling.
Windows Services
- TopShelf - An easy service hosting framework for building Windows services using .NET
WPF
- Data Grid Extensions - Modular extensions for the WPF DataGrid control, like filtering, additional column events, extended star-size column behavior, and more...
- Extended WPF Toolkit™ - A rich collection of controls, components and utilities for creating WPF applications
- WPF - WPF is a .NET Core UI framework for building Windows desktop applications.
Parser Library
- Sprache - A simple, lightweight library for constructing parsers directly in C# code
- Pidgin - A lightweight, fast and flexible parsing library for C#, developed at Stack Overflow
- FParsec - A parser combinator library for F#
- Superpower - A C# parser construction toolkit with high-quality error reporting
- CSLY - A light embedded C# lexer/parser generator.
Other Lists
- .NET-libraries-that-make-your-life-easier - Open Source .NET libraries that make your life easier
- awesome-LINQ - A curated collection of awesome LINQ libraries, tools, and more.
- awesome-analyzers - A curated list of .NET Compiler Platform ("Roslyn") diagnostic analyzers and code fixes.
- C# Algorithms, Data Structures - A list of algorithms and data structures implementations.
- Awesome .NET Core - A collection of awesome .NET core libraries, tools, frameworks and software
- ASP.NET Core Library and Framework Support - A list of what .NET libraries and frameworks are currently supported by ASP.NET Core and .NET Core).
- Awesome .NET Performance - A curated list of awesome .NET Performance books, courses, trainings, conference talks, blogs and most inspiring open source contributors.
- awesome-ddd - A curated list of Domain-Driven Design (DDD), Command Query Responsibility Segregation (CQRS), Event Sourcing, and Event Storming resources
- Awesome Unity - A categorized community-driven collection of high-quality awesome Unity assets, projects, and resources.
- Awesome Xamarin - A collection of interesting libraries/tools for Xamarin mobile projects.
- Awesome Roslyn - A curated list of awesome Roslyn books, tutorials, open source projects, analyzers, code fixes, and refactorings.
- .NET Open Source Developer Projects - This community maintained list showcases .NET open source projects that are useful for any aspect of the development process.
- Awesome Microservices .NET Core - A collection of awesome training series, articles, videos, books, courses, sample projects, and tools for Microservices in .NET Core.
- Awesome .NET Core Education - A collection of awesome articles and resources for learning and practicing about .Net Core and its related technologies.
- Awesome .Net Async - A Collection of useful articles and resources to learning and practicing about async, threading, and channels in .Net platform.
- Awesome Software Architecture - A Collection of useful articles and resources to learn and practice about software architecture, patterns, and principles.
Resources
- Discover .NET - Awesome .NET open source and community resources.
- NuGet Trends - Check out NuGet packages adoption and what's trending on NuGet.
- Weekly C# Digest - Weekly email newsletter with manually curated top 5 links from the .NET community.
Awesome .NET Core 
Inspired by awesome, awesome-dotnet, awesome-nodejs, frontend-dev-bookmarks.
Contributions are always welcome! Please take a look at the contribution guidelines pages first. We accept proprietary and commercial software too.
Thanks to all contributors, you're awesome and wouldn't be possible without you! The goal is to build a categorized community-driven collection of very well-known resources.
Check out my blog or say hi on Twitter!
Contents
- General
- Frameworks, Libraries and Tools
- API
- Application Frameworks
- Application Templates
- Authentication and Authorization
- Blockchain
- Bot
- Build Automation
- Bundling and Minification
- Caching
- CMS
- Code Analysis and Metrics
- Compression
- Compilers, Transpilers and Languages
- Cryptography
- Database
- Database Drivers
- Database Tools and Utilities
- Date and Time
- Distributed Computing
- E-Commerce and Payments
- Exceptions
- Functional Programming
- Graphics
- GUI
- IDE
- Internationalization
- IOC
- Logging
- Machine Learning and Data Science
- Mathematics
- Media
- Networking
- Misc
- Office
- ORM
- Profiling
- Queue and Messaging
- Query Builders
- Scheduler and Job
- SDKs
- Security
- Searching
- Serialization
- Template Engine
- Testing
- Tools
- Web Framework
- Web Socket
- Windows Service
- Workflow
- Roadmaps
- Starter Kits
- Sample Projects
- Articles
- Books
- Videos
- Podcasts
- Community
General
- ASP.NET Core Documentation - The official ASP.NET Core documentation site.
- .NET Core Documentation - Home of the technical documentation for .NET Core, C#, F# and Visual Basic, including basic concepts, getting started instructions, tutorials and samples.
- .NET Core SDK - .NET Core SDK is a general purpose development platform maintained by Microsoft and the .NET community on GitHub.
- .NET Platform Standard - The differrent between the old version and the new version of .NET.
- Introducing .NET Standard 2.0 - The description of what will be going on for .NET Standard 2.0 and the roadmap for some missing parts of the current .NET Standard.
- Clean Code .NET/.NET Core - Clean Code concepts adapted for .NET / .NET Core.
Frameworks, Libraries and Tools
API
- autorest - Swagger (OpenAPI) Specification code generator featuring C# and Razor templates. Supports C#, Java, Node.js, TypeScript, Python and Ruby.
4.5.x or above - aspnet-api-versioning - set of libraries which add service API versioning to ASP.NET Web API, OData with ASP.NET Web API, and ASP.NET Core.
- AspNetCoreRateLimit - ASP.NET Core rate limiting middleware.
- CondenserDotNet - API Condenser / Reverse Proxy using Kestrel and Consul, Including light weight consul library.
- Flurl - Fluent URL builder and testable HTTP for .NET https://flurl.dev.
- GraphQL
- Dapper.GraphQL - A library designed to integrate the Dapper and graphql-dotnet projects with ease-of-use in mind and performance as the primary concern.
- graphql-aspnetcore - ASP.NET Core MiddleWare to create a GraphQL end-point.
- graphql-convention - This library is a complementary layer on top that allows you to automatically wrap your .NET classes into GraphQL schema definitions using existing property getters and methods as field resolvers
- graphiql-dotnet - GraphiQL middleware for ASP.NET Core.
- graphql-dotnetcore - GraphQL for .NET Core based on https://github.com/graphql/graphql-js.
- graphql-dotnet - GraphQL for .NET.
- graphql-dotnet-server - GraphQL for .NET - Subscription Transport WebSockets.
- Hot Chocolate - GraphQL server for .Net Core and .NET Framework.
- FSharp.Data.GraphQL - FSharp implementation of Facebook GraphQL query language https://fsprojects.github.io/FSharp.Data.GraphQL.
- parser - A lexer and parser for GraphQL in .NET.
- tanka-graphql - GraphQL execution and server libraries supporting SignalR, Apollo, schema manipulation and other features familiar from Apollo and graphql-js
- halcyon - HAL implementation for ASP.NET.
- JSON API .NET Core - Framework for building json:api compliant APIs with the goal of eliminating RESTful boilerplate.
- LightNode - Micro RPC/REST Framework built on OWIN http://neuecc.github.io/LightNode.
- NetCoreStack.Proxy - The type-safe, distributed REST library for .NET Standard 2.0 (NetCoreStack Flying Proxy)
- NSwag - The Swagger/OpenAPI toolchain for .NET, Web API and TypeScript. http://NSwag.org.
- OData - The Open Data Protocol (OData) enables the creation of HTTP-based data services, which allow resources identified using Uniform Resource Identifiers (URIs) and defined in an abstract data model, to be published and edited by Web clients using simple HTTP messages.
- OpenAPI Generator - OpenAPI Generator allows generation of API client libraries (e.g. C#, TypeScript, etc), server stubs (ASP.NET Core, NancyFx, etc), documentation and configuration automatically given an OpenAPI Spec (v2, v3).
- refit - The automatic type-safe REST library for Xamarin and .NET.
- RestClient.Net - Cross Platform REST Client for all C# platforms
- RestEase - Easy-to-use typesafe REST API client library, which is simple and customisable.
- RestLess - The automatic type-safe-reflectionless REST API client library for .Net Standard.
- Restier - RESTier is a RESTful API development framework for building standardized, OData V4 based RESTful services on .NET platform.
- Restsharp - Simple REST and HTTP API Client for .NET
- Swashbuckle - Seamlessly adds a swagger to WebApi projects.
- MicroElements.Swashbuckle.FluentValidation - Adds FluentValidation rules to swagger.
- Swashbuckle.AspNetCore.Filters - A bunch of useful filters for Swashbuckle.AspNetCore.
- WebAnchor - Web Anchor provides type-safe, testable and flexible, runtime-generated access to web resources.
- WebAPIContrib for ASP.NET CORE - Community Contributions for ASP.NET Core.
Application Frameworks
- ASP.NET Boilerplate - ASP.NET Boilerplate is a general purpose application framework especially designed for new modern web applications. It uses already familiar tools and implements best practices around them to provide you a SOLID development experience.
- Abp vNext - Abp vNext is the next generation of the open source ASP.NET Boilerplate framework. It's a complete architecture and strong infrastructure to create modern web applications! Follows best practices and conventions to provide you a SOLID development experience.
- AsyncEx - A helper library for async/await.
- Aeron.NET - Efficient reliable UDP unicast, UDP multicast, and IPC message transport - .NET port of Aeron.
- akka.net - Toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on .NET & Mono.
- Aggregates.NET - Aggregates.NET is a framework to help developers integrate the excellent NServiceBus and EventStore libraries together.
- ASP.NET MVC - Model view controller framework for building dynamic web sites with clean separation of concerns, including the merged MVC, Web API, and Web Pages w/ Razor.
- Butterfly Server .NET - Allows building real-time web apps and native apps with minimal effort. Define a Web API and Subscription API that automatically synchronizes datasets across connected clients.
- CAP - An EventBus with local persistent message functionality for system integration in SOA or Microservice architecture.
- Carter - Carter is a library that allows Nancy-esque routing for use with ASP.Net Core.
- Chromely - Lightweight Alternative to Electron.NET, Electron for .NET/.NET Core.
- Cinchoo ETL - ETL Framework for .NET (Parser / Writer for CSV, Flat, Xml, JSON, Key-Value formatted files).
- CQRSlite - Lightweight framework for helping writing CQRS and Eventsourcing applications in C#.
- dataaccess_aspnetcore - The DataAccess Toolbox contains the base classes for data access in ASP.NET Core with Entity Framework Core 1.0 using the unit-of-work and repository pattern.
- DNTFrameworkCore - Lightweight and Extensible Infrastructure for Building High Quality Web Applications Based on ASP.NET Core.
- DotNetCorePlugins - .NET Core library for loading assemblies as a plugin.
- DotnetSpider - DotnetSpider, a .NET Standard web crawling library similar to WebMagic and Scrapy. It is a lightweight ,efficient and fast high-level web crawling & scraping framework for .NET.
- DotNetty - Port of netty, event-driven asynchronous network application framework.
- dotvvm - Open source MVVM framework for Web Apps.
- ElectronNET - Build cross platform desktop apps with ASP.NET NET Core.
- EmbedIO - A tiny, cross-platform, module based web server for .NET Framework and .NET Core.
- Ether.Network - Ether.Network is an open source networking library that allow developers to create simple, fast and scalable socket server or client applications over the TCP/IP protocol.
- EventFlow - Async/await first CQRS+ES and DDD framework for .NET.
- ExcelDataReader - Lightweight and fast library written in C# for reading Microsoft Excel files.
- ExtCore - Free, open source and cross-platform framework for creating modular and extendable web applications based on ASP.NET Core 1.0.
- Finbuckle.MultiTenant - Finbuckle.MultiTenant is a .NET Standard library for multitenant support designed for ASP.NET 2.0+. It provides functionality for tenant resolution, per-tenant app configuration, and per-tenant data isolation.
- fission - Fast Serverless Functions for Kubernetes.
- grpc - Remote Procedure Calls (RPCs) provide a useful abstraction for building distributed applications and services. The libraries in this repository provide a concrete implementation of the gRPC protocol, layered over HTTP/2. These libraries enable communication between clients and servers using any combination of the supported languages.
- Halibut - A secure communication stack for .NET using JSON-RPC over SSL.
- MagicOnion - gRPC based HTTP/2 RPC Streaming Framework for .NET, .NET Core and Unity.
- MassTransit - Distributed Application Framework for .NET.
- microdot - An open source .NET microservices framework.
- MoreLINQ - Extensions to LINQ to Objects.
- Nancy - Lightweight, low-ceremony, framework for building HTTP based services on .NET and Mono.
- opencvsharp - .NET Framework wrapper for OpenCV.
- orleans - Framework that provides a straight-forward approach to building distributed high-scale computing applications, without the need to learn and apply complex concurrency or other scaling patterns.
- Prism - Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Windows 10 UWP, and Xamarin Forms.
- protoactor-dotnet - Ultra fast distributed actors for Golang and C# http://proto.actor.
- resin - 16-bit wide vector space search engine with HTTP API and pluggable read/write pipelines.
- RService.io - ASP.Net Core RESTful microservice framework that focusing on speed and ease of use.
- ServiceStack - Thoughtfully architected, obscenely fast, thoroughly enjoyable web services for all https://servicestack.net.
- Steeltoe OSS - .NET toolkit for common microservice patterns.
- Strathweb.TypedRouting.AspNetCore - A library enabling strongly typed routing in ASP.NET Core MVC projects.
- surging - Surging is a micro-service engine that provides a lightweight, high-performance, modular RPC request pipeline. The service engine supports http, TCP, WS, Mqtt, UDP, and DNS protocols. It uses ZooKeeper and Consul as a registry, Hash Algorithms, random, polling, pressure minimum priority as a load balancing algorithm, built-in service governance to ensure reliable RPC communication.
- Xer.Cqrs - A simple library for creating applications based on the CQRS pattern with support for attribute routing and hosted handlers. Developed in C# targeting .NET Standard 1.0.
- X.PagedList - Library for easily paging through any IEnumerable/IQueryable in ASP.NET/ASP.NET Core.
Application Templates
- .NET Boxed - Project templates with batteries included, providing the minimum amount of code required to get you going. Includes ASP.NET Core API and GraphQL Templates.
- aspnet-core-react-template - ASP.NET Core 2.0 / React SPA Template App.
- AspNetCoreSpa - Asp.Net Core 2+ & Angular 6 SPA with Angular CLI full featured application.
- ASP.NET-MVC-Template - A ready-to-use templates for ASP.NET MVC 5 and ASP.NET Core with repositories, services, models mapping and DI and StyleCop warnings fixed.
- AddFeatureFolders - Enable feature folders for MVC controllers and views in ASP.NET Core.
- Angular Visual Studio Webpack Starter - Template for Webpack, Visual Studio, ASP.NET Core and Angular. Both the client and the server side of the application are implemented inside one ASP.NET Core project which makes it easier to deploy.
- CleanArchitecture - A starting point for Clean Architecture with ASP.NET Core. Clean Architecture is just the latest in a series of names for the same loosely-coupled, dependency-inverted architecture. You will also find it named hexagonal, ports-and-adapters, or onion architecture.
- CleanArchitecture (SPA) - Solution template for creating a Single Page App (SPA) with Angular 8 and ASP.NET Core 3 following the principles of Clean Architecture
- DNTFrameworkCoreTemplate - Boilerplate project templates based on DNTFrameworkCore
- dotnet new caju - dotnet new templates with awesome architecture styles! Increases productivity to design layered applications based on Hexagonal, Clean or Event Sourcing architectures styles. It supports multiple data access frameworks (MongoDB, EntityFramework, Dapper or Kafka) and it is completely testable.
- EISK - Provides developer resources with simple use cases to build scalable applications on top of .NET Core with architectural best practices (DDD, onion architecture etc)
- JavaScriptServices - Microsoft ASP.NET Core JavaScript Services.
- kendo-ui-core - An HTML5, jQuery-based widget library for building modern web apps. http://www.telerik.com/kendo-ui.
- QuickApp - ASP.NET Core / Angular4 startup project template with complete login, user and role management.
- Serenity - Serenity is an ASP.NET MVC / TypeScript application platform designed to simplify and shorten development of data-centric business applications with a service based architecture.
- Toucan - Boilerplate for building single page apps. Server is multi-project .Net Core solution designed around SOLID principles. Client is TypeScript 2, Vuejs 2, Vuex 2.
Authentication and Authorization
- AspNet.Security.OpenIdConnect.Server - OpenID Connect/OAuth2 server framework for OWIN/Katana and ASP.NET Core.
- Auth0 - Hosted, enterprise-grade platform for modern identity.
- Casbin.NET - Authorization library that supports access control models like ACL, RBAC, ABAC in C#
- Identity - ASP.NET Core Identity is the membership system for building ASP.NET Core web applications, including membership, login, and user data.
- IdentityServer - IdentityServer for ASP.NET Core 1.0 & 2.0
- IdentityServer4.EntityFramework - EntityFramework persistence layer
- IdentityServer4.MongoDB - MongoDB persistence layer
- IdentityServer4.EntityFrameworkCore - Entity Framework Core persistence layer
- IdentityServer4.Templates - dotnet cli templates for IdentityServer4.
- Okta - Hosted, enterprise-grade platform for modern identity.
- openiddict - Easy-to-use OpenID Connect server for ASP.NET Core.
- oidc-debugger - OAuth 2.0 and OpenID Connect debugging tool.
- stormpath-sdk - Build simple, secure web applications with Stormpath and ASP.NET Core.
- stormpath-sdk - Build simple, secure web applications with Stormpath and ASP.NET Core.(Deprecated: It will longer get updated as of March 2017 after joining OKTA)
- stuntman - Library for impersonating users during development leveraging ASP.NET Identity.
Blockchain
- BTCPayServer - A cross platform, self-hosted server compatible with Bitpay API.
- Meadow - An integrated Ethereum implementation and tool suite focused on Solidity testing and development.
- NBitcoin - Comprehensive Bitcoin library for the .NET framework.
- NBlockchain - .NET standard library for building blockchain enabled applications
- NBXplorer - A Bitcoin and Altcoin lightweight block explorer.
- NEO - Open Network For Smart Economy.
- Nethereum - Bringing the love of Ethereum to .NET.
- Nethermind - .NET Core Ethereum client
- StratisBitcoinFullNode - Simple and affordable end-to-end solutions for development, testing and deployment of native C# blockchain applications on the .Net framework.
- Trezor.Net - Cross platform C# library for talking to the Trezor Hardwarewallet
- WalletWasabi - Privacy focused, ZeroLink compliant Bitcoin wallet.
Bot
- BotSharp - The Open Source AI Chatbot Platform Builder in 100% C# Running in .NET Core with Machine Learning algorithm.
- NadekoBot - Open source, general-purpose Discord chat bot written in C#.
- Telegram.Bot - C# Telegram Bot API library.
- Funogram - F# Telegram Bot Api library.
Build Automation
- cake-build - Cross platform build automation system.
- CatLight - Status notifier for developers that monitors builds and tasks in the project. Built using .Net Core and Electron.
- Colorful.Console - Style your C# console output!
- dotnet-docker - The base Docker images for working with .NET Core and the .NET Core Tools.
- Dockerize.NET - .NET Cli Tool to package your .NET Core Application into a docker image: 'dotnet dockerize'
- FlubuCore - A cross platform build and deployment automation system for building projects and executing deployment scripts using C# code.
- GitInfo - Git and SemVer Info from MSBuild, C# and VB.
- GitVersioning - Stamp your assemblies and NuGet packages with a version from a single, simple version.txt file and include git commit IDs for non-official builds.
- go-dotnet - Go wrapper for the .NET Core Runtime.
- Image2Docker - PowerShell module which ports existing Windows application workloads to Docker.
- LocalAppVeyor - Run your AppVeyor builds, locally.
- msbuild - The Microsoft Build Engine is a platform for building applications.
- Nuke - Cross-platform build automation system.
- Opserver - Stack Exchange's Monitoring System.
- vsts-agent - Visual Studio Team Services Build and Release Agent.
Bundling and Minification
- BundlerMinifier - Visual Studio extension that let's you configure bundling and minification of JS, CSS and HTML files.
- JavaScriptViewEngine - ASP.NET MVC ViewEngine for rendering markup in a JavaScript environment. Ideal for React and Angular server-side rendering.
- Smidge - Lightweight runtime CSS/JavaScript file minification, combination, compression & management library for ASP.NET Core.
- Web Markup Minifier - .NET library that contains a set of markup minifiers. The objective of this project is to improve the performance of web applications by reducing the size of HTML, XHTML and XML code.
Caching
- CacheManager - Open source caching abstraction layer for .NET written in C#. It supports various cache providers and implements many advanced features. http://cachemanager.michaco.net
- EasyCaching - Open source caching library that contains basic usages and some advanced usages of caching which can help us to handle caching more easier.
- Faster - Fast key-value store from Microsoft Research.
- Foundatio - Pluggable foundation blocks for building distributed apps.
- Microsoft Caching - Libraries for in-memory caching and distributed caching.
- Stack Exchange Redis - High performance general purpose redis client for .NET languages (C# etc).
CMS
- Awesome-CMS-Core - Awesome CMS Core is an open source CMS built using ASP.Net Core & ReactJS with module separation concern in mind and provide lastest trend of technology like .Net Core, React, Webpack, SASS, Background Job, Message Queue.
- Blogifier.Core - ASP.NET applications to provide common blogging functionality.
- Cofoundry - Open source .NET Core CMS and modular application framework. Code-first, unobtrusive and extensible.
- CoreWiki - Simple ASP.NET Core wiki that we are working on during live coding streams.
- dasblog-core - The original DasBlog reimagined with ASP.NET Core
- Lynicon - O/S ASP.Net Core/.Net Core CMS with paid for modules: JSON content, works with variety of data stores, c# content types
- Miniblog - An ASP.NET Core blogging engine.
- Mixcore CMS - Open Source CMS powered by DotNet Core. Mixcore CMS is a scalable, open platform for web content management and digital experiences. Mixcore CMS provides deep capabilities and endless flexibility on the web.
- NetCoreCMS - An Open source ASP.NET Core 2.0 CMS. It currently supports MySQL and planned to implement MSSQL, SQLite and PostgreSQL. Also it is a modular CMS supports theme, skin, custom layout, widgets, multiple language (En, BN).
- Orchard Core CMS - Open Source Content Management System built with ASP.NET Core on top of a Modular and Extensible Application Framework.
- Piranha CMS - A Lightweight & Unobtrusive Open Source CMS for ASP.NET Core and Entity Framework Core.
- Platformus - Free, open source and cross-platform CMS based on ASP.NET Core 1.0 and ExtCore framework.
- SimpleContent - Simple, yet flexible content and blog engine for ASP.NET Core that can work with or without a database.
- Squidex - Headless CMS, based on MongoDB, CQRS and Event Sourcing.
- Swastika I/O Core CMS - Open source ASP.NET Core 2.x CMS. It currently supports MS SQL and planned to implement MSSQL, SQLite in the near future. It has many built-in features out of the box like multilanguage support, theme, template...
- Umbraco - An extensible and friendly Open source ASP.NET Core CMS
- Weapsy - Open source ASP.NET Core CMS based on DDD and CQRS. It supports MSSQL, MySQL, SQLite and PostgreSQL out of the box.
- Wyam - Modular static content and static site generator.
- ZKEACMS - Visual design, build site onlie by drag and drop.
Code Analysis and Metrics
- awesome-static-analysis - Curated list of static analysis tools, linters and code quality checkers for various programming languages.
- Code Analysis
- CodeFormatter - Tool that uses Roslyn to automatically rewrite the source to follow netfx coding styles. Nuget Package
- DevSkim - A set of IDE plugins and rules that provide security "linting" capabilities.
- RefactoringEssentials - Refactoring Essentials for Visual Studio.
- roslyn-analyzers - .NET Compiler Platform ("Roslyn") Analyzers.
- StyleCopAnalyzers - StyleCop rules using the .NET Compiler Platform.
- Metrics
- AppMetrics - App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application and reports it's health.
- Audit.NET - Small framework to audit .NET object changes.
- BenchmarkDotNet - Powerful .NET library for benchmarking.
- coverlet - Cross platform code coverage library for .NET Core.
- Foundatio - A common interface with in memory, redis, StatsD, and Metrics.NET implementations.
- MiniCover - Minimalist Code Coverage Tool for .NET Core.
- NBench - Performance benchmarking and testing framework for .NET applications.
- Nexogen.Libraries.Metrics - Library for collecting application metrics in .NET and exporting them to Prometheus.
- OpenCover - Code coverage tool for .NET 2 and above (WINDOWS OS only), support for 32 and 64 processes with both branch and sequence points.
- PerformanceMonitor - .NET Core Application Performance Monitor.
- prometheus-net - .NET Client for https://prometheus.io.
- Prometheus.Client - .NET Client for Prometheus.
- Prometheus.Client.MetricPusher - Push metrics to a PushGateaway for the Prometheus.Client.
- Prometheus.Client.AspNetCore - Middleware for the Prometheus.Client.
- Prometheus.Client.MetricServer - MetricServer for the Prometheus.Client.
- Prometheus.Client.HttpRequestDurations - Metrics logging of request durations for the Prometheus.Client.
Compression
- lz4net - Ultra fast compression algorithm for all .NET platforms.
- sharpcompress - Fully managed C# library to deal with many compression types and formats.
Compilers, Transpilers and Languages
- Fable - F# to JavaScript Compiler.
- fparsec - A parser combinatory library for F# and C#.
- IL2C - A translator for ECMA-335 CIL/MSIL to C language.
- Mond - A dynamically typed scripting language written in C# with a REPL, debugger, and simple embedding API.
- peachpie - Open-source PHP compiler to .NET.
- Pidgin - A lightweight, fast and flexible parsing library for C#, developed at Stack Overflow.
- roslyn - The .NET Compiler Platform ("Roslyn") provides open-source C# and Visual Basic compilers with rich code analysis APIs.
- Sprache - Tiny C# Monadic Parser Framework.
Cryptography
- BCrypt.Net - Bringing updates to the original bcrypt package.
- BCrypt.NET-Core - .NET Core port of BCrypt.NET used to store passwords securely.
- BouncyCastle PCL - The Bouncy Castle Crypto package is a C# implementation of cryptographic algorithms and protocols.
- multiformats - A general purpose hashing library, but a library to encode/decode Multihashes which is a "container" describing what hash algorithm the digest is calculated with.
- nsec - NSec is a new cryptographic library for .NET Core based on libsodium.
- SecurityDriven.Inferno - Hig level crypto library used .Net primitives, has been professionally audited.
Database
- DBreeze - C# .NET MONO NOSQL (key value store embedded) ACID multi-paradigm database management system.
- JsonFlatFileDataStore - Simple JSON flat file data store with support for typed and dynamic data.
- LiteDB - .NET NoSQL Document Store in a single data file - http://www.litedb.org.
- NoDb - "no database" file system storage for .NET Core/ASP.NET Core because not every project needs a database.
- marten - Postgresql as a Document Database and Event Store for .NET Applications http://jasperfx.github.io/marten.
- StringDB - StringDB is a modular, key/value pair archival DB designed to consume tiny amounts of ram & produce tiny databases.
- yessql - .NET document database working on any RDBMS.
Database Drivers
- cassandra-csharp-driver - DataStax C# Driver for Apache Cassandra.
- confluent-kafka-dotnet - Confluent's Apache Kafka .NET client.
- couchbase-lite-net - A lightweight, document-oriented (NoSQL), syncable database engine for .NET.
- MongoDB.Driver - .NET Driver for MongoDB.
- MongoDB.Entities - A data access library for MongoDB with an elegant api, LINQ support and built-in entity relationship management
- MySQL
- mysql-connector-net - Connector/Net is a fully-managed ADO.NET driver for MySQL.
- MySqlConnector - Async MySQL Connector for .NET and .NET Core.
- Neo4j
- neo4j-dotnet-driver - Neo4j Bolt driver for .NET.
- Neo4jClient - .NET client binding for Neo4j.
- npgsql - .NET data provider for PostgreSQL. It allows any program developed for .NET framework to access a PostgreSQL database server. It is implemented in 100% C# code. PostgreSQL versions since 9.1 are officially supported, others may work. http://www.npgsql.org
- ravendb - Linq enabled document database for .NET.
- RethinkDb.Driver - C#/.NET RethinkDB driver with 100% ReQL API coverage.
- progaudi.tarantool - .NET client for Tarantool NoSql database.
Database Tools and Utilities
- DbUp - .NET library that helps you to deploy changes to SQL Server databases. It tracks which SQL scripts have been run already, and runs the change scripts that are needed to get your database up to date.
- Evolve - Simple database migration tool that uses plain SQL scripts. Inspired by Flyway.
- EFCorePowerTools - Entity Framework Core Power Tools - reverse engineering, migrations and model visualization for EF Core.
- fluentmigrator - Migration framework for .NET much like Ruby on Rails Migrations.
- monitor-table-change-with-sqltabledependency - Get SQL Server notification on record table change.
- NReco.PivotData - In-memory data cube with OLAP operations and PivotTable data model.
- roundhouse - Database Migration Utility for .NET using sql files and versioning based on source control.
- SapphireDb - Server implementation of SapphireDb, a framework for easy development of applications with realtime data synchronization and a self hosted alternative to firebase realtime database/firestore for asp.net core and ef core. Check out the documentation for more details: Documentation
- SharpRepository - SharpRepository is a generic repository written in C# which includes support for various relational, document and object databases including Entity Framework, RavenDB, MongoDb and Db4o. SharpRepository includes Xml and InMemory repository implementations as well.
- TrackableEntities.Core - Change-tracking across service boundaries with .NET Core.
- Mongo.Migration - Mongo.Migration is designed for the MongoDB C# Driver to migrate your documents easily and on-the-fly. No more downtime for schema-migrations. Just write small and simple migrations. Link
- EntityFrameworkCore.DataEncryption - A plugin for Microsoft.EntityFrameworkCore to add support of encrypted fields using built-in or custom encryption providers.
Date and Time
- Exceptionless.DateTimeExtensions - DateTimeRange, Business Day and various DateTime, DateTimeOffset, TimeSpan extension methods.
- FluentDateTime - Allows you to write cleaner DateTime expressions and operation. Partially inspired by Ruby DateTime Extensions.
- nodatime - Better date and time API for .NET http://nodatime.org.
Distributed Computing
- AspNetCore.Diagnostics.HealthChecks - Enterprise HealthChecks for ASP.NET Core Diagnostics Package
- BeatPulse - Enable load balancers to montior the status of deployed Web applications
- Foundatio - Pluggable foundation blocks for building distributed apps
- jasper - Next generation application development framework for .NET
- Rafty - RAFT consensus in .NET Core
- Obvs - An observable microservice bus .NET library that wraps the underlying transport in simple Rx based interfaces
- Ocelot - API Gateway created using .NET Core
- OpenTracing - Vendor-neutral APIs and instrumentation for distributed tracing
- Polly - .NET 3.5 / 4.0 / 4.5 / PCL library that allows developers to express transient exception and fault handling policies such as Retry, Retry Forever, Wait and Retry or Circuit Breaker in a fluent manner
- ProxyKit - Toolkit to create code-first HTTP reverse proxies on ASP.NET Core
E-Commerce and Payments
- nopCommerce - Free open-source ecommerce shopping cart (ASP.NET MVC / ASP.NET Core MVC ) with a vast community and a market place full of new features, themes and plugins.
- GrandNode - Multi-platform, free, open source ecommerce shopping cart based on ASP.NET Core 2.1 and MongoDB derived from nopCommerce.
- PayPal - .NET SDK for PayPal's RESTful APIs.
- SimplCommerce - Super simple ecommerce system built on .NET Core.
- Stripe - Typed .NET clients for stripe.com REST APIs.
Exceptions
- Demystifier - High performance understanding for stack traces (Make error logs more productive).
- Exceptionless - Exceptionless .NET Client
- GlobalExceptionHandlerDotNet - GlobalExceptionHandlerDotNet allows you to configure exception handling as a convention with your ASP.NET Core application pipeline as opposed to explicitly handling them within each controller action.
- Sentry - .NET SDK for Sentry, an Open-source error tracking that helps developers monitor and fix crashes in real time.
Functional Programming
- CSharpFunctionalExtensions - Functional Extensions for C#.
- DynamicData - Reactive collections based on Rx.NET.
- echo-process - Actor library for C# with additional modules that support persistence to Redis, as well as JS integration.
- FsCheck - Random Testing for .NET.
- Giraffe - A native functional ASP.NET Core web framework for F# developers.
- language-ext - C# functional language extensions and 'Erlang like' concurrency system.
- LaYumba.Functional - Utility library for programming functionally in C#.
- NetMQ.ReactiveExtensions - Effortlessly send messages anywhere on the network using Reactive Extensions (RX). Transport protocol is ZeroMQ.
- Optional - A robust option type for C#.
- reactive-streams-dotnet - Reactive Streams for .NET.
- ReactiveUI - A MVVM framework that integrates with the Reactive Extensions for .NET to create elegant, testable User Interfaces that run on any mobile or desktop platform.
- Rx.NET - The Reactive Extensions for .NET.
- Qactive - Reactive queryable observable framework.
4.x.x or above - sodium - Functional Reactive Programming (FRP) Library.
4.x.x or above
Graphics
- GLFWDotNet - .NET bindings for GLFW.
- ImageProcessor - A fluent wrapper around System.Drawing for the processing of image files http://imageprocessor.org.
4.5.x or above - ImageSharp - Cross-platform library for processing of image files written in C#.
- LibVLCSharp: .NET/Mono bindings for libvlc, the multimedia framework powering the VLC applications made by VideoLAN.
- Magick.NET - The .NET library for ImageMagick.
- MagicScaler - MagicScaler high-performance, high-quality image processing pipeline for .NET
- QRCoder - A pure C# Open Source QR Code implementation.
- SharpBgfx - C# bindings for the bgfx graphics library.
- Structure.Sketching - Image processing library for use in .NET applications that supports .NET Core.
- veldrid - A low-level, hardware-accelerated 3D graphics library for .NET.
- ZXing.Net - .Net port of the original java-based barcode reader and generator library zxing.
GUI
- AdonisUI - Lightweight UI toolkit for WPF applications offering classic but enhanced windows visuals.
- Avalonia - A multi-platform .NET UI framework (formerly known as Perspex).
- AvaloniaEdit - The Avalonia-based text editor component forked from AvalonEdit HandyControls - Contains some simple and commonly used WPF controls.
- Lara - Lara Web Engine is a library for developing Web user interfaces in C#
- ShellProgressBar - library to create progress bars in console programs
- Qml.Net - A cross-platform Qml/.NET integration for Mono/.NET/.NET Core.
- WinApi - A simple, direct, ultra-thin CLR library for high-performance Win32 Native Interop with automation, windowing, DirectX, OpenGL and Skia helpers.
IDE
- Mono - MonoDevelop enables developers to quickly write desktop and web applications on Linux, Windows and Mac OS X. It also makes it easy for developers to port .NET applications created with Visual Studio to Linux and Mac OS X maintaining a single code base for all platforms.
- rider - Cross-platform C# IDE based on the IntelliJ platform and ReSharper.
- Omnisharp - Family of Open Source projects, each with one goal: To enable a great .NET experience in YOUR editor of choice.
- SharpDevelop - SharpDevelop is a free Integrated Development Environment (IDE) for C#, VB.NET, Boo, IronPython, IronRuby and F# projects on Microsoft's .NET platform. It is written (almost) entirely in C#, and comes with features you would expect in an IDE plus a few more.
- Visual Studio Code - New type of tool that combines the simplicity of a code editor with what developers need for their core edit-build-debug cycle. Code provides comprehensive editing and debugging support, an extensibility model, and lightweight integration with existing tools.
- Visual Studio Community - Free editor for individual developers, open source projects, academic research, education, and small professional teams.
Internationalization
- Localization - Localization abstractions and implementations for ASP.NET Core applications.
- NetCoreStack.Localization - Database Resource Localization for .NET Core with Entity Framework and In Memory Cache
- Westwind.Globalization - Database driven resource localization for .NET applications.
IOC
- AutoDI - Super-fast compile-time dependency injection using IL weaving.
- Autofac - Addictive .NET IoC container.
- Castle.Windsor Castle Windsor is a best of breed, mature Inversion of Control container available for .NET.
- DryIoc - Fast, small, full-featured IoC Container for .NET.
- Grace - Grace is a feature rich Dependency Injection Container designed with ease of use and performance in mind.
- Inyector - Dependency Injection Automation for AspNetCore
- Lamar - Fast Inversion of Control Tool and Sundry Items of Roslyn Chicanery.
- LightInject - Ultra lightweight IoC container.
- SimpleInjector - Easy, flexible, and fast Dependency Injection library that promotes best practice to steer developers towards the pit of success.
- Stashbox - A lightweight, portable dependency injection framework for .NET based solutions.
- Unity - A lightweight, extensible dependency injection container.
Logging
- common-logging - Portable logging abstraction for .NET.
- dnxcore-logging-logstash - Logstash logging extension for .NET Core applications with UDP and Redis transports.
- ElmahCore - Error logging library that includes features like error filtering and the ability to view the error log from a web page.
- Exceptionless - Exceptionless .NET Client
- Foundatio - A fluent logging api that can be used to log messages throughout your application.
- Karambolo.Extensions.Logging.File - A lightweight library which implements file logging for the built-in .NET Core logging framework (Microsoft.Extensions.Logging).
- LibLog - Single file for you to either copy/paste or install via nuget, into your library/ framework/ application to provide a logging abstraction.
- log4net - log4net is a port of the excellent Apache log4j™ framework to the Microsoft® .NET runtime.
- NLog - Advanced .NET, Silverlight and Xamarin Logging with support for structured and non structured logging.
- NLog for ASP.NET and ASP.NET Core - NLog integration for ASP.NET & ASP.NET Core 1-3
- NLog.Extensions.Logging - NLog Provider for Microsoft.Extensions.Logging for .NET Standard libraries and .NET Core applications
- NLog.Windows.Forms - NLog targets specific for Windows.Forms
- NLog.MailKit - Alternative Mail target using the using MailKit library
- Q42.Logging.ApplicationInsights - Log appender for the build in ASP.NET Core logging to send all logs to Application Insights.
- serilog - Simple .NET logging with fully-structured events.
- serilog-aspnetcore - Serilog integration for ASP.NET Core 2+.
- Serilog.Exceptions - Serilog.Exceptions is an add-on to Serilog to log exception details and custom properties that are not output in Exception.ToString().
- Serilog.Settings.Configuration - A Serilog configuration provider that reads from Microsoft.Extensions.Configuration.
- SEQ - Seq collects data over HTTP, while your applications use the best available structured logging APIs for your platform.
Machine Learning and Data Science
- Accord - Machine learning, computer vision, statistics and general scientific computing for .NET.
- Catalyst Cross-platform Natural Language Processing (NLP) library inspired by spaCy, with pre-trained models, out-of-the box support for training word and document embeddings, and flexible entity recognition models. Part of the SciSharp Stack
- ML.NET - Cross-platform open-source machine learning framework which makes machine learning accessible to .NET developers http://dot.net/ml.
- Spreads - Series and Panels for Real-time and Exploratory Analysis of Data Streams.
- TensorFlowSharp - TensorFlow API for .NET languages.
- WaveFunctionCollapse - itmap & tilemap generation from a single example with the help of ideas from quantum mechanics.
- SiaNet - A C# deep learning library, human friendly, CUDA/OpenCL supported, well structured, easy to extend
- FluentEmail - All in one email sender for .NET and .NET Core
- MailBody - Create transactional email with a fluent interface (.NET).
- MailKit - Cross-platform .NET library for IMAP, POP3, and SMTP.
- MailMergeLib - SMTP mail client library which provides comfortable mail merge capabilities for text, inline images and attachments, as well as good throughput and fault tolerance for sending mail messages.
- MimeKit - Cross-platform .NET MIME creation and parser library with support for S/MIME, PGP, DKIM, TNEF and Unix mbox spools.
- netDumbster - a .Net Fake SMTP Server used for testing. Clone of the popular Dumbster.
- Papercut - Simple Desktop SMTP Server
- PreMailer.Net - C# library that moves your stylesheets to inline style attributes, for maximum compatibility with E-mail clients.
- SendGrid Client - C# library for the SendGrid v3 mail endpoint.
- SmtpServer - Library to create your own SMTP server.
- StrongGrid - Client for SendGrid's v3 API. Not only allows you to send emails, but also allows you to bulk import contacts, manage lists and segments, create custom fields for your lists, etc. Also includes a parser for SendGrid Webhooks.
Mathematics
- UnitConversion - Expansible Unit Conversion Library for .NET Core and .NET Framework.
- AutoDiff - A library that provides fast, accurate and automatic differentiation (computes derivative / gradient) of mathematical functions.
Media
- MetadataExtractor - Extracts metadata from media (images, video, audio) with a simple to use API.
Misc
- AdvanceDLSupport - Library to improve P/Invoke-ing native code. Interact with native objects as if they were first class objects.
- AngleSharp - The ultimate angle brackets parser library. It parses HTML5, MathML, SVG and CSS to construct a DOM based on the official W3C specification. Comparable to beautifulsoup4 of python.
- AgileMapper - AgileMapper is a zero-configuration, highly-configurable object-object mapper with viewable execution plans.
- AspNetCore Extension Library - ASP.NET Core Extension Library.
- AutoMapper - Convention-based object-object mapper in .NET.
- Baget - A lightweight NuGet server.
- Bleak - A Windows native DLL injection library.
- Bullseye - A .NET package for describing and running targets and their dependencies.
- Castle.Core - Castle Core, including Castle DynamicProxy, Logging Services and DictionaryAdapter http://www.castleproject.org.
- Chessie - Railway-oriented programming for .NET http://fsprojects.github.io/Chessie.
- CliWrap - Wrapper for command line interfaces.
- commanddotnet - Model your command line application interface in a class.
- CommonMark.NET - The implementation of CommonMark specification in C# for converting Markdown documents to HTML.
- ConsoleTableExt - Fluent library to create table for .NET console application.
- CoordinateSharp - A library that can quickly format and convert geographic coordinates as well as provide location based sun and moon information (sunset, sunrise, moon illumination, etc...).
- datatables - Microsoft ASP.NET server-side support and helpers for jQuery DataTables.
- DinkToPdf - C# .NET Core wrapper for wkhtmltopdf library that uses Webkit engine to convert HTML pages to PDF.
- dotnet-env - A .NET library to load environment variables from .env files.
- DotNet.Glob - A fast globbing library for .NET / .NETStandard applications. Outperforms Regex.
- Dotnet outdated - A .NET Core global tool to display and update outdated NuGet packages in a project
- Dotnet Script - Run C# scripts from the .NET CLI.
- Dotnet Serve - Simple command-line HTTP server for .NET Core CLI.
- Downloader - Downloader is a modern, fluent, asynchronous, testable and portable library for .NET. This is a multipart downloader with asynchronous progress events.
- Eighty - A simple HTML generation library
- Enums.NET - Enums.NET is a high-performance type-safe .NET enum utility library
- FastExpressionCompiler - Fast ExpressionTree compiler to delegate.
- FluentDocker - Commands, Services and Fluent API for docker, docker-compose & docker-machine, for win/mac/linux and native docker.
- FluentFTP - FTP and FTPS client, with extensive FTP commands, SSL/TLS connections, hashing/checksums and more.
- Fody - Extensible tool for weaving .net assemblies
- HdrHistogram.NET - High Dynamic Range (HDR) Histogram.
- httpclient-interception - .NET Standard library for intercepting server-side HTTP dependencies.
- Humanizer - Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities.
- Humidifier - Write and maintain AWS Cloudformation templates using C#.
- impromptu-interface - Static interface to dynamic implementation (duck casting). Uses the DLR combined with Reflect.Emit.
- JqueryDataTablesServerSide - ASP.NET Core Server Side Processing library for Jquery DataTables with Multiple Column Filtering, Sorting and Pagination at database level with Excel Export and TagHelper support.
- LibSass Host - .NET wrapper around the libSass library with the ability to support a virtual file system.
- markdig - Fast, powerfull, CommonMark compliant, extensible Markdown processor for .NET.
- NetCoreBeauty - Simple library to move a .NET Core app runtime components and dependencies into a sub-directory and make it beauty.
- NFlags - Simple library to made parsing CLI arguments easy. Library also allow to print usage help "out of box".
- NReco.LambdaParser - Parses string expressions (formulas, methods calls, conditions) to LINQ expression tree that can be compiled to lambda and evaluated.
- NuGet Trends - Website with statistics of NuGet packages download count.
- NYoutubeDL - A simple youtube-dl library for C#/.NET.
- Otp.NET - An implementation TOTP RFC 6238 and HOTP RFC 4226 in C#.
- pose - Replace any .NET method (including static and non-virtual) with a delegate
- PuppeteerSharp - Puppeteer Sharp is a .NET port of the official Node.JS Puppeteer API.
- readline - Pure C# GNU-Readline like library for .NET/.NET Core.
- ReflectionMagic - Framework to drastically simplify your private reflection code using C# dynamic
- Relinq - With re-linq, it's now easier than ever to create full-featured LINQ providers.
- Remote.Linq - Remote Linq is a small and easy to use - yet very powerful - library to translate LINQ expression trees to strongly typed, serializable expression trees and vice versa.
- ReverseMarkdown - Html to Markdown converter library.
- PdfReport.Core - PdfReport.Core is a code first reporting engine, which is built on top of the iTextSharp.LGPLv2.Core and EPPlus.Core libraries.
- Scientist - .NET library for carefully refactoring critical paths. It's a port of GitHub's Ruby Scientist library.
- Scrutor - Assembly scanning extensions for Microsoft.Extensions.DependencyInjection.
- Sheller - A .NET library that makes shelling out commands super easy and fluent.
- SmartFormat.NET - An extensible replacement for string.Format.
- Stocks
- Trady - Handy library for computing technical indicators, and it targets to be an automated trading system that provides stock data feeding, indicator computing, strategy building and automatic trading.
- System.Linq.Dynamic.Core - The .NET Standard (.NET Core) version from the System Linq Dynamic functionality.
- UnitsNet - Units.NET gives you all the common units of measurement and the conversions between them.
- Validation
- FluentValidation - Small validation library for .NET that uses a fluent interface and lambda expressions for building validation rules.
- FormHelper - Form & Validation Helper for ASP.NET Core. Form Helper helps you to create ajax forms and validations without writing any javascript code. (Compatible with Fluent Validation).
- Guard - A high-performance, extensible argument validation library.
- Valit - A dead simple validation for .NET Core. No more if-statements all around your code. Write nice and clean fluent validators instead!
- Vanara - A set of .NET libraries for Windows implementing PInvoke calls to many native Windows APIs with supporting wrappers.
- warden-stack - "health checks" for your applications, resources and infrastructure. Keep your Warden on the watch.
- WebEssentials.AspNetCore.ServiceWorker - ASP.NET Core Progressive Web Apps.
- Xabe.FFmpeg - .NET Standard wrapper for FFmpeg. It allows to process media without know how FFmpeg works, and can be used to pass customized arguments to FFmpeg from C# application.
- YoutubeExplode - Ultimate library for extracting metadata and downloading Youtube videos and playlists.
Networking
- AspNetCore.Proxy - ASP.NET Core Proxies made easy.
- CurlThin - Lightweight cURL binding library for C# with support for multiple simultaneous transfers through curl_multi interface.
- NETStandard.HttpListener - HttpListener for .NET Core (NETStandard).
- Networker - A simple to use TCP and UDP networking library for .NET, designed to be flexible, scalable and FAST.
- SharpPcap - Fully managed, cross platform (Windows, Mac, Linux) .NET library for capturing packets from live and file based devices.
Office
- EPPlus - Create advanced Excel spreadsheets using .NET.
- npoi - .NET library that can read/write Office formats without Microsoft Office installed. No COM+, no interop.
- Open-XML-SDK - The Open XML SDK provides tools for working with Office Word, Excel, and PowerPoint documents.
Operating System
- CosmosOS - Cosmos is an operating system "construction kit". Build your own OS using managed languages such as C#, VB.NET, and more!
ORM
- Chloe - A lightweight and high-performance Object/Relational Mapping(ORM) library for .NET.
- Entity Framework Core - Familiar developer experience to previous versions of EF, including LINQ, POCO, and Code First support.
- EFCore.BulkExtensions - EntityFrameworkCore Bulk Batch Extensions for Insert Update Delete Read (CRUD) ops
- EntityFramework-Plus - Entity Framework Utilities | Bulk Operations | Batch Delete | Batch Update | Query Cache | Query Filter | Query Future | Query Include | Audit.
- EntityFramework.Exceptions - Use typed Exceptions for EntityFrameworkCore when your SQL query violates database constraints in SqlServer, MySql, or PostgreSQL.
- EntityFramework.Triggers - Trigger events for EF.
- EntityFramework.Rx - Reactive hot observables of your EF operations.
- Npgsql.EntityFrameworkCore.PostgreSQL - Entity Framework Core provider for PostgreSQL.
- EntityFramework.PrimaryKey - Easily get the primary key of any entity (including composite keys).
- EntityFramework.TypedOriginalValues - Get a proxy object of the original values of your entity (typed access to Property("...").OriginalValue).
- EntityFramework.VersionedProperties - Classes which auto-magically keep an audit history of the changes to the specified property.
- LINQKit - A free set of extensions for LINQ to SQL and Entity Framework power users.
- Pomelo.EntityFrameworkCore.MySql - Entity Framework Core provider for MySql built on top of mysql-net/MySqlConnector.
- spectre.query - A simple query language for Entity Framework Core.
- Dapper - Simple object mapper for .NET.
- Dapper-FluentMap - Provides a simple API to fluently map POCO properties to database columns when using Dapper.
- Dommel - Simple CRUD operations for Dapper.
- MicroOrm.Dapper.Repositories - CRUD for Dapper.
- FreeSql - a convenient ORM in dotnet,supports Mysql, Postgresql, SqlServer, Oracle and Sqlite.
- Limebean - Hybrid-ORM, designed to be simple to use and not totally hide SQL, while having all the nice things you expect from an ORM. Inspired by RedBeanPHP.
- LINQ to DB (linq2db) - The fastest LINQ database access library offering a simple, lightweight, fast, and type-safe layer between your POCO objects and your database for more than 10 database engines with full SQL support.
- nhibernate-core - NHibernate Object Relational Mapper.
- NEventStore - Persistence library used to abstract different storage implementations when using event sourcing as storage mechanism. This library is developed with a specific focus on DDD/CQRS applications.
- NPoco - Simple microORM that maps the results of a query onto a POCO object. Project based on Schotime's branch of PetaPoco.
- NReco.Data - Lightweight provider-independent DAL for SQL commands generation, CRUD operations and simple POCO mapping.
- PetaPoco - A tiny ORM-ish thing for your POCO's.
- querybuilder - SqlKata Query Builder is a powerful Sql Query Builder written in C#.
- RepoDb - A hybrid ORM library for .NET.
- ServiceStack.OrmLite - Light, simple and fast convention-based POCO ORM.
- SqlFu - Fast and versatile Micro-ORM.
- SmartSql - SmartSql = MyBatis + Cache(Memory | Redis) + ZooKeeper + R/W Splitting +Dynamic Repository ....
- SQLStreamStore - Stream Store library targeting SQL based implementations for .NET.
Profiling
- Glimpse - Lightweight, open-source, real-time diagnostics and insights profiler for .NET.
Unstable version - MiniProfiler - A simple but effective mini-profiler for ASP.NET websites.
Query Builders
- SqlKata - Elegant Sql Query Builder, that supports complex queries, joins, sub queries, nested where conditions, vendor engine targets and more
Queue and Messaging
- emitter - Free open source real-time messaging service that connects all devices. This publish-subscribe messaging API is built for speed and security.
- EasyNetQ - An easy to use .NET API for RabbitMQ.
- EventStore - The open-source, functional database with Complex Event Processing in JavaScript.
- Foundatio - A common interface with in memory, redis and azure implementations.
- MediatR - Simple, unambitious mediator implementation in .NET.
- MediatR.Extensions.Microsoft.DependencyInjection - MediatR extensions for Microsoft.Extensions.DependencyInjection.
- Mediator.Net - A simple mediator for .Net for sending command, publishing event and request response with pipelines supported.
- MicroBus - Simple in process mediator for .NET.
- MQTTnet - MQTTnet is a high performance .NET library for MQTT based communication.
- netmq - 100% native C# implementation of ZeroMQ for .NET.
- OpenCQRS - .NET Core library for DDD, CQRS and Event Sourcing with Azure Service Bus integration. Supported database providers for the Command and the Event stores are: DocumentDB, MongoDB, SQL Server, MySQL, PostgreSQL and SQLite.
- rabbitmq-dotnet-client - RabbitMQ .NET client https://www.rabbitmq.com.
- RawRabbit - Modern .NET framework for communication over RabbitMq.
- Rebus - Simple and lean service bus implementation for .NET.
- Restbus - Messaging library for RabbitMq.
- Silverback - Framework to build event-driven applications (support for Kafka, RabbitMQ, MQTT).
- Tossit - Simple, easy to use library for distributed job/worker logic. Distributed messages handled by built in RabbitMQ implementation.
Reporting
- FastReport - The open source report generator for .NET Core 2.x/.Net Framework 4.x. FastReport can be used in MVC, Web API applications.
Scheduler and Job
- Chroniton.NetCore - Lightweight robust library for running tasks(jobs) on schedules.
- Coravel - .Net Core meets Laravel: Scheduling, Queuing, etc.
- FluentScheduler - Automated job scheduler with fluent interface.
- Gofer.NET - Easy C# API for Distributed Background Tasks/Jobs for .NET Core. Inspired by celery for python.
- HangfireIO - Easy way to perform fire-and-forget, delayed and recurring tasks inside ASP.NET apps http://hangfire.io.
- LiquidState - Efficient asynchronous and synchronous state machines for .NET.
- NCrontab - Crontab for .NET.
- quartznet - Quartz Enterprise Scheduler .NET http://www.quartz-scheduler.net.
- stateless - Simple library for creating state machines in C# code.
SDKs
- AWS SDK - The Amazon Web Services (AWS) .NET Core SDK components. Each AWS service has its own NuGet package.
- azure-event-hubs-dotnet - .NET Standard client library for Azure Event Hubs.
- Blockchain clients
- Bittrex.Net - C# .Net wrapper for the Bittrex web API including all features easily accessible and usable.
- Binance.Net - .Net API wrapper for the Binance web API.
- CakeMail.RestClient - Client for CakeMail's API. Allows you to send transactional emails, bulk emails, manage lists and contacts, etc.
- consuldotnet - .NET API for Consul.
- csharp-nats - C# .NET client for the NATS messaging system.
- DarkSkyCore - A .NET Standard wrapper for the Dark Sky API.
- Docker.DotNet - .NET (C#) Client Library for Docker API.
- firebase-admin-dotnet - Firebase Admin .NET SDK
- google-cloud-dotnet - Google Cloud Client Libraries for .NET.
- Manatee.Trello - A fully object-oriented .Net wrapper for Trello's RESTful API written in C#.
- Microphone - Lightweight framework to run self hosting REST services using Web Api or NancyFx ontop of a Consul or ETCD cluster.
- octokit.net - GitHub API client library for .NET.
- PreStorm - Parallel REST Client for ArcGIS Server.
- SendGrid-csharp - C# client library for using the full SendGrid API.
- statsd-csharp-client - .NET Standard compatible C# client to interface with Etsy's excellent statsd server.
- tweetinvi - Intuitive .NET C# library to access the Twitter REST and STREAM API.
Security
- aspnetcore-security-headers - Middleware for adding security headers to an ASP.NET Core application.
- HtmlSanitizer - Cleans HTML to avoid XSS attacks.
- jose-jwt - Library for processing JOSE objects (JWT, JWA, JWS and related).
- Jwt.Net - Jwt.Net, a JWT (JSON Web Token) implementation for .NET.
- JWT Simple Server - A lightweight, dynamic jwt server for ASP.NET Core.
- NWebsec - Security libraries for ASP.NET http://www.nwebsec.com.
- reCAPTCHA - reCAPTCHA 2.0 for ASP.NET Core.
- roslyn-security-guard - Roslyn analyzers that aim to help security audit on .NET applications.
- OwaspHeaders - .NET Core middleware for injecting the Owasp recommended HTTP Headers for increased security.
- Security - Middleware for security and authorization of web apps.
- SecurityHeaders - Small package to allow adding security headers to ASP.NET Core websites.
Searching
- Algolia.Search - Repository for the official Algolia .NET client.
- AutoComplete - Persistent, simple, powerful and portable autocomplete library.
- Elasticsearch.Net & NEST - Repository for both NEST and Elasticsearch.NET, the two official elasticsearch .NET clients.
- ElasticsearchCRUD - Elasticsearch .NET API.
- SearchExtensions - Advanced search capabilities for IQueryable interfaces, such as Entity Framework queries.
- SimMetrics.Net - A Similarity Metric Library, e.g. from edit distance's (Levenshtein, Gotoh, Jaro etc) to other metrics, (e.g Soundex, Chapman)
- SolrExpress - Simple and lightweight query .NET library for Solr, in a controlled, buildable and fail fast way.
Serialization
- BinarySerializer - Serialization for custom packet and protocol formats, supports bit-twiddling.
- bond - Cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services.
- Channels - Push based .NET Streams.
- CsvHelper - Library to help reading and writing CSV files.
- Edi.Net - EDI Serializer/Deserializer. Supports EDIFact, X12 and TRADACOMS format.
- ExtendedXmlSerializer - Extended Xml Serializer for .NET.
- Jil - Fast .NET JSON (De)Serializer, Built On Sigil.
- MessagePack
- msgpack-cli - MessagePack implementation for Common Language Infrastructure / msgpack.org.
- MessagePack-CSharp - Extremely Fast MessagePack Serializer for C#(.NET, .NET Core, Unity, Xamarin).
- Newtonsoft.Json - Popular high-performance JSON framework for .NET.
- protobuf-net - Protocol Buffers library for idiomatic .NET.
- Schema.NET - Schema.org objects turned into strongly typed C# POCO classes for use in .NET. All classes can be serialized into JSON/JSON-LD and XML, typically used to represent structured data in the head section of html page.
- ServiceStack.Text - JSON, JSV and CSV Text Serializers.
- TinyCsvParser - Easy to use, easy to extend and high-performance library for CSV parsing with .NET.
- Wire - Binary serializer for POCO objects.
- YamlDotNet - .NET
- ZeroFormatter - Fast binary (de)serializer for .NET.
- Utf8Json - Definitely Fastest and Zero Allocation JSON Serializer for C#(NET, .NET Core, Unity, Xamarin).
- YAXLib - XML Serialization Library for the .NET Framework and .NET Core. Extremely flexible and powerful.
Template Engine
- dotliquid - .NET Port of Tobias Lütke's Liquid template language.
- fluid - Open-source .NET template engine that is as close as possible to the Liquid template language.
- Portable.Xaml - Portable .NET library for reading/writing xaml files.
- Razor - Parser and code generator for CSHTML files used in view pages for MVC web apps.
- RazorLight - Template engine based on Microsoft's Razor parsing engine for .NET Core.
- Scriban - A fast, powerful, safe and lightweight text templating language and engine for .NET.
Testing
- Atata - Web UI test automation full-featured framework based on Selenium WebDriver. https://atata.io
- Bogus - Simple and sane fake data generator for C#. Based on and ported from the famed faker.js.
- CoreBDD - BDD framework for xUnit.net
- FakeItEasy - The easy mocking library for .NET.
- FluentAssertions - Set of .NET extension methods that allow you to more naturally specify the expected outcome of a TDD or BDD-style test.
- GenFu - Library you can use to generate realistic test data.
- LightBDD - BDD framework allowing to create easy to read and maintain tests.
- mockhttp - Testing layer for Microsoft's HttpClient library.
- moq.netcore - Most popular and friendly mocking framework for .NET.
- MSpec - Popular testing framework for writing BDD-style tests.
- MyTested.AspNetCore.Mvc - Fluent testing framework for ASP.NET Core MVC.
- Netling - Load tester client for easy web testing.
- NSpec - Battle hardened testing framework for C# that's heavily inspired by Mocha and RSpec.
- NSubstitute - A friendly substitute for .NET mocking frameworks.
- nunit - NUnit test runner for .NET Core.
- shouldly - Should testing for .NET - the way Asserting Should be! http://shouldly.readthedocs.org/en/latest
- SpecFlow - Pragmatic BDD solution for .NET. It uses the Gherkin specification language and integrates to Visual Studio.
- Storyteller - Executable Specifications for .NET http://storyteller.github.io.
- Stubbery - A simple library for creating and running Api stubs in .NET.
- Testavior - Testavior is a lightweight solution to help you develop Behavior Tests for ASP.NET Core.
- TestStack.BDDfy - The simplest BDD framework EVER!
- xBehave.net - An xUnit.net extension for describing your tests using natural language. http://xbehave.github.io
- xUnit.net - A free, open source, community-focused unit testing tool for the .NET Framework.
Tools
- CliFx - Declarative framework for building command line interfaces.
- CommandLineUtils - Command line parsing and utilities for .NET Core and .NET Framework.
- docfx - Tools for building and publishing API documentation for .NET projects http://dotnet.github.io/docfx
- dotnetfiddle - .NET sandbox for developers to quickly try out code and share code snippets.
- dotnet-tools - A list of tool extensions for .NET Core Command Line (dotnet CLI).
- LibMan CLI - Client-side content manager for web apps.
- EntryPoint - Composable CLI (Command Line) Argument Parser for .Net Core & .Net Framework 4.5+.
- Fake JSON Server - Fake REST API for prototyping or as a CRUD Back End. No need to define types, uses dynamic typing. Data is stored to a single JSON file. Has authentication, WebSocket notifications, async long running operations, random generation for errors/delays and experimental GraphQL support.
- gitignore.io - Create useful .gitignore files for your project https://www.gitignore.io.
- ICanHasDotnetCore - Scans uploaded packages.config files or GitHub repository and determines whether the nuget packages target .NET Standard.
- json2csharp - Generate C# classes from JSON.
- letsencrypt-win-simple - A Simple ACME Client for Windows.
-
Linq_Faster - Linq-like extension functions for Arrays, Span
, and List that are faster and allocate less. -
mRemoteNG - The next generation of mRemote, open source, tabbed, multi-protocol, remote connections manager
- NJsonSchema - NJsonSchema is a .NET library to read, generate and validate JSON Schema draft v4+ schemas.
- NuKeeper - Automagically update nuget packages in .NET projects.
- NuGetPackageExplorer - Create, update and deploy Nuget Packages with a GUI.
- NugetVisualizer - Visualize all of the nuget packages and their corresponding versions for a set of given git repositories or folders.
- OctoLinker - Navigate through
projects.jsonfiles efficiently with the OctoLinker browser extension for GitHub. - posh-dotnet -
PowerShelltab completion for the dotnet CLI. - Rin - Request/response Inspector middleware for ASP.NET Core. like Glimpse.
- scoop - A command-line installer for Windows.
- SerilogAnalyzer - Roslyn-based analysis for code using the Serilog logging library. Checks for common mistakes and usage problems.
- SharpZipLib - #ziplib is a Zip, GZip, Tar and BZip2 library written entirely in C# for the .NET platform.
- ShareX - Free and open source program that lets you capture or record any area of your screen and share it with a single press of a key. It also allows uploading images, text or other types of files to over 80 supported destinations you can choose from. https://getsharex.com
- SharpLab - .NET code playground that shows intermediate steps and results of code compilation. https://sharplab.io
- SmartCode – SmartCode= IDataSource -> IBuildTask -> IOutput => Build Everything!!! (Including [Code generator])
- sourcelink - SourceLink is a language- and source-control agnostic system for providing first-class source debugging experiences for binaries.
- System.CommandLine - System.CommandLine, a set of libraries for command line parsing, invocation, and rendering of terminal output.
- Typin - Simple to use declarative framework for interactive CLI applications and command line tools (direct mode) that has its roots in CliFx.
- X.Web.Sitemap – Simple sitemap generator for .NET and .NET Core
- X.Web.RSS – Simple RSS Feed generator for .NET and .NET Core
Web Framework
- WebAssembly
- Blazor - UI framework running .NET in the browser via WebAssembly.
- Awesome Blazor - Collection of awesome resources (samples, components, articles, videos and others) about Blazor.
- Blazor Redux - Connecting a Redux state store with Blazor.
- Ooui - Small cross-platform UI library that brings the simplicity of native UI development to the web.
- ReactJS.NET - .NET library for JSX compilation and server-side rendering of React components.
- redux.NET - Predictable state container for .NET apps. Inspired by https://github.com/reactjs/redux.
Web Socket
- Fleck - Fleck is a WebSocket server implementation in C#. Fleck requires no inheritance, container, or additional references.
- SignalR Server - Real-time web functionality for web apps, including server-side push.
- SuperSocket - Light weight, cross platform and extensible socket server application framework.
- WampSharp - C# implementation of The Web Application Messaging Protocol - Protocol that provides messaging patterns of Remote Procedure Calls and Publish/Subscribe over WebSockets.
- websocket-manager - Real-Time library for ASP .NET Core.
Windows Service
- dotnet-win32-service - Set up and run as Windows Service directly from .NET Core.
- Topshelf - Easy service hosting framework for building Windows services using .NET.
Workflow
- CoreWF - Port of Windows Workflow Foundation (WF) to .NET Core.
- workflow-core - Lightweight workflow engine for .NET Standard.
- WorkflowEngine.NET - Component that adds workflow in your application.
- Wexflow - A high performance, extensible, modular and cross-platform workflow engine.
Roadmaps
- ASP.NET Core Developer Roadmap - Roadmap to becoming an ASP.NET Core developer in 2019.
Starter Kits
- Arch - The collection of .NET Core libraries that are created by software architects who embrace all the new stuff in .NET Core.
- AutoHistory - A plugin for Microsoft.EntityFrameworkCore to support automatically recording data changes history.
- AspNetCore-Angular2-Universal - Cross-platform - w/ server-side rendering for SEO, Bootstrap, i18n internationalization (ngx-translate), Webpack, TypeScript, unit testing w/ Karma, WebAPI REST setup, SignalR, Swagger docs, and more!
- ASP.NET Core Starter Kit - Opinionated boilerplate for web development based on .NET Core, Kestrel, GraphQL on the backend and Babel, Webpack, React and Redux on the frontend. This boilerplate comes in both C# and F# flavors.
- aspnetcore-spa generator - Yeoman generator to build a brand-new ASP.NET Core single page application that uses Angular 2 / React / React With Redux / Knockout / Aurelia on the client.
- ASP.Net Core Vue Starter - Asp.NETCore 2.0 Vue 2 (ES6) SPA Starter kit, contains routing, Vuex, and more!.
- bitwarden-core - The core infrastructure backend (API, database, etc) https://bitwarden.com.
- dotNetify - Simple, lightweight, yet powerful way to build real-time HTML5/C# .NET web apps.
- generator-aspnet - yo generator for ASP.NET Core.
- Nucleus - Vue startup application template that uses ASP.NET Core API layered architecture at the back-end and JWT based authentication
- react-aspnet-boilerplate - Starting point for building isomorphic React applications with ASP.NET Core 1, leveraging existing techniques.
- saaskit - Developer toolkit for building SaaS applications.
- serverlessDotNetStarter starter kit for development and deployment of lambda functions in the AWS cloud based on serverless framework.
Sample Projects
- Microservices & Service Mesh
- clean-architecture-dotnet - Apply Minimal Clean Architecture with DDD-lite, CQRS-lite, and just enough Cloud-native patterns on eCommerce sample business domain
- coolstore-microservices - A Kubernetes-based polyglot microservices application with Istio service mesh
- distributed-playground - Distributed service playground with Vagrant, Consul, Docker & ASP.NET Core.
- DNC-DShop - Distributed .NET Core project and free course. (DDD, CQRS, RabbitMQ, MongoDB, Redis, Monitoring, Logging, CI, CD)
- dotnetcore-microservices-poc - simplified insurance sales system made in a microservices architecture using .NET Core (EF Core, MediatR, Marten, Eureka, Ocelot, RabbitMQ, Polly, ElasticSearch, Dapper) with blog post series.
- eShopOnContainers - Microservices Architecture and Containers based Reference Application.
- InMemoryCQRSReplication - Akka.NET Reference Architecture - CQRS + Sharding + In-Memory Replication
- magazine-website - Magazine website (using .NET Core, ASP.NET Core, EF Core) with DDD, CQRS, microservices, asynchronous programming applied.
- microservices-in-dotnetcore - The code sample from the second edition of Microservices in .NET Core.
- practical-dapr - Full-stack .NET microservices build on Dapr and Tye.
- ReactiveTraderCloud - Real-time trading platform demo showcasing reactive programming principles applied across the full application stack.
- Monoliths
- AlbumViewerVNext - West Wind Album Viewer ASP.NET 5 Sample.
- allReady - Open-source solution focused on increasing awareness, efficiency and impact of preparedness campaigns as they are delivered by humanitarian and disaster response organizations in local communities. http://www.htbox.org/projects/allready
- AspNet5GeoElasticsearch - ASP.NET Core MVC Geo Elasticsearch Swashbuckle Swagger.
- aspnet-servicediscovery-patterns - Samples of implementing Service Discovery patterns with ASP.NET Core.
- AspNetAuthorizationWorkshop - A workshop for moving through the various new pieces in ASP.NET Core Authorization
- BikeSharing360 Suite of Apps from Microsoft Presented December Connect 2016 Conference, a compreshsive set of interworking apps for both enterprise users and the consumers (bike riders): Mobile Apps, Backend Services, Websites, Single Container Apps, Multi Container Apps, Cognitive Services Kiosk App, Azure Bot App.
- Clean Architecture Manga - Clean Architecture sample with .NET Core 3.0 and C# 8. Use cases as central organising structure, completely testable, decoupled from frameworks.
- cloudscribe - ASP.NET Core Multi-tenant web application foundation.
- CoreCodeCamp - An Open Source Website for running small, local development events.
- DotNetClub - Tiny club written in ASP.NET Core.
- eShopOnWeb - A layered application architecture with monolithic deployment model.
- Entropy - Chaotic experimental playground for new features and ideas - check here for small and simple samples for individual features.
- EquinoxProject - Full ASP.NET Core 2.0 application with DDD, CQRS and Event Sourcing.
- GenVue - a hostable, web application that lets confidential users upload and share private files build on Vue.js, Vuetifyjs and NetCore WebAPI stack
- guidance-identity-management-for-multitenant-apps - How to manage user identities in a multitenant app on Microsoft Azure, using Azure Active Directory for authentication.
- JustA.ML - A web application that lets you share files/URL/text between your devices written in ASP.NET Core 2.0. Open source, live at https://justa.ml
- MegaMine - Open source mining solution that helps miners in extracting Gold, Quartz, Granite etc. This solution is built using ASP.NET Core and AngularJS utilizing multiple light weight components in a Microservices way.
- MusicStore - Sample MusicStore application that uses MVC and Entity Framework.
- NLayerAppV3 - NLayerAppV3 N-Layered Architecture with .NET Core Preview 2.
- NorthwindTraders - Northwind Traders is a sample application built using ASP.NET Core and Entity Framework Core.
- Orchard Core - Modular and Multi-tenant applications - Use Orchard Core Framework to create Modular and Multi-tenant applications.
- PhotoGallery - Cross-platform Single Page Applications with ASP.NET Core, Angular 2 & TypeScript http://wp.me/p3mRWu-11L.
- PokeR - Realtime scrum poker using SignalR and Angular in ASP.NET Core's SPA hosting. Includes Docker support. Demo
- Practical ASP.NET Core - A daily updated micro samples of ASP.NET Core features and facilities.
- Sample .NET Core CQRS REST API - .NET Core REST API CQRS implementation with raw SQL and DDD using Clean Architecture.
- StarWars - GraphQL 'Star Wars' example using GraphQL for .NET, ASP.NET Core, Entity Framework Core.
Articles
- Basic knowledge
- Microsoft architectural overview of comprehensive BikeSharing360 suite of demo apps with related videos
- Porting a .NET Framework library to .NET Core
- The 68 things the CLR does before executing a single line of your code
- The comparison between .NET Core and Nodejs at here, here and here
- Understanding ASP.NET Core Initialization
- Why you should join .NET Core and ASP.NET Core train
- Cloud Development
- Configuring the AWS SDK in .NET Core
- Serverless Architecture using C# and AWS Amazon Gateway Api/Lambda
- Using C# and .NET Core in Amazon Web Services (AWS) Lambda
- Configuration and deployment
- .NET project structure
- Adding Travis CI builds to a .NET Core app
- ASP.NET Core 1.0 - Configure ApplicationInsights
- haproxy, nginx, Angular 2, ASP.NET Core, Redis and Docker
- Project.json to MSBuild conversion guide
- Publishing a .NET project with Appveyor and NuGet
- The New Configuration Model in ASP.NET Core
- Entity Framework Core
- .NET Core Data Access
- A very good example about EF Core
- Connect to Postgres with EF Core
- Miraculous
- Getting started with Orchard Core as a NuGet package
- How to export HTML to PDF in ASP.NET Core
- Vue.js server side rendering with ASP.NET Core
- Security
- .NET Continuous Delivery Microservices
- ASP.NET Core 2.0 Authentication and Authorization System Demystified
- A walk-through for an ASP.NET Authorization Lab
- Authentication in ASP.NET Core
- Testing
- Selenium with .NET Core
- InfoQ .NET articles - Collection of best .NET articles on InfoQ site
Books
- .NET Core in Action
- ASP.NET Core Application Development: Building an application in four sprints (Developer Reference)
- ASP.NET Core in Action
- ASP.NET Core 1.0 High Performance
- Building Microservices with ASP.NET Core: Develop, Test, and Deploy Cross-Platform Services in the Cloud
- C# 6 and .NET Core 1.0: Modern Cross-Platform Development
- C# in Depth 4
- Dependency Injection in .NET Core, 2nd edition
- Essencial C# 7.0
- Exploring .NET Core with Microservices, ASP.NET Core, and Entity Framework Core - free eBook sampler
- Microservices in .NET Core: with C#, the Nancy framework, and OWIN middleware
- Professional C# 6 and .NET Core 1.0
- The little ASP.NET Core
Videos
- Channel9 - MSDN
- Channel9 - YouTube
- Microsoft Learning Center
- ASP.NET Monsters
- Visual Studio
Podcasts
Community
- .NET Foundation
- .NET Blog
- /r/CoolGithubProjects
- ASP.NET
- Channel9
- Awesome .NET open source & community resources
- Slack
- BuiltWithDot.Net
- Stack Overflow
- .NET Core
- CoreCLR
- ASP.NET Core
- ASP.NET Core MVC
- ASP.NET Core 1.0
- Entity Framework Core
- Trending .NET repositories on GitHub today
License
To the extent possible under law, thangchung has waived all copyright and related or neighboring rights to this work.
Curated list of Roslyn books, tutorials, open source projects, analyzers, code fixes, refactorings, and source generators.
Roslyn, officially named .NET Compiler Platform, is a set of open-source compilers and code analysis APIs for C# and Visual Basic .NET languages.
Contents
- Books
- Tutorials
- Open Source Projects
- Open Source Analyzers, Code Fixes, and Refactorings
- Libraries and Frameworks for Testing Analyzers, Code Fixes, and Refactorings
- Source Generators
- Blog Posts and Articles
- Talks
Books
Awesome books to give you a good start with Roslyn.
- Roslyn Succinctly - Free e-book by Alessandro Del Sole and the perfect book to start with. Explains Roslyn APIs and afterward focuses on writing analyzers and refactorings.
- .NET Development Using the Compiler API - Book by Jason Bock. Besides analyzers and refactorings, it also explains the scripting API and provides an interesting reflection on the future of the Compiler API.
- Roslyn Cookbook - Book by Manish Vasani, a member of the Roslyn analyzers team. After covering analyzers, refactorings, and scripting in detail, the book goes in-depth explaining how to develop new C# language features and contribute to the Roslyn source code.
Tutorials
Awesome online tutorials to help you write your first analyzers, code fixes, and source generators.
- Learn Roslyn Now - Series of blog posts that explore the Roslyn compiler API. It introduces the power of Roslyn through small self-contained examples. A perfect tutorial to start with :-)
- How To Write a C# Analyzer and Code Fix - The mother of all Roslyn tutorials :-) A realistic step-by-step introduction to syntax and semantic analysis as well as the syntax transformation.
- C# and Visual Basic - Use Roslyn to Write a Live Code Analyzer for Your API - Older but still not outdated, very detailed MSDN article on writing code analyzers.
- C# - Adding a Code Fix to Your Roslyn Analyzer - The sequel to the previous MSDN article. A detailed introduction into code fixes.
- Introducing C# Source Generators - Original announcement of the C# 9.0 Source Generators feature. Explains what source generators are, in which scenarios they are useful, and shows how to write a simple source generator.
- New C# Source Generator Samples - Samples on how to write a non-trivial code generator driven by additional, non-code files like CSV files or Mustache templates.
- C# Source Generators - Comprehensive list of additional learning sources, samples, and experimental and productive source generators. A perfect reference once you grasp the basics.
Open Source Projects
Awesome open source projects built on top of Roslyn.
- Bridge - C# to JavaScript transpiler. Write modern mobile and web apps in C# and run them anywhere in JavaScript.
- Code Converter - C# to VB.NET and VB.NET to C# transpiler.
- CodeAnalysis.CSharp.PatternMatching - Intuitive pattern matching for Roslyn syntax trees. Simplifies C# syntax and semantic analysis.
- CodeGeneration.Roslyn - Roslyn-based Code Generation during a build with design-time support.
- dotnet-script - Runs C# scripts from the .NET CLI, defines NuGet packages inline and edit/debugs them in VS Code.
- FlubuCore - Cross platform build automation tool for building projects and executing deployment scripts using C# code.
- MirrorSharp - Online C#, VB.NET, and F# code editor. Features code completion, method signature help, quick fixes, and diagnostics.
- OmniSharp - Enables a cross platform .NET development in the editor of your choice. A family of open source projects, each with one goal: To enable a great .NET experience in your editor of choice.
- roslyn-linq-rewrite - Compiles C# code by first rewriting the syntax trees of LINQ expressions using plain procedural code. This increases performance by minimizes heap allocations and dynamic dispatch.
- RoslynPad - Cross-platform C# editor. Features code completion, method signature help, quick fixes, and diagnostics.
- RoslynQuoter - Online tool that for a given C# program generates syntax tree API calls that construct syntax tree of that program.
- scriptcs - Turns C# into a powerful scripting tool. Features C# REPL, installation of NuGet packages, and execution of scripts with a single line of code.
- Scripty - Tool to use Roslyn-powered C# scripts for code generation. You can think of it as a scripted alternative to T4 templates.
- Sharpen - Visual Studio extension that intelligently introduces new C# language features into your existing code base.
- SharpLab - .NET code playground. Displays intermediate steps and results of code compilation. Shows the code as compiler sees it. Allows selecting different branches and versions of Roslyn. Runs C#, VB.NET, and F# code in the browser.
- Testura.Code - Wrapper around the Roslyn API used for generation, saving, and compiling C# code. Provides methods and helpers to generate classes, methods, statements, and expressions.
- Uno SourceGenerator - C# source code generator based on a project being built, using all of its syntactic and semantic model information.
Open Source Analyzers, Code Fixes, and Refactorings
Awesome open source analyzers, code fixes, and refactorings.
- .NET Analyzers - GitHub organization for the development of Roslyn analyzers. Various repositories within the organization cover analyzers for ASP.NET Core, WPF, IDisposable, usages of System.Reflection, etc.
- .NET Compiler Platform ("Roslyn") Analyzers - Diagnostic analyzers developed by the Roslyn team. Initially developed to help flesh out the design and implementation of the static analysis APIs. The analyzers cover code quality, .NET Core, desktop .NET Framework, comments in code, and more.
- Code Cracker - Analyzer library for C# and VB.NET. Offers diagnostics in many categories like performance, coding styles, as well as some basic refactorings.
- CSharpGuidelinesAnalyzer - Reports diagnostics for C# coding guidelines (https://csharpcodingguidelines.com/).
- ErrorProne.NET - Set of analyzers and code fixes focusing on the correctness and performance of C# programs. Inspired with Google's Error Prone.
- Mapping Generator - Code fix that generates arbitrary complex object-object mappings. It recognizes out of the box a large number of scenarios where mappings are used. A design-time alternative to AutoMapper.
- Nullable.Extended - Roslyn tools and analyzers to improve the experience when coding with nullable reference types.
- Refactoring Essentials for Visual Studio - Refactorings, analyzers and code fixes for C# and VB.NET.
- Roslyn Clr Heap Allocation Analyzer - C# heap allocation analyzer that can detect explicit and many implicit allocations like boxing, closures, implicit delegate creations, etc.
- Roslynator - Collection of 190+ analyzers and 190+ refactorings for C#. Covers coding style, code readability and simplification, removing redundancies, fixing compiler errors, and many more.
- SonarC# - Static code analyzer for C# language used as an extension for the SonarQube platform.
- StyleCop Analyzers for the .NET Compiler Platform - Port of StyleCop rules to Roslyn.
- VSDiagnostics - Collection of code-quality analyzers. Covers usages of async methods, flags enums, best practices in exception handling as well as many other code-quality checks.
Libraries and Frameworks for Testing Analyzers, Code Fixes, and Refactorings
Awesome libraries and frameworks for testing analyzers, code fixes, and refactorings.
- Microsoft.CodeAnalysis.Testing - Library for testing analyzers and code fixes with NUnit, xUnit and MSTest frameworks. A part of Roslyn SDK.
- RoslynTestKit - Lightweight framework for writing unit tests for analyzers, code fixes, refactorings, and completion providers. It's unit testing framework agnostic.
Source Generators
Awesome (but mostly experimental at the moment, because .NET 5.0 and C# 9.0 are still in preview) source generators and open source projects that internally use source generators.
- DpDtInject - Proof-of-concept of a dependency injection container that transfers huge piece of resolving logic to the compilation stage. Offers additional compile-time safety and fast runtime resolution.
- Generator.Equals - Automatically implements equality and hashing for classes and records. Supports different comparison strategies. Offers similar functionality like IL weaving-based Equals.Fody.
- JsonSrcGen - Reflection-free JSON serializer. Allows extremely fast JSON processing by generating reflection-free serializers at the compile time.
- Source Generator Playground - Online application that lets you experiment with source generators. Perfect for learning and testing your ideas. Write your own source generator or learn from built-in examples and see the generated output.
- StrongInject - Compile-time dependency injection container. Compile-time checked, reflection-free and runtime code generation free, thus fast and app-trimming-friendly.
- StructPacker - Low-level, lightweight and performance-focused serializer for C# struct types. Auto-generates C# serialization code to achieve peak runtime performance and efficiency.
- Svg to C# Source Generators - SVG to C# compiler. Compiles SVG drawing markup to C# using SkiaSharp as rendering engine.
- WrapperValueObject - Creates boilerplate free wrappers around types. Especially useful for creating strongly typed wrappers around primitive types.
Blog Posts and Articles
Awesome blog posts and online articles covering various topics like performance, Roslyn history, internals and similar.
- How Microsoft rewrote its C# compiler in C# and made it open source - Roslyn's journey, presented by Mads Torgersen, the lead designer of C#. Inspiring story on how Roslyn project started and why, and what it took to make it open source.
- Inside the .NET Compiler Platform – Performance Considerations during Syntax Analysis (#SpeakRoslyn) - In-depth look at Roslyn's performance with the focus on memory consumption.
- Persistence, Facades and Roslyn's Red-Green Trees - Inspiring introduction on how Roslyn team implemented immutable, reusable trees with cheap parent references and many other goodies. Quote: "But on the Roslyn team we routinely do impossible things" :-)
- ReSharper and Roslyn: Q&A - Excellent explanation why ReSharper will not use Roslyn. Includes good discussion on static code analysis and some limits of Roslyn.
- Roslyn performance (Matt Gertz) - Insight on how Roslyn team approaches the topic of evaluating and achieving performance.
Talks
Awesome public talks about Roslyn.
- The Power of Roslyn - Great talk by Kasey Uhlenhuth at NDC Oslo 2018 covering Roslyn essentials and APIs and tools for building code analyzers and fixes.
Contribute
Contributions are welcome :-) The goal is to build a categorized community-driven collection of awesome Roslyn resources. Before contributing, please make sure to read the contribution guidelines.
License
To the extent possible under law, Igor Rončević has waived all copyright and related or neighboring rights to this work.
Awesome Amazon Alexa

Curated list of awesome resources for the Amazon Alexa platform.
Contents
- SDKs/Tools
- NPM Modules
- Skills
- Boilerplates
- Prototyping
- Analytics
- Utilities
- Monitoring
- Newsletters
- Podcasts
- Blogs
- Books
- Tutorials
- Videos
- Courses
- Communities
- Influencers
- Conferences
- Jobs
- Easter Eggs
- Fundraising
- Contributing
- License
SDKs/Tools
- alexa-skills-kit-js - The Alexa Skills Kit SDK for Node.js helps you get a skill up and running quickly, letting you focus on skill logic instead of boilerplate code.
- jargon-sdk-nodejs - The Jargon SDK makes it easy for skill developers to manage their runtime content and to support multiple languages from within their skill.
- AVS-server - Node.js web server for interacting with the Alexa Voice Service.
- AVS-client - Front-end application for interacting with Alexa Voice Service.
- SSMLOL - MP3 file validator for Alexa SSML \<audio> tags.
- Jovo Framework - Build cross-platform apps for Alexa and Google Home.
- Alexa Smart Home SDK - An Alexa Skill Generator for IoT.
- AssistantJS - TypeScript framework to build cross-platform voice applications.
- alexa-avs-sample-app - This project provides a step-by-step walkthrough to help you build a hands-free Alexa Voice Service (AVS) prototype in 60 minutes.
- alexa-skills-kit-sdk-for-java - SDK and example code for building voice-enabled skills for the Amazon Echo.
- ask-alexa-pykit - A minimalist SDK for developing skills for the Amazon Echo's ASK.
- alexa-skill-kit - Library for effortless Alexa Skill development with AWS Lambda.
- alexa-home - Using Amazon Echo to control the home!
- go-alexa - A collection of Amazon Echo / Alexa tools for Go development.
- AlexaAndroid - A library and sample app to abstract access to the Amazon Alexa service for Android applications.
- arduino-esp8266-alexa-wemo-switch - Amazon Alexa + WeMos switch made with Arduino D1 Mini.
- MacLexa - Put Amazon's Alexa in the Mac System Tray, uses Alexa Voice Service and built with Swift.
- Alexa-Chromecast-Skill-2.0 - Allows Amazon Alexa to control Google Chromecast, designed for Raspberry Pi.
- AlexaSkillsKit.NET - .NET library that simplifies Alexa skills development; same object model as Amazon's AlexaSkillsKit for Java.
- alexa-rubykit - Amazon Echo Alexa's App Kit Ruby Implementation.
- SwiftOnLambda - Use Swift to define an Amazon Lambda function, and an Alexa Custom Skill.
- alexa-skills-dotnet - An Amazon Alexa Skills SDK for .NET.
- ralyxa - A Ruby framework for interacting with Amazon Alexa.
- alexacast - Chromecast support for Amazon Alexa.
- alexa-assistant - Implementation of the Google Assistant SDK as an Alexa skill.
- haaska - Home Assistant Alexa Skill Adapter.
- Alexa Skills Kit SDK for Java - SDK and example code for building voice-enabled skills for the Amazon Echo.
- Aleksa - Aleksa is a small framework for writing Alexa Skills in Kotlin.
- Alexa Skills Kit for Python - Alexa Skills Kit for Python.
- python-alexa - A Simple Python Library to make Alexa skill development easy when aimed used in Lambda.
- Java Alexa Skills Kit SDK (Lambda) - An Amazon Alexa Skills SDK for Java.
- vsms-skeleton - Voice Skill Management System (Skeleton).
- phoice/phlexa - PHP Library for Amazon Alexa voice applications.
- amazon-alexa-php - Amazon Alexa PHP Library.
- alexa-app - Set of classes to make creating Amazon Alexa Skills Kit (ASK) applications easier with Laravel and Lumen.
- Virtual Alexa - Alexa Emulator for Unit-Testing.
- ASK CLI - The ASK Command Line Interface (ASK CLI) is a tool for you to manage your Alexa skills and related AWS Lambda functions.
NPM Modules
- intent-utterance-file-parser - Parse an intent utterance file, like the Alexa Skills Kit Sample Utterance file.
- intent-utterance-expander - Expand custom utterance slots of phrases to use with Alexa Skills Utterances.
- intent-utterance-generator - Alexa Skills Kit Sample Utterances generator.
- alexa-utterances - Generate expanded utterances for Amazon Alexa from a template string.
- alexa-voice-service.js - Library for interacting with Alexa Voice Service (AVS) in the browser.
- alexa-grammar - Utilities and framework code for building valid grammars and skill kits for Amazon's Alexa voice agent service.
- hapi-alexa - Hapi plugin for building Amazon Alexa apps on Node.js.
- alexa-app - A framework for Alexa (Amazon Echo) apps using Node.js.
- alexa-nodekit - Amazon Echo Alexa's App Kit Node.js Implementation.
- generator-alexa-skill - A Yeoman generator for scaffolding an Alexa Skill for AWS Lambda.
- expressive - A minimalist framework for Alexa Skill Kit apps running on Amazon Lambda.
- wavelength - Framework for building Alexa Skills with AWS Lambda.
- alexa-uncensor - Bypass Alexa (Amazon Echo) Text-to-Speech censorship.
- ssml-builder - Easily create SSML without all the hassle of string concatenation.
- alexa-verifier-middleware - An express middleware that verifies HTTP requests sent to an Alexa skill are sent from Amazon.
- alexia - A Framework for creating Amazon Echo skills using Node.js.
- fluent-ssml - Reusable, testable SSML templates for Typescript or plain Node.js.
- jovo-framework-nodejs - Build cross-platform Voice Apps for Amazon Alexa and Google Assistant.
- chatskills - Run and debug Alexa skills on the command-line. Create bots. Run them in Slack. Run them anywhere!
- alexa-utterances - Generate expanded utterances for Amazon Alexa from a template string.
- alexa-mp3-validator - A node module for validating your MP3 files to be used in your Amazon Alexa skill.
- node-alexa-smapi - A node.js client library for using the Alexa Skill Management API.
- jargon-sdk-nodejs - The Jargon SDK makes it easy for skill developers to manage their runtime content and to support multiple languages from within their skill.
Skills
- ASK-HackerNews - An Alexa Skills Kit app to read the top Hacker News headlines.
- Alexa-ChromeControl - Control your chrome browser via your Amazon Echo.
- alexa-skill-jenkins - Alexa Skill that tells Who broke the Jenkins build.
- ASK-fortune - Read a random, hopefully interesting, adage.
- gmail-on-alexa - Gmail skill for Amazon Alexa.
- alexa-plex - Alexa (Amazon Echo) app for interacting with a Plex Server and controlling client playback.
- trash-talk - 100 greatest movie insults of all time to motivate you.
- AlexaMakeMeASandwich - Chrome Extension that turns your Amazon Echo into a Sandwich Artisan.
- LIFX-Alexa-Skill - An Alexa Skill created for the Amazon Echo that allows you to control your LIFX Lightbulbs.
- EarthquakeInfoSkill - Amazon Echo (Alexa) skill to read out recent earthquakes in the world.
- alexaHomeboy - Alexa Lambda Function for communicating with IFTTT maker channel.
- RokuAlexaLambdaSkill - An Alexa Skill that allows voice control of your Roku.
- alexa-sonos - An Alexa app to control a Sonos.
- RottingTomatoes - Alexa skill that tells you various info about movies.
- ktd-piggy-bank - An Alexa Skill to query the value of a Piggy Bank in Numerous.
- dominos-alexa-skill - An Alexa Skill to track your Domino's orders.
- bf-helper - An Alexa Skill to help Basic Fantasy RPG players with various tasks involved in setting up characters and navigating rules.
- EchoMovieDialog - Amazon Echo skill: Alexa engages in a dialog using movie quotes.
- alexa-coho - Sample code for building skill adapters for Alexa Connected Home using the Lighting API.
- asana-alexa-skill - Alexa Skill for Asana.
- alexa-against-humanity - Ask Alexa to randomly pick white or black cards from Cards Against Humanity.
- echo-venmo - Amazon Echo Skill for Venmo.
- Uber-Alexa-Skill - An Alexa skill for calling an Uber ride.
- npmAlexa - Alexa app to ping NPM API.
- 1minuteMindfullnessSkill - Skill code for Alexa Skill: 1 minute Mindfulness.
- codeword-alexa-skill - Generate code words using Alexa.
- alexa-league - Alexa Skill for Riot API.
- alexa-astro - Ask your Amazon Echo about the night sky.
- alexa_metar - Read ADDS METARs aloud on an Amazon Echo.
- alexa-qrz - An Alexa Skill to lookup FCC license information.
- alexa-airportinfo - This skill uses the FAA API to report the current weather, and any delays, for a given airport code.
- alexa-ha - An Amazon Echo skill for controlling your Home Automation via voice.
- alexia-starter-kit - Starter Kit project with sample Amazon Echo skill created using Alexia Framework. Contains eslint config, sample intent structure, unit tests and more.
- geemusic - A bridge between Google Music and Amazon's Alexa.
- alex-robinhood-skill - Unoffical Alexa Skill for Robinhood.
Boilerplates
- skill-sample-nodejs-fact - This Alexa sample skill is a template for a basic fact skill.
- skill-sample-nodejs-audio-player - An Alexa Skill Sample showing how to play long form audio in 3P-skills.
- skill-sample-nodejs-petmatch - This Alexa Skill Kit sample shows how to build a skill using Dialog Management and Entity Resolution.
- skill-sample-nodejs-team-lookup - An Alexa Skill Sample showing how to build a team lookup skill.
- skill-sample-nodejs-city-guide - An Alexa Skill Sample showing how to build a skill featuring a single city's landmarks and news.
- skill-sample-nodejs-audio-player - An Alexa Skill Sample showing how to play long form audio in 3P-skills.
- skill-sample-nodejs-highlowgame - This Alexa sample skill is a template for a basic high-low game skill.
- skill-sample-nodejs-howto - This tutorial will walk first-time Alexa skills developers through all the required steps involved in creating a parameter-based skill using a template called ‘Minecraft Helper’.
- skill-sample-nodejs-feed - An Alexa Skill Template to help create skills that read RSS/Atom feeds.
- skill-sample-nodejs-decision-tree - An Alexa Skill Sample for building a skill that can take a user through a decision tree, like "What should I eat for breakfast?".
- skill-sample-nodejs-calendar-reader - An Alexa Skill Sample showing how to import calendar data from an .ICS file.
- skill-sample-nodejs-trivia - This Alexa sample skill is a template for a trivia style game with score keeping.
- skill-sample-nodejs-quiz-game - An Alexa Skill Sample showing how to build a quiz game skill.
- skill-sample-nodejs-salesforce - This project demonstrates how to build an Alexa private skill that integrates with your Salesforce data, utilizing account linking and a personal voice code.
Prototyping
- VoiceX - Prototyping sample dialogs for voice user interfaces.
- Sayspring - Create interactive voice prototypes for Amazon Alexa and Google Home.
- BotSociety - Preview & prototype your voice interfaces.
- Skillinator - Prototype Alexa Skills for Alexa Skills Kit SDK for JavaScript / Node.js (Lambda).
- Storyline - Create and publish Amazon Alexa skills without coding with visual interface and pre-build templates.
- Smartly.AI - All in one platform for your voice and chatbot projects.
- PullString - Design, prototype, and publish voice apps for Amazon Alexa, Google Assistant and IoT devices.
- Conversable - Conversable is the enterprise conversational intelligence platform for creating intuitive, on-demand, automated experiences on any messaging or voice channel.
- kitt.ai - KITT.AI offers Conversational Understanding as a Service with ChatFlow and customizable wake word detection on embedded devices.
Analytics
- Dashbot - Actionable Analytics for Amazon Alexa.
- Opearlo - Opearlo is a voice design agency that offers Alexa skill design and development, along with Opearlo Analytics, a platform for insights into Alexa skill usage.
- Alpine.ai - Alpine is a pioneer in voice experience analytics, and is the most widely used product analytics service for Alexa skills.
- WitLingo - Witlingo is a SaaS product company that enables skills developers to access analytics, diagnostics, and discovery tools to help them improve their skills.
Utilities
- Alexa-Utterance-Generator - A website that allows you to generate numerous utterances with a simplistic GUI.
- Alexa Smart Home Payload V3 Generator - A website that generates smart home v3 discovery payloads.
- Skillinator - A website to help generate Lambda template code from an Interaction Model JSON file. Service created by Amazon staff.
- Skill Code Generator - A tool to help generate Lambda Boilerplate code in ASK SDK v2 with options of Variety greeting, Display Template Response
- Audio converter (Storyline) - This simple tool helps you to convert your MP3s into the right format for Amazon Alexa skills. It works for Google Actions too.
- Audio converter (Jovo) - Convert MP3 files for using in Amazon Alexa Skills.
- Tophonetics - A free International Phonetic Alphabet (IPA) phonetics generator for your SSML in Amazon Alexa Skills.
Monitoring
- Bespoken - Bespoken provides monitoring and testing tools for Alexa skills (and Google Actions). Our platform keeps track to make sure your skill is working correctly, and alerts you when it is not.
- VoiceLabs.com - Testing and Monitoring Alexa skills - VoiceLabs is a free testing and monitoring platform for Alexa skills and Google Actions.
Newsletters
- ASK Dev Weekly - Subscribe to a hand picked round up of the best Alexa Skills Kit (ASK) development links every week.
- Hearing Voices - This week's news about voice computing apps, delivered directly to your inbox.
- Alexa Developer - Latest Amazon Alexa news and IoT and voice industry trends.
- Love My Echo - Things To Ask Alexa, how-tos, tips, tricks, etc.
- VoiceBot - The latest news about Amazon Alexa, Google Home, Google Deep Mind, Apple Siri, Microsoft Cortana, IBM Watson and more.
- Voice Dev Rocks - A weekly curated publication full of interesting, relevant links, brought to you by the Amazon Alexa, Google Assistant and Microsoft Cortana Slack communities.
- Talking to Computers - A monthly newsletter about building for voice, on Alexa, Google Assistant, and elsewhere for developers, designers, and the tech-curious.
Podcasts
- Alexa Dev Chat - The podcasts include Alexa news, developer tips, and interviews with Alexa developers and Alexa employees.
- VoiceBot Podcasts - Gather in one place the most important news and commentary about all things voice web.
- VoiceFirst.FM - A podcast network devoted to voice-first technology.
Blogs
- Love My Echo - Love My Echo is the first consumer-oriented site dedicated to the Amazon Echo: what it is, what it does, and how to get the most from it.
- VoiceBot - One of the main news sources about voice industry and Amazon Alexa.
- Jargon Blog - The Jargon Blog releases weekly updates on voice 101 and product news
Books
- Designing Voice User Interfaces: Principles of Conversational Experiences - How to design voice user interfaces.
- How To Program - Amazon Echo: Design, Development and Testing Alexa Skills - How To Program for the Amazon Alexa.
- Developing Amazon Alexa Games: A Game Designer’s Handbook - A Game Designer’s Handbook.
- Voice Applications for Alexa and Google Assistant - This book teaches you how to design, build, and share voice apps. Voice-First Development - In this insightful guide, you’ll get a solid foundation in modern voice technologies.
Tutorials
- Alexa Voice Service (AVS) with cURL - Tutorial on interacting with Alexa Voice Service over cURL.
- Alexa Voice Service (AVS) Authentication - Tutorial on Alexa Voice Service authentication.
- How to develop an Alexa Skill - Tutorial on creating an Alexa Skill.
- How to create an Alexa Skill using Alexia Framework - Tutorial on using the Alexia framework.
- How to create a cross-platform voice app using Assistant.js - Tutorial on using Assistant.js.
Videos
- AWS re:Invent 2015 | (MBL301) Creating Voice Experiences Using Amazon Alexa - Learn about creating good user experiences on Alexa.
- AWS re:Invent 2015 | (MBL310) Alexa Voice Service Under the Hood - Learn more about Alexa in-depth.
- How to create an Alexa skill without coding?
- How to create your own Flash Briefing skill for Amazon Alexa - Create your own flash briefing skill.
- How to Publish Your Alexa Skill to all the English-speaking Regions - Publish your Alexa skill.
- Dabble Lab - Weekly videos on building custom skills for Amazon Alexa and related topics.
- Building Voice Apps Using Amazon Alexa - Build smooth voice-activated apps for Echo and other Alexa-aware devices.
- Build for Echo Show - Learn to develop multimodal skills for Echo Show.
Courses
- Introduction to Voice Design with Amazon's Alexa - Introduction to Alexa Voice Design.
- Cakewalk - Build an engaging Alexa Skill - Build an enaging Alexa Skill from scratch right up to certification.
Communities
- Unofficial Alexa Slack - A group of chat channels focusing on Amazon Alexa enabled hardware and software. Developers, designers, marketers, business people, hobbyists, students, and other professionals involved in technology are welcome.
- Alexa Developers Slack-- India Community - A group of chat channels focusing on Amazon Alexa Skill development in India. From student developers to Alexa Evangelists at Amazon, all are here to help you.
- Storyline community - Facebook community of Alexa Developers built around the Storyline, tool for creating voice apps without coding.
- Alexa Dev Days - Alexa Dev Days are free, interactive events from Amazon and sponsored by Intel. Engage in hands-on sessions where you will learn to create voice experiences and hear the latest on UI design and industry trends. Learners of all levels can join us for training sessions, workshops, live demos, and networking with Alexa experts and your peers.
Influencers
- Influencers - A list of Amazon Alexa influencers.
Conferences
- Voice Summit- VOICE Summit sponsored by Amazon Alexa is the world's largest voice-tech conference
- Alexa VoxCon - Amazon Alexa's Conference on All Things Voice.
Jobs
- Find Voice Jobs - Website to find jobs in VUI Domain
Easter Eggs
- Alexa Easter Eggs - A list of Alexa easter eggs.
Fundraising
- Alexa Fund - The Alexa Fund provides up to $100 million in venture capital funding to fuel voice technology innovation.
Contributing
Fork and submit Pull Request!
Please read the contribution guidelines. Thanks!
License
Awesome DigitalOcean 
A curated list of awesome DigitalOcean guides, blogs, and other resources.
DigitalOcean's tagline is it is a simple and robust cloud computing platform, designed for developers. With DigitalOcean you can easily spin up cloud compute and storage resources either indivdually or with a team.
Contributions welcome. Add links through pull requests or create an issue to start a discussion.
Contents
- Community
- Configuration management
- Developer documentation
- Open source projects
- Commercial integrations
- Community OSS projects
- Clients
- Video tutorials
- Other
Community
- Tutorial Search and Index
- Community articles by tag
- Questions
- Projects
- Meetups
- DigitalOcean Lovers - A LinkedIn group for users and lovers of DigitalOcean.
Configuration management
- Using Ansible with DigitalOcean
- Ansible Cloud Modules - DigitalOcean
- Terraform - DigitalOcean Provider
- DigitalOcean in Action! - Example repo for using DigitalOcean with Terraform and Ansible.
- Use DigitalOcean as Dynamic DNS
Developer documentation
- API
- Spaces API
- OAuth
- Droplet Metadata
- Official DO Release Notes - Notes tracking incremental improvements and major releases for the DigitalOcean cloud platform.
- DigitalOcean API Slugs
Open source projects
- Open Source @ DigitalOcean
- Netbox
- Doctl - Official command-line interface for the DigitalOcean API.
- go-libvirt
- go-qemu
Commercial integrations
- Bill.do - Free DigitalOcean billing monitoring and insights tool
- HostLaunch - Launch a hosting company based on DigitalOcean and ServerPilot.
- SimpleBackups - Tool for scheduling DigitalOcean backups (files & databases) on auto-pilot.
- SnapShooter - Tool for taking Daily to Hourly backups of Droplets and Volumes
- Weap.io - Hourly to Daily DigitalOcean backups. Tool for scheduling more frequent DigitalOcean backups
Community OSS projects
- do-sshuttle - Transparent Proxying via sshuttle to DigitalOcean Droplet.
- drophosts - Update
/etc/hostswith peer droplets. - droplan - Manage iptable rules for the private interface on DigitalOcean droplets.
- foreman-digitalocean - Plugin to enable management of DigitalOcean droplets in Foreman.
- ghost-digitalocean - A DigitalOcean Storage adapter for Ghost.
- lita-digitalocean - Lita handler for managing DigitalOcean services.
- hostpool - Worker pool manager for DigitalOcean hosts.
- DDNS - Personal DDNS client with DigitalOcean Networking DNS as backend.
- Less Confusing Menus - A Chrome extension that makes account menus less confusing.
- DigitalOcean Droplet creator - A dialog-based shell script to quickly create a single DigitalOcean Droplet.
- do-upgrade-plans - A script to upgrade your DigitalOcean Droplets to better plans with the same cost.
Clients
- doctl - Command-line tool for DigitalOcean services.
- digitalocean-indicator - Debian Gnome panel client.
- domanager - Linux and Windows System Tray Client.
- OceanBar - macOS menu bar client.
- Tugboat - Ruby command-line tool for DigitalOcean services, focusing on a more guided UX.
Video tutorials
Other
- Reddit community
##digitaloceanon freenode- Engineering Code of Conduct
- User Scripts - User data scripts to help provision apps on a Droplet.
- Hacktoberfest - Month-long celebration of open source software in partnership with GitHub.
License
To the extent possible under law, Jon Leibowitz has waived all copyright and related or neighboring rights to this work.
Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase. If you appreciate the content 📖, support projects visibility, give 👍| ⭐| 👏
Contents
- Articles
- Videos
- Components
- Navigation
- Template
- Plugins
- Frameworks
- Experimental
- Gaming
- Open Source Apps
- Web
- Utilities
- Books
- Bonus
- Jobs
- Community
Articles
Introduction
- Google IO 2018 - Building beautiful, flexible user interfaces.
- Presentation - by Helio S. Junior.
- Flutter Web - Ins and Outs of Flutter Web by Nash.
Websites / Blogs
- Welcome to Flutter - English and French blog dedicated to providing practical solutions to most asked questions about Flutter by Didier Boelens.
- SZAŁKO-BLOG - Step by step advanced design by Marcin Szalek.
- Flutter by Example - Tutorials based on Redux, Firebase, Custom Animations, and UI.
- Flutter Institute - Very original content and tutorials by Brian Armstrong.
- Iirokrankka.com - Articles and tutorials and anything related by Iiro Krankka.
- Norbert - In depth articles, features and app creation by Norbert515.
- Flutter Tips - Articles, tips & tricks in the development by Diego Velásquez.
- FilledStacks - Tutorials and guides on development by Dane Mackier.
- Awesome Flutter tips - Tips to help developers increase productivity by erluxman.
Tutorial
- Animated Chat - Building beautiful UIs by Google Code Labs.
- Firebase Chat - Firebase integration by Google Code Labs.
- Planets-Flutter: from design to app - Detailed planets design tutorial.
- Todo List [259⭐] – Step by step tutorial how to build Todo List with Flutter by Andrei Lesnitsky
- Flutter and Dart development - Articles and tutorials by Suragch.
Beginner
- Roadmap to Flutter Development [2795⭐] - Visual roadmap with principles, patterns, and frameworks for Flutter newbies by Olexandr Leuschenko.
- Layout Cheat Sheet - Extensive examples of layout widgets by Tomek Polański.
- Getting Started with Flutter - by raywenderlich.com.
- Beginner's Guide [123⭐] - Comprehensive guide to the basics of Flutter and Firebase by Anthony.
Intermediate
- Flutter state management for minimalists - Understanding app architecture without relying on third-party frameworks by Suragch. See also State Management.
Advanced
- Rendering Pipeline [799👍] and Let's build a render tree - Engine architecture by Adam Barth.
- Render Objects - What are Widgets, RenderObjects and Elements? by Norbert515.
- Streams and RxDart - Skillmatters presentation by Brian Egan.
- Gesture System - Flutter Deep Dive: Gestures by Nash.
- Schemas - Widget, State, Context and InheritedWidget explanations by Didier Boelens.
- Rendering Engine Tutorial - Flutter's Rendering Engine: A Tutorial by AbdulRahman AlHamali.
- Inherited Widget - Flutter’s InheritedWidget to hold app state by Chema Molins.
- From Mobile to Desktop - Building applications for smartphones and desktops by Marcelo Henrique Neppel.
- Accessibility widgets - Deep dive information about all aspects of accessibility by Muhammed Salih Güler.
- Profiling w/ Timeline - Using the Timeline allows you to find and address specific performance issues in your application by Chinmay Garde.
Howtos
- Parallax Effect - Parallax & non linear animation by Marcin Szalek.
- Build Flavor - Define build configurations and switch them by Salvatore Giordano.
- Build Flavor - Easily build flavors in Flutter (Android and iOS) with flutter_flavorizr by Angelo Cassano.
Videos
- Boring Show - Exploration with the Flutter Team.
- Tensor Programming [86🎬] - Very rich content by Tensor Programming.
- Mtechviral [245🎬] - [Hindi/English] Mtechviral Series By Pawan Kumar.
- Flutter in Practice - Free video courssd for beginners & non-programmers by Zaiste.
- Whatsupcoders [82🎬] - Free video series on Flutter Widgets by Kamal.
- Reso Coder - Intermediate and advanced videos by Matej Rešetár.
Components
Demonstrations
- Official Gallery - Demo for the material design widgets provided by Flutter Team.
- Flutter Examples [5861⭐] - Simple basic isolated apps for devs by Nishant Srivastava.
- Flutter Catalog [1601⭐] - showcasing Flutter components, with side-by-side source code view, by X-Wei.
- Generative Art [401⭐] - Generative Art by Robert Felker.
UI
- StaggeredGridView [2292⭐] - GridView with tiles of variable sizes by Romain Rastel.
- Radial Menu [401⭐] - Animated Radial Menu by Victor Choueiri.
- Tinder Cards [646⭐] - Tinder like cards swipe effect by Ivascu Adrian.
- Flip Panel [461⭐] - Flip panel with built-in animation by HungHD.
- Facebook Reactions [261⭐] - Facebook reactions widget by Duy Tran.
- Flushbar [818⭐] - Highly configurable Snackbar by Andre Haueisen.
- Stepper Touch [238⭐] - Lateral value stepper nicely animated by Raouf Rahiche.
- Typeahead [560⭐] - Display overlay suggestions to users as they type by Abdul Rahman Al Hamali.
- Snaplist [366⭐] - Create snappable list views by David Leibovych.
- Pin Code [252⭐] - Animated & customisable Pin code for login and OTP by Liew Jun Tung.
- Folding Cell [430⭐] - Fold your widget by Faob.
- Liquid Pull To Refresh [922⭐] - A beautiful and custom refresh indicator by Ayush Agarwal.
- Slide Container Slide vertically and horizontally with a smooth dampened motion by Quentin Le Guennec.
- Direct Select - Selection widget with an ethereal, full-screen modal popup by Ivan Yatsouba.
- Before After [580⭐] - Beautiful slider which makes it easier to display the difference between two images, by Sahil Kumar.
- Scratcher [306⭐] - Scratch card widget which temporarily hides content from user, by Kamil Rykowski.
- Image Sequence Animator [104⭐] - A simple widget for animating a set of images with full custom controls as an alternative to using a GIF file by Ali Yigit Bireroglu.
- Beautiful_Popup [452⭐] - Beautify your app popup by jaweii.
- Credit Card Form [317⭐] - Animated credit card input form Origogi.
- Animated Selection Slide An animated selection widget by swiping by Sezgin Bilgetay.
- Flutter Tags [332⭐] - Tags with different customizations by Di Natale Antonino.
- Flutter Neumorphic [1329⭐] - Ready to use Neumorphic kit for Flutter with 🕶️ dark mode.
- Dough [388⭐] - Widgets for a squishy user interface by Josiah Saunders.
- Card Settings [356⭐] - package for building settings forms by codegrue.
- Timelines [413⭐] - Powerful & Easy to use timeline package by Chulwoo Park.
- Timeline Tile [446⭐] - A tile to help build beautiful and customisable timelines by Julio Bitencourt.
- Rounded Loading Button [127⭐] - Button with a loading indicator, complete with success and error animations by Chris Edgington.
- PlutoGrid [182⭐] - Web and desktop datagrid that can be controlled by the keyboard by bosskmk.
Sticky Headers
- Sticky Infinite List [234⭐] - Highly configurable multi directional infinite list with Sticky Headers by TatsuUkraine.
- Sticky Header [666⭐] - Sliver based sticky headers by Romain Rastel.
- Sticky Headers [731⭐] - Configurable sticky headers by Simon Lightfoot.
Drawers
- Hidden Drawer Menu [231⭐] - Beautiful drawer mode menu feature with perspective animations by Rafael Almeida Barbosa.
- Flutter Inner Drawer [385⭐] - Easy way to create an internal drawer (left / right) where you can enter a list-menu or other by Di Natale Antonino.
Bottom bars
- Fancy Bottom Navigation [545⭐] - Animated bottom navigation by Tony Owen.
- Circular Bottom Navigation [439⭐] - Beautiful animated bottom navigation bar by Iman Khoshabi.
- Bottom Navy Bar [775⭐] - Beautiful and colorful animated bottom navigation bar by Pedro Massango.
- Titled Navigation Bar [291⭐] - Animated bottom navigation bar that switch between icon and title by Pedro Massango.
- Google Nav Bar [409⭐] - A modern google style nav bar for flutter by Sooxt98.
Bottom Sheets
- Rubber Bottom Sheet [418⭐] - Elastic material bottom sheet by Mattia Crovero.
- Modal Bottom Sheet [1082⭐] - Modal bottom sheet with Material, Cupertino iOS13 or custom appareance by Jaime Blasco.
Sliders
- RangeSlider [318⭐] - 2-thumb configurable RangeSlider by Didier Boelens.
- Fluid Slider [262⭐] - A slider with a minimal design and fluid like animation by Vamsi Krishna.
- Flutter Xlider [336⭐] - A material design slider and range slider, horizontal and vertical, with RTL support by Ali-Azmoud.
UI Helpers
- Reorderables [442⭐] - Drag&Drop Table, Row, Column, Wrap(Grid) and SliverList elements by Hansheng Chiu.
- Liquid Pull To Refresh [922⭐] - A beautiful and custom refresh indicator by Ayush Agarwal.
- Infinite Listview [206⭐] - Infinite scroll in both directions by Simon Lightfoot.
- Offline [742⭐] - Tidy utility to handle offline/online connectivity by Jeremiah Ogbomo.
- Scroll To Index [332⭐] - Scroll to specified child element with given index for SliverList/ListView by Jerry Chen.
- In View Notifier List - ListView that notify when widgets are on screen within a provided area by Vamsi Krishna.
- ShowCaseView [687⭐] - Way to showcase your app features on iOS and Android by Simform.
Material Design
- Unicorn Speed Dial [300⭐] - Floating Action Button with Speed Dial by Tiago Martins.
- Slidable [2008⭐] - Slidable list item with left and right slide actions by Romain Rastel.
Cupertino Design
- Peek & Pop [188⭐] - Peek & Pop implementation based on the iOS functionality by Ali Yigit Bireroglu.
Effect
- Frosted Glass - Render effect by Collin Jackson.
- Parallax [735⭐] - ViewPager by Iiro Krankka.
- Shimmer [1387⭐] - Shimmer effect while content is loading by HungHD.
- Wave [742⭐] - Displaying some waves with custom color, duration, floating and blur effects by RockerFlower.
- Liquid Swipe - Liquid swipe to your stacked containers by Sahdeep Singh.
- PhotoFilters [297⭐] - Apply filters to an image by Sharafudheen KK.
- Shine [137⭐] - Pretty shadows with dynamic light positions by Jonathan Monga.
- Clay Containers [369⭐] - Neumorphic widget primitives to serve as the foundation of your own designs by Michael Charles.
Calendar
- Calendar Widget [162⭐] - Calendar widget by David Bennett.
- Calendar Carousel Widget - Calendar carousel by dooboolab
- Table Calendar [1167⭐] - Calendar organized neatly into a Table, with vertical autosizing by Aleksander Woźniak.
- Time Planner [66⭐] - A beautiful, easy to use and customizable time planner for flutter mobile, desktop and web by Mohammad Jamalianpour.
Login
- Login Animation [1044⭐] - Smooth animation from login to home by Ruchika Gupta.
- Flutter Login - Login widget with slick animation from start to finish by NearHuscarl.
Backend-Driven
- Dynamic Widget [1100⭐] - Build your dynamic UI with json, and the json format is very similar with flutter widget code by Denny Deng.
Image
- Carousel Slider [1178⭐] - Carousel slider widget, support infinite scroll and custom child widget by serenader.
- Parallax Image [238⭐] - Image parallax by Anatoly Pulyaevskiy.
- Photo View [1478⭐] - Scalable image view with loading placeholder by Renan C. Araújo.
- SVG [1270⭐] - SVG parsing, rendering, and widget library by Dan Field.
- Image Cropper [814⭐] - Crop your images support ratio, rotation, zoom by HungHD.
- Cached Network Image [1911⭐] - Show images from the internet and keep them in the cache directory by.
- Lottie [665⭐] - Use airbnb's popular After Effects Animation library by xvrh.
- Bitmap [128⭐] - Perform Bitmap manipulations (such as contrast and exposure) with a help from the Dart FFI by Renan C. Araújo.
- Crop [171⭐] - Crop any widget/image in Android, iOS, Web and Desktop by Mahdi K. Fard.
Image Picker
- Image Picker - Images Selection by Collin Jackson.
- WeChat Assets Picker [811⭐] - Assets picker in WeChat style, support multi assets by Alex Li.
Map
- Google Map View [415⭐] - Displaying google map plugin by AppTree Software.
- GeoCoder [162⭐] - Forward and reverse geocoding by Aloïs Deniel.
- Mapbox GL [251⭐] - Interactive, customizable vector maps by Mapbox.
- AMap [504⭐] - Access to AMap services(高德地图) by fluttify-project.
Charts
- Circular Chart [355⭐] - Animated radial and pie charts by Victor Choueiri.
- Sparkline [245⭐] - Sparkline by Victor Choueiri.
- Charts [2505⭐] - By Google Charts Team.
- Candlesticks [358⭐] - OHLC and Trade Volume Charts by Trent Piercy.
- FCharts [321⭐] - Beautiful, responsive, animated charts by Keenan Thompson.
- FL Chart [3846⭐] - Draw fantastic charts in Flutter by Iman Khoshabi.
- Bezier Chart [401⭐] - Beautiful bezier line chart widget for flutter that is highly interactive and configurable by Diego Velasquez.
- Echarts [533⭐] - Large collection of advanced reactives charts by LIN Chen.
- Graphic [383⭐] - Data visualization library based on the Grammar of Graphics by LIN Chen.
Navigation
- Fluro [3362⭐] - The brightest, hippest, coolest router for Flutter with Navigation, wildcard, query, transitions by Posse.
- PageView Indicator [132⭐] - Build page indicators for the PageView by Leo Cavalcante.
- Deep Link Navigation [53⭐] - Elegant abstraction for complete deep linking navigation in Flutter by Dennis Krasnov.
- Get [5499⭐] - Navigate between screens & display snackbars/dialogs/bottomSheets without context by Jonny Borges.
- Beamer [290⭐] - Route through guarded page stacks and URLs using the Navigator 2.0 API effortlessly by Sandro Lovnički.
Auth
- Local Auth - Touch ID, lock code, fingerprint auth on iOS and Android.
- Login [628⭐] - FaceID, TouchID, and Fingerprint Reader by Rody Davis.
- Google Sign-In - Google OAuth.
- Firebase Auth - Firebase OAuth.
- Facebook Login [399⭐] - Authenticate with native Android & iOS Facebook login SDKs by Iiro Krankka.
- Apple Sign-In [157⭐] - Apple sign in by Tom Gilder.
- OAuth [170⭐] - Buffer, Strava, Unsplash, Github OAuth by Joe Birch.
- Firebase Phone Auth - Phone number auth via SMS by Gildásio Filho.
- SimpleAuth [314⭐] - Azure Active Directory, Amazon, Dropbox, Facebook, Github, Google, Instagram, Linked In, Microsoft Live Connect, Github, OAuth, Basic Auth by James Clancey.
- Flutter AppAuth [176⭐] - Plugin that provides a wrapper around the AppAuth iOS and Android SDKs by Michael Bui.
Text & Rich Content
- Markdown null - Markdown renderer for Flutter. It supports the original format, but no inline html.
- Masked Text [244⭐] - Masked text with custom and monetary formatting by Ben-hur Santos Ott.
- Zefyr [2016⭐] - Soft & gentle rich text editor by Memspace.
- AutoSizeText [1496⭐] - Automatically resizes text to fit perfectly within its bounds by Simon Leier.
- Parsed Text [190⭐] - Interactive text based on content recognition, also supports Regex by Fayeed Pawaskar.
- TeX [186⭐] - Render Mathematics Equations with full HTML and JavaScript support by Shahzad Akram.
- Code Field - Customizable code field widget supporting syntax highlighting by Bertrand Bevillard.
Forms
- Form Builder [935⭐] - Framework that simplifies building forms, validating fields, reacting to changes, and collecting the final user input by Danvick Miller.
- Reactive Forms [233⭐] - Model-driven approach to handling Forms inputs and validations, heavily inspired in Angular's Reactive Forms.
Analytics
- Usage [123⭐] - Google Analytics wrapper for command-line, web, and Flutter apps.
- Firebase Analytics - Connect to Firebase Analytics API.
- Pure Mixpanel [21⭐] - Analytics for the popular Mixpanel.com Nick Manning.
Internationalization
- GenLang [88⭐] - Code generator for Internationalization by King Wu.
- Flutter Translate [279⭐] - Internationalization (i18n) library by Florin Bratan.
- attranslate - Semi-automated translation of ARB or JSON files by fkirc.
Styling
- Flutterial [1437⭐] - Flutter Material Theme explorer by Erick Ghaumez.
- Pigment [184⭐] - Simple but useful package for use colors in flutter.
Media
Audio
- Flutter Audio Recorder - Provides full controls and access to recording details such as level metering by Wenyan Li.
- Audio Recorder [169⭐] - Record audio and store it locally by Jordan Alcaraz.
- Flutter Sound [666⭐] - Flutter audio recorder and player at one hand by dooboolab.
- AssetsAudioPlayer [567⭐] Simultaneous playback of audio from assets/network/file and displaying notifications [android / ios / web / macos]
- Audio Service - System background audio support by Ryan Heise. Tutorial by Suragch.
Video
- WebRTC [2747⭐] - WebRTC plugin for iOS/Android by CloudWebRtc.
- Chewie [1353⭐] - Provides low-level access to video playback by Brian Egan.
- Video Trimmer [276⭐] - Visualise and trim videos by Souvik Biswas.
- CamerAwesome [295⭐] - Community camera plugin rework by Apparence.io studio.
Voice
- Speech Recognition [323⭐] - Speech to text by Erick Ghaumez.
- OK Google - Integrate google assistant by Marcin Szalek.
Storage
- Firebase Storage - Firebase as data storage.
- Secure Storage [723⭐] - Keychain and Keystore storage by German Saprykin.
Preferences
- Streaming Shared Preferences - Reactive key-value store, shared preferences with Streams by Iiro Krankka.
Monetization
- Admob - GoogleAdmob supports interstitial ads in both iOS and Android by Brett Nesbitt.
- Firebase AdMob - Ad integration using Firebase.
- Inapp Purchase [464⭐] - Features set of 'in app purchase' derived from react-native-iap by dooboolab.
- Admob Flutter - Admob plugin that shows banner ads using native platform views by Youssef Kababe & Kevin McGill.
- Facebook Audience Network - Facebook Audience Network Ad plugin that shows banner, interstitial, in-stream video, rewarded video & natvie ads by Dreamsoft Innovations.
- Square In-App Payments SDK [283⭐] - Take payments by embedding a card entry form in your app that produces nonces from customer-provided card information or digital wallets by Square.
Templates
- Movie Details [372⭐] - Movie details page by Iiro Krankka.
- Mates [482⭐] - How to load profiles from the randomuser.me API and a nice profile details page by Iiro Krankka.
- Weather [141⭐] - Weather app to learn how to use Canvas and Animation by Alessandro Aime.
- TodoMVC [7528⭐] - TODO application ready to go with different flavors : Vanilla, Redux, built_redux by Brian Egan.
- Restaurant Menu [553⭐] - Restaurant menu by Braulio Cassule.
- UI Challenges [1272⭐] - Profile, Travel, Food App by Tomi Alagbe.
- Cupertino Settings [219⭐] - iOS Settings by Matthias Rupp.
- Music Player [205⭐] - music player component by Tobe O.
- Dashboard [814⭐] - Dashboard and Shop Items by Ivascu Adrian.
- Todo [519⭐] - Todo template from Dribble by Marc L.
- Card Swipe Animation [462⭐] - Swipe cards template by Ruchika Gupta.
- UI Kit [5707⭐] - Collection of useful UIs in a UIKit by Pawan Kumar.
- Book [300⭐] - Bookshelf by Ardiansyah Putra.
- The Gorgeous Login [1497⭐] - Design and smooth login template by Hugo Extrat.
- Liquid Pay Payment App [251⭐] - Liquid Pay App Concept by Long Hoang.
- DrawApp [208⭐] - Sample Drawing App to demonstrate how to allow user to draw onto canvas with color picker and brush thickness slider by Jake Gough.
- Starter Kit [596⭐] - App Store implementation to learn Bloc, RxDart, Sqflite, Fluro and Dio. by King Wu.
- Feather [472⭐] - Beautiful weather application. Application includes RxDart, Dio, BLoC, i18n, unit and widget tests. by Jakub Homlala.
- Clone UI Challenges [1280⭐] - Collection of useful UIs clones by Javier González.
- FlutterFoodybite [1113⭐] - Beautiful food app UI template by JideGuru.
- Flutter Samples [2464⭐] - Collection of nice flutter samples by Diego Velásquez.
- ActingWeb First_App [285⭐] - Starter app with basic elements for a team-developed production-quality app by Greger Wedel.
- Smart Washing Machine [590⭐] - Smart washing machine UI challenge app with Box2D physic engine by Tomasz Pawlikowski.
- Beautiful Timelines [186⭐] - A set of beautiful timelines by Julio Bitencourt.
Clone
- GitTouch [979⭐] - Open source mobile client for GitHub, GitLab, Bitbucket and Gitea by Rongjian Zhang.
Machine Learning
- MLKit [377⭐] - Firebase Machine Learning Kit by Naoya Yoshizawa.
- m2cgen [1953⭐] - CLI tool to convert ML models into native Dart code by BayesWitnesses.
Vision
- ML Vision Camera Stream [218⭐] - ML vision recognitions (QRcode, face, ...) with live camera stream by Aumard Jimmy and Santetis.
- Google Mobile Vision [433⭐] - Google Mobile Vision by Eduardo Folly.
Augmented Reality
- ARKit Plugin [612⭐] - Wrapper for ARKit - Apple's augmented reality platform for iOS by Olexandr Leuschenko.
- ARCore Plugin [316⭐] - Augmented reality with ARCore platform by Gian Marco Di Francesco.
Plugins
- Pub packages - Packages filter in Dart Pub Repository.
- Plugins - Official Flutter Team Plugins.
Device
- WebView [1376⭐] - Render web content by Hadrien Lejard.
- Location [836⭐] - Handle location, handling callbacks to get continuous location by Lyokone.
- Battery - Access various information about the battery.
- Proximity Sensor Plugin - A plugin to access the proximity sensor of your device by Manoj NB.
- Geolocation [214⭐] - Fully featured geolocation plugin: current location, location updates, geocode, places and more by Loup.
- Local Notifications [1715⭐] - Plugin for displaying local notifications by Michael Bui.
- Device Calendar - Plugin for modifying calendars on the user's device by Built to Roam.
- Badger [233⭐] - Update app badge on the launcher by Edouard Marquez.
- UDID [166⭐] - Persistent UDID across app reinstalls by Leon Kukuk.
- Downloader [655⭐] - Create and manage download tasks by HungHD.
- InAppWebView [1688⭐] - Add inline WebView widgets or open an in-app browser window by Lorenzo Pichilli.
- AppAvailability [80⭐] - List, launch and check installed apps by Lorenzo Pichilli.
- File Picker [719⭐] - Native file explorer to load absolute file path by Miguel Ruivo.
- VPN - Access VPN services by Jason C.H.
- Geolocator - A Flutter geolocation plugin which provides easy access to the platform specific location services by Baseflow.
- Permission Handler - A Flutter permission plugin which provides a cross-platform (iOS, Android) API to request and check permissions by Baseflow.
- WidgetKit - A plugins which allows you to create a Widget-Extention for iOS by Thomas Leiter.
Scanner
- QR Code Reader [218⭐] - QR Code reader plugin by Matheus Villela.
- Fast QR Reader View [275⭐] - Live multicode reader by Facundo Medica.
Bluetooth / NFC / Beacon
- Blue [1914⭐] - Bluetooth by Paul DeMarco.
- Beacons [75⭐] - Flutter beacons plugin by Loup.
- NFC Reader [285⭐] - NFC reader plugin for iOS and Android by Matteo Crippa.
- Beacon broadcast [70⭐] - Library for turning your phone into a beacon by Paulina Szklarska.
- Reactive Ble [272⭐] - Handles BLE operations for multiple devices by Philips Hue.
- NFC Manager [83⭐] - Generic NFC plugin for iOS and Android by Naoki Okada.
Storage
- Sqflite [2289⭐] - SQLite flutter plugin by Alexandre Roux.
- Moor - Moor is an easy to use, reactive, typesafe persistence library for Dart & Flutter by . Simon Binder
Services
- Dialogflow [186⭐] - Plugin to easily integrate with dialogflow by Victor Rances.
- Intercom [23⭐] - Add Intercom integration to your app by Maido Kaara.
- OneSignal [497⭐] - Push notification service by OneSignal.
- Place Dialog [45⭐] - Places picker dialog returning the places to the app by David Bennett.
- App Rating [30⭐] - Requesting and Writing Reviews for the App Store and Google Play by Rody Davis.
Frameworks
State management
Standard
- Bloc [8181⭐] - Collection of packages that help implement the BLoC design pattern by Felix Angelov.
- MobX [2037⭐] - Supercharge the state-management in your apps with Transparent Functional Reactive Programming (TFRP). Port of MobX from the Js/React land.
- Provider [3974⭐] - State-management library for Flutter by Remi Rousselet.
- RiverPod [2214⭐] - Provider, but different by Remi Rousselet.
- GetX - Contextless, State-management & navigation by Jonny Borges.
- Binder [167⭐] - A lightweight, yet powerful way to bind your application state with your business logic, by Romain Rastel.
Redux / ELM / Dependency Injection
- Built redux [81⭐] - Automatic subscribing to your redux stores. Based on the built pattern by David Marne.
- Redux.dart [486⭐] - Port of Redux to Dart with an ecosystem of middleware, Flutter integrations, and time traveling dev tools by John Ryan and Brian Egan.
- Redux [1522⭐] - Built to work with redux.dart, utilities that allow you to easily consume a Redux Store to build Widgets.
- Inject [847⭐] - Compile-time dependency injection by Google.
- Flux [368⭐] - Implementation of the Flux framework by Google.
- Fish [7214⭐] - Alibaba Redux implementation.
- Async Redux [199⭐] - Redux without boilerplate. Allows for both sync and async reducers by Marcelo Glasberg.
Widgets
- Hooks [1965⭐] - Advanced code sharing between widgets by Remi Rousselet.
- Functional widget [435⭐] - Code generator writing widgets as functions with annotations by Remi Rousselet.
Data
- Graphql [2796⭐] - Implementation of the GraphQL spec by Zino App B.V..
- GeoFlutterFire [244⭐] - Implementation of GeoFirestore for flutter by Darshan Gowda.
- Ferry [334⭐] - Powerful & Extensible GraphQL Client by Sat Mandir Khalsa.
Backend
- Dynamic Widget [1100⭐] - Build your dynamic UI with json, and the json format is very similar with flutter widget code by Denny Deng.
- NETCoreSync - Centralized database synchronization framework for multiple clients, built on top of Moor library by Aldy J.
- Parse for Flutter [394⭐] - Open source backend framework by ParsePlatform.
Animation
- Sequence Animation [338⭐] - Composite staggered animations by Norbert Kozsir.
- SpinKit [2405⭐] - Animated loading indicators by Jeremiah Ogbomo.
- Villains [328⭐] - Page transition animations by Norbert Kozsir.
- AnimatedTextKit [1268⭐] - A collection of cool text animations by Ayush Agarwal.
- Drawing Animation [384⭐] - Create drawing line animations based on SVG path data by Carl Hauck.
- Simple Animations - Create awesome custom animations easily by Felix Blaschke.
- Flutter-animation-set [264⭐] - Easy to build an animation set by efoxTeam.
- Staggered Animations [977⭐] - Easily add staggered animations to your ListView, GridView, Column and Row by mobiten.
- Animate Do - Animation package inspired in Animate.css by Fernando Herrera.
- Funvas [361⭐] - Create fun time based canvas animations by creativecreatorormaybenot.
Testing
- Flutter Gherkin [150⭐] - Fully featured Gherkin parser and UI automated test runner by Jon Samwell.
Web
- Responsive Framework [702⭐] - Automatically adapt UI to different screen sizes. Responsiveness made simple by Codelessly.
Experimental
This section contains libraries that take an experimental or unorthodox approach.
- styled_widget [671⭐] - Simplifying your widget tree structure by defining widgets using methods by Rein Gundersen Bentdal.
Engines
Rendering
Game
- Flame [5173⭐] - Minimalist game engine by Luan Nico.
- SpriteWidget [1186⭐] - Toolkit for building complex, high performance animations and 2D games by Viktor Lidholt.
Open source games
- Flip [201⭐] - Reversi game by Andrew Brogdon.
- 2048 [205⭐] - 2048 game by Anuran Barman.
- TRex [316⭐] - Port of the famous Chrome's Trex game by Renan C. Araújo.
- Crush [409⭐] - How to build a Math-3 game, like Candy Crush, Bejeweled by Didier Boelens.
- Slide Puzzle [152⭐] - Classic slide (15) puzzle by Kevin Moore.
- Tetris [1280⭐] - Tetris game by YangBin.
- Party Charades [165⭐] - Party charades by Kamil Rykowski.
- Ghost Rigger [159⭐] - Ghost Rigger is a cyberpunk inspired puzzle game by Iain Smith and Julio Ernesto Rodríguez Cabañas.
- Space Empires [32⭐] - A 4X Space themed strategy game by Satyam Sharma.
Game Engine resources
- Awesome Flame - Curated list of the best Flame games, projects, libraries, tools, tutorials, articles and more by Flame Engine.
Open Source Apps
Premium
- History Of Everything [5887⭐] - Animated vertical timeline of humanity by 2D, Inc.
- Developer Quest [2917⭐] - Become a tech lead, slay bugs by 2D, Inc.
- AppFlowy [12156⭐] - The Open Source Notion Alternative. You are in charge of your data and customizations. Built with Flutter and Rust by AppFlowy team.
Top
- Flutter Team Samples [10919⭐] - Collection of examples (including maps, json, Material and Cupertino) by the Flutter team.
- Flutter Common Widgets [22910⭐] - Collection of official widgets demos & docs in chinese to help developers learn quickly by Alibaba Auction Frontend Team.
- Meme Chat [514⭐] - Chat app on Flutter, using Firebase, Google Sign In, and device camera integration by a team of Googlers.
- Flitter [183⭐] - Glitter app by Hadrien Lejard and Kevin Segaud. It uses Redux and Jaguar.
- Lime [356⭐] - Lime social network by Sebastian Sellmair.
- Planets [711⭐] - Planet exploration that demonstrate rich UI by Sergi Martínez.
- NewsBuzz [505⭐] - Firebase backed news reader using News API by Ankur Kedia.
- DroidKaigi2018-flutter [513⭐] - Unofficial conference app for DroidKaigi 2018 Tokyo by konifar.
- Music Player [1332⭐] - Full featured music player by Pawan Kumar.
- WhatTodo [910⭐] - Todoist like UI by Burhanuddin Rashid.
- FlutterGram [1939⭐] - Complete Instagram based on Firestore & Google Functions by MDanics.
- BookSearch [472⭐] - Digital BookShelf for your reading progress by Norbert515.
- Cinematic [832⭐] - UI for Movie DB Public API by Aaron Oertel.
- Beer-Me-Up [441⭐] - Beer tracking nicely designed by Benoit Letondor.
- Trace [789⭐] - Modern and powerful crypto portfolio & market explorer by Trent Piercy.
- Taskist [729⭐] - Taskist is a ToDo List app for Task Management by Hugo EXTRAT.
- Tourism [251⭐] - Tourism app based on redux w/ animations & i18n by blueMix.
- Trinity Orientation @ Univ Toronto [562⭐] - Orientation week at Trinity College, U of T by Matthew Tory.
- Transform Widget - Image widgets as 3D game engine sprites by Paul Thomas.
- Deer [297⭐] - Minimalist Todo Planner built using BLoC pattern by Aleksander Woźniak.
- TailorMade [235⭐] - Managing a Fashion designer's daily routine using a mixture of ReBLoC w/ Firebase Cloud Store & Functions by Jeremiah Ogbomo.
- Instory [194⭐] - Instgram story downloader with a beautiful UI Sarath.
- Spacex-Go [645⭐] - Simple yet powerful, open-source SpaceX launch tracker. jesusrp98.
- Superhero Interaction [218⭐] - Cool Superhero interaction animation by Pinkesh Darji.
- Reply [535⭐] - 'Reply' Material Design case study by Frederik Schweiger.
- Enigma - Privacy chat with end-to-end encryption by AmitJoki.
- Chillify - Fancy music app made with Provider and Bloc pattern by Karim Elghamry.
- Pokedex - Pokedex app with beautiful UI and smooth animation by Hung Pham.
- Timy Messenger [1742⭐] - Group messaging app with a focus on organizing events by Miguel Beltran and Franz Heinfling.
- GitJournal [1717⭐] - Journaling your data in a Git Repo by Vishesh Handa.
- AuthPass [1061⭐] - Keepass compatible password manager for mobile and desktop by hpoul.
- Fwitter [1523⭐] - Full Twitter clone using Firebase solution by Sonu Sharma.
- Harpy [825⭐] - Feature rich Twitter client by Roberto Doering.
Utilities
- Launcher Icons - Generate your launcher icons easily by Mark O'Sullivan and Franz Silva.
- FlutterIcon [310⭐] - Icon set generator by Mike Hoolehan.
- FVM [2233⭐] - Flutter Version Management: A simple cli to manage Flutter SDK versions.
- Environment Configuration [86⭐] - CLI tool to generate
.envconfigurations for application environments by TatsuUkraine. - Flutter Flavorizr [160⭐] - CLI utility to easily generate flavors for Android and iOS in less than 3 minutes by Angelo Cassano.
- Fontify [77⭐] - CLI tool to convert SVG icons to OTF font and generate Flutter-compatible class by Igor Kharakhordin.
- FlutterGen [791⭐] - Assets code generator for your images, fonts, colors, etc — Get rid of String-based APIs.
- Very Good Cli [1135⭐] - Very Good Command Line Interface for Dart created by Very Good Ventures.
- Flutter Sidekick [544⭐] - Simple app to make Flutter development more delightful by Leo Farias.
- Dart Code Metrics [430⭐] - Additional linter which reports code metrics, checks for anti-patterns and provides additional rules for the Dart analyzer by Dart Code Checker team.
VSCode
- Awesome Snippets - Collection of commonly used classes and methods by Nash.
- Flutter Files - Quick generation for BLoC templates files by context menu by Gorniv.
- Flutter Intl - i18n binding from arb files by Localizely.
IntelliJ / Android Studio
- Enhancement_Suite [196⭐] - Search for pub.dev libraries, update version, Bloc, Snippet, etc you're covered by Marius Höfler.
- Flutter Intl - 18n binding from arb files by Localizely.
Desktop
- Desktop Embedding [6950⭐] - Desktop implementations of the Flutter embedding API by Google.
- Golang Desktop Embedder [5083⭐] - Golang embedder for desktop by Pierre Champion.
- Native Shell [372⭐] - Experimental embedder for Flutter by Matej Knopp.
- Rust Desktop Embedder [1871⭐] - Rust embedder for desktop by juju.
- bitsdojo_window - Customize windows owner-drawn chrome by BitsDojo.
- Raspberry Pi Embedder [747⭐] - Light-weight Embedder for Raspberry Pi by Hannes Winkler.
- Fluent UI [566⭐] - Microsoft's Fluent Design System in Flutter by Bruno D'Luka.
- MacOS UI [492⭐] - Widgets and themes implementing the current macOS design language by Groovin Chip.
- Ubuntu Yaru [134⭐] - Distinct look and feel of the Ubuntu Desktop by Ubuntu.
- Awesome Flutter Desktop [516⭐] - A curated list of awesome things related to Flutter desktop by LeanFlutter.
Books
Learning Flutter - Beginners
- Beginning App Development - by Rap Payne.
- Beginning Flutter - by Marco Napoli.
- Flutter for Beginners - by Alessandro Biessek.
- Flutter in Action - by Eric Windmill.
- Learn Google Flutter Fast - by Mark Clow.
Cookbooks
Podcasts
English
Portuguese
Spanish
Russian
Bonus
- It's All Widgets! - Open list of published apps by Hillel Coren, Thomas Burkhart, Simon Lightfoot and Scott Stoll.
- Awesome Flutter Linux - A curated list of awesome Linux-specific Flutter packages and projects by J-P Nurmi.
Fun
- The One [444👍]
Hardware
Guide & Interviews
- Interview Questions - List of helpful questions you can use to interview potential candidates by Whatsupcoders.
- The International Flutter Starter Kit - Guide by the experts by Beyza Sunay Guler & Nawal Alhamwi.
Community
Presentation material
- Logo - Logo for stickers impressions.
Communication
- Gitter - Exchange channel.
- r/FlutterDev - Reddit community by u/JaapVermeulen.
- Discord - Discord server to discuss and get help by Pritykin.
- Flutter Community - Central place for community made packages.
- OpenFlutter - Make it easier 让 Flutter 更简单.
- Hashnode - Read and write posts, participate in discussions or ask questions.
Misc
- Flutter Events - An open list of Flutter events by @hillelcoren.
- FlutterX - Searchable list of resources by Hillel Coren.
🇦🇴 Angola
🇦🇺 Australia
- Slack GDG Sydney
- Meetup GDG Sydney
- Twitter Flutter Sydney
Bangladesh
🇧🇷 Brazil
- Slack Flutter Brasil
- Medium Flutter Comunidade BR
- Twitter Flutter Comunidade BR
- Meetup São Paulo
- Flutter para iniciantes
cm Cameroon
- Twitter Flutter Cameroon
- Telegram Flutter & Dart Community CM
🇨🇦 Canada
🇨🇮 Côte d'Ivoire (Ivory Coast)
🇩🇰 Denmark
- Meetup Denmark
🇪🇹 Ethiopia
🇫🇷 France
🇩🇪 Germany
- Meetup Berlin - Düsseldorf - Karlsruhe - Hamburg - Stuttgart - Munich
- Twitter Flutter Berlin - Düsseldorf - Munich
- Slack Flutter Berlin
- LinkedIn Munich
🇬🇷 Greece
- Meetup Athens
- Slack Flutter GR
🇮🇹 Italy
- Telegram Flutter Italia Developers
- Website flutteritalia.dev
🇮🇳 India
- Telegram Flutter India 🇮🇳
🇮🇱 Israel
- Facebook Flutter Israel Developers
🇮🇩 Indonesia
- Telegram Flutter Indonesia
🇯🇵 Japan
- Meetup Tokyo Flutter Developers
🇰🇪 Kenya
- Meetup Flutter Developers Kenya
- Twitter Flutter Developers Kenya
🇰🇷 Korea
- Meetup Flutter Korea
- Facebook Flutter Korea User Group
- Slack GDG Korea #flutter channel
🇲🇾 Malaysia
- Telegram Flutter/Dart Dev Malaysia
🇳🇬 Nigeria
- Slack DevCenter Square
- Telegram FlutterLagos
- Twitter FlutterLagos
🇵🇰 Pakistan
🇵🇭 Philippines
🇵🇱 Poland
- Flutter Developers Poland Facebook Group
- Flutter Poland Slack workspace
- Flutter Warsaw Meetup
- Flutter Warsaw Twitter
- Flutter Warsaw YouTube Channel
- Poznan Flutter Developer Group
- Flutter Wrocław Meetup
- Meetup Tricity
- Twitter Tricity
🇵🇹 Portugal
🇵🇪 Peru
- Facebook Flutter Peru Group
- Meetup Flutter Peru
- Twitter Flutter Peru
🇷🇺 Russia
🇪🇸 Spain
🇱🇰 Sri Lanka
🇹🇷 Turkey
🇺🇦 Ukraine
🇬🇧 United Kingdom
- Flutter London
- Meetup London
- YouTube
🇺🇸 United States
- Meetup Chicago
- Meetup [Washington DC] (https://www.meetup.com/DCFlutter/)
🏴 Kurdistan
- Meetup Kurdistan
🇳🇴 Norway
🇺🇿 Uzbekistan
License
To the extent possible under law, Robert Felker has waived all copyright and related or neighboring rights to this work.
Awesome Home Assistant 
Home Assistant is an open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server.
If you want to get an impression on the look and feel, you should check out the Home Assistant online demo.
Awesome Home Assistant is a curated list of awesome Home Assistant resources. Additional software, tutorials, custom integration, add-ons, custom Lovelace cards & plugins, cookbooks, example setups, and much more.
The list is divided into categories. The links in those categories do not have pre-established order; the order is for contribution. If you want to contribute, please read the guide.
Contents
- How to use
- Installing
- In case you need help
- Official Channels
- Other Channels
- Public Configurations
- Add-ons
- Official Add-ons
- Third Party Add-ons
- Lovelace User Interface
- Themes
- Custom Lovelace UI Cards
- Alternative Dashboards
- Custom Components
- DIY
- DIY Gateways
- DIY Projects
- Online Resources
- Blogs
- YouTube Channels
- Podcasts
- Uncategorized
- Alternative Home Automation Software
- Other Awesome Lists
- Trademark Legal Notice
How to use
Awesome Home Assistant is a fantastic list for people trying to automate every aspect of their home. Automating your home is a long, hard, and never finished task that usually involves a lot of tinkering.
You can navigate through the list by:
- Simply press command/ctrl + F to search for a keyword
- Go through our Contents list
- Alternatively, use the search on our website: https://www.awesome-ha.com
Installing
Home Assistant has several installation / running methods. Many people have different opinions and their personal favorites. Each method has its advantages and disadvantages. Important to know, there is no wrong, or right here, each technique installs the SAME Home Assistant.
Home Assistant currently recommends the Home Assistant OS installation method.
- Home Assistant OS - Installing using a managed environment (recommended method).
- Home Assistant Container - Installing on Docker.
- Home Assistant Supervised - Installing a semi managed environment for experts.
- Home Assistant Core - Manual installation using a Python virtual environment.
In case you need help
There are various ways to get in touch with the Home Assistant community. It doesn't matter if you have a question, need help, want to request a feature, or just say ‘Hi’.
Official Channels
- Home Assistant Discord - Join the chat, most of us are there.
- Home Assistant Community - The discussion forum, also used for feature requests.
- Home Assistant Subreddit - If you are into Reddit, subscribe.
- Home Assistant Facebook Group - Facebook group for enthusiasts.
Other Channels
- Dr. ZZs - Facebook group by Dr. Zzs.
- Home Assistant Community Add-ons Discord - Get support on the Home Assistant Community Add-ons.
- ESPHome Discord - Get support for your DIY ESPHome project.
- Dutch Domotics Discord - Dutch Discord server with home automation enthusiasts.
Public Configurations
Some people store their full Home Assistant configuration on GitHub. They are an awesome source for learning and a great source of inspiration.
- Carlo Costanzo - Probably the most documented configuration out there.
- DubhAd - Also known as Tinkerer shares his configuration files.
- geekofweek - Has over 300+ automations.
- Isabella Gross Alström - Hass.io, Intel NUC, Ubuntu, Docker, Lovelace UI.
- Mahasri Kalavala - Impressive setup, with lots of different hardware working together.
- stanvx - Complete setup which uses AppDaemon and HA Floorplan as well.
- Vasiley - Runs two instances that work together.
- Alok Saboo - Also known as arsaboo. Regularly updated.
- Aaron Bach - Also known as bachya. Regularly updated and includes numerous Dockerized services.
- James McCarthy - Well documented, 3 instances & automations in YAML & Node-RED.
- Franck Nijhof - Hass.io based, very different configuration structure compared to others.
- Andrea Donno - Hass.io based, focused on touchscreen usage.
- Klaas Schoute - Hass.io based, Intel NUC, Ubuntu Server, Docker and regularly updated.
- Jason Hunter - Hass.io based, Intel NUC i5, TensorFlow & camera streams.
- Nathan - Lovelace config and themes based on Soft UI.
- Andrea Iannucci - Also known as SeLLeRoNe. Regularly updated.
Add-ons
Add-ons are additional applications and services, that can be run alongside Home Assistant. The Home Assistant OS and Supervised installations types, provide the Supervisor, which is capable of running and manage these add-ons.
Official Add-ons
Created and maintained by the Home Assistant team.
- DuckDNS - Updates your Duck DNS IP address and generate SSL using Let's Encrypt.
- File editor - Browser-based configuration file editor.
- Mosquitto - Fast and reliable MQTT broker.
- Terminal & SSH - Allows logging in remotely to using a web terminal or SSH client.
- Samba - Access your configuration files using Windows network shares.
- NGINX SSL proxy - Reverse proxy with SSL termination.
- deCONZ - Control a ZigBee network using ConBee or RaspBee hardware by Dresden Elektronik.
- TellStick - Run a TellStick and TellStick Duo service.
- Ada - Ada is voice assistant powered by Almond which is open and privacy-preserving.
- Almond - The Open, Privacy-Preserving Virtual Assistant.
- HomeMatic - HomeMatic central based on OCCU.
- Let's Encrypt - Get a free SSL certificate from Let's Encrypt; an open and automated certificate authority (CA).
- MariaDB - An open source relational database (fork of MySQL).
- OpenZWave - Use an Z-Wave USB-stick with the QT OpenZWave Daemon.
Third Party Add-ons
Anyone can create an add-on, the following are created by the community.
- SSH & Web Terminal - SSH and Web-based terminal with tons of pre-loaded useful tools.
- UniFi Controller - The UniFi Controller allows you to manage your UniFi network using a web browser.
- Node-RED - Flow-based programming for the Internet of Things.
- Plex Media Server - Your recorded media beautifully organized and ready to stream.
- IDE - Advanced web-based IDE, based on Cloud9 IDE.
- Dasshio - Easily use your Amazon Dash Buttons.
- InfluxDB - Scalable datastore for metrics, events, and real-time analytics.
- Grafana - Open platform for beautiful analytics and monitoring.
- Tor - Protect your privacy and access your instance via Tor.
- Spotify Connect - Spotify Connect client for playing music on your Home Assistant device.
- zigbee2mqtt - Zigbee to MQTT bridge, get rid of your proprietary Zigbee bridges.
- AppDaemon - Python Apps and HADashboard.
- TasmoAdmin - Centrally manage all your Sonoff-Tasmota devices.
- Aircast - AirPlay capabilities for your Chromecast players.
- AirSonos - AirPlay capabilities for your Sonos players.
- Dropbox Sync - Upload your backup snapshots to Dropbox.
- Log Viewer - Browser-based live log viewing utility.
- Tautulli - Monitor and get statistics from your Plex server.
- motionEye - Simple, elegant and feature-rich CCTV/NVR for your cameras.
- JupyterLab Lite - Create documents containing live code, equations, visualizations, and explanatory text.
- Backup to Google Drive - Backup snapshots to Google Drive.
- ADB - The Android Debug Bridge server program.
- Glances - A cross-platform system monitoring tool written in Python.
- Matrix - A secure and decentralized communication platform.
- AdGuard Home - A network-wide ad-and-tracker blocking DNS server with parental control.
- Traccar - Traccar is modern GPS Tracking Platform.
- Home Panel - A touch-compatible web frontend for controlling the home.
- Hass.io Google Drive Backup - A complete and easy to configure solution for backing up your snapshots to Google Drive.
- Grocy - ERP beyond your fridge! A groceries & household management solution for your home.
Lovelace User Interface
The Home Assistant frontend is already pretty, but you can customize it to fit your needs or taste better.
- Lovelace UI Documentation - The official documentation.
- 📺 Getting started with Lovelace UI - Great introduction to Lovelace UI by DrZzs.
- Share the Love - Custom card demos and configuration examples for Lovelace.
- 📺 How to set up Lovelace - Excellent step by step video for beginners by JuanMTech.
- Font Awesome Icons - Use the free icons from Font Awesome in your frontend.
Themes
It is all about the looks, apply some style.
- 📺 Themes Tutorial - Quick tutorial/example on how to configure themes.
- Midnight - A dark theme by Marcel Hoffs.
- Dark Cyan - A dark theme with cyan accents by Ryoen Deprouw.
- Grey Night - A dark theme with grey accents by ksya.
- Dark Red - A dark theme with red accents by Ryoen Deprouw.
- Halloween - Pumpkins colored by Mahasri Kalavala.
- Black and Green - A dark theme with pale green accents by GreenTurtwig.
- Vintage - Give your frontend a vintage look with this theme by Anup Surendran.
- Carbon Green - Light carbon theme with green accents by Reua.
- 20 Great Themes - 20 Great themes by JuanMTech (includes a guide).
- Many Themes, One Repo - 13 Themes in a convenient ZIP file.
- Slate - A dark theme close to the vanila looks from seangreen2.
- Synthwave - A theme influenced by the cover artwork of modern Synthwave bands.
- Google Home Theme - Two themes (light and dark) matching the design of Google Home Hub.
Custom Lovelace UI Cards
Lovelace allows people to build custom cards on top of it, which you can easily add to your instance.
- Auto-Entities Card - Dynamically adds entities: 🔮 Magic.
- Canvas Gauge Card - Use awesome gauges from canvas-gauges.com.
- Big Number Card - Display big numbers for sensors, including severity level as background.
- Animated Weather Card - Nice looking card showing the weather, with subtle animations.
- Thermostat Card - Thermostat control card that looks like a Nest Thermostat.
- Mini Media Player - A minimalistic media player card.
- Mini Graph Card - A minimalistic sensor graph card.
- Button card - Button card for your entities.
- Slideshow card - Dynamic slideshow of images or cards.
- Swiper card - Flick/swipe through multiple cards.
- Slider Entity Row - Add a slider to adjust, e.g., the brightness of lights in lovelace entity cards.
- Power Wheel Card - An intuitive way to represent the power that your home is consuming or producing.
- Simple Thermostat - A simpler and more flexible thermostat card.
- Compact Custom Header - Customize and compact the frontend header bar.
- Card Modder - Style your Lovelace cards.
- Bar Card - Customizable animated bar card.
- forked-daapd Card - Control a forked daapd instance.
- Dual Gauge Card - Shows two gauges in one.
- Atomic Calendar Card - Calendar card with advanced settings.
- Xiaomi Vacuum Card - Detailed card for Xiaomi vacuum cleaners (and others).
- Simple Weather Card - A minimalistic weather card, inspired by Google Material Design.
- Lovelace Floorplan - Interaction with your entities from a Floorplan.
- Home Card - A quick glance of the state of your home.
- Banner Card - A fluffy linkable banner with interactive glances to spice up your home dashboards.
- Upcoming Media Card - Display upcoming episodes and movies from services like: Plex, Kodi, Radarr, Sonarr, and Trakt.
- Spotify Card - List and select from current available devices and users top playlists on Spotify.
- Battery Entity - Displaying battery levels for battery entities.
- Multiple Entity Row - Show multiple entity states or attributes on entity rows.
- Xiaomi Vacuum Map Card - Interactive Xiaomi Vacuum map, just like in Mi Home app.
- Home Feed Card - Display a combination of persistent notifications, calendar events, and entities in the style of a feed.
- Config Template Card - Allow using templates in Lovelace.
- RGB Light Card - Colorful buttons to control your RGB Lights.
- LG WebOS Remote Control - Remote Control for LG TV WebOS.
- Restriction Card - A card to provide restrictions on Lovelace cards defined within.
- Vacuum Card — A card to card for controlling a vacuum cleaner robot.
- Purifier Card — A card for controlling air purifiers.
Alternative Dashboards
- TileBoard - A simple yet highly configurable Dashboard.
Custom Components
Additional components for Home Assistant, that were created by the community.
- Hue Sensors - Enables the use of Philips Hue sensors.
- Google Geocode - Converts a device tracker location into a human-readable address.
- Lutron Caseta Pro - Integrates Lutron Caseta Smart Bridge PRO / RA2 Select.
- SmartIR - Integrates devices using Broadlink IR.
- Xiaomi Hygrothermo - Sensor platform for Xiaomi Mijia BT Hygrothermo temperature and humidity sensor.
- Volkswagen Carnet - Integrates Volkswagen Carnet (requires valid Carnet subscription).
- Untappd - Connects with your Untappd account.
- Elasticsearch - Publishes events to Elasticsearch.
- Sonoff/eWeLink - Control Sonoff/eWeLink smart devices using the stock firmware.
- Alexa Media Player - Allow control of Amazon Alexa devices.
- iCloud3 - Improved version of the iCloud device tracker component with a lot of capabilities.
- HACS - This is a manager for your custom integration (components) and plugin (lovelace elements) needs.
- breaking_changes - Component to show potential breaking_changes in the current published version based on your loaded components.
- Circadian Lighting - Circadian Lighting slowly synchronizes your color changing lights with the regular naturally occuring color temperature of the sky throughout the day.
- HASS Aarlo - Asynchronous Arlo integration. Similar to the Arlo web site; monitors events and states for all base stations, cameras and doorbells.
- Xiaomi Cloud Map Extractor - This custom integration provides a way to present a live view of a map for a Xiaomi (and Roborock) vacuums without a need for rooting.
DIY
Do It Yourself; rather than buying home automation hardware or solutions, you could also build them yourself!
- ESPHome - Program ESP8266 boards and ESP32 boards using YAML.
- Magic Cards - RFID scannable cards that you can program to do anything.
- Sonoff Tasmota - Firmware for ESP8266 boards and devices.
DIY Gateways
- OpenMQTTGateway - A flexible MQTT gateway for IR, RF, BLE, MiFlora, SMS, and many sensors.
- esp8266 Milight Hub - Alternative hub for Milight/LimitlessLED devices that uses MQTT.
- zigbee2mqtt - Zigbee to MQTT bridge, get rid of your proprietary Zigbee bridges.
DIY Projects
- HA SwitchPlate - LCD Touchscreen wall switch replacement.
- 📺 DIY Multisensor - $15, Temperature, Humidity, Light, Motion, and RGB LED, without soldering.
- $10 WiFi RGB Bulb - In inexpensive RGB bulb that works on WiFi.
- 433mhz/IR Bidirectional Gateway - Bidirectional with IR and 433mhz using ESP8266 and MQTT.
- esp8266MQTTBlinds - Automate your window blinds using an ESP8266, a servo and MQTT.
- Home Assistant's Hackster.io - A Hackster channel with multiple DIY projects.
- ESP MQTT Digital LEDs - WS2811 LED Stripe for the JSON Light Component from BRUH.
- Bed Presence Detection - ESP8266 based Bed Presence Detection.
- NFC Scanner - Build an NFC tag/card scanner with an ESP8266, PN532 and MQTT.
- ESP32-Cam Facebox - Tie a ESP32-CAM, HA, and Facebox together for a cheap Facial Recog / Home monitoring solution.
- RaspiPool - A cost-effective, easy-to-build, easy-to-use "Swimming-Pool Automation System".
- QuinLED - DIY Wi-Fi LED dimmers and controllers using ESP32 boards.
Online Resources
Links to various users of Home Assistant that regularly publish Home Assistant focussed content.
Blogs
- DIY Futurism - Brad posts articles with great instructions for new users.
- Phil Hawthorne - Co-host of the Home Assistant Podcast.
- Smart Home Hobby - Features budget friendly guides and information.
- Self Hosted Home - Articles on DIY home automation projects and self hosted services.
- Tinkering with Home Automation - Tinkerer's blog and guides.
- HomeTechHacker - DIY Smarthome guides, reviews, and advice.
- Intermittent Technology - Quindor's personal blog for pasting random (mostly technology related) things.
YouTube Channels
Sit back, relax, watch, and learn.
- BRUH - Ben has great tutorials for getting started, unfortunately, inactive lately.
- BurnsHA - Great informational and tutorial videos.
- DrZzs - Great how-to videos and also streams live.
- The Hook Up - Tutorials and more, also has videos on home automation in general.
- HASSCASTS - Tips, Tricks & Tutorials, moving to mainly live streams.
- JuanMTech - Easy to follow how-to videos, product reviews and more.
- vCloudInfo - Publishes videos based on his home and GitHub repository.
- digiblurDIY - Tutorials on hardware projects and Tasmota automations.
- Intermit.Tech - Tutorials & reviews: Camera's, Home Networking, ESP8266 boards, Node-RED.
- BeardedTinker - Tutorials & 3D printing.
- Smart Home Junkie - How-to videos and tutorials for starters and advanced users.
Podcasts
Get inspired, while commuting, doing your morning routine, or at the gym!
- Home Assistant Podcast - Biweekly podcast with the latest news and interesting guests.
Keep up with the latest news and updates, 280 characters at a time!
- @home_assistant - Open source home automation that puts local control and privacy first.
- @hass_devs - Latest news on the development of Home Assistant for contributors.
- @balloob - Founder of the Home Assistant project.
- @pvizeli - Core developer and creator of the Hass.io project.
- @frenck - Creator of this Awesome list and maintainer of the Community Hass.io Add-ons project.
- @ccostan - Blogger of all things Tech. Smart Home, #IOT & other Geeky subjects.
- @HomeTechHacker - Guy friends call when #tech happens. Tweet 25-50x/week about #smarthome, #homenetwork, #cybersecurity, #Linux, #gadgets, and #life.
- @hassioaddons - For all commmunity add-on news and updates.
- @Dr_Zzs - Great how-to videos and also streams live.
Uncategorized
Valuable links, that don't fit in any of the above categories (yet!).
- Room Assistant - A companion client to handle sensors in multiple rooms.
- Home Assistant Companion - iPhone/iPad/iOS App to control and monitor your home remotely.
- Mi Flora via MQTT daemon - Collect and transfer Xiaomi Mi Flora plant sensor data via MQTT.
- hassctl - Simple command line utility to help debug your configuration.
- rhasspy - Toolkit for developing custom voice assistants.
- Fully Kiosk Browser - Highly configurable Android Kiosk Browser and App Launcher.
- Hassio Vagrant - Vagrant box original created for developing add-ons.
- AppDaemon - AppDaemon is a loosely coupled, multi-threaded, sandboxed Python execution environment for writing automation apps.
- Developer Documentation - The official developer documentation.
- HASS Configurator - Browser-based configuration file editor.
- HA-Dockermon - A Node.js service for RESTful switches to control Docker containers.
- Python Amazon Dash - Hack your Amazon Dash to run what you want. Without welders.
- homekit2mqtt - HomeKit to MQTT bridge.
- Home Assistant Device Database - Database of supported/confirmed working devices.
- Jinja Scripts for Curious Minds - Bunch of Jinja2 scripts helping you to understand it better.
- WallPanel - Android application for web-based dashboards and home automation platforms.
- Ariela - Freemium Android client application with widget support.
- Gitlab CI/CD - How to simplify your smart home configuration with GitLab CI/CD.
- Monitor - Distributed advertisement-based BTLE presence detection reported via MQTT.
- HASS-data-detective - Explore and analyse your database data.
- ADB Intents - List of ADB intents to control Android Devices.
- Home Assistant Config Helper for VSCode - Visual Studio Code Extension that provides auto-completion, config validation and snippets when editting your configuration.
- Home Assistant Taskbar Menu - A client for Windows that can display Lovelace views, control entities and show persistent notifications.
Alternative Home Automation Software
Home Assistant isn't the only home automation framework out there, here are some alternatives.
- openHAB - Java-based and aims at being a universal integration platform.
- Domoticz - A lightweight Home Automation System.
- Gladys - Open source program which runs on your Raspberry Pi.
- SmartThings - Commercial home automation hub by Samsung.
Other Awesome Lists
Other amazingly awesome lists that can be found on the great and dangerous interwebs.
- awesome-smarthome - Curated list of awesome SmartHome/Home Automation things.
- awesome-iot - Curated list of awesome Internet of Things projects and resources.
- awesome-open-iot - Curated list of open source IoT frameworks, libraries and software.
- awesome-amazon-alexa - Curated list of awesome resources for the Amazon Alexa platform.
- awesome-mqtt - Curated list of MQTT related stuff.
- awesome-sefhosted - Curated list of awesome self hosted software.
Contributing
This awesome list is an active open-source project and is always open to people who want to contribute to it. We have set up a separate document containing our Contribution Guidelines.
The original setup of this awesome list is by Franck Nijhof.
For a full list of all authors and contributors, check the contributor's page.
Thank you for being involved! 😍
Trademark Legal Notice
This Awesome list is not created, developed, affiliated, supported, maintained or endorsed by Home Assistant.
All product names, logos, brands, trademarks and registered trademarks are property of their respective owners. All company, product, and service names used in this list are for identification purposes only.
Use of these names, logos, trademarks, and brands does not imply endorsement.
License
Distributed under the Creative Commons Attribution 4.0 license. See LICENSE for the complete license.
Awesome IBM Cloud
A curated list of awesome IBM Cloud SDKs, open source repositories, tools, blogs and other resources.
Contents
- Carbon Design System
- Command Line Tools
- Infrastructure
- Platform
- Serverless
- Data & AI
- Resources
- YouTube Channels
- Twitter Accounts
- Meetups
- Contributing
- Contact
Carbon Design System
Add-ons, components, icons, and other resources to use the design system built by IBM.
- carbon - A design system built by IBM.
- carbon-addons-angular - Common Addons for Carbon Angular projects.
- carbon-addons-ics - Carbon Add-on for IBM Collaboration Solutions.
- carbon-addons-iot-react - This library contains React components shared between all IBM IoT products to unify our look and feel. These widgets are usually based on the carbon-components-react widgets.
- carbon-angular-starter - A simple starter app for bootstrapping applications with Carbon components.
- carbon-badges - A site to apply for Carbon badges.
- carbon-charts - 📊 📈 Reusable charts implemented using D3 & typescript.
- carbon-components-angular - An Angular implementation of the Carbon Design System for IBM.
- carbon-components-react - React components for the Carbon Design System.
- carbon-components-svelte - Svelte implementation of the Carbon Design System.
- carbon-components-vue - Vue implementation of the Carbon Design System.
- carbon-design-kit - A versioned, comprehensive kit of the Carbon Design System visual assets (components, iconography, color palettes, grids, templates).
- carbon-icons - SVG icon library for the Carbon Design System.
- carbon-icons-angular - Carbon icons, in Angular!
- carbon-icons-svelte - Svelte components for icons in digital and software products using the Carbon Design System.
- carbon-language-website - IBM Design Language website.
- carbon-sandbox - A theme playground for Carbon Components.
- carbon-tutorial - An app for the Carbon Design System tutorial.
- carbon-web-components - Carbon Design System variant on top of Web Components.
- carbon-website - The website for the Carbon Design System.
- gatsby-starter-carbon-theme - A Gatsby starter demonstrating the Gatsby Carbon theme.
- gatsby-theme-carbon - A Carbon inspired Gatsby theme.
- ibm-dotcom-library - IBM.com library based on the Carbon Design System for IBM.
- ibm-dotcom-library-nextjs-template - This is a IBMdotcom NextJS template utilizing the IBMdotcom React library.
- ibm-dotcom-library-website - This is the IBM.com Library website, which includes documentation and guidelines around design and development for IBM.com.
- ibm-security - A Carbon experience framework built by IBM Security.
Command Line Tools
Command Line Tools for MacOS, Windows and Linux.
- Cloud Foundry CLI - The official command line client for Cloud Foundry.
- The Kui Framework for Graphical Terminals - A hybrid command-line/UI development experience for cloud-native development.
- IBM Cloud CLI Release - This is the command line client for IBM Cloud.
- IBM Cloud Docker Containers - A *unoffical- Collection of different Docker Containers to interface with IBM Cloud.
- Universal Command Line Interface - IBM Cloud CLI provides the command line interface for managing resources in IBM Cloud.
- Windows 64-bit - Command Line Interface for Windows 64-bit.
Infrastructure
Deploy and manage your applications with Softlayer.
- cloudland - Cloudland, a light weight infrastructure as a service project, plus OpenShift 4 platform as a service deployment engine, is a system framework to manage VM instances, software defined networks (SDN), volumes.
- cp4d-deployment - These terraform scripts are developed to deploy CloudPakforData on the public cloud.
- ibm-spectrum-scale-cloud-install - Cloud Resource Provisioning framework for IBM Spectrum Scale.
- lamp-terraform-ibm - Automate deployment of environments using Infrastructure as Code.
- terraform-provider-ibm - Terraform IBM Cloud provider.
- vision-terraform - IBM Visual Insights sample terraform templates for deployment in IBM Cloud (formerly IBM PowerAI Vision).
Platform
Deploy and manage your applications with Cloud Foundry.
- charts - The IBM/charts repository provides helm charts for IBM and Third Party middleware.
- cloud-foundry - IBM Cloud Platform as a Service.
- binary-buildpack - Deploy binaries to Cloud Foundry.
- dotnet-buildpack - Cloud Foundry buildpack for .NET Core on Linux.
- go-buildpack - Cloud Foundry buildpack for the Go Language.
- ibm-websphere-liberty-buildpack - IBM WebSphere Application Server Liberty Buildpack.
- java-buildpack - Cloud Foundry buildpack for running Java applications.
- nginx-buildpack - Cloud Foundry buildpack that provides NGINX.
- nodejs-buildpack - Cloud Foundry buildpack for Node.js.
- php-buildpack - A Cloud Foundry Buildpack for PHP.
- python-buildpack - Cloud Foundry buildpack for the Python Language.
- r-buildpack - Cloud Foundry buildpack for R.
- ruby-buildpack - Cloud Foundry buildpack for Ruby, Sinatra and Rails.
- staticfile-buildpack - Deploy static HTML/JS/CSS apps to Cloud Foundry.
- cloud-operators - IBM Public Cloud Service Operator.
- cloud-pak - IBM Cloud Paks are enterprise-grade containerized software by combining container images with enterprise capabilities for deployment in production use cases with integrations for management and lifecycle operations. Features such as pre-configured deployments based on product expertise, rolling upgrades, rollbacks, security/vulnerability testing.
- generator-swiftserver - Generator for Kitura REST webservice servers.
- go-cloud - A Golang boilerplate code to benchmark cloud platforms to host a Go applications.
- go-website - Deploy your website using a Golang server.
- ibm-cloud-go - Go library for accessing the IBM Cloud API.
- insurance-bot - A message based insurance experience.
- kitura - A Swift web framework and HTTP server.
- kitura-couchdb - CouchDB adapter for Kitura.
- kitura-credentials - A pluggable framework for validating user credentials in a Swift server using Kitura.
- kitura-credentials-google - A plugin for the Kitura-Credentials framework that authenticates using the Google web login.
- kitura-net - Kitura networking.
- kitura-nio - A networking library for Kitura, based on SwiftNIO.
- kitura-sample - A sample application that shows how to use various features of Kitura.
- kitura-session - A pluggable framework for managing user sessions in a Swift server using Kitura.
- kitura-starter - Kitura-based server starter application for the IBM Cloud.
- logistics-wizard - The Logistics Wizard is an end-to-end, smart supply chain management solution.
- multiple-deployment-options - Shows how one service can be deployed to multiple deployment options.
- node-mqtt-for-anki-overdrive - Node.js Controller and MQTT API for Anki Overdrive.
- swift-ubuntu-docker - Docker image packaged with the Swift binaries.
- swifty-request - SwiftyRequest is an HTTP networking library built for Swift.
- watson-assistant-variables - Samples using context variables and (system) entities in IBM Watson Assistant (formerly Conversation) service.
- webiste-base - Deploy your website using a Node.js server.
Serverless
Deploy and manage your actions/functions with IBM Cloud Functions, an Apache OpenWhisk base on IBM Cloud.
- openwhisk-darkvisionapp - Discover dark data in videos with IBM Watson and IBM Cloud Functions.
- openwhisk-visionapp - A sample iOS app for image tagging and face detection built with IBM Cloud Functions.
- serverless-chatbot - Build your own chatbot using Serverless service (Serverless Architecture/Function-as-a-Service).
Data & AI
SDKs and code patterns with Watson services.
- assistant-simple - A simple sample application demonstrating the Watson Assistant API.
- botkit-middleware - A middleware to connect Watson Assistant Service to different chat channels using Botkit.
- chatbot-watson-android - An Android ChatBot powered by Watson Services - Assistant, Speech-to-Text and Text-to-Speech on IBM Cloud.
- discovery-nodejs - This is the Watson Discovery Service Demo.
- food-coach - A simple sample web application demonstrating the integration of Watson Tone Analyzer into Watson Assistant.
- ibm-watson-iot - Code repositories built around the IBM Watson IoT Platform.
- max-audio-classifier - Identify sounds in short audio clips.
- max-audio-embedding-generator - Generate embedding vectors from audio files.
- max-audio-sample-generator - Generate short audio clips of speech commands and lo-fi instrumental samples.
- max-base - This is a base image for IBM Model Asset Exchange.
- max-breast-cancer-mitosis-detector - Detect whether a mitosis exists in an image of breast cancer tumor cells.
- max-chinese-phonetic-similarity-estimator - Estimate the phonetic distance between Chinese words and get similar sounding candidate words.
- max-fast-neural-style-transfer - Generate a new image that mixes the content of a source image with the style of another image.
- max-human-pose-estimator - Detect humans in an image and estimate the pose for each person.
- max-image-caption-generator - IBM Code Model Asset Exchange: Show and Tell Image Caption Generator.
- max-image-colorizer - Adds color to black and white images.
- max-image-resolution-enhancer - Upscale an image by a factor of 4, while generating photo-realistic details.
- max-image-segmenter - Identify objects in an image, additionally assigning each pixel of the image to a particular object.
- max-inception-resnet-v2 - Identify objects in images using a third-generation deep residual network.
- max-named-entity-tagger - Locate and tag named entities in text.
- max-news-text-generator - Generate English-language text similar to the news articles in the One Billion Words data set.
- max-nucleus-segmenter - Identify nuclei in a microscopy image and assign each pixel of the image to a particular nucleus.
- max-object-detector - Localize and identify multiple objects in a single image.
- max-ocr - MAX Optical Character Recognition.
- max-question-answering - Answer questions on a given corpus of text.
- max-resnet-50 - Identify objects in images using a first-generation deep residual network.
- max-review-text-generator - Generate English-language text similar to the text in the Yelp® review data set.
- max-scene-classifier - Image classifier for physical places/locations, based on the Places365-CNN Model.
- max-speech-to-text-converter - Converts spoken words into text form.
- max-sports-video-classifier - Categorize sports videos according to which sport the video depicts.
- max-text-sentiment-classifier - Detect the sentiment captured in short pieces of text.
- max-text-summarizer - Generate a summarized description of a body of text.
- max-toxic-comment-classifier - Detect 6 types of toxicity in user comments.
- max-weather-forecaster - Predict hourly weather features given historical data for a specific location.
- max-word-embedding-generator - Generate embedding vectors from text files.
- natural-language-classifier-nodejs - See how the classifier service uses natural language to determine the intent behind your question.
- natural-language-understanding-nodejs - 🆕 Demo code for the Natural Language Understanding Service.
- node-red-labs - Node-RED labs on the use of the Watson Developer Cloud services.
- node-red-node-watson - A collection of nodes for the IBM Watson services.
- personality-insights-nodejs - 📊 Sample Nodejs Application for the IBM Watson Personality Insights Service.
- personality-insights-python - Sample Python Application for the IBM Watson Personality Insights Service.
- simple-chat-swift - 📱 An iOS chat application using cognitive services from the Watson Developer Cloud Swift SDK.
- speech-javascript-sdk - Library for using the IBM Watson Speech to Text and Text to Speech services in web browsers.
- speech-to-text-nodejs - 🎤 Sample Node.js Application for the IBM Watson Speech to Text Service.
- tone-analyzer-nodejs - Sample Node.js Application for the IBM Tone Analyzer Service.
- visual-recognition-coreml - Classify images offline using Watson Visual Recognition and Core ML.
- visual-recognition-nodejs - 📷 Sample Node.js Application for the IBM Watson Visual Recognition Service.
- watson-developer-cloud - A collection of REST APIs and SDKs that use cognitive computing to solve complex problems.
- android-sdk - 🔆 Android SDK to use the IBM Watson services.
- dotnet-standard-sdk - 🆕🆕🆕 .NET Standard library to access Watson Services.
- go-sdk - 🐭 Go SDK for the IBM Watson services.
- java-sdk - 🥇 Java SDK to use the IBM Watson services.
- node-sdk - ☄️ Node.js library to access IBM Watson services.
- openwhisk-sdk - 🆕 SDK for using Watson Services on IBM Cloud Functions (based on Apache Openwhisk).
- python-sdk - 🐍 Client library to use the IBM Watson services in Python and available in pip as watson-developer-cloud.
- ruby-sdk - ♦️ Ruby SDK to use the IBM Watson services.
- salesforce-sdk - A Salesforce library for communicating with the IBM Watson REST APIs.
- swift-sdk - 📱 The Watson Swift SDK enables developers to quickly add Watson Cognitive Computing services to their Swift applications.
- unity-sdk - 🎮 Unity SDK to use the IBM Watson services.
- with-watson - iOS App running Visual Recognition default model.
- with-watson-custom-model - iOS App running Visual Recognition custom model.
- your-celebrity-match - 🌟 The Celebrity Match application uses the Watson Personality Insights Service and Twitter data to identify celebrities on Twitter whose tweets are conceptually closest to yours.
Resources
List of resources to learn more about IBM Cloud and services.
- API Docs - API Docs lists the documentation of the APIs supported on IBM Cloud.
- Documentation - Learn more about a specific service reading the service's documentation.
- Enterprise Design Thinking - Apply design thinking to complex teams, problems, and organizations.
- Getting Started with IBM Cloud - What is the IBM Cloud platform?
- IBM Cloud Architecture Center - IBM's architectures provide practices for building apps on the cloud. The reference architectures define the basic pattern, while implementations provide specific technology, practices, and tool choices to build and deploy that pattern.
- IBM Cloud Blog - How-tos, news, and announcements for IBM Cloud.
- IBM Cloud Favorites - A list of links and resources about IBM Cloud Platform.
- IBM Cloud Stencils - IBM Cloud Stencils for creating IBM Cloud diagrams with popular diagram tools.
- IBM Cloud What's new - Stay up to date with the latest on IBM Cloud products and services.
- IBM Demos - IBM Demos is the premiere destination to explore, learn, and try out a variety of IBM products and solutions.
- IBM Developer Brasil on Medium - How-tos and learning for IBM Cloud platform and its services in Brazilian Portuguese.
- IBM Developer Website - Global community of coders. Find open source programs, code patterns, articles, tutorials, and other contents.
- IBM Garage Methodology - Foundational to the IBM Garage is a unique methodology that curates industry best practices layered with a depth of experience only IBM can bring. The IBM Garage combined with the IBM Garage Methodology can drive unprecedented transformational change.
- IBM Watson on Medium - How-tos, news, and announcements for IBM Watson on Medium.
- My Catalog - An alternative unofficial view of the IBM Cloud catalog, particularly helpful for architects who want to get a powerful filter-based view.
YouTube Channels
Watch and learn more about IBM Cloud and services.
- Digital Technical Engagement - Demos of Cloud offerings. For more information, check out http://ibm.biz/dte-live.
- IBM Cloud - The path to cloud is faster than you think. Join the cloud built for your business that has the tools, data and APIs to make AI real today. It’s your cloud. We protect it. You control it.
- IBM Developer - Open source tech, learning resources, and local meet-ups with our expert Developer Advocates.
- IBM Watson - Tutorials for using Watson services, developer kits, educational clips, event recaps and more.
- IBM Watson Internet of Things - Videos about Watson services and IoT platform, interviews, educational clips, and more.
Twitter Accounts
- IBM - Together with our clients, we're using technologies like AI, cloud, blockchain & IoT to transform business, industries and the world. Let’s put smart to work.
- IBMorg - IBM’s approach to corporate responsibility reflects our business — applied technology, continuous transformation, and sustainable change. #GoodTechIBM.
- IBM Accessibility - Official IBM Accessibility Twitter account. This account follows the IBM Social Computing Guidelines.
- IBM Blockchain - Official Twitter of #IBM #Blockchain. All blockchain all the time. DMs are open. Run by Kyle Schlapkohl & Bret Bardeli.
- IBM Cloud - Built for your business, #IBMCloud has the tools, data & APIs to make AI real now. Follows IBM Social Computing Guidelines.
- IBM Data and AI - The IBM tools, resources and industry news you need to get the most value from your #data and make it truly #AI-ready. For Support: https://ibm.com/mysupport.
- IBM Design - At IBM, design isn’t just a job—it’s a deep responsibility to the people we serve. Managed by @willfanguy per IBM’s guidelines.
- IBM Developer - Open source, code patterns, tutorials, meet-ups, challenges, & a global coding community— #IBMDeveloper has it all in one place. #AI #Cloud #Blockchain.
- IBM FinTech - 👁️🐝Ⓜ Official account managed by Claudia Masseo. All the latest on RegTech, Payments, SPM, Insurance and Banking.💸.
- IBM Industries - Download Industrious Magazine issue 8 today: https://ibm.co/industrious.
- IBM iX - We imagine the businesses of the future — and help our clients make them real. Follows IBM Social Guidelines.
- IBM Live - Your home for #IBM's immersive event experiences. Learn more about our upcoming worldwide events. Managed by Rafiat K and Ixel M. Follows IBM Social Guidelines.
- IBM News Room - Official hub for all that's new + noteworthy about IBM's business, tech and people. Account follows IBM Social Computing Guidelines.
- IBM Policy - Official account for IBM Government & Regulatory Affairs and IBM Policy Lab. Tweeting on tech & innovation policy issues. Managed by Adam Pratt & Ashley Bright.
- IBM Power Systems - Official Twitter account for IBM Power Systems—built to crush the most advanced data applications from mission-critical workloads to the next generation of #AI.
- IBM Research - This is the official Twitter ID of IBM Research. The account is managed by Chris Sciacca, and follows the IBM Social Computing Guidelines.
- IBM Security - We protect business, freeing you to thrive in the face of cyber uncertainty. For support, @AskIBMSecurity. Follows IBM Social Computing Guidelines.
- IBM Sports & Entertainment - Official IBM Twitter account. Managed by Noah Syken and Elizabeth O'Brien. Follows the IBM Social Computing Guidelines. #IBMsports.
- IBM Sterling Supply Chain - #SupplyChain and #B2BCollaboration news & innovation from #IBMSterling. We help you build smarter business networks. Follows IBM Social Computing Guidelines.
- IBM Storage - Capture the power of data w/ one of the industry’s broadest portfolios of storage solutions to unify, manage, protect data across multicloud & AI environments.
- IBM Systems - From servers and mainframes to storage systems and software, IBM provides the building blocks of a next-gen #ITinfrastructure that empowers your enterprise.
- IBM thinkLeaders - Thought leadership on transformation & innovation in a digital age. Check out our podcast: https://ibm.biz/thinkpoditunes.
- IBM Watson - Watson is AI for professionals, designed for your business.
- IBM Watson Commerce - HCL Technologies has acquired several IBM Commerce solutions. Learn more: https://ibm.co/2Jm59iP.
- IBM Watson Health - Watson Health is Smarter Health – Using data, analytics and #IBM technologies and services to help make smarter health a reality.
- IBM Watson IoT - Intelligence is your greatest asset. Follow us for the latest on insightful #IIoT solutions using #AI. Official IBM #IoT, managed by @theRab & @graemeknows.
- IBM Watson Media - IBM Watson Media leverages industry-leading AI to uncover deep video insights, improve content value and performance, and deliver superior viewing experiences.
Meetups
- Amsterdam, Netherlands - IBM Cloud - Benelux - This is a group for anyone interested in learning about #IBMCloud, the cloud built for business in the Benelux region. Meetups will be organized in one or more cities in Belgium, Luxembourg and The Netherlands. You can be an existing #IBMCloud user, or someone who has never touched the #IBMCloud before. Meetup topics will vary and could be of interest to developers, administrators, or business leaders.
- Atlanta, GA - IBM Cloud - Atlanta - This is a group for anyone interested in learning about #IBMCloud, the cloud built for business. You can be an existing #IBMCloud user, or someone who has never touched the #IBMCloud before. Meetup topics will vary and could be of interest to developers, administrators, or business leaders.
- Austin, TX - IBM Developer Austin - IBM Developer is a platform of resources to help you further your application development!
- Bangalore, India - Blockchain, Data Science & Cloud - Technology Meetup - This meetup group is for aspiring & budding developers willing to code on Blockchain, Data Science, Cloud and AI. Also one could join to learn on new and emerging technologies on Cloud.
- Bangalore, India - IBM DevConnect Bangalore - A group to connect with Developers who are interested in the latest of Cloud, AI & Data.
- Bangkok, Thailand - IBM Developer Thailand: Meetup Group - This is a group for anyone interested in learning about #IBMCloud, the cloud built for business. You can be an existing #IBMCloud user, or someone who has never touched the #IBMCloud before. Meetup topics will vary and could be of interest to developers, administrators, or business leaders.
- Beijing, China - IBM Developer (BeiJing) - This is set for meeting BeiJing developers whom are coding, have interests with technologies of AI, Blockchain, Cloud ,DataScience ... we regular meet-up for sharing code , helping you to accelerate building your applications.
- Berlin, Germany - IBM Developer - Welcome to the IBM Developer meetup!
- Bordeaux, France - IBM Cloud Bordeaux Meetup - Ce groupe s'adresse à toutes les personnes intéressées par les capacités d'innovation facilitées par le Cloud.
- Boston, MA - IBM Cloud - Boston - This is a group for anyone interested in learning about #IBMCloud, the cloud built for business. You can be an existing #IBMCloud user, or someone who has never touched the #IBMCloud before. Meetup topics will vary and could be of interest to developers, administrators, or business leaders.
- Bucharest, Romania - IBM Developer Romania - Join us if you are interested in cloud computing, cognitive technology, IoT, Blockchain or open source software.
- Buenos Aires, Argentina - Meet and Think by IBM - Grupo abierto para intercambiar conocimientos, buenas prácticas, ideas innovadoras y desarrollos de Inteligencia Artificial (Machine learning, Deep Learning), Cloud Computing, IoT, Ciberseguridad, ¡y mucho más!
- Cairo, Egypt - IBM Developer Egypt - This is a meetup group for developers, architects, and Cloud enthusiasts. We learn all about IBM Cloud, Watson, Microservices, IoT, Data Science & Blockchain. Our meetups are free.
- Casablanca, Morocco - IBM Developer Morocco - At IBM Developer & Startup Meetup Group, we will share our passion for technology and entrepreneurship. We are a team of advocates for developers and tech startups, who strive to solve today's problems, inspire innovation and create amazing things.
- Chennai, India - Chennai CodeWeekend Meetup - This group is for developers and by developers of Chennai. The purpose of creating this group is to enable developers in Chennai on emerging and disruptive Information Technologies.
- Chicago, IL - IBM Cloud - Chicago - This is a group for anyone interested in learning about #IBMCloud, the cloud built for business. You can be an existing #IBMCloud user, or someone who has never touched the #IBMCloud before. Meetup topics will vary and could be of interest to developers, administrators, or business leaders.
- Copenhagen, Denmark - IBM Cloud - Copenhagen - Dette er en gruppe for alle interesserede der vil lære mere om #IBMCloud, "the cloud built for business". Du er enten en eksisterende #IBMCloud-bruger eller har aldrig været i berøring med #IBMCloud før. Meetup emnerne vil variere og er typisk af interesse for udviklere, administratorer eller forretningsledelse.
- Dallas, TX - IBM Cloud - Dallas - This is a group for anyone interested in Artificial Intelligence, Data Science, Internet of Things, Blockchain and Cloud in DFW area. All skill levels are welcome. We will have many series on these topics. Sometimes we will focus on high level business and strategies, and sometimes we will be very hands-on and diving into the details. We will also invite IBM and Industry speakers to give special topics.
- Denver, CO - IBM Cloud Denver - This is a group for anyone interested in learning about #IBMCloud, the cloud built for business. You can be an existing #IBMCloud user, or someone who has never touched the #IBMCloud before. Meetup topics will vary and could be of interest to developers, administrators, or business leaders.
- Detroit, MI - IBM Cloud - Detroit - This is a group for anyone interested in learning about #IBMCloud, the cloud built for business. You can be an existing #IBMCloud user, or someone who has never touched the #IBMCloud before. Meetup topics will vary and could be of interest to developers, administrators, or business leaders.
- Dubai, U.A.E. - IBM Developer Dubai - This is a meetup group for developers, architects, and Cloud enthusiasts.
- Dubai, U.A.E. - IBM Tech@Home MEA - This is a group for anyone interested in learning about IBM Cloud & Cognitive Software. You can be an familiar user, or someone who has never worked with IBM software before. Meetup topics will vary and could be of interest to developers, administrators, or business leaders.
- Dublin, Ireland - IBM Cloud Dublin - This meetup group is geared towards developers, architects and all IBM Cloud enthusiasts. We learn about IBM Cloud hands-on with fellow developers.
- Frankfurt, Germany - Meet and Think@IBM Rhein-Main - Meet with IBM experts and guests to discuss the latest technologies and innovations from IBM.
- Göteborg, Sweden - IBM TechTalks & Labs Gothenburg - Join us on a series of hands-on workshops (BYOD*) and tech talks on a variety of technologies!
- Gurgaon, India - IBM cloud developer's ecosystem Delhi NCR - Community to learn the cutting edge technologies with the common interest areas. This group is created for the technology enthusiast(s) who likes to explore the tech areas like IaaS/PaaS, Containers, Kubernetes, DevOps, Artificial intelligence and other micro services running on the cloud platform.
- Hong Kong, Hong Kong - AI/Blockchain/Cloud/BigData Meetup by IBM HK - This is the group for anyone who would like to learn the latest trend of ABCD, AI, Blockchain, Cloud and Big Data.
- Hong Kong, Hong Kong - IBM Cloud - Hong Kong - This is a group for anyone interested in learning about #IBMCloud, the cloud built for business. You can be an existing #IBMCloud user, or someone who has never touched the #IBMCloud before. Meetup topics will vary and could be of interest to developers, administrators, or business leaders.
- Hyderabad, India - Hyderabad CodeWeekend - Hello friends, This group is for the developer by the developer. This is perfect place for anyone who is enthusiastic on learning new technologies like AI, DL, ML, Blockchain, IoT, Microservices, Docker, Functions and many more. We conduct meetups once in a month on any of above mentioned technologies.
- Islamabad, Pakistan - IBM Developer Islamabad - This is a meetup group for developers, architects, and Cloud enthusiasts. We learn all about IBM Cloud, Watson, IoT, Data Science & Blockchain. Our meetups are free.
- Istanbul, Turkey - IBM Developer Turkey - IBM Developer Turkey etkinlik duyuru sayfasına hoşgeldiniz!
- Johannesburg, South Africa - IBM Cloud - South Africa - Geared towards developers, architects, PaaS and Cloud Foundry enthusiasts, we learn about IBM Cloud through hands-on demo's and discussions.
- Karachi, Pakistan - IBM Developer Karachi - This is a meetup group for developers, architects, and Cloud enthusiasts. We learn all about IBM Cloud, Watson, IoT, Data Science & Blockchain. Our meetups are free.
- Kuala Lumpur, Malaysia - IBM Cloud - Malaysia - This is a group for anyone interested in learning about #IBMCloud, the cloud built for business. You can be an existing #IBMCloud user, or someone who has never touched the #IBMCloud before. Meetup topics will vary and could be of interest to developers, administrators, or business leaders.
- Las, Nigeria - IBM Developer Nigeria - Calling all developers, startups and entrepreneurs interested in getting together to exchange ideas and learn new technologies such as Cognitive Computing, Internet of Things, Blockchain, Artificial Intelligence, Machine Learning, Data Analytics and Cloud.
- Lima, Peru - IBM Developers Perú - Este es una meetup sponsoreada por IBM del Perú. Está orientado a desarrolladores, arquitectos y todos aquellos entusiastas en IBM Cloud que deseen comenzar a probar esta solución en una modalidad hands on.
- London, United Kingdom - IBM Cloud - London - This is a group for anyone interested in learning about #IBMCloud, the cloud built for business. You can be an existing #IBMCloud user, or someone who has never touched the #IBMCloud before. Meetup topics will vary and could be of interest to developers, administrators, or business leaders.
- Madrid, Spain - Meetup para desarrolladores Cloud - Este meetup está orientado a desarrolladores, arquitectos, estudiantes y todos los entusiastas del PaaS y Cloud Foundry, y del desarrollo en general. El objetivo de este grupo es ir mostrando las capacidades de plataformas Cloud entre otros (http://ibm.biz/BluemixES) de una forma muy práctica.
- Melbourne, Australia - IBM Cloud - Melbourne - The Melbourne 👁️🐝☁️meetup is the place for developers, engineers, architects, designers and everyone between to geek-out and talk all things tech. Covering topics such as Cognitive Computing, Internet of Things, Blockchain, Artificial Intelligence, Machine Learning, Data Analytics, Open Source and more.
- México City, Mexico - IBM Cloud - Mexico - Este es un grupo para personas interesadas en aprender acerca de #IBMCloud, la nube construida para el negocio. Usted puede ser un usuario de #IBMCloud o alguien que nunca ha estado en contacto con #IBMCloud anteriormente.
- México City, Mexico - IBM Developer Mexico - "Una máquina puede hacer el trabajo de 50 personas ordinarias. Ninguna máquina puede hacer el trabajo de una persona extraordinaria". Únete a este meetup donde intentamos descifrar cómo usar tecnologías emergentes para resolver los retos más complejos para nuestro país y las empresas que hay en él. Compartiremos historias de éxitos y fracaso, acompañándolas de inspiración líquida ya sea clara u obscura.
- Milano, Italy - IBM Cloud Italia - Questo è un gruppo dedicato a chi vuole apprendere cos'è il Cloud di IBM, il Cloud nato per il business. Si rivolge a chi è gia un utente #IBMCloud o a chiunque non abbia precedente esperienza di #IBMCloud. Gli argomenti del Meetup sono vari e di interesse per sviluppatori, amministratori IT o utenti business.
- Minneapolis, MN - IBM Cloud - Minneapolis / St. Paul - This is a group for anyone interested in learning about #IBMCloud, the cloud built for business. You can be an existing #IBMCloud user, or someone who has never touched the #IBMCloud before. Meetup topics will vary and could be of interest to developers, administrators, or business leaders.
- Montevideo, Uruguay - IBM Developers Montevideo Meetup - Este es una meetup sponsoreada por IBM Uruguay. Está orientado a desarrolladores, arquitectos y todos aquellos entusiastas en IBM Cloud que deseen comenzar a probar esta solución en una modalidad hands on.
- Montpellier, France - Client Center Montpellier - Cognitive, Big Data, Cloud - Client Center Montpellier is a global center of competence in which a team of experts and architects have access to the latest IT technologies to offer solutions for Big Data, Artificial Intelligence (AI), Analytics, Blockchain, Cloud and other open sources solutions.
- Mumbai, India - Mumbai BlockChain Meetup - Cloud Computing · Money · IBM · PaaS (Platform as a Service) · Bitcoin · Cryptocurrency · Bitcoin Miners · Decentralized Systems · BlueMix · Bitcoin Security · IBM Bluemix · Blockchain.
- New York, NY - IBM Cloud - New York - This is a group for anyone interested in learning about #IBMCloud, the cloud built for business. You can be an existing #IBMCloud user, or someone who has never touched the #IBMCloud before. Meetup topics will vary and could be of interest to developers, administrators, or business leaders.
- New York, NY - IBM Developer New York - IBM Developer is a platform of resources to help you further your application development!
- Nice, France - IBM Cloud Côte d'Azur Meetup - This group is for all Beginners, Developers, Subject Matter Experts, IT Consultants and Researchers who are excited and enthusiasts about learning and developing applications on IBM® Cloud.
- Oslo, Norway - IBM TenkTorsdag - Digitaliseringen skjer fortere enn noen gang, og det kan bli fatalt å overse trender i markedet. Med dette som bakgrunn skal vi i denne gruppen snakke om trender, og hvilken konsekvens dette har for nettopp din forretning.
- Paris, France - IBM Cloud Paris Meetup - This group is for all Beginners, Developers, Subject Matter Experts, IT Consultants and Researchers who are excited and enthusiasts about learning and developing applications on IBM® Cloud.
- Perth, Australia - IBM Cloud - Perth - The Perth 👁️🐝☁️meetup is the place for developers, engineers, architects, designers and everyone between to geek-out and talk all things tech. Covering topics such as Cloud, Application Modernisation, Internet of Things, Blockchain, Artificial Intelligence, Machine Learning, Data Analytics, Open Source and more.
- Pune, India - Cloud Pune Meetup - This is a group for anyone interested in knowing Cloud Solutions- Platform as a Service(PaaS) . I started this group because to meet startups, academia, developers, Cloud Enthusiasts. Looking forward to meet you.
- Riyadh, Saudi Arabia - IBM Developer KSA - Curious? love to learn? always looking for ways to do better work? then this meetup group is just for you.
- San Francisco, CA - IBM Cloud - San Francisco - This is a group for anyone interested in learning about #IBMCloud, the cloud built for business. You can be an existing #IBMCloud user, or someone who has never touched the #IBMCloud before. Meetup topics will vary and could be of interest to developers, administrators, or business leaders.
- San Francisco, CA - IBM Developer SF Bay Area - Calling all developers and entrepreneurs interested in getting together to exchange ideas and learn new technologies such as Cognitive Computing, Internet of Things, Blockchain, Artificial Intelligence, Machine Learning, Data Analytics and Cloud.
- Santiago, Chile - IBM Cloud - El objetivo de este grupo es ir mostrando capacidades de la plataforma IBM Cloud de una forma muy práctica dirigido estudiantes, desarrolladores, profesionales de IT y todos los entusiastas Cloud o que quieren aprender sobre estas interesantes materias (Cloud, DevOps, Virtualizacion, Watson, IoT, Data Science & Blockchain).
- São Paulo, Brazil - Bluetalks - Bluetalks são meetups com discussões riquíssimas sobre tecnologia, inovação, empreendedorismo e diversidade. Abra sua mente para a disrupção e novas visões sobre temas atuais e mergulhe conosco de coração aberto.
- São Paulo, Brazil - Comunidade IBM Cloud Brasil - Software developers, IT Architects, Cloud administrators, Full-stack developer, IT Manager, IT Leaders, Cloud Leadership, Business Development.
- São Paulo, Brazil - Iniciativa Z - Nosso objetivo é criar a maior comunidade de Mainframe do Brasil. Por meio desse grupo queremos disseminar tudo relacionado a Mainframe, gerando conteúdo, divulgando oportunidades, realizando eventos e incentivando o networking entre profissionais experientes e a nova geração de Mainframers que estamos desenvolvendo.
- Seoul, Korea (South) - IBM Cloud - Korea - 금번 모임은 비즈니스를 위한 IBM Cloud 사용방법에 대해서 알아보고 싶은 모두가 참여할 수 있는 행사입니다.
- Seoul, Korea (South) - IBM Developer Meetup - IBM Developer 밋업은 한 달에 한 번씩, 개발자들이 모여 IBM Cloud 상에서 구동할 수 있는 여러 테마의 기술을 가지고 핸즈온/실습을 해보는 모임입니다. 주제와 일정은 본 밋업페이지에 업데이트됩니다.
- Shenzhen, China - IBM Developer (ShenZhen) - This is set for meeting ShenZhen developers whom are coding, have interests with technologies of AI, Blockchain, Cloud ,DataScience ... we regular meet-up for sharing code , helping developers to accelerate building applications.
- Singapore, Singapore - IBM Cloud Singapore - This is a group for anyone interested in learning about #IBMCloud, the cloud built for business. You can be an existing #IBMCloud user, or someone who has never touched the #IBMCloud before. Meetup topics will vary and could be of interest to developers, administrators, or business leaders.
- Stockholm, Sweden - IBM Cloud & Cognitive - Stockholm - This is a group for anyone interested in learning about #IBMCloud, the cloud built for business. You can be an existing #IBMCloud user, or someone who has never touched the #IBMCloud before. Meetup topics will vary and could be of interest to developers, administrators, or business leaders.
- Stockholm, Sweden - IBM TechTalks & Labs STHLM - Join us on a series of hands-on workshops (BYOD*) and tech talks on a variety of technologies!
- Stockholm, Sweden - Towards the Tech of Tomorrow - Have you ever questioned how your digital music service recommends a new song that perfectly fits your taste? Have you been baffled by the impact of cryptocurrencies and wanted to understand the underlying blockchain technology? Have you been intrigued by the concept of cloud; an abstract yet physical location(-s) for your most valuable data?
- Sydney, Australia - Sydney IBM Coders Meetup Group - The Sydney IBM Coders meetup group exists to help Sydney developers, engineers, architects and everyone in between to better understand IBM's public cloud offerings. We encourage all our members to present and aim to spread our sessions across the breadth of the IBM Cloud offerings talking on both developer-centric and infrastructure-centric topics.
- Taipei, Taiwan - IBM Cloud Taiwan - 這是一個為想學習為#IBMCloud 的任何人所建的群組。您可能是#IBMCloud的既有用戶,或從未曾接觸過#IBMCloud。Meetup的主題包羅萬象, 且主要對象可能包涵開發者、管理員或是業務領袖.
- Tel Aviv-Yafo, Israel - Statup & Developer - IBM Israel - At IBM Developer & Startup Meetup Group, we will share our passion for technology and entreprneursdhip. We are a team of advocates for developers and tech startups, who strive to solve today's problems, inspire innovation and create amazing things.
- Tokyo, Japan - IBM Cloud - 東京 (Tokyo) - このグループは、最新テクノロジーを活用して、ビジネスの拡大や、より良い世界を実現する事が目的です。このグループは、#IBMCloud について学び、クラウドサービスをビジネスに活用したい全ての方が対象となります。 グループの参加者は新規、既存は問いません。 Meetupのトピックは、開発者や管理者、またはビジネスリーダー等の参加対象者によって異なり、様々なトピックについて活動します。このグループで想定しているテクノロジーのトピックとしては、クラウドプラットフォーム、Artificial Intelligence (AI/人工知能)、ブロクチェーン、分析、オートメーション、クラウドサービス/API、データサイエンス、イテグレーション、アプリケーション開発や、ガバナンス等です.
- Tokyo, Japan - IBM Developer Tokyo - “This is a group for anyone interested in development using technologies like AI, IoT, Blockchain, etc. All skill levels are welcome. Looking forward to learning and building new application with everybody.”
- Toronto, ON - IBM Cloud - Toronto - This is a group for anyone interested in learning about #IBMCloud, the cloud built for business. You can be an existing #IBMCloud user, or someone who has never touched the #IBMCloud before. Meetup topics will vary and could be of interest to developers, administrators, or business leaders.
- Wellington, New Zealand - IBM Cloud - Wellington - The Wellington 👁️🐝☁️meetup is the place for developers, engineers, architects, designers and everyone between to geek-out and talk all things tech. Covering topics such as Cloud, Application Modernisation, Internet of Things, Blockchain, Artificial Intelligence, Machine Learning, Data Analytics, Open Source and more.
- Zürich, Switzerland - Quantum Computing Switzerland - Qool Stuff - In Switzerland there many things to discover: Mountains, Chocolate, Cheese Fondue, Quantum Computers, Trains, ... Wait Quantum? Yes! Join this MeetUp Group to hear and exchange about the latest and greatest news regarding Quantum Computers, Developer Platforms, Qiskit, Quantum Use Cases and many more Qool Stuff.
Contributing
If you want to contribute, feel free to submit your Pull Request or create a new Issue. But first, take a moment to read the contribution guidelines. Thanks to all contributors! #YouROCK!
If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!
Contact
Feel free to contact me for any discussion, question, or comment. You can find on my GitHub page or you can talk to me on Twitter.
Translations: [🇬🇧 en](readme.md) · [🇰🇷 ko](readme-ko.md) · [🇷🇺 ru](readme-ru.md)
[Firebase](https://firebase.google.com) is an app dev platform built on the [Google Cloud Platform](https://cloud.google.com/products) providing services and cross-platform SDKs!
Contents
- Featured (new releases)
- Official Docs & Quickstarts
- Firebase Extensions
- Web
- Mobile
- Games
- Server-side (Cloud Functions, BigQuery etc)
- CLI & Editor
- Other
- Follow
Legend: 📝 blog posts · 💡 examples · 📖 docs · 🔌 libraries · 🔧 tools · 📹 talks/video · 🔊 podcasts
Featured (new releases)
- 🔧 (Unofficial) Firebase Admin SDK for PHP - The Firebase Admin PHP SDK enables access to Firebase services from privileged environments (such as servers or cloud) in PHP.
- 📖 App Check - Protect your backend resources from abuse, such as billing fraud or phishing.
- 📖 Firestore Data Bundles - Data Bundles are static query results for CDN caching to speed first page loads.
- 📖 Modular Web SDK (v9) - Import only what you need reducing SDK size up to 80%.
Official Docs & Quickstarts
- 📖 Firebase Documentation - Official Firebase Documentation.
- 🔧 Firebase Status Dashboard - This page provides status information on the services that are part of Firebase.
- 💡 Firebase Quickstarts - Official Firebase Quickstarts.
- 💡 Google Codelabs | Firebase - Google Developers Codelabs provide a guided, tutorial, hands-on coding experience.
- 📖 Firebase for Games - New Firebase for Games landing page with links to Firebase/Google resources for game developers.
Firebase Extensions
- 🔧 Firebase Extensions - Firebase Extensions provide extended functionality to your apps without the need to research, write, or debug code on your own.
- 🔧 Experimental Firebase Extensions - laboratory for new extensions created by Firebase.
- 🔧 Stripe Extensions - Official Stripe subscriptions and invoices extensions.
- 🔧 MessageBird Extensions - Official MessageBird extension to send messages via the MessageBird Converstations API.
- 🔧 Algolia Extensions - Official Algolia extension to enable full text search of Cloud Firestore with Algolia.
- 🔧 Mailchimp Extensions - Official Mailchimp extension to sync Firebase Authentication events to create member tags, merge fields, and member events with Mailchimp.
- 🔧 Typesense Extension for Full-Text Search - Official Typesense extension to add full-text search in Firestore, by syncing the data to Typesense, an OSS alternative to Algolia.
Web
- 🔌 Firestore Lite - Lightweight Cloud Firestore library for the browser.
- 🔌 SvelteFire - Cybernetically enhanced Firebase apps.
- 🔌 React Fire - Official Firebase React library with Hooks, Context Providers, and Components that make it easy to interact with Firebase.
- 🔧 Remote Styles with Remote Config - Dynamic/Conditional loading of CSS stored in Remote Config. (Launch post).
- 🔌 React Firebase Hooks - React Hooks for Firebase services.
- 🔌 Firebase UI - FirebaseUI is an open-source JavaScript library for Web that provides simple, customizable UI bindings on top of Firebase SDKs to eliminate boilerplate code and promote best practices.
- 🔌 Firebase UI for React - React Wrapper for firebaseUI Web.
- 🔌 GeoFire for JavaScript - Realtime location queries with Firebase.
- 💡 FirePad - Collaborative Text Editor Powered by Firebase.
- 🔌 Ember Fire - Official Ember data adapter for Firebase.
- 🔌 Firebase Dart - Dart wrapper for Firebase.
- 🔌 PolymerFire - Polymer Web Components for Firebase.
- 🔌 VueFire - Firebase bindings for Vue.js.
- 🔌 Angular Fire 2 - Official library for Firebase and Angular.
- 🔌 Re-base - Relay inspired library for building React.js + Firebase applications.
- 🔌 React Redux Firebase - Redux bindings for Firebase. Includes Higher Order Component for use with React.
- 🔌 GatsbyJS Firebase Data Source - Query your Firebase data right into your statically generated pages with Gatsby.
- 🔌 Apollo Link Firebase - Provides a local GraphQL interface to RealtimeDB. DB syncs locally to device, Apollo Link provides querying into the local DB.
- 🔌 BuckleScript Bindings for Firebase - BuckleScript bindings for Firebase for use in ReasonML projects.
- 💡 Angular Firebase PWA - Is an Angular PWA powered by Firebase. It can serve as a foundation to learn this stack and roll out more complex features.
- 🔌 FireSQL - Query Firestore using SQL syntax. Issues the minimum amount of queries necessary in order to get the data that you request.
- 📖 Hosting Version History - Automatic deletion of older versions of your site deployments.
- 🔌 Firestorter - Use Firestore in React with zero effort, using MobX (also for react-native).
- 💡 Nextbase - Boilerplate of Next.js, Redux & Firebase for developers who want a quick start project.
- 🔧 Typesaurus - Type-safe TypeScript-first ODM for Firestore.
- 🔌 firebase-kotlin-sdk - Kotlin-first SDK for Firebase supporting multiplatform projects (
ios,android&js). - 🔌 GeoFirestore - Location-based querying and filtering using Firebase Firestore.
Mobile
- 📝 App Distribution App Bundles - Support for Android App Bundles (AAB) is officially supported in App Distribution.
- 📖 Firebase Flutter Documentation - Official Firebase Flutter Setup.
- 🔌 NativeScript plugin Firebase - NativeScript plugin for Firebase.
- 🔌 FlutterFire - Collection of Firebase plugins for Flutter apps.
- 🔌 React Native Firebase - Well-tested feature rich modular Firebase implementation for React Native. Supports both iOS & Android platforms.
- 🔌 React Native Firebase Cloud Messaging - React Native module for Firebase Cloud Messaging and local notification.
- 💡 Expo Native Firebase - Native Firebase Expo App (iOS, Android) Demo for Firestore, Notifications, Analytics, Storage, Messaging, Database.
- 💡 Flutter Calendar App - New Flutter application implementing a simple mobile calendar app for storing basic events into Firebase cloud database.
- 🔧 Firebase App Distribution - Distribute pre-release versions of your app to your trusted testers.
- 🔌 Flamingo - A Firebase Firestore model framework for Dart.
Android
- 🔌 GeoFire for Java - Realtime location queries with Firebase.
- 🔌 Firebase UI - Optimized UI components for Firebase.
- 🔌 FireXtensions - Unofficial Kotlin Extensions for the Firebase Android SDK.
- 🔌 Firecoil - Load images from GCS in your Android app using the image loading library Coil.
iOS
- 🔌 GeoFire for Objective-C - Realtime location queries with Firebase.
- 🔌 Firebase UI - iOS UI bindings for Firebase.
- 💡 MLKit - ARCore - Example detecting objects and tags them with 3D labels in Augmented Reality. Uses Firebase ML Kit, ARCore and Firebase RTDB.
- 💡 MLKit - ARKit - Example detecting objects using Firebase ML Kit and tags them with 3D labels in Augmented Reality.
Games
- 📖 Firestore for C++ and Unity - C++ and Unity SDKs for C++ and Unity (with Firebase Unity SDKs available via Unity Package Manager).
Server-side (Cloud Functions, BigQuery etc)
- 📖 Firebase Admin Documentation - Official Firebase Admin SDK Server Setup.
- 💡 Functions Samples - Collection of sample apps showcasing popular use cases using Cloud Functions for Firebase.
- 💡 Express Server on Cloud Functions - Host an Express server on Cloud Functions.
- 📝 GraphQL Server on Cloud Functions - Host an Express server with GraphQL middleware on Cloud Functions.
- 💡 Compiled Code with Cloud Functions - Compile your Flow, TypeScript or ReasonML to the correct Node runtime using Babel, TypeScript Compiler or ParcelJS.
- 📝 BigQuery & Google Analytics - How Do I Create a Closed Funnel in Google Analytics for Firebase Using BigQuery.
- 📹 Official Cloud Function #Firecasts - YouTube video series about understanding how Cloud Functions work.
- 📝 Firebase Hosting for Cloud Run Services - Dynamic content with Hosting Rewrites & Cloud Run Services.
- 📝 Scheduled (Cron) Cloud Functions for Firebase - Firebase-native Cron triggers for Firebase Cloud Functions.
- 🔌 Integrify - Enforce referential and data integrity in Firestore using pre-canned Cloud Functions triggers.
- 🔌 Free Product Analytics with Firebase + BigQuery + Rakam - How to do behavioral & segmentation analysis on Firebase event data via BigQuery Export and Rakam.
- 🔌 Firestore Queue System - Simple queue system using Firestore and Cloud Functions.
- 🔌 Pyrebase - A simple python wrapper for the Firebase API.
- 🔌 Firecode - A light, fast, and memory-efficient collection traversal library for Firestore and Node.js.
CLI & Editor
- 📖 Firebase Tools UI - Web UI for Firebase Emulator Suite.
- 📖 Storage in Emulator Suite - Emulator suite is now complete!
- 🔧 VSCode Firebase Explorer - Explore and manage your Firebase projects.
- 🔧 Firebase Tools - The Firebase Command Line Tools.
- 🔧 Firebase CI - Simplified Firebase interaction for continuous integration.
- 🔧 Firecode - VS Code Firestore Rules Extension.
- 🔧 Firebase Firestore Snippets - Contains the snippet for both Firebase and Firestore in VS Code editor.
- 🔧 Fuego - Firestore client CLI supporting document add/update/query with filtering and pagination.
- 🔧 Firestore Rules Generator - Official (but experimental) Firebase Rules Generator for Cloud Firestore based on Google's Protocol Buffer format.
- 🔧 Firepit - Firepit is a standalone, portable version of the Firebase CLI which has no depedencies (including Node.js).
- 🔧 Fireward - Easy to use language for Firestore rules, similar to Firebase Bolt.
- 🔧 Svarog - Cloud Firestore schema validation with JSON Schema generated Security Rule helper functions.
- 🔧 Firetable - Excel/Google Sheets like UI for Firebase/Firestore. No more admin portals!
- 🔧 VSFire - Deprecated ~VSCode extension for syntax highlighting & code completions with Firestore security rules & indexes.~
- 📝 Refi App - A GUI tool to make developers less painful when interacting with Firestore DB
- 🔧 Firefoo - Cloud Firestore GUI Admin Tool with JSON/CSV Export and JavaScript Query Shell.
- 🔧 asdf-firebase - An asdf-vm plugin for
firebase-tools. Manage your Firebase CLI without Node.js ornpm! Great forpython,golang,c++&javaFirebase projects.
Other
- 🔧 FireCMS - FireCMS is an open source headless CMS and admin panel built by developers for developers. It generates CRUD views based on your configuration.
- 🔧 Flank - Massively parallel Android and iOS test runner for Firebase Test Lab.
- 🔌 Firestore Query Browser - WebApp to Query, (Batch-)Edit & Export documents with app & user switching.
- 🔌 FireDrill - Find, Edit, Add, Remove, Import, Export, and Report on your Firebase data.
- 💡 Unity Solutions - Use Firebase tools to incorporate common features into your games.
- 🔌 Firebase AIR Native Extension - Firebase ANE collection give you access to the Google Firebase project in your AdobeAir projects supported on both Android and iOS with 100% identical ActionScript API.
- 🔌 QtFirebase - An effort to bring Google's Firebase C++ API to Qt + QML.
- 📝 StackBlitz to Firebase Hosting Deployments - StackBlitz (online code editor) to Firebase Hosting static deployments.
- 🔧 Flamelink - CMS for Firebase. Supports Firestore, RealtimeDatabase & Storage.
- 📹 Firebase Summit 2018 - All Firebase Summit 2018 talks.
- 📹 Firebase @ Google Cloud Next '18 - All Firebase talks @ Google Cloud Next 2018.
- 📹 Firebase @ Google IO '18 - All Firebase talks @ Google IO 2018.
- 📹 #AskFirebase YouTube Playlist - Official #AskFirebase playlist on YouTube.
- 📝 State of Firebase (mid 2019) - Cloud Next & Google I/O 2019 updates!
- 📹 Firebase @ Google IO '19 - All Firebase talks @ Google IO 2019.
- 📹 Firebase Summit 2019 - All Firebase talks @ the Firebase Summit 2019.
- 📹 Firebase Live 2020 - Firebase Live is a web series for app developers consisting of talks, tips, and technical tutorials aimed at increasing their productivity, knowledge, and collaboration.
- 📹 Firebase Summit 2020 - All Firebase talks @ the Firebase Summit 2020.
Follow
Official
- 📹 Firebase YouTube
- 📝 Firebase Blog
- 🐦 @firebase
- 👤 Firebase Facebook
- 🔊 The Firebase Podcast - This is the place where we dive deep into Firebase products and learn new tips and tricks along the way.
Community
- :fire: Firebase Developers Discord - an open community dedicated to Firebase and its services, where you can to socialize and help other web and app developers from around the world.
- 📹 Fireship - AngularFirebase
- 📹 ru @firebase_ru - Telegram friendly chat
Who else should we be following!?
Contributing
Contributions of any kind welcome, just follow the guidelines!
Contributors
Awesome Robot Operating System 2 (ROS 2) 
A curated list of awesome Robot Operating System Version 2.0 (ROS 2) resources and libraries.
The Robot Operating System 2 (ROS 2) is a set of software libraries and tools that help you build robot applications. From drivers to state-of-the-art algorithms, and with powerful developer tools, ROS 2 has what you need for your next robotics project. And it’s all open source.
Contents
- Packages
- Forks
- Operating systems
- Documentation
- Community
- Books
- Courses
- Presentations
- Papers
- Podcasts
- Services
- Companies
- Organizations
- Working groups
Packages
Demonstrations
- adlink_ddsbot - The ROS 2.0/1.0 based robots swarm architecture (opensplice DDS).
- adlink_neuronbot - ROS2/DDS robot pkg for human following and swarm.
- turtlebot3 - ROS2 based TurtleBot3 demo including Bringup, Teleop and Cartographer.
Examples
- turtlebot2_demo - TurtleBot 2 demos using ROS 2.
- examples/rclcpp - C++ examples.
- examples/rclpy - Python examples.
- rcljava_examples - Package containing examples of how to use the rcljava API.
- ros2_talker_android, ros2_listener_android - Example Android apps for the ROS2 Java bindings.
Benchmarking
- ros2_benchmarking - Framework for ROS2 benchmarking. ROS2 communication characteristics can be evaluated on several axes, quickly and in an automated way.
- performance_test - Test performance and latency of various communication means like ROS 2, FastRTPS and Connext DDS Micro.
Containerization
- docker-ros2-ospl-ce - A dockerfile to build a ROS2 + OpenSplice CE container.
- ros2_java_docker - Dockerfiles for building ros2_java with OpenJDK and Android.
- micro-ROS/docker - Docker-related material to setup, configure and develop with micro-ROS hardware.
- ros-tooling/cross_compile - Cross compile ROS and ROS 2 workspaces to non-native architectures and generate corresponding Docker images.
- ros2-docker - Connecting ROS 2 nodes running in Docker containers over the internet.
Networking
- Husarnet VPN - A P2P, secure network layer dedicated for ROS & ROS 2.
Ecosystem
- Link ROS - Cloud Logging for ROS 1 and ROS 2.
- rosbag2 - ROS2 native rosbag.
- rviz - 3D Robot Visualizer.
- urdfdom - URDF (U-Robot Description Format) library which provides core data structures and a simple XML parser
- urdfdom_headers - Headers for URDF parsers.
- ros2cli - ROS 2 command line tools.
- orocos_kinematics_dynamics - Orocos Kinematics and Dynamics C++ library.
- pydds - Simple DDS Python API for Vortex Lite and for OpenSplice.
- Webots - Robot simulator for ROS 2.
- LGSVL - Simulation software to accelerate safe autonomous vehicle development.
- Unity Robotics Hub - This is a central repository for tools, tutorials, resources, and documentation for robotic simulation in Unity.
- Foxglove Studio - Integrated visualization and diagnosis tool for robotics.
- ROS2 For Unity - An asset package which enables high-performance communication between Unity3D simulations and ROS2 ecosystem.
Interactivity
- Jupyter ROS2 - Jupyter widget helpers for ROS2.
Penetration testing
- aztarna - A footprinting tool for robots.
- ros2_fuzzer - ROS2 Topic & Service Fuzzer.
Application layer
- Apex.Autonomy - Apex.Autonomy provides autonomy algorithms as individual building blocks and is compatible with Autoware.Auto.
- Autoware.Auto - Autoware.Auto provides an open-source software stack based on ROS 2 for self-driving technology.
- ros2_control -
ros2_controlis a proof of concept on how new features within ROS 2 can be elaborated and used in the context of robot control (ros2_controllers). - ros2_controllers - Description of ros_controllers.
- geometry2 - A set of ROS packages for keeping track of coordinate transforms.
- ros2-ORB_SLAM2 - ROS2 node wrapping the ORB_SLAM2 library.
- basalt_ros2 - ROS2 wrapper for Basalt VIO.
- cartographer - Real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.
- slam_gmapping - Slam Gmapping for ROS2.
- slam_toolbox - Slam Toolbox for lifelong mapping and localization in potentially massive maps with ROS.
- lidarslam_ros2 - ROS2 package of 3D lidar slam using ndt/gicp registration and pose-optimization.
- li_slam_ros2 - ROS2 package of tightly-coupled lidar inertial ndt/gicp slam referenced from LIO-SAM.
- octomap_server2 - ROS2 stack for mapping with OctoMap. Port of the ROS1 octomap_mapping package.
- vision_opencv - Packages for interfacing ROS2 with OpenCV.
- teleop_twist_keyboard - Generic Keyboard Teleop for ROS2.
- teleop_twist_joy - Simple joystick teleop for twist robots.
- navigation - ROS2 Navigation stack.
- diagnostics - Forked version of the original ROS1 Diagnostics for ROS 2 (currently diagnostics_updater only).
- robot_state_publisher - Forked version of the original ROS Robot State Publisher with all modifications to compile within a ROS2 Ecosystem.
- common_interfaces - A set of packages which contain common interface files (.msg and .srv).
- ros2_object_map - "Mark tag of objects on map when SLAM".
- ros2_object_analytics - Object Analytics (OA) is ROS2 wrapper for realtime object detection, localization and tracking.
- ros2_intel_movidius_ncs - ROS2 wrapper for Movidius™ Neural Compute Stick (NCS) Neuronal Compute API.
- ros2_moving_object - Addressing moving objects based on messages generated by Object Analytics
ros2_object_analytics. - ros2_openvino_toolkit - ROS2 wrapper for CV API of OpenVINO™ (human vision emulation).
- ros2_grasp_library - Probably a grasp library :).
- apriltag_ros - ROS2 node for AprilTag detection.
- ros2-web-bridge - Bridging your browser to the ROS 2.0.
- ros2_message_filters - ros2_message_filters blends various messages based on the conditions that filter needs to met and derives from ROS2 porting of ROS message_filters.
- ros2-tensorflow - ROS2 nodes for computer vision tasks in Tensorflow.
- ros2_pytorch - ROS2 nodes for computer vision tasks in PyTorch
.
- pid - A PID controller for ROS2.
- system-modes - System modes for ROS 2 and micro-ROS.
- darknet_ros - ROS2 wrapper for deploying Darknet's YOLO Computer Vision model.
- easy_perception_deployment - Package that accelerates training and deployment of Computer Vision models for industries.
- easy_manipulation_deployment - Package that integrates perception elements to establish an end-to-end pick and place task.
Middleware
- Micro XRCE-DDS Agent - Micro XRCE-DDS Agent acts as a server between DDS Network and Micro XRCE-DDS Clients.
- Micro XRCE-DDS Agent docker - Docker image containing the Micro XRCE-DDS Agent.
- Micro XRCE-DDS Client - Micro XRCE-DDS implements a client-server protocol to enable resource-constrained devices (clients) to take part in DDS communications.
- micro-ROS-Agent - ROS 2 package using Micro XRCE-DDS Agent.
- Eclipse Zenoh - Zenoh is a scalable and extremely performant protocol that can be used transparently used to interact with ROS2 applications as well as for R2X communication. (https://img.shields.io/github/stars/eclipse-zenoh/zenoh)
- Eclipse Zenoh-Plugin-DDS - This is a zenoh plugin that allows to transparently route ROS2/DDS data over zenoh. This is commonly used for R2X communication over Wireless network or across the Internet. (https://img.shields.io/github/stars/eclipse-zenoh/zenoh-plugin-dds)
"System" bindings
- rclandroid - Android API for ROS2.
- rclnodejs - Node.js version of ROS2.0 client.
- riot-ros2 - This project enables ROS2 to run on microcontrollers using the RIOT Operating System.
- ROS2-Integration-Service - ROS2 Integration and Routing which provides a complete tool to integrate other technologies with ROS2 easily and enable ROS2 on WAN/Internet.
- soss - The System Of Systems Synthesizer is used to integrate ROS2 via ROS2-Integration-Service with other (communication) systems.
- micro_ros_arduino - Integration of micro-ROS into Arduino software platform projects.
- micro_ros_zephyr_module - Integration of micro-ROS in Zeyphr OS based projects.
Driver layer
- Autoware.IO - Autoware.IO provides a heterogeneous hardware reference platform and enables the integration of member company's solutions onto platforms which support the Autoware.Auto and Autoware.AI software stack.
- ros2_xmlrpc_interface - ros2 interface package with xmlrpc, to communicate with a Sesto server using Sesto API.
- cozmo_driver_ros2 - Unofficial Anki Cozmo node for ROS2.
- sphero_ros2 - ROS2 sphero driver.
- flock2 - ROS2 driver for DJI Tello drones.
- ros2_raspicam_node - ROS2 node for Raspberry Pi camera.
- joystick_drivers - ROS2 drivers for joysticks.
- joystick_drivers_from_scratch - Joystick driver packages for ROS 2.
- joystick_ros2 - Joystick driver for ROS2, support all platforms: Linux, macOS, Windows.
- ros2_teleop_keyboard - Teleop Twist Keyboard for ROS2.
- ros_astra_camera - ROS2 wrapper for Astra camera.
- ros2_usb_camera - ROS2 General USB camera driver.
- ros2_android_drivers - Collection of ROS2 drivers for several Android sensors.
- ros2_intel_realsense - ROS2 Wrapper for Intel® RealSense™ Devices.
- raspicam2_node - ROS2 node for camera module of Raspberry Pi.
- ros2_track_imu - ROS2 node for TrackIMU IMU sensor
.
- HRIM - A standard interface for robot modules.
- FIROS2 - ROS2 integrable tool focused in the intercommunication between ROS2 and FIWARE.
- lino2_upper - Linorobot on ROS2.
- RysROS2 - ROS2 software stack for MiniRys robots.
- px4_to_ros - ROS2/ROS packages for communicate PX4 with ROS.
- multiwii_ros2 - ROS2 Node for MultiWii and Cleanflight flight controllers.
- ydlidar_ros2 - ROS2 wrapper for ydlidar.
- zed-ros2-wrapper - ROS 2 wrapper beta for the ZED SDK.
- ros2_denso_radar - Toyota/Lexus 2015-2017 Denso Radar driver for ROS2.
- sick_scan2 - ROS2 driver for the SICK TiM series of laser scanners (TiM551/TiM561/TiM571).
- ros2_ouster_drivers - ROS2 Drivers for the Ouster OS-1 Lidars.
- micro-ROS/hardware - Information and documentation about the hardware platforms used and supported in the micro-ROS project.
- Blickfeld Cube 1 & Cube Range - ROS2 drivers for Blickfeld Cube 1 & Cube Range.
Client libraries
- rclada - ROS Client Library for Ada.
- rclcpp - ROS Client Library for C++.
- rclgo - ROS Client Library for Go.
- rclpy - ROS Client Library for Python.
- rcljava - ROS Client Library for Java.
- rclnodejs - ROS Client Library for Node.js.
- rclobjc - ROS Client Library for Objective C (for iOS).
- rclc - ROS Client Library for C.
- ros2_rust - Rust bindings for ROS2.
- ros2_dotnet - .NET bindings for ROS2.
- ros2cs - an alternative to ros2_dotnet, a ROS2 C# interface supporting full range of messages and modern ROS2.
Client libraries common
- rcl - Library to support implementation of language specific ROS Client Libraries.
- system_tests - Tests for rclcpp and rclpy.
- rcl_interfaces - A repository for messages and services used by the ROS client libraries.
IDL generators
- rosidl_generator_java - Generate the ROS interfaces in Java.
- rosidl_generator_objc - Generate the ROS interfaces in Objective C.
- rosidl_generator_cpp - Generate the ROS interfaces in C++.
- rosidl_generator_c - Generate the ROS interfaces in C.
- rosidl - Packages which provide the ROS IDL (.msg) definition and code generation.
- rosidl_dds - Generate the DDS interfaces for ROS interfaces.
RMW (ROS middleware)
- rmw - Contains the ROS middleware API.
- rmw_connext_cpp - Implement the ROS middleware interface using RTI Connext static code generation in C++.
- rmw_fastrtps_cpp - Implement the ROS middleware interface using eProsima FastRTPS static code generation in C++.
- rmw_dps - Implementation of the ROS Middleware (rmw) Interface using Intel's Distributed Publish & Subscribe.
- rmw_opensplice_cpp - Implement the ROS middleware interface using PrismTech OpenSplice static code generation in C++.
- rmw_coredx - CoreDX DDS integration layer for ROS2.
- rmw_freertps - RMW implementation using freertps.
- rmw_zenoh - RMW implementation using Eclipse zenoh: Zero Overhead Pub/sub, Store/Query and Compute.
- rcutils - Common C functions and data structures used in ROS 2.
- freertps - a free, portable, minimalist, work-in-progress RTPS implementation.
- rmw_cyclonedds - ROS2 RMW layer for Eclipse Cyclone DDS.
- rmw_zenoh - ROS2 RMW layer for zenoh.
- rmw_iceoryx - Enables usage of the inter-process-communication middleware Eclipse iceoryx.
DDS communication mechanism implementations
- Connext DDS - Connectivity Software for Developing and Integrating IIoT Systems. :heavy_dollar_sign:
- Fast-RTPS - Implementation of RTPS Standard (RTPS is the wire interoperability protocol for DDS).
- OpenSplice - Implementation of the OMG DDS Standard.
:heavy_dollar_sign:
- CoreDX DDS - Implementation of Twin Oaks Computing, Inc.. :heavy_dollar_sign:
- freertps - A free, portable, minimalist, work-in-progress RTPS implementation.
- cdds - Cyclone DDS is developed completely in the open and is undergoing the acceptance process to become part of Eclipse IoT.
- Micro-XRCE-DDS) - An XRCE DDS implementation (supported by microROS).
Build system (Linux)
- meta-ros2 - ROS 2 Layer for OpenEmbedded Linux.
Build system (ROS2)
- ci - ROS 2 CI Infrastructure.
- ament_cmake_export_jars - The ability to export Java archives to downstream packages in the ament buildsystem in CMake.
- rmw_implementation_cmake - CMake functions which can discover and enumerate available implementations.
- rmw_implementation - CMake infrastructure and dependencies for rmw implementations.
Operating systems
- NuttX - NuttX fork of the official one for use with micro-ROS.
- RIOT - RIOT is a real-time multi-threading operating system (...,) real-time capabilities, small memory footprint, (...) API offers partial POSIX compliance.
- eMCOS - POSIX-compliant real-time OS for many-core processors expected to support AUTOSAR in the future.
- PYNQ - Python-based rapid prototyping of high performance ML applications running on XILINX FPGAs.
- ReconROS - Framework for ROS2 FPGA-based hardware acceleration. Based on ReconOS.
- Ubuntu Core - Build secure IoT devices with Ubuntu Core.
- Ubuntu Server
- VxWorks - The Secure, Safe, Reliable, and Certifiable real-time OS for Critical Infrastructure
- Zephyr - Linux Foundation Projects RTOS aiming at beeing secure and safe.
Forks
- Apex.OS - Apex.OS is a fork of ROS 2 that has been made so robust and reliable that it can be used in safety-critical applications.
Documentation
- ROS Index - Future single entry point into ROS2 documentation (BETA).
- Foxy packages.
- Dashing packages.
- Crystal packages.
- Bouncy packages.
- Ardent packages.
- ROS 2 Design - Articles which inform and guide the ROS 2.0 design efforts.
- ROS 2 Docs (Overview) - Details about ROS 2 internal design and organisation.
- ROS 2 Tutorials - Study about ROS2 concept, libraries, build, and development with demoes/examples.
- ROS 2 Wiki - Entry point to find all kind of information about ROS 2.
- ROS 2 Distribution (rosdistro) - Info about distributions and the included packages.
- ROS2 package status.
- Bouncy package status - Status of ROS Bouncy packages.
- Ardent package status - Status of ROS2 Ardent packages.
- ROS2 Buildfarm - Build information (Jenkins build farm).
- ROS2 CLI cheats sheet - A cheats sheet for ROS 2 Command Line Interface.
- ROS2 Quality Assurance Guidelines - A collection of guidelines and tutorials for improving package quality, following REP-2004 quality standards and integrating Continuous Integration.
Community
Books
No books published yet
Courses
- ROS2 How To: Discover Next Generation ROS (Udemy)
- ROS 2 New Features: Skill-up with the latest features of Robot Operating System 2 (Udemy)
- ROS 2 Basics in 5 Days (C++) - Learn how to start working with ROS 2 (The Construct)
- ROS2 Autoware Course
- Autoware Course Lecture 1: Development Environment
- Autoware Course Lecture 2: ROS2 101
- Autoware Course Lecture 3: ROS 2 Tooling - Develop Like a Pro
- Autoware Course Lecture 4: Platform HW, RTOS and DDS
- Autoware Course Lecture 5: Autonomous Driving Stacks
- Autoware Course Lecture 6: Autoware 101
- Autoware Course Lecture 7: Object Perception: LIDAR
- Autoware Course Lecture 8: Object Perception: CAMERA
- Autoware Course Lecture 9: Object Perception: Radar
- Autoware Course Lecture 10: State Estimation for Localization
- Autoware Course Lecture 11: LGSVL Simulator
- Autoware Course Lecture 12: Motion Control
- ROS2-Industrial training material
Presentations
ROSCon 2019
Program announcement(slides + videos)
ROSCon Fr 2019
Program announcement(slides + videos)
ROS-I EU Spring 2019 Workshop
- Current Status of ROS 2 Hands-on Feature Overview Slides
2019
- Robot Modularity with Xilinx and H-ROS (Xilinx Inc.) Video
ROSCon JP 2018 (english slide presentations only)
ROSCon 2018
- Hands-on ROS 2: A Walkthrough
- ROS 2 on Autonomous Driving Vehicles
- RViz – The tale of a migration to ROS 2.0
- Launch for ROS 2
- Getting involved in ROS 2 development
- Planning to Plan: Plugins All The Way Down
- Leveraging DDS Security in ROS2
- Arm DDS Security library: Adding secure security to ROS2
- ROS2: Supercharging the Jaguar4x4
- Performance Test - A Tool for Communication Middleware Performance Measuring
- ROS2 for Android, iOS and Universal Windows Platform: a demonstration of ROS2’s portability, and cross-platform and cross-language capabilities
- Integrating ROS and ROS2 on mixed-critical robotic systems based on embedded heterogeneous platforms
- Towards ROS 2 microcontroller meta cross-compilation
- Node.js Client & Web Bridge Ready for ROS 2.0
- RCLAda: the Ada client library for ROS2
Embedded World Conference 2018
2018
ROS Industrial Conference 2017
- micro Robot Operating System: ROS for highly resource-constrained devices Slides
- ROS2 - it's coming Slides
ROSCon 2017
- The ROS 2 vision for advancing the future of robotics development Slides Video
- ROS2 Fine Tuning Slides Video
- SLAM on Turtlebot2 using ROS2 Slides Video
- Using ROS2 for Vision-Based Manipulation with Industrial Robots Slides Video
2017
- HyphaROS ROS 2.0 Introduction slides
ROS Industrial Conference 2016
- ROS 2.0 AND OPC UA: A STATUS UPDATE Slides
ROSCon 2016
ROSCon 2015
- ROS 2 on “small” embedded systems Slides Video
- State of ROS 2 - demos and the technology behind Slides Video
- Real-time Performance in ROS 2 Slides Video
Papers
- Distributed and Synchronized Setup towards Real-Time Robotic Control using ROS2 on Linux
- Time Synchronization in modular collaborative robots
- Open Problems in Robotic Anomaly Detection
- Towards a distributed and real-time framework for robots: Evaluation of ROS 2.0 communications for real-time robotic applications
- An information model for modular robots: the Hardware Robot Information Model (HRIM)
- Introducting the Robot Security Framework (RSF), A standardized methodology to perform security assessments in robotics
- Towards an open standard for assessing the severity of robot security vulnerabilities, The Robot Vulnerability Scoring System (RVSS)
- Real-Time Characteristics of ROS 2.0 in Multiagent Robot Systems: An Empirical Study
- Response-Time Analysis of ROS 2 Processing Chains Under Reservation-Based Scheduling
- Robot Operating System 2 - The need for a holistic security approach to robotic architectures - Ubuntu 16.04, ROS 2 Beta 2/3, and RTI 5.3 DDS with DDS Security.
- Maruyama, Yuya et al. “Exploring the performance of ROS2.” 2016 International Conference on Embedded Software (EMSOFT) (2016): 1-10.
Podcasts
- ROS 2 and DDS for IoT devices with HaoChih Lin (from 5th minute onwards)
- Everything about ROS 2 with Dirk Thomas (from 16th minute onwards)
Services
Robotics Capture the Flag (RCTF)
- rctf-list - A list of Robotics CTF (RCTF) scenarios.
Companies
- Acutronic Robotics - Not existing anymore. Initiators of the Hardware Robot Information Model (HRIM), Hardware Robot Operating System (H-ROS) and creators of the world's first modular industrial robot arm MARA.
- ADLINK - "Leading EDGE COMPUTING".
- Alias Robotics - Products and services in the context of robot cybersecurity.
- Amazon - Robotics Team of Amazon Amazon Web Services (AWS).
- Apex.AI - "Safe and certified software for autonomous mobility".
- AutonomouStuff - "The world leader in autonomy systems and solutions".
- Bosch - Robotics Team of Bosch Research.
- Canonical - The company behind Ubuntu.
- Eprosima - "The middleware experts".
- Ericsson Research - Connect ROS2 applications to 5G networks for M2M communication.
- FARobot - Swarm Robot System, a ROS 2/DDS based Fleet Management System.
- Fraunhofer Institute for Manufacturing Engineering and Automation IPA - Robot and assistive systems.
- GESTALT ROBOTICS - Service provider for intelligent automation.
- Husarnet - Open Source, P2P, low-latency VPN dedicated for robots.
- iRobot - Manufacturer of vacuuming and mopping robots.
- Klepsydra Technologies.
- MathWorks - ROS Toolbox.
- Mission Robotics - Hardware and Software for a new era of Marine Intelligence.
- Roboception GmbH - Real-Time Perception for Your Robot.
- ROBOOX - OPEN-SOURCE SOFTWARE ECOSYSTEM FOR CONSUMER ROBOTS.
- Rover Robotics - Rugged, industrial-grade robots.
- Sony Corporation.
- synapticon - ROS compatible motion control and drive products with efforts to support ROS2.
- Wind River - ROS2 for VxWorks.
Organizations
Working Groups
- Edge AI Working Group
- Discourse threads tagged "wg-edgeai"
- Embedded Working Group
- Discourse threads tagged "wg-embedded"
- Hardware Acceleration Working Group
- Discourse threads tagged "wg-acceleration"
- Navigation Working Group
- Discourse threads tagged "wg-navigation"
- Safety Working Group
- Safety Working Group Landing Page
- Safety Design Pattern Catalogue
- Security Working Group
- Discourse threads tagged "wg-security"
- ros-security/community - Outlines the governance of the ROS 2 Security Working Group.
- Technical Steering Committee
- Discourse threads tagged "tsc"
- Tooling Working Group
- Discourse threads tagged "wg-tooling"
License

Awesome Adafruit IO
A curated list of awesome Adafruit IO guides, hardware, guides, videos, libraries, frameworks, and resources.
Adafruit IO is the easiest way to connect your project to the internet. You can easily connect your project to Adafruit IO with your device-of-choice by using your programming language of choice (we have lots of libraries) and control or monitor over the internet. Data stored with Adafruit IO is yours to manage and control. You can download it all anytime and we will never sell or give it away to another company. It's great for getting started with the internet of things!
Contents
Guides
- Welcome to Adafruit IO! - An overview of Adafruit IO and the service.
- Adafruit IO Basics - Learn the basics of Adafruit IO and interfacing the service with your hardware.
- learn.adafruit.com Adafruit IO - Adafruit Learning System Guides on Adafruit IO.
- All the Internet of Things: Adafruit IO - An episode of Adafruit and Digi-Key's All the Internet of Things, provides a deep dive into everything Adafruit IO has to offer.
Community
- Adafruit IO Discord channel #help-with-adafruit-io - 24/7 chat and support for Adafruit IO.
- Adafruit IO Forums - The Adafruit support forum on Adafruit IO.
Code
- Adafruit IO HTTP API Documentation - Adafruit IO HTTP API provides access to your Adafruit IO data from any programming language or environment which can speak HTTP.
- Adafruit IO MQTT API Documentation - Adafruit MQTT API provides access to your Adafruit IO data from any MQTT Client.
- Adafruit IO MQTT API Cookbook - Recipes related to the Adafruit IO API which have been found useful in the past.
- Adafruit IO Arduino Library - An Arduino client for Adafruit IO.
- Adafruit IO CircuitPython Library - A CircuitPython client for Adafruit IO.
- Adafruit IO Python Library - A Python client for Adafruit IO.
- Adafruit IO Ruby Library - A Ruby client for Adafruit IO.
- Adafruit IO Node.js Library - A Node.js Adafruit IO client, local server, and TLS Tunnel.
- Adafruit IO Go Library - A Go client for Adafruit IO.
Hardware
Adafruit IO is compatible with any hardware which can communicate over HTTP or MQTT.
- Adafruit-Produced Boards - Where to buy Adafruit IO compatible boards produced by Adafruit.
Newsletter
- Adafruit IoT Newsletter - A monthly newsletter on the Internet-of-Things, a spam-free list.
- Archives of all newsletters - List of every newsletter published.
News
- Adafruit IO on Hackaday - Hackaday posts related to Adafruit IO.
- Adafruit IO on Hackster.io - Hackster posts related to Adafruit IO.
Social
- Adafruit IO Development Blog - Adafruit IO News and Release Notes, straight from the source.
- #AdafruitIO tagged on Twitter, latest - Twitter posts tagged Adafruit IO.
- Adafruit IO Twitter - Twitter account aggregator for Adafruit IO news and more.
- AdafruitIO videos on YouTube, latest - YouTube posts tagged AdafruitIO.
- #AdafruitIO tagged photos & videos on Instagram - Posts on Instagram tagged Adafruit IO.
- Adafruit IO on Google+ Makers, hackers, artists & engineers - Google Plus posts related to Adafruit IO.
- Adafruit IO community on Reddit - Dedicated home of Adafruit IO on reddit /r/adafruitio.
- Adafruit IO tagged on Reddit - Reddit posts relating to Adafruit IO.
- Adafruit IO on Instructables - How-tos, guides, and more, using Adafruit IO on Autodesk's Instructables.
Events
- Weekly Adafruit Show-and-tell, Wednesday 7:30pm ET on Google+ Hangouts - The weekly Adafruit Show-and-tell program often has Adafruit IO-related projects on display.
- ASK AN ENGINEER, Wednesday 8pm ET on YouTube LIVE - The longest running YouTube live show about electronics, information often on during an "Adafruit IO Update" segment. New compatible hardware during "New New New" segment.
Contribute
Contributions and suggestions are always welcome! Please make pull requests to modify Awesome AdafruitIO.
License
To the extent possible under law, the authors have waived all copyright and related or neighbouring rights to this work.
Awesome Cloudflare

Curated list of awesome Cloudflare worker recipes, open-source projects, guides, blogs and other resources.
Cloudflare provides content delivery network (CDN) services, DDoS mitigation, Internet security and distributed domain name server (DNS) services, sitting between the visitor and the Cloudflare user's hosting provider, acting as a reverse proxy for websites.
Contents
Community
- Forum
@Cloudflareon Twitter- YouTube
- GitHub
- GitHub Topic
- Stack Exchange
- Stack Overflow
- Server Fault
Blog
DNS
- DNS Zone Files - Ready to import common config zone files for easy configuration of various services.
- Lexicon - CLI tool to manipulate DNS records on various DNS providers in a standardized way.
- Th3inspector - All in one CLI tool for information gathering.
- Partner Panel - Tool for hosting partners to provide a DNS management panel for customers.
- CFPMP - Partner management panel.
- Flares - DNS backup tool.
- Block Bad Bot Ruleset - Collection of rulesets to block malicious crawlers with firewall rules.
- Docker DDNS - Docker image to use the free DNS Service as a dynamic DNS provider.
- DDNS script for Synology - DDNS script for Synology NAS.
- Dynamic DNS Bash - Dynamic DNS updater in bash script.
- Dynamic DNS PHP - Dynamic DNS updater in PHP.
- Dynamic DNS Python - Dynamic DNS updater in python.
- Multi-Provider DDNS Script - Multiple providers ddns script without dependencies.
- Argo Tunnel Client - CLI client for Argo tunnel, a tunneling daemon that proxies any local webserver through the Cloudflare network.
- Upper - Speeds up craft dramatically using a cache proxy in front of your webserver.
- Cloud Buster - A comprehensive pentest tool that checks sites for origin IP leaks.
- CLI Tool - CLI tool for interacting with Cloudflare.
- Detector - Detect whether a site is running behind Cloudflare.
- Scrape - Python module to bypass anti-bot page.
- CloudFlair - Tool to find origin servers of websites protected by CloudFlare who are publicly exposed.
Developers
- Developers Hub - Developer docs including API reference, articles, and sample code for all products.
- Open Source - Official open-source projects.
- API Docs - API documentation.
- Integration Resources - Plugins for content management systems, control panels, cloud providers, ecommerce platforms and more.
- Technical Resources - Technical tools and resources.
- The Serverlist Newsletter - The serverlist is a Cloudflare-curated newsletter about all things serverless.
Apps
Cloudflare Apps lets you ship your tool or service to millions of sites. Any Cloudflare customer can preview & install your code on their site in seconds.
Open Source
- Official OSS Apps - Collection of official apps.
- Logflare - Log management & event analytics.
Workers
Cloudflare Workers provides a serverless execution environment that allows you to create entirely new applications or augment existing ones without configuring or maintaining infrastructure.
Reference
Tools
- Wrangler -
wrangleris a CLI tool designed for folks who are interested in using Cloudflare workers. - Playground - Simple, instant way to preview and test code directly in the browser against any site.
- Serverless Plugin - Plugin for serverless framework to develop and deploy serverless applications using Workers.
- Worker App Kit - Handy set of tools for creating, developing, testing, and deploying worker app.
- GitHub Action - Deploy a worker on push to the master branch.
- Workers KV Viewer - CLI based interactive viewer for workers KV storage.
- Redirect Management - Generate redirect worker.
Recipes
- Examples Collection - Collection of recipes.
- Hello World JS Boilerplate - Template for kick starting a worker project in JS.
- Hello World Rust Boilerplate - Template for kick starting a worker project using wasm-pack.
- Router - Router that can be used with REST APIs or apps for basic routing logic.
- Static - Generate a static HTML or JSON page from raw strings in your workers script.
- Fetch - Examples of making fetch requests and generating JSON post requests.
- Incoming Request - Examples of reading in a POST request body of type JSON and form-data.
- Redirect - Examples of sending single and bulk redirects from a Worker script.
- Img-Color - Retrieve the dominant color of a png or jpeg image.
- Binast - Serve binast via a worker.
- Pwnage Protection - Secure password scoring and user pwnage protection api - Usage.
- Cache Purger Proxy - Proxies purge cache requests - Usage.
- URL Router - Fast url router - Usage.
- Edge Proxy - Enable A/B testing, canary releasing, gatekeeping, and SEO A/B/N testing.
- Blue / Green Deployments - Working example of blue / green deployments with canary releasing.
- Preact PWA - Preact progressive web app.
- CURL Interceptor - Intercepts requests from
curlcommand and returns something different. - Worker with built-in Router - Allows you to separate your worker logic into different functions and/or controllers.
- Connecting to Google Storage - Pull files from Google's cloud storage.
- CSRF Protection - Protect any origin from CSRF by verifying origin/referer headers.
- URL Query Strings Parser - Parse url query strings.
- Regrex Replacement and Injection - Perform regex replacements and inject CSS/JS.
- Webpack Boilerplate - Boilerplate to build, bundle and deploy workers with webpack.
- Basic Auth - Protection using basic auth.
- Send Logs to Logdna - Simple recipe to send logs to logdna.
- IP lookup service - IP lookup service using workers.
- Airtable Proxy - Allows you to make secure requests to the Airtable API from your frontend.
- TypeScript Workers - Types and mocks for building a tested typescript worker.
- Proxies - Makes it easy to build workers, by providing high-level proxying primitives addressing common needs.
- Static Worker - Provides functions that make it easy to host a static website.
- Bannero - Bannero image API for simpledesktops.
- Hasura - Example using Facebook-based authorization and graphql proxy queries with hasura.
- IP Redirects - Redirect users based on their ip address.
- Switch Image to WebP - Reroute image to webp when supported.
- Geographic Routing and Load Balancer - Geographic routing and load balancing with workers.
- UTM Tag Stripper - Strip UTM tags in query string.
- Short URL Redirector - Redirect short links.
- Repo Hunt - Find cool open-source projects daily.
- Performance Optimized Workers - Collection of worker scripts, generally focused on performance optimizations.
- Google reCAPTCHA verification - Handle the server-side verification of your reCAPTCHA form.
Other
Contribute
Contributions welcome! Read the contribution guidelines first.
License
To the extent possible under law, Irfaq Syed has waived all copyright and related or neighboring rights to this work.
Cloudflare is a registered trademark of Cloudflare, Inc.
Awesome Actions on Google 
A curated list of awesome AoG(Action on Google) libraries, blogs, open-source project, videos.
With Actions on Google, you can easily reach and engage with users across Google. From quick commands to full conversations, Actions help you connect your content and services to users with the Google Assistant.
Contents
Document
Blogs
- Chord Assist: Building an accessible smart guitar for the blind, deaf and mute - By Joe Birch.
- The Full-Stack Guide to Actions for Google Assistant - By Uri Shaked
- Building an Action for Google Assistant: Getting Started - By Jenn Bailey
- Build your own Action for Google Assistant - By Jessica Thornsy
- Create Your First Google Assistant Application - By Ravi Rupareliya
- How to automate testing for Google Assistant Apps? - By Ruben Oostinga.
- Use video loops with Interactive Canvas - By Leon Nicholls
Videos
- What are Actions on Google - Luke Davis and guest Jessica Dene Early-Cha introduce the concept of Actions on Google, and talk about common terminology.
- Smart Home Integrations on Google Assistant - Jessica Dene Early-Cha and guest Dan Myers go over how to get onboarded to Google Assistant for their smart devices and how voice commands work.
- Pathway to creating your own Action - Jessica Dene Earley-Cha and guest Brad Abrams talk about content, App Actions, and experiences.
- Creating personality for your Actions - In this episode of Assistant on Air, host Jessica Dene Early Cha and guest Wally Brill discuss why it's important to design with persona and how to bring it to life.
- Intro to the Google Assistant: Build Your First Action (Google I/O'19) - This intro session will cover the fundamentals of the Google Assistant and what you can build for the assistive future.
- Reach the Next Billion Users with Your Actions for the Google Assistant (Google I/O'19) - Come learn how users in emerging markets are interacting with the Google Assistant, what they expect from your Actions, and what opportunities you have to grow your services with them.
- Smart Home 101: How to Develop for the Connected Home (Google I/O'19) - This session covers updates on the latest tools and capabilities of our smart home API, along with how developers and device makers alike can benefit from deeper integrations with the Google Assistant ecosystem.
- Create App-like Experiences on Google Search and the Google Assistant (Google I/O'19) - Learn how to create interactive, app-like experiences that engage users right on the Google Search results page and the Google Assistant.
- Extend Your Android App to the Google Assistant (Google I/O'19) - This session is about App Actions and Slices to learn how to let your app users quickly get things done through the Google Assistant.
- 10 Best Practices for High Quality Actions (Google I/O'19) - Learn how to reduce development errors, enhance discovery of your Action, grow your user base, and avoid mistakes along the way when building quality and engaging Actions.
- Local Technologies for the Smart Home (Google I/O'19) - This talk will dive deep into a new SDK that enables developers to locally communicate with and control their smart devices, along with providing a preview of what’s to come.
- Tools for Building Better Smart Home Actions (Google I/O'19) - This session will discuss tools to help developers build smart home Actions that make users’ lives easier.
- Enhance Your Search and Assistant Presence with Structured Data (Google I/O'19) - Learn how to surface your engaging content on Google Search and the Google Assistant.
- Build Interactive Games for the Google Assistant (Google I/O'19) - Learn how to design and develop immersive gaming experiences for the Google Assistant.
- Voice and Visual: How to Build Actions for Smart Displays and More Devices (Google I/O'19) - In this talk, we’ll walk you through design and developer considerations for building multimodal experiences across Google Assistant-enabled devices.
- How We Built the Google Assistant Sandbox Demos (And How You Can Too) (Google I/O'19)
- Data and Insights to Build for the Digital Assistant Era (Google I/O'19)
- Designing Quality Conversations for the Google Assistant (Google I/O'19) - A conversation designer and a developer will walk you through setting user expectations, handling unexpected user responses, and making improvements with user insights.
Codelabs/Courses
- Build Actions for Google Assistant using Actions Builder (Level 1)
- Build Actions for Google Assistant using Actions Builder (Level 2)
- Build Actions for the Google Assistant (Level 1)
- Build Actions for the Google Assistant (Level 2)
- Build Actions for the Google Assistant (Level 3)
- Engage Users with your Action
- Extend an Android app to the Google Assistant with App Actions
- Connect smart home devices to the Google Assistant
- Smart Home Local Execution
- Smart Home Washer
- Build a Conversational Action for Google Assistant
- Build a sophisticated Conversational Action for Google Assistant
- Build Interactive Apps with Google Assistant - Qwiklabs quest with 6 labs.
- Google Assistant development with Actions on Google - Udemy course to create an app for the Google Assistant and Google Home in Node.js.
- Build Actions for Google Assistant - Udemy course to build actions with Dialogflow.
Podcasts
- Assistant On Air - By Google team
Open source code
- Canvas Quiz - It is a starter kit for developers to make custom, voice-enabled question-answer games for the Google Assistant.
- Interactive Canvas editor - Editor to create a web app for Interactive Canvas that is immediately loaded onto a smart display device. This allows for quick prototyping of web apps for Interactive Canvas.
- Virtual Pet - It is built with interactive canvas. In this game, you will adopt and take care of a hamster just like you would in real life, except through Google Assistant.
- Spellcast - Experimental Interactive Canvas game for the Google Assistant.
- Silly Name Maker (Node.js) (Java) - Parameters sample (using Dialogflow).
- Facts about Google (Node.js) (Java) - Custom Entities, Contexts, and Deep Links sample (using Dialogflow).
- Name Psychic (Node.js) (Java) - Permissions and Google Maps Static API sample (using Dialogflow).
- Number Genie (Node.js) (Java) - Localization sample.
- GDG Action - This sample demonstrates Actions on Google features for use on Google Assistant including localization (i18n-node), conversation design, rich responses, and API integrations.
- Say Number (Node.js) (Java) - Say a number Actions SDK sample for Actions on Google.
- Smart Home sample - A sample of the Smart Home device control APIs in Actions on Google.
- PDPU Scheduler - It's a Google Assistant action for PDPU that tells you about which classes and labs you have today.
- karaoke - Amanda Cavallaro - Conversational App to buid your own karaoke using GCP, YouTube API and Actions on Google.
People to follow
- Actions on Google - Official Actions on Google Account.
- Jessica Dene Earley-Cha - Developer Advocate @google.
- Joe Birch - Android Lead @Buffer. GDE for @Android, @actionsongoogle, @FlutterIO & @GooglePay. Instructor @caster_io.
- Allen "Prisoner" Firstenberg - GDE for Actions on Google.
- Amanda (Chibi) Cavallaro - GDE for Actions on Google.
- Aygul Zagidullina - GDE for Actions on Google.
- Mandy Chan - Developer Advocate for the Actions On Google team.
- Yoichiro Tanaka - GDE for Actions on Google.
- Cathy Pearl - Head of Conversation Design Outreach @Google.
- Sachin Kumar - GDE for Actions on Google.
- Nick Felker - Developer Programs Engineer at Google.
- Leon Nicholls - Google Developer Relations Engineer
Applications
- TuneIn - TuneIn is your everything audio app. With more than 100,000 radio stations and 5.7 million podcasts.
- Random Number - It will generate a random number.
- Netflix - Watch TV shows and movies recommended just for you, including award-winning Netflix original series, movies, and documentaries.
- Fun Tricks - Lighten up your day with jokes and other fun tricks. Check them out, there's always something new to try.
- Google Podcasts - Listen to your favorite podcasts by asking your Assistant.
Contribute
Contributions welcome! Read the contribution guidelines first.
License
Awesome ESP

A curated list of awesome ESP8266/32 projects and code.
Both the ESP8266 and the ESP32 are low-cost Wi-Fi microchips with full TCP/IP stack and microcontroller capabilities produced by the Shanghai-based manufacturer Espressif Systems.
See Contributing for information on how to contribute to this list.
Contents
Firmware
- Espressif AT - The default vanilla firmware for the ESP8266.
- NodeMCU - An eLua-based firmware for the ESP8266.
- ESPBasic - A BASIC firmware for easy and wireless programming, ready for the 8266.
- MicroPython - An implemention of Python3 for the ESP8266 and 32.
- ESP32 - An experimental firmware for 3D Printers, both the ESP32 and 8266.
- Frankenstein - A quick and dirty firmware with cool features for the ESP8266.
- MongooseOS - An IoT specific firmware, with both C and JS. Available for the ESP32/8266.
- DeviceHive - A firmware made as a client for DeviceHive's IoT data platform, only for the 8266.
- RT-Thread - Chinese open source firmware available for the ESP32.
- Sming Framework - Superb C/C++ IoT Framework with support for ESP8266 and ESP32.
Tools
- ESP Flash Tool - The vanilla firmware flasher for both ESP's.
- Arduino Core/8266 - The Arduino core for the ESP8266.
- Arduino Core/32 - The other Arduino core for the ESP32.
- ESPTool - Espressif's command line tool for bootloader comms in both ESP's.
- ESP-Open-SDK - An open SDK for the ESP8266.
- ESPTool-ck - A CLI tool for flashing in the ESP8266.
- ESPTool-gui - A flashing GUI tool based on ESPTool-ck.
- NodeMCU Flasher - NodeMCU's official flashing tool for its OS.
- LuaNode - A lua-only SDK for 32/8266.
- Tuya-Convert - A Wi-Fi firmware flasher ESP8266 that has been pre-loaded with Tuya firmware.
- Tasmotizer - A graphical flashing tool for Tasmota firmware. Can manage Wi-Fi & MQTT settings, modules & templates.
- Arduino FS Plugin - An Arduino plugin for filesystem uploads in the 8266.
- PlatformIO - Cross Platform IDE and Debugger that supports both the ESP32 and ESP8266.
Projects
Smart Home and IoT
- OpenMQTTGateway - An implementation of a multiprotocol MQTT gateway for both ESP's among other devices.
- ESPHome - A full-featured system for controlling ESP's through simple yet powerful configuration files and Home Automation systems.
- Tasmota - An alternative firmware for Sonoff & other ESP8266/ESP32 devices. Includes a large collection of sensor drivers & integrates with Home Assistant natively or via MQTT.
- Sonoff-Homekit - An alternative firmware for Sonoff devices (and other 8266 devices) which allows control through Apple's Homekit.
- DoorsignEPD - A smart... doorsign with an E-Paper display using the ESP32.
- EPaperWeatherDisplay - A very cute e-ink weather display using the ESP32.
- SuperGreenOS - A full-featured home farming automation software for the ESP32.
- CanAirIO - Citizen science project that uses mobile and fixed stations to measure air quality with ESP32 and smartphones.
InfoSec
- ESP32-BLECollector - A wardriving device which displays BLE devices and collects data from them, all in a nice screen interface.
- ESP32Marauder - An integrated suite of offensive and defensive tools for WiFi and Bluetooth.
- ArduinoPcap - A library which allows generation of .pcap files with network traffic, for both ESP's.
- WiFi Satellite - A giant Wifi "satellite" that can monitor all 14 2.4Ghz channels using, well, 14 ESP32s.
- ESP8266 Deauther - A very cool pseudojammer (deauther) of Wifi networks that uses the ESP8266.
- PacketMonitor - A beautiful OLED monitor for packet activity in a WiFi channel. Two versions for each ESP.
- WiFiDuck - A wireless-enabled keystroke injector, analogous, but even more awesome than the Rubber Ducky.
- ESP8266 Beacon Spam - Want to confuse people? This device creates hundreds of fake WiFi networks.
- DeauthDetector - A small device that shines a light if it detects a WiFi deauth attack. Made by the same guy as the last six projects.
Biomedical
- HeartyPatch - A wearable BLE and WiFi connected ECG-HR patch which uses the ESP32.
- HealthyPi v4 - An amazing open source vital signs monitor that can monitor ECG, respiration, pulse oximetry and body temperature, all run by an ESP32.
LoRa
- Meshtastic - ESP32 LoRA boards as secure, long battery life, mesh GPS communicators.
- ESP32-Paxcounter Wifi & Bluetooth driven, LoRaWAN enabled, battery powered mini Paxcounter built on cheap ESP32 LoRa IoT boards
- Disaster Radio - A disaster-resilient communications network powered by the sun
Others
- Open SmartWatch - A FOSS smartwatch with GPS, an inertial unit and an extremely cool 3D-printed case.
- SoftRF - A DIY aviation proximity awareness system that can be used in UAV projects.
- Retro ESP32 - An extremely cool launcher for the Odroid Go (with the ESP32), which allows emulating several retro consoles.
- PedalinoMini - A wireless MIDI pedal controller for guitarists, built with the ESP32.
- StickWatch - A smartwatch module based on the M5Stick, using the ESP32.
- DroneBridge - An implementation of DroneBridge, a signal link for drones and UAV's on the ESP32.
Libraries
- Wasm3 - A lightning fast WebAssembly interpreter designed for embedded devices, compatible with both ESP's.
- Homie8266 - Framework implementation of the Homie protocol for the 8266.
- ESP-Dash - Beautiful and fast framework for creating remote dashboards in the 8266/32. No internet required.
- ESP_mqtt - MQTT helper library for the ESP8266.
- GUIslice - A drag and drop GUI framework for several devices and screen controllers. Compatible with 8266 and 32.
- MicroWebSrv2 - A very powerful MicroPython web server which can be used in the ESP32.
- IRremoteESP8266 - Emit and receive IR signals in the ESP8266.
- esphomelib - Framework to integrate with HomeAssistant in the 8266.
- TTS - A somehow good text to speech library for several Arduino devices, both ESP's included.
- Free802.11 - Library to emit arbitrary 802.11 signals with the ESP32.
- Koyn - A decentralized Bitcoin library for the ESP32 and the ESP8266.
- TFTLibrary - TFT compatibility for the ESP32.
- UTFT-ESP - UTFT Support for the ESP32/8266.
- ESPAudio - Library for playing a diverse range of audio formats in the ESP8266/ESP32.
- AsyncTCP - Asynchronous TCP Library for both the 8266 and the 32.
- ESP-HomeKit - Homekit implementation for 8266 on RTOS.
- ESPHelper - MQTT and Wi-fi automation-oriented library for the 8266.
- ESPHelper/32 - Port of the ESPHelper library for the 32.
- ESP8266Wifi - Simple Arduino Wifi library for the 8266.
- WiFiESP - Arduino library for Wifi management, client/server for 8266 board.
- TinyGSM - A quick and simple Arduino library for interaction with GSM modules which can also control the 8266 through AT commands.
- mJS - A lightweight and restricted JS engine that is used by MongooseOS, compatible on the 32 and 8266.
- ESPUI - A simply library for making interactive web interfaces for both ESP's.
- ESP32 ePaper - A full-featured library for using ePaper modules with the ESP32.
- TinyUPnP - A lightweight UPnP IGD library for automatic port forwarding on the 8266 and 32.
- Esp32SSHClient - A library that implements a SSH client in the ESP32.
- painlessMesh - A library that takes care of the particulars of creating a simple mesh network using ESP8266 and ESP32 hardware.
- WifiEspNow - Arduino library for ESP-NOW, a connectionless WiFi communication protocol defined by Espressif.
- go-mcu - Golang package for interacting with NodeMCU-based boards.
- CanAirIO SensorLib - ESP32/8266 library with auto-configuration of multiple PM2.5, CO2 and environment sensors.
- Dhyara - A C/C++ library for making a Mobile Ad hoc Network (MANET) using ESP Now.
Awesome Deno 
Deno is a simple, modern and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust.
This list is a collection of the best Deno modules and resources.
Contents
- Docs
- Official Docs
- External Docs
- Online Playgrounds
- Modules
- Automation
- CLI utils
- Database
- Editor framework
- Frontend development
- Frontend framework
- Logging
- Markdown
- String utils
- Template engine
- Testing
- Utils
- Web framework
- WebSocket
- Web utils
- Webview
- XML
- Registries
- Showcases
- Tools
- Articles
- Presentations
- Resources in Other Languages
- Chinese
- Hebrew
- Indonesian
- Italian
- Japanese
- Russian
- Spanish
- Darija (Arabe marocain)
- Kurdish (Central)
Docs
Official Docs
External Docs
- V8 Docs for Deno
- DenoBeginner.com - A completely free crash course on deno for beginners.
Online Playgrounds
Modules
NOTICE: Deno has a few official modules that could be found at deno_std. Consider submitting to the deno.land/x registry.
Automation
- autopilot - Autopilot - Cross-platform web automation with Deno.
CLI utils
- cac - Simple yet powerful framework for building command-line apps.
- charmd - A simple, extendable markdown renderer for your terminal.
- chart - Console ASCII line charts with no dependencies.
- cli-spinner - Show spinners in the terminal while running long tasks.
- cliffy - The complete solution for building interactive command-line tools.
- kia - Simple terminal spinners for Deno 🦕
- terminal_images - A Deno module and CLI tool for displaying images in the terminal.
- with-env - Simple command line utilty for executing commands with one or more .env files.
Database
- deno_mysql - MySQL database driver.
- deno_mongo - MongoDB database driver.
- redis - An experimental implementation of redis client for deno.
- denodb - MySQL, SQLite, MariaDB, PostgreSQL and MongoDB ORM for Deno.
- dndb - Persistent and embedable NoSQL database engine written for Deno 🦕.
- dsddb - A dead simple persistant key-value database utilizing the JSON format.
- dso - A simple ORM library based on mysql.
- postgres - Driver for PostgreSQL database.
- sql-builder - An sql query builder.
- maxminddb - A library that enables the usage of MaxmindDB geoIP database files
- cotton - SQL Database Toolkit for deno
- yongo - Subset of Mongoose api in deno (like populate) but will not fully copy mongoose
Editor framework
- Denops - 🐜 An ecosystem to write Vim/Neovim plugins with Deno.
Frontend development
- postcss - A tool for transforming styles with JS plugins.
Frontend framework
Image
- ImageScript - Image processing in JavaScript, utilizing WebAssembly for performance.
Logging
- gardens - A useful logging utility for JavaScript everywhere.
- deno-smtp - A smtp mail sender for deno.
Markdown
- marked - Markdown-to-HTML converter.
String utils
- camelcase - Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar.
- deno_case_style - String validator and formater for different case style. eg: camelCase etc.
- deno-prettystring - Format, trim and remove extra white spaces between characters from string.
- deno-slugify - A string slugifier for deno.
- normalize_diacritics - Remove accents/diacritics in string.
Template engine
- dejs - Ejs template engine for deno.
- deno_tiny_templates - Template renderer for deno.
- eta - Fast, lightweight, and configurable embedded template engine.
- handlebars - Handlebars template engine for deno
- mustache - Mustache template engine for deno
Testing
- deno-pretty-assert - A colorful assertEqual for deno.
- deno-puppeteer - A library which provides a high-level API to control Chromium or Chrome over the DevTools Protocol.
- expect - Helpers for writing jest like expect tests in deno.
- merlin - Testing and Benchmarking framework for deno 🧙♂️
- pretty_benching - A small library to make your Deno benchmarking progress and results look pretty.
- rhum - A lightweight testing framework for Deno.
- superdeno - Super-agent driven library for testing Deno HTTP servers.
- superoak - HTTP assertions for Oak made easy via SuperDeno.
- tincan - A Jest-like testing library for Deno.
- unexpected - Extensible BDD assertion toolkit.
Utils
- buckets - Bundle assets and scripts in a single executable file.
- bytes_formater - Format bytes (Uint8Array, ArrayBufferView, etc) output, useful when debugging IO functions.
- canonify - Stringify data structures to deterministically ordered JSON for consistent hashing and digital signatures per JCS RFC8785.
- coffee - Deno Configuration - a type-safe, easy to use Deno config manager.
- computed_types - Joi like validators for Typescript and Deno.
- dcc - Deno Cache Clean, reloading deps when next running.
- denon - A file watcher with a for-await generator.
- deno-config - Utility to streamline deno app configuration management through cli, .env and json files
- deno-context - Propagate deadlines, a cancellation and other request-scoped values to multiple promise. The behaviour is like Go's context.
- deno_cron - A cron Job scheduler that allows you to write human readable cron syntax with tons of flexibility
- deno-deamon - Make the Deno program run in the background.
- deno-dotenv
- pietvanzoen/deno-dotenv - Dotenv handling for deno.
- cardosomarcos/deno-dotenv - Loads environment variables from .env for Deno projects.
- deno-fnparse - An extremely simple parser combinator for JavaScript.
- deno-globrex - Port of globrex to deno, glob to regular expression.
- deno_notify - Send desktop notifications on all platforms.
- deno-opn - Opens stuff like websites, files, executables. Cross-platform.
- deno-plugin-prepare - A library for managing Deno native plugin dependencies.
- deno_random_interval - Helper to generate random interval.
- deno_tokenizer - A simple tokenizer for deno.
- deno-using - An python-style with statements for deno.
- dinoenv - tiny library to manage environment variables with deno.
- ensure - Ensure you are running a minimum version of Deno, Typescript, or V8.
- evt - Type safe replacement for EventEmitter.
- fastest-validator - Schema validator for all javascript platforms
- fossil - A value-type validation suite.
- garn-yaml - Read or write yaml interpolating env variables.
- garn-validator - Create validations with ease.
- invert-kv - Invert key-value pairs in Deno.
- lazy - A linq-like lazy-evaluation iteration module.
- maze_generator - Javascript module for generating, solving, analyzing and displaying mazes.
- ms - Easily convert various time formats to milliseconds.
- online - Check if you're currently online in Deno.
- optionals - Rust-like error handling and options with exhaustive pattern matching.
- qrcode - QR code image generator for Deno.
- recursive-readdir - Recursively read directories in Deno.
- rubico - 🏞 [a]synchronous function composition; it just works.
- solc - 💎 Solidity bindings for Deno.
- type-fest - A collection of essential TypeScript types (port of sindresorhus/type-fest).
- wasm-gzip - Encrypt and decrypt gzip for Deno.
- watch - A file watcher.
- wu-diff-js - A diff library to compute differences between two slices using wu(the O(NP)) algorithm.
Web framework
- abc - A better Deno framework to create web application.
- alosaur - Alosaur - Deno web framework with many decorators.
- attain - A middleware web framework for Deno which is using http standard library inspired by express and Oak. Fast and stable with proper memory usage.
- aqua - A minimal and fast web framework for Deno.
- deno-express - Node Express ported to Deno.
- denotrain - All-in-One web framework like express or fastify for Node.js with middleware support.
- dinatra - Sinatra like light weight web app framework for deno.
- doa - A middleware framework for Deno's http serve🦕. Transplanted from Koa with ❤️
- drash - A REST microframework for Deno's HTTP server with zero dependencies.
- dragon - ⚡A powerful HTTP router and URL matcher for building Deno web servers with dragon 🐲.
- faster - A fast and optimized middleware server with a set of useful middlwares.
- microraptor - Lightweight framework for easy network routing with validation.
- oak - A middleware framework for Deno's net server.
- oak-http-proxy - Proxy middleware for Deno Oak HTTP servers.
- opine - Fast, minimalist web framework ported from ExpressJS.
- opine-http-proxy - Proxy middleware for Deno Opine HTTP servers.
- pogo - Server framework for Deno.
- servest - A progressive HTTP server/router.
WebSocket
- deno-websocket - 🦕A simple WebSocket library like ws of node.js library.
- dropper - Custom event-based WebSockets framework for building real-time apps on Deno 🦕
- websocket_server - A WebSocket server library.
- wocket - A WebSocket library for Deno.
Web utils
- compression - Deno HTTP compression middleware.
- djwt - Make JSON Web Tokens (JWT) on Deno based on JWT and JWS specifications.
- forwarded - Deno port of
forwardedlibrary. - gentleRpc - A JSON-RPC 2.0 TypeScript library for Deno and the browser.
- gql - Universal GraphQL HTTP middleware.
- graphql-tag - GraphQL schema AST from template literal.
- nats - A Deno client for the NATS messaging system.
- obsidian - A native GraphQL caching client and server module.
- qs - A query string parser with nesting support.
- router - A high-performance basic router works anywhere.
- status - HTTP codes and status utility for Deno.
- ts-prometheus - A prometheus client.
- up - Check if a website is up in Deno.
- youtube-deno - A Deno client library for the YouTube Data API for any interaction with YouTube.
Webview
- Astrodon - Modular framework for building native multi-platform apps with Deno and webview.
- webview - Deno bindings for webview, a tiny library for creating web-based desktop GUIs.
XML
- deno-xml-parser - Deno XML parser ported from segmentio/xml-parser.
- sax-ts - SAX-style XML parser ported from sax-js.
Registries
- crux.land - A free registry service meant for hosting small ( < 10kB) single deno scripts.
- Deno PKG - An easier way to use code from GitHub in your Deno project.
- Denopkg.dev - Use any public/private repository from GitHub/GitLab in your Deno project.
- deno.land/x/ - The official 3rd party module registry.
- nest.land - An immutable, blockchain powered Deno package registry. 🥚
Showcases
- AuthCompanion - A token-based user management server.
- Deno Rest - A Boilerplate for deno RESTful apis.
- Deno Seed - Complete boilerplate for development. :seedling:
- Edrys - Remote Teaching Software
- GitHub Profile Trophy - 🏆 Add dynamically generated GitHub Trophy on your readme
- UsingDeno - Curated list of Web Applications & Projects using Deno 🦕.
Tools
- commands - Create commands shortcuts for node js and deno
- clone - A simple utility for the convenient clone.
- decense - Generate a license with one
deno runcommand. - dedep - Manage dependency versions.
- denoflow - Configuration as code, use YAML to write automated workflows that run on Deno, with any Deno modules, Typescript/Javascript codes
- denoget - Denoget installs executable Deno script.
- denoify - For NPM module authors that would like to support Deno but do not want to write and maintain a port.
- denoinit - Denoinit generates useful files for Deno project.
- denoliver - A simple, dependency free file server with live reload.
- denomander - Deno command-line interfaces inspired from commander.js.
- denon - A daemon script runner, like nodemon. Built in and for Deno.
- denopkg - An easier way to use code from GitHub in your Deno project.
- denoversion - SemVer and git version management for Deno.
- denox - Like packages.json scripts, but for Deno with permissions support.
- deno.mk - Cross-platform Makefile for installing and running Deno.
- maxmcd's deno-docker A docker image.
- hayd's deno-docker Several docker images.
- deno-vscode - Leverage the typedef and intellisense built into vscode using this extension.
- dev_server - Let TypeScript files be used directly in the script tag.
- dmm - Lightweight Deno Module Manager
- dpm - Deno Package Manager, install global command for deno. like denoget.
- dvm
- justjavac/dvm - Deno Version Manager: manage multiple active Deno versions.
- axetroy/dvm - Version manger for Deno without runtime dependencies.
- dvm.cmd - Deno Version Manager for Windows. Written as a single batch file.
- ghosind/dvm - A lightweight Deno Version Manager for Linux/MacOS.
- elm-live-reload - An elm live reloader written in Deno.
- kopo-cli - A Deno registry browser in the terminal.
- lume - A static site generator similar to Jekyll or Eleventy with support for multiple file formats.
- make-deno-edition - Automatically makes package.json projects (such as npm packages and node.js modules) compatible with Deno.
- nessie - Create, migrate and rollback migrations for PostgreSQL, MySQL and SQLite.
- packer-provisioner-deno - A Packer plugin that makes it easy to build virtual machine images with Deno scripts.
- pagic - The easiest way to generate static html page from markdown, built with Deno.
- pika Deno plugin
- pre-commit-deno - pre-commit git hooks for Deno projects.
- starter - Deno module starter template with GitHub Actions CI
- task-runner - Write tasks just like npm scripts.
- trex - Package management like npm for deno.
- typescript-deno-plugin - Deno language service plugin, providing intellisense in TypeScript files within editors.
- udd - Update Deno dependencies: updates import statements to their latest published version.
- velociraptor - An npm-style script runner for Deno.
- vscode-deno - VS Code extension that provides Deno support using the
TypeScript Deno language service plugin. - Update Deno - Github Action that puts a file with the latest Deno Version in your repository.
- denofn-selfhosted - Self-hosted Deno functions, made with Deno and Docker.
Articles
- Develop with Deno and Visual Studio Code
- First thoughts on Deno, the JavaScript/TypeScript run-time
- Getting started with Deno
- What's Deno, and how is it different from Node.js?
- Write a small API using Deno
- Deno on Cloud Run
- Learn Deno: Chat app
- From Node to Deno
- Create a simple Note-taking app with Deno
- Develop and Dockerize a Blogging API With Deno, Oak, and MySQL
- Building API's using Deno, Oak and MYSQL
- Create interactive mail utility CLI Tool using Deno
- Create your first News CLI app using Deno
- Continuous Integration with Deno
- How to create and validate JSON Web Tokens in Deno
- Build A Simple Covid19 CLI Tool using Deno
- Creating a Web Application using Deno
- Read and Write in a local file with Deno
- The Hidden Superpower of Deno: xeval
- Test coverage in Deno with Codecov and GitHub Actions
- Deno REST API with Oak Tutorial Series 0, 1, 2
- Dissecting Deno
- Getting Started with Deno
- How to deploy a Deno app using Docker
Presentations
- 10 Things I Regret About Node.js - Ryan Dahl - JSConf EU 2018
- Slides
- JSDC 2018#A01 - Deno, A New Server-Side Runtime By Ryan Dahl
- Slides
- Ryan Dahl. Deno, a new way to JavaScript. JS Fest 2019 Spring
- Slides
- Rafał Pocztarski — From Node.js to Deno - JavaScript/TypeScript runtime built with V8 and Rust [EN]
- Ryan Dahl: A secure runtime for JavaScript and TypeScript | js.la April 2019
- Slides
- Ryan Dahl: Deno, a new way to JavaScript - HolyJS 2019 Piter
- Slides
- Rafał Pocztarski - What is Deno? A new runtime for modern JavaScript and TypeScript backends for 2020s - Deno Warsaw
- Michał Sabiniarz - How to contribute to Deno? - Deno Warsaw
- Slides
- Bartek Iwańczuk - Deno internals, how modern runtime is built - Deno Warsaw
- Slides
- Ryan Dahl & Kitson Kelly: Deno is a New Way to JavaScript - TSConf 2019
- Bert Belder - Deno - dotJS 2019
- Kitson P. Kelly - Deno, and The Future of JavaScript Runtimes - CityJS Conf 2020
- Matías Insaurralde - Deno: an experimental approach on V8 interoperability [EN subtitles] - NodeConf Argentina 2019
- Slides
Resources in Other Languages
Chinese
- Deno 并不是下一代 Node.js
- 玩 Deno 遇到问题的解决方案
- 让我们一起来学习别人学不动的 Deno
- Design Mistakes in Node zh-CN
- Node之父ry:Node中的设计错误
- 《Deno进阶开发笔记》
- Deno 手册
- Deno 中文开发者社区
Hebrew
Indonesian
- Berkenalan dengan Deno
- Perkenalan Deno dan Instalasi
- Deno Land Indonesia website
- Deno Land Indonesia Telegram group
Italian
Japanese
- Node.js における設計ミス By Ryan Dahl
- mizchi/deno_code_reading.md
- Design Mistakes in Node & Deno #kng5 / deno
- Dive into Deno:プロセス起動からTypeScriptが実行されるまで
Russian
Spanish
- Hola Deno! . 🦕
- Así puedes crear tu primera API REST con Deno
- Primeros pasos con Deno 🦕 El sucesor de NodeJS desarrollado con Rust y TypeScript
- Primer vistazo con deno
Darija
Kurdish (Central)
Awesome DOS 
Operating system for x86-based personal computers that was popular during the 1980s and early 1990s.
A curated list of references for development of DOS applications and learning about the system itself. This includes list of compilers, tutorials, videos, links to free and paid books and source code to DOS games. The goal of this list is to collect information and act as a starting point for someone who wants to start out retro-programming for the DOS platform.
Contents
- Development tools
- Tutorials and programming resources
- Books
- Videos
- Open source DOS libraries
- Open source DOS games
Development tools
- bcc - Bruce's Compiler - Bruce's C compiler is a simple C compiler that produces 8086 assembler for tiny/small memory models.
- DJGPP - DJ Delorie's complete 32-bit C/C++ development environment for Intel 80386. Used for Quake.
- Open Watcom - Formerly commercial C/C++ development environment for 16- and 32-bit DOS and Windows. The current official version is 1.9. A GitHub fork is also available. Used for Doom I-II, Warcraft I-II, Duke Nukem 3D, Full Throttle, Dark Forces and Retro City Rampage.
- The documentation is very valuable in order to understand working with both version 1.9 and the V2 fork.
- Arch Wiki page
- Open Watcom V2 - GitHub fork which is actively maintained and is ported to 64-bit Windows and Linux.
- Turbo C 2.01 - C IDE and compiler from Borland first released in 1987.
- Turbo C++ 1.01 - C++ IDE and compiler from Borland released in 1991.
- DIV Games Studio 2 - IDE to develop DOS games in 2d, mode 7 and 3d. Released in 1998.
- Online version.
- T3X - A small, portable, procedural, block-structured, recursive, almost typeless, and to some degree object-oriented programming language by Nils M. Holm.
Scripting languages and interpreters for DOS
- DOjS - JavaScript programming environment for MS-DOS, FreeDOS or any DOS-based Windows (like 95, 98, ME).
- Lua for DOS - Online demo of Lua 5.3.5, compiled for MS-DOS on the Intel 80486 processor.
- Micropython for FreeDOS - FreeDOS ad-hoc module for micropython.
- perldos - Perl for DOS.
- PythonD - Python for DOS, including multi-threading, networking and OpenGL.
Tutorials and programming resources
History
- The Life of MS-DOS by Brendan Byers - History of the DOS family including CP/M, Q-DOS/86-DOS, MS-DOS and PC-DOS. Article also includes a diagram of the timeline and family tree of DOS operating systems.
Compiling
- 80x86 16-bit Compiling How-to by Alexei A. Frounze - 16-bit compilation tutorial for Borland/Turbo C/C++ and Open Watcom. Goes into depth of memory addressing and memory models.
- 32bit DOS development with Open Watcom - 32-bit compilation tutorial for Open Watcom.
- How to build DOS COM files with GCC by Chris Wellons - Build process of Chris Wellons's DOS Defender game using DJGPP. Goal was to create a 32-bit 80386 COM executable.
General
- David Brackeen - 256-Color VGA Programming in C - Tutorial series to learn how to create graphics on DOS.
- 640k Really is Enough for Anyone by Robert W. Oliver II - Short article about getting Turbo C running on FreeDOS and moving a pixel around.
- Just keeping it real... old skool style - Scali's OpenBlog - Blog post about Scali's journey of doing CGA, EGA and VGA programming.
- Alex Russell's Dos Game Programming in C for Beginners - DOS game programming tutorial series including a primer on C, graphics, animation, input handling and collision detection. This series contains a tutorial for making buffered input handling. Last chapter contains full source code of a Break Out game on DOS.
- The Artevida Game Programming Tutorials - Kevin Matz's almost book-length treatment of DOS system programming and VGA programming fundamentals using C/C++ and 80x86 assembly. Unfortunately it is incomplete and was abandoned since 2001.
-
PC Game Programmer's Encyclopedia - Collection of guides covering assembly, sound (Sound Blaster, Gravis UltraSound, PC Speaker, GameBlaster, Adlib), input, memory (EMS, XMS, DMA Transfers), PIT, VGA, SVGA, algorithms and file formats.
-
The Art of Demomaking by flipcode - Series from 1999 that introduces to graphics programming under DOS. The home site contains other late 90s/early 2000s game programming articles as well.
- Programming MS-DOS with Power - DOS Programming, Undocumented DOS, and DOS Secrets - System programming tutorials like disk handling, interrupts, inputs, sound, graphics.
DOS API
- bios.h header documentation by Digital Mars - API documentation for routines accessing BIOS operations directly (disk operations, BIOS keyboard, printer, time, memory, serial, interrupts).
- dos.h header documentation by Digital Mars Part 1 Part 2 - API documentation of functions for interfacing with the DOS operating system itself.
Interrupts
- Ralph Brown's Interrupt List - HTML version - List of every documented and undocumented interrupt call known, accessible through search, categories and interrupt numbers.
- Original in downloadable .zip files from Ralph Brown's website
Video
- Values for standard video mode - List of all known video modes including BIOS interrupt numbers, text/pixel resolution, number of colors and video memory addresses.
CGA
- Color Graphics Adapter: Notes - Document describing the hardware, memory map, register I/O and hardware clones of the IBM's original CGA.
VGA
- VGA Hardware - OSDev wiki - Hardware guide for VGA cards that is also relevant for modern graphics cards including NVidia and ATI.
- Graphical programming in Assembly (DOS) - A VGA programming tutorial that also shows the list of video modes (text, CGA, EGA, VGA, SVGA) in a table at the beginning.
SVGA
- DOS Super VGA / VESA programming notes - by Myles - VESA article with history at the beginning and short mention of the VESA VBE standard, but unfortunately the example codes aren't even available through Wayback Machine.
- VESA Video Modes - OSDev wiki - Tutorial about querying VESA modes.
- DJGPP VESA guide - Tutorial about querying VESA modes.
- High-res high-speed VESA tutorial - Series of tutorials that include drawing pixels in VESA mode (protected or real).
- C code sample for drawing in VESA 2.0 mode - Just code listing for drawing an ellipse in VESA mode.
Sound
PC Speaker
- Making some noise with the PC speaker! - by Mark Feldman - Very short tutorial on using the PIT for generating PC speaker frequency.
- Frequencies of Musical Notes - Freqency table usable to parameterize the PC speaker.
- Sound Programming with PC Speaker - Chapter 23 of A to Z of C - PC speaker programming chapter of the "A to Z of C" book with source code.
AdLib/OPL2
- Yamaha YM3812 (OPL2) sound chip Wikipedia article - Best starting point to learn about the OPL2 sound chip besides 8-bit guy's YouTube video.
- The Ad Lib Music Synthesizer Card Programming Guide - by Tero Töttö - Reference of OPL2 operations and registers.
Sound Blaster/OPL3
- Programmer's Guide to the Yamaha YMF 262/OPL3 FM Music Synthesizer - Reverse-engineered reference on OPL3.
- Sound Blaster 16 Programming Document 3.5 by Ethan Brodsky - Programming the Sound Blaster 16 DSP CT1341 chip for recording and playback of digitized audio.
- version 3.4 on GameDev.net archive
- Soundblaster Programming Information v0.90 - List of Sound Blaster models and registers.
Other
- Table of DOSBox cyclecounts according to processor types - A table for setting the appropriate DOSBox cycle count according to CPU types (IBM XT 88, 286, 386, 486, Pentium I, Pentium II). Comes handy when you are developing a DOS game and want to simulate the environment where you intend to execute it.
Books
Free
- Game Engine Black Book: Wolfenstein 3D - by Fabien Sanglard - Fabien Sanglard's walkthrough on the game engine architecture of id Software's Wolfenstein 3D on the IBM PC's hardware. Contains forewords by John Carcmack, Tom Hall and John Romero.
- Game Engine Black Book: Doom - by Fabien Sanglard - Fabien Sanglard's walkthrough on the game engine architecture of id Software's original Doom on Intel 486 system and game console ports. Contains forewords by John Carcmack, Dave Taylor and John Romero.
- A to Z of C - a book on C/DOS programming by K. Joseph Wesley and R. Rajesh Jeba Anbiah - Non-profit book on programming in C on DOS. DOS system programming starts from Part II.
- Michael Abrash's Graphics Programming Black Book Special Edition - Collection of Michael Abrash's Dr. Dobb's Journal graphics programming articles and his work on the graphics subsystem of Quake.
Paid
- Tricks of the Game-Programming Gurus - by Andre Lamothe, John Ratcliff and Denise Tyler - Comprehensive DOS game development book about starting out, creating 2D and basic 3D graphics, I/O and game algorithms.
Videos
- CGA Graphics - Not as bad as you thought! - by 8-bit Guy - History and technical details about IBM's CGA system. Also describes 4-color RGBI and 16-color Composite modes.
- How Oldschool Sound/Music worked - by 8-bit Guy - Video about PC speaker, FM synthesizers in NES and Commodore 64, Yamaha OPL chip in AdLib and Sound Blaster sound cards, PCM samples and MOD music.
- Let's Code - MS DOS - by root42 - DOS programming tutorial series including VGA, SoundBlaster and VGA Mode X.
- LGR - Evolution of PC Audio - As Told by Secret of Monkey Island - Comparison of playing the intro theme of Secret of Monkey Island through PC speaker, IBM PCjr/Tandy, AdLib, Game Blaster, Roland LAPC-1/MT-32, Gravis Ultrasound, Roland SCC-1 MIDI, SB16 Waveblaster/AWE32 and CD quality digital audio.
- Porting Retro City Rampage to MS-DOS: From PS4 to 1.44MB Floppy - GDC talk. Brian Provinciano's presentation on porting Retro City Rampage from PlayStation 4 to DOS. Topics include optimization, using interrupts, timing, PC speaker sound, joystick, memory management and fixed-point math.
Open source DOS libraries
- Allegro 4.2 - Game development library for DOS, Windows and Linux.
- LoveDOS - A framework for making 2D DOS games in Lua. API based on a subset of the LÖVE API.
- DOS-VGA-Game - Marco A. Marrero's DOS VGA/hardware library implemented in assembly and Turbo Pascal.
Open source DOS games
Homebrew games with source code
List of all homebrew DOS games: http://www.doshaven.eu
- DOS Defender - Christopher Wellons's x86 real mode DOS Asteroids clone created as an entry for Lundum Dare #31.
- Dungeons of Noudar - First-person 2.5D dungeon-crawler on protected mode. Written in C++, includes software rendering, fixed point math, test coverage and sound (PC speaker, Adlib, OPL2LPT).
- Emeritus Pong - Pong clone for DOS, Windows and Linux. Uses PC speaker for sound on DOS.
- Floppy Bird - Flappy Bird clone written in 16 bit assembly. Not a DOS program, but a PC-Booter application instead (although it's also possible to build a COM executable for DOS).
- George M. Tzoumas's collection of MS-DOS games and utilities - Turbo Pascal with few games in C and C++. Games include Nibbles, Connect Four, Ms Pacman clone and two arcade/platform games. One of them (ra2) was written using Allegro. Utilities are all written in Turbo Pascal, these include game system routines, file and disk utilities and terminate-and-stay-resident programs (TSR).
- Gridfighter 3D - '80s style arcade shooter written in Quickbasic. Also the very first known DOS game that supports Oculus Rift VR headset.
- GitHub repository
- Hangman - Hangman clone written in Basic. Runs on at least 80286 processors and uses EGA graphics.
- Magenta's Maze - 3D maze game using CGA graphics with algebra as theme.
- Source code download link
- NetHack - Descendant of the original NetHack rougelike game first released in 1987 available on multiple platforms.
- Piskworks - Gomoku clone written in C. Works on DOS, ZX Spectrum, ZX81, ZX80, APPLE1, AS400 and Windows.
- Plutonium Caverns - Overhead puzzle game written in C. Web version uses DOSBox ported to Emscripten to embed DOSBox into HTML5. However, the original executable is also downloadable and buildable with Open Watcom.
- GitHub repository
- Ptakovina - Tetris clone written in C. Runs on DOS, Unix/Linux, ZX Spectrum and Windows.
- sudoku86 - Sudoku clone written in C. Runs on 8086/8088 CPU, uses CGA, MCGA or VGA graphics and uses a mouse.
- Tetris - Tetris clone written in assembly.
- Source code download link
- Towers of Hanoi - Tower of Hanoi puzzle game written in Turbo Pascal. Originally released in 1996.
- x86 pong - Text-mode Pong clone written in C. Runs as PC-Booter game and under DOS.
- zmiy - Text-mode Snake clone written in C. Runs on 8086 DOS.
Freeware games with source code
- Cyberdogs - Top-down 2D shooter playing as a mercenary to earn money. Written in Turbo Pascal. Supports two player mode.
- Source code download link
- C-Dogs - Sequel to the original Cyberdogs. Ronny Wester, the original creator no longer maintains the website for the original C-Dogs, but multiple ports exists, including cdogs-sdl.
Commercial games with published source code
- Abuse - Sci-fi side-scrolling platform game. Regarded as an innovative cult classic by most people. Supports SVGA mode up to 1280x1024 resolution. Written in C, the architecture includes a Lisp-scripting engine.
- Source code download link
- Beneath a Steel Sky - Point-and-click adventure game set in a dystopian future. Written in assembly.
- Source code download link
- Catacomb - 2D top-down shooter developed by Softdisk (later becoming id Software). Supports EGA and CGA graphics. Written in Turbo Pascal and assembly.
- Catacomb 3D - First-person shooter in fantasy setting developed by Softdisk (later becoming id Software). Features pseudo-3D graphics with raycasting technique. Supports EGA graphics. Written in C and assembly. Compiled with Borland C++ 3.1.
- Commander Keen in Keen Dreams - Side-scrolling platform game developed by id Software. Keen Dreams is the Commander Keen game created between Keen 3 and Keen 4 (often considered "Keen 3.5"), but was not widely released. Written in C and assembly.
- Descent - First sci-fi FPS/space shooter to feature entirely true 3D graphics. Written in C and assembly.
- Descent II - Sequel to Descent. Written in C and assembly.
- Doom - Sci-fi FPS developed by id Software where you fight demons from hell on Mars. The DOS-specific code for Doom could not be published because of a dependency to the licensed DMX sound library, hence why it's cleaned up and only the Linux source is there. However, the Heretic and Hexen projects contain the original DOS code in a way where DMX-related code is removed.
- Duke Nukem 3D - FPS developed by Apogee featuring the iconic character Duke Nukem. Written in C. Compiled with Watcom C/C++ 10.0.
- Source code download link
- Heretic - Dark fantasy FPS running on id Software's Doom engine.
- Hexen: Beyond Heretic - Indirect sequel to Heretic.
- Original SourceForge link for Heretic/Hexen.
- Hovertank 3D - FPS developed by id Software. Features pseudo-3D graphics with raycasting technique, before Catacomb 3D and Wolfeinstein 3D. Written in C and assembly.
- Quake - FPS developed by id Software set in a fully 3D world. Written in C. Compiled with DJGPP for DOS.
- Quake Engine Code Review series - Code analysis by Fabien Sanglard.
- Rise of the Triad: Dark War - FPS developed by Apogee. It was developed as a follow-up to Wolfenstein 3D, but was altered and became a standalone game instead. Uses a heavily modified Wolfenstein 3D engine. Written in C.
- Sopwith - Side-scrolling shoot 'em up created by David L. Clark in 1984. The game involves piloting a Sopwith biplane, attempting to bomb enemy buildings while avoiding fire from enemy planes and various other obstacles.
- MaiZure's Projects - Decoded: Sopwith - Code analysis by MaiZure.
- Wolfenstein 3D - FPS developed by id Software set in the Nazi German prison Castle Wolfenstein. Features pseudo-3D graphics with raycasting technique. Written in C and assembly.
Awesome Nix

A curated list of the best resources in the Nix community.
Nix is a powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible.
Please read the contribution guidelines before contributing.
Contents
- Resources
- Installation Media
- Channel History
- Deployment Tools
- Command-Line Tools
- Development
- Programming Languages
- NixOS Modules
- Overlays
- Community
Resources
Learning
- How to Learn Nix - It's like a Let's Play, but for obscure software documentation.
- Nix Notes - A collection of short notes about Nix, each contributing to the same virtual machine image.
- Nix Pills - The best way to learn, with examples.
- Nix Shorts - A collection of short notes about Nix.
- nix.dev - An opinionated guide for developers about getting things done using the Nix ecosystem.
- Tour of Nix - An online interactive tutorial on Nix language constructs.
Discovery
- Hound - Handily search across all or selected Nix-related repositories.
- Nix Package Versions - Find all versions of a package that were available in a channel and the revision you can download it from.
- Pkgs on Nix - A database with Nix packages at all versions, from all channels.
Newsletters
- NixOS Weekly - The newsletter to stay informed about community updates.
Installation Media
- nixos-generators - Take a NixOS config and build multiple different images types including VirtualBox VMs, Azure images, and installation ISOs.
- nixos-up - Super easy NixOS installer that can be used from the installation ISO.
Channel History
- Channel History - Get historical git commits for Nix channels.
- Nix Infra Status - Get the age and current git commit of each Nix channel.
- Nix Review Tools Reports - Reports showing problematic dependencies (dependencies causing the most failed builds) for major Hydra jobsets.
- nixpkgs PR tracker - A tracker for whether a PR has made it into a channel yet.
Deployment Tools
- Colmena - A simple, stateless NixOS deployment tool modeled after NixOps and morph.
- deploy-rs - A simple multi-profile Nix-flake deploy tool.
- krops - A lightweight toolkit to deploy NixOS systems, remotely or locally.
- KubeNix - A Kubernetes resource builder using Nix.
- KuberNix - Single-dependency Kubernetes clusters via Nix packages.
- morph - A tool for managing existing NixOS hosts.
- Nixery - A Docker-compatible container registry which builds images ad-hoc via Nix.
- NixOps - The official Nix deployment tool, compatible with AWS, Hetzner, and more.
- nixos-shell - Simple headless VM configuration using Nix (similar to Vagrant).
- pushnix - Simple cli utility that pushes NixOS configuration and triggers a rebuild using ssh.
- terraform-nixos - A set of Terraform modules designed to deploy NixOS.
- terranix - Use Nix and the NixOS module system to write your Terraform code.
Command-Line Tools
- comma - Quickly run any binary; wraps together
nix runandnix-index. - nixfmt - A formatter for Nix code, intended to easily apply a uniform style.
- nixpkgs-fmt - Nix code formatter for nixpkgs.
- nixpkgs-hammering - Beat your package expressions into a shape.
- nix-alien - Run unpatched binaries on Nix/NixOS easily.
- nix-diff - A tool to explain why two Nix derivations differ.
- nix-index - Quickly locate Nix packages with specific files.
- nix-prefetch - A universal tool for updating source checksums.
- nix-tree - Interactively browse the dependency graph of Nix derivations.
- statix - A linter/fixer to check for and fix antipatterns in Nix code.
Development
- Arion - Run
docker-composewith help from Nix/NixOS. - cached-nix-shell - A
nix-shellreplacement that uses caching to open subsequent shells quickly. - Cachix - Hosted binary cache service; free for open-source projects.
- devshell -
mkShellwith extra bits and a toml config option to be able to onboard non-nix users. - flake-utils - Pure Nix flake utility functions to help with writing flakes.
- gitignore.nix - The most feature-complete and easy-to-use
.gitignoreintegration. - lorri - A much better
nix-shellfor development that augments direnv. - niv - Easy dependency management for Nix projects with package pinning.
- nix-direnv - A fast loader and flake-compliant configuration for the direnv environment auto-loader.
- nixpkgs-review - The best tool to verify that a pull-request in Nixpkgs is building properly.
- pre-commit-hooks.nix - Run linters/formatters at commit time and on your CI.
- robotnix - A declarative and reproducible build system for Android (AOSP) images.
Programming Languages
Arduino
- nixduino - Nix-based tool to help build Arduino sketches.
Crystal
- crystal2nix - Convert
shard.lockinto Nix expressions.
Elm
- elm2nix - Convert
elm.jsoninto Nix expressions.
Haskell
- cabal2nix - Converts a Cabal file into a Nix build expression.
- haskell.nix - Alternative Haskell Infrastructure for Nixpkgs.
- nix-haskell-mode - Automatic Haskell setup in Emacs.
- nixkell - A Haskell project template using Nix and direnv.
- stack2nix - Generate nix expressions for Haskell projects.
Node.js
- Napalm - Support for building npm packages in Nix with a lightweight npm registry.
- node2nix - Generate Nix expression from a
package.json(orpackage-lock.json) (to be stored as files). - npmlock2nix - Generate Nix expressions from a
package-lock.json(in-memory), primarily for web projects. - yarn2nix - Generate Nix expressions from a
yarn.lockfile.
PHP
- composer2nix - Generate Nix expressions to build composer packages.
- composer-plugin-nixify - Composer plugin to help with Nix packaging.
- composition-c4 - Support for building composer packages from a
composer.lock(using IFD). - nix-phps - Flake containing old and unmaintained PHP versions (intended for CI use).
- nix-shell - Nix shells for PHP development.
PureScript
- Easy PureScript Nix - A project to easily use PureScript and other tools with Nix.
Python
- mach-nix - Tool to create highly reproducible python environments.
- poetry2nix - Build Python packages directly from Poetry's
poetry.lock. No conversion step needed. - pypi2nix - Generate Nix expressions for Python packages.
Ruby
- Bundix - Generates a Nix expression for your Bundler-managed application.
Rust
- fenix - Rust toolchains and Rust analyzer nightly for nix.
- naersk - Build Rust packages directly from
Cargo.lock. No conversion step needed. - nix-cargo-integration - A library that allows easy and effortless integration for Cargo projects.
- nixpkgs-mozilla - Mozilla's overlay with Rust toolchains and Firefox.
- rust-nix-templater - Generates Nix build and development files for Rust projects.
- rust-overlay - Pure and reproducible nix overlay of binary distributed Rust toolchains.
Scala
- sbt-derivation - mkDerivation for sbt, similar to buildGoModule.
- sbt-nix.g8 - giter8 template for new Scala projects with Nix support.
NixOS Modules
- base16.nix - Flake way to theme programs in base16 colorschemes, mustache template support included.
- Home Manager - Manage your user configuration just like NixOS.
- musnix - Do real-time audio work in NixOS.
- nixcloud-webservices - A Nixpkgs extension with a focus on ease of deployment of web-related technologies.
- NixVim - A NeoVim distribution built with Nix modules and Nixpkgs.
- Simple Nixos Mailserver - A complete mailserver, managed with NixOS modules.
Overlays
- awesome-nix-hpc - High Performance Computing package sets.
- nix-bitcoin - Nix packages and NixOS modules for Bitcoin nodes with higher-layer protocols with an emphasis on security.
- nix-darwin - Manage macOS configuration just like on NixOS.
- nixpkgs-firefox-darwin - Automatically updated Firefox binary packages for macOS.
- nixpkgs-wayland - Bleeding-edge Wayland packages.
- NUR - Nix User Repositories. The mother of all overlays, allowing access to user repositories and installing packages via attributes.
Community
- #nix:nixos.org
- #nixos on Libera.Chat
- Discord - Nix/Nixos (Unofficial)
- Discourse - The best place to get help and discuss Nix-related topics.
- NixCon - The annual community conference for contributors and users of Nix and NixOS.
- Wiki (Unofficial)
Awesome Integration 
A curated list of awesome system integration software, patterns and resources.
System integration is the process of linking together different IT systems (components) to functionally cooperate as a whole.
Contents
- Projects
- API Management
- API Design
- API Gateway
- API Testing
- BRE
- BPM
- Data Mapping Solution
- ESB
- ETL
- Integration Frameworks
- iPaaS
- MaaS
- Managed File Transfer
- Master Data Management
- Messaging
- RPA
- Self-Service Integration
- Workflow engine
- Resources
- API Specification
- Articles
- Connectors
- Data Formats
- Enterprise Integration Patterns
- Integration Styles
- Market Analysis
- Protocols
- Standard APIs
- Structure and Validation
Projects
API Management
API Management solutions. - Akana API Management Platform - Accelerate digital transformation. Manage the full API lifecycle. Deploy across multiple clouds. And ensure compliance. - Anypoint Platform - Combines API management and integration capabilities in a single platform from Mulesoft. - Amazon API Management - API management strategies allow you to monitor and manage APIs in a secure and scalable way. - Amplify API Management Platform - An open platform for API management from Axway. - Apigee - API Management solution from Google. - Azure API Management - A hybrid, multicloud management platform for APIs across all environments. - DigitMarket API Manager - A complete package to help manage your APIs and make them into tools that propel your business forward by Torry Harris. - Gravitee.io API Management - Flexible, lightweight and blazing-fast Open Source solution. - IBM API Connect - A complete, intuitive and scalable API platform that lets you create, expose, manage and monetize APIs across clouds. - Kong Enterprise - The service connectivity platform. - Layer7 API Management - Continuous API Management from Broadcom. - Red Hat 3scale API Management - Cloud-native development made simpler and more flexible. - Sensedia API Management - Full life cycle API management platform. - TIBCO Cloud Mashery - The cloud-native API platform you can deploy anywhere, and manage APIs from everywhere. - Tyk API Management - Connect, build and control. - webMethods API - Software AG offerings for full life cycle API management are the webMethods API management. platform (for on-premises deployment) and the webMethods.io API (for the cloud). - WSO2 API Manager - Fully open-source API management platform.
API Design
API design, documentation and life-cycle automation tools. - OpenAPI Diff - Compare two OpenAPI specifications (3.x) and render the difference to HTML plaintext, or Markdown files. - OpenAPI Generator - Allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (both 2.0 and 3.0 are supported). - OpenAPI Style Validator - A customizable style validator to make sure your OpenAPI spec follows your organization's standards. - Swagger Editor - Design, describe, and document your API on the first open source editor fully dedicated to OpenAPI-based APIs. - Zally - A linter for OpenAPI specifications.
API Gateway
API Gateways. - Ambassador Edge Stack - Kubernetes-native API Gateway. - Apache APISIX - Dynamic, real-time, high-performance API gateway. - Gloo Edge - An Envoy Proxy-based API Gateway. - Goku API Gateway - Golang-based microservice gateway that enables high-performance dynamic routing,service orchestration, multi-tenancy management, API access control, etc. - Kong API Gateway - Cloud-native, platform-agnostic, scalable API Gateway distinguished for its high performance and extensibility via plugins. - KrakenD API Gateway - Ultra-High performance API Gateway with middlewares. - Ocelot - .NET API Gateway. - Spring Cloud Gateway - API Gateway built on top of the Spring Ecosystem, including: Spring 5, Spring Boot 2 and Project Reactor. - Tyk API Gateway - An open source Enterprise API Gateway, supporting REST, GraphQL, TCP and gRPC protocols.
API Testing
API testing tools. - API clients - curl - Command line tool and library for transferring data with URLs. - curlie - A frontend to curl that adds the ease of use of httpie, without compromising on features and performance. - HTTPie - Command line HTTP client, far more dev-friendly than curl. - Insomnia - Cross-platform HTTP and GraphQL Client. - Postman - A tool to make HTTP requests, generate mock servers and make API documentation. - SoapUI - An open-source web service testing application for SOAP and REST. - MQ clients - JMSToolBox - An universal JMS Client able to interact with the greatest number of JMS based message brokers. - kcat - A generic non-JVM producer and consumer for Apache Kafka, think of it as a netcat for Kafka. Formerly known as kafkacat. - Offset Explorer - A GUI application for managing and using Apache Kafka clusters. Formerly known as Kafka Tool. - Mocking tools - Microcks - Open source Kubernetes Native tool for API Mocking and Testing. Supports AsyncAPI, OpenAPI, Postman Collections etc. - Mockable - A simple configurable service to mock out RESTful API or SOAP web-services. - Mockoon - The easiest and quickest way to design and run mock REST APIs. - MockServer - Easy mocking of any system you integrate with via HTTP or HTTPS. - Mocky - A free and unlimited online service which allows to generate custom HTTP responses. - Prism - An open-source HTTP mock server that can mimic your API`s behavior as if you already built it. - WireMock - Mock your APIs for fast, robust and comprehensive testing. - Testing tools and frameworks - Apache JMeter - An open source java based load testing tool. - Karate - Open-source tool to combine API test-automation, mocks, performance-testing and even UI automation into a single, unified framework. - REST Assured - Java DSL for easy testing of REST services.
BRE
Business Rules Engines and Business Rules Management Systems. - Drools - Open source tool with full runtime support for Decision Model and Notation (DMN) models at Conformance level 3 and an Eclipse IDE plugin for core development. - Easy Rules - A simple Java rules engine. - NxBRE - Open-source rule engine for the .NET platform. - OpenL Tablets - An open source business rules engine (BRE, BRMS) and decision management system.
BPM
Business Process Management solutions. - Appian BPM Suite - Platform combines low-code development with process management to allow both IT and citizen developers to construct process-centric and case-centric applications. - Genpack Cora SeQuence - Orchestrate a more effective flow, generate growth, improve cost efficiency, and drive business agility. - IBM Business Automation Workflow - A comprehensive business process management platform. - Oracle BPM Suite - An integrated environment for developing, administering, and using business applications centered around business processes. - Pega Platform - A combined business process management and robotic process automation (RPA) platform with advanced workforce analytics from Pegasystems. - Red Hat Process Automation Manager - An application development platform that enables developers and business experts to create cloud-native applications that automate business operations. - SAP Process Orchestration - A business process management offering and application infrastructure. - TIBCO BPM Enterprise - A business process management platform with capabilities for process automation, process documentation, human capital management, process patterns, and predictive operations analytics.
Data Mapping Solution
Data Mapping solutions. - AltasMap - Data mapping solution with interactive web based user interface, that simplifies configuring integrations between Java, XML, CSV and JSON data sources. - Altova MapForce - A graphical data mapping tool for any-to-any conversion and integration. - JOLT - JSON to JSON transformation library written in Java where the "specification" for the transform is itself a JSON document. - JSLT - A complete query and transformation language for JSON. The language design is inspired by jq, XPath, and XQuery.
ESB
Enterprise service bus solutions. - Anypoint Platform - Combines API management and integration capabilities in a single platform from Mulesoft. - Apache ServiceMix - A flexible, open-source integration container that unifies the features and functionality of Apache ActiveMQ, Camel, CXF, and Karaf. - ArcESB - Synchronize data across applications, seamlessly integrate with partners, or make data publicly accessible. - IBM App Connect - Connect applications together, regardless of the message formats or protocols that they support. Formerly known as IBM Integration Bus. - NServiceBus - The most developer-friendly service bus for .NET. - Oracle Service Bus - Transforms complex and brittle architectures into agile integration networks by connecting, virtualizing, and managing interactions between services and applications. - Oracle SOA Suite - Enables system developers to set up and manage services and to orchestrate them into composite applications and business processes. - Red Hat Fuse - Distributed, cloud-native integration platform. - Software AG webMethods Integration Server - Integrate anything faster. - TIBCO BusinessWorks - Implement enterprise patterns for hybrid integrations. - UltraESB - The only ESB that supports Zero-Copy proxying for extreme levels of performance utilizing Direct Memory Access (DMA) and the sendfile system call along with Non-Blocking IO. - WSO2 Enterprise Integrator - An API-centric, cloud-native, and distributed integration platform.
ETL
ETL/ELT and data integration tools. - Apache NiFi - Apache NiFi is an integrated data logistics platform for automating the movement of data between disparate systems. - CloverETL - A data integration software suite for data migration and data warehousing, and for feeding data into business intelligence and reporting applications. - IBM DataStage - A data integration platform that helps businesses understand, cleanse, transform, and deliver trusted information. - Informatica PowerCenter - Delivers enterprise data integration and management software powering analytics for big data and cloud. - Microsoft SSIS - SQL Server Integration Services is a platform for building enterprise-level data integration and data transformations solutions. - Oracle Data Integrator - A comprehensive data integration platform that covers all data integration requirements, including batch loads, integration processes, and SOA-enabled data services. - Pentaho Data Integration - Enables users to ingest, blend, cleanse, and prepare diverse data from any source with visual tools to eliminate coding and complexity. - SAS Data Management - Helps transform, integrate, govern, and secure data while improving its overall quality and reliability. - Stitch - A simple, powerful ETL service for businesses of all sizes, up to and including the enterprise. Running on a scalable, fault-tolerant cloud platform, Stitch integrates data from dozens of different sources. - Talend Data Integration - Bring data together from multiple sources to power all your business decisions.
Integration Frameworks
Integration frameworks based on known Enterprise Integration Patterns. - Apache Camel - Glues together different transport APIs via Enterprise Integration Patterns. - Ballerina - An open-source programming language that makes it easier to use, combine, and create network services. - Spring Integration - Extends the Spring programming model to support the well-known Enterprise Integration Patterns.
iPaaS
Integration Platform as a Service. - Anypoint Platform - Combines API management and integration capabilities in a single platform from Mulesoft. - Dell Boomi AtomSphere - Connect everyone to everything with the cloud-native, unified, open, intelligent platform. - Jitterbit Harmony - Integrates thousands of applications with pre-built templates and workflows to automate your business processes. - IBM Cloud Integration - AI-powered approach to integration. - Informatica Intelligent Cloud Services - Multiple cloud data management products designed to accelerate productivity and improve speed and scale. - OpenText Alloy - Enterprise data management, organizations move beyond basic integration and turn data into insights and action. Formerly known as Liaison ALLOY Platform. - Oracle Integration Cloud Service - Accelerates time to go live with pre-built connectivity to any SaaS or on-premises application. - SnapLogic Intelligent Integration Platform - Connect your application and data landscape. - Software AG webMethods Hybrid Integration Platform - One application integration platform integrates it all. - TIBCO Cloud Integration - Empower everyone to integrate anything with API-led and event-driven integration. - Workato - A single platform for integration & workflow automation across your organization.
MaaS
Cloud messaging as a service (MaaS). - Amazon MQ - Fully managed message broker service for Apache ActiveMQ and RabbitMQ. - Amazon MSK - Amazon Managed Streaming for Apache Kafka. - Amazon SQS - Amazon Simple Queue Service. - Amazon SNS - Amazon Simple Notification Service. Pub/sub functionality provides topics for high-throughput, push-based, many-to-many messaging between distributed systems, microservices, and event-driven serverless applications. - Alibaba Cloud Message Queue for Apache Kafka - Fully-managed Apache Kafka service from Alibaba Cloud. - Alibaba Cloud Message Queue for RabbitMQ - A distributed, fully managed, and professional messaging service that features high throughput, low latency, and high scalability. - Alibaba Cloud Message Service - A distributed message queuing and notification service that supports concurrent operations to facilitate message transfer between applications and decoupled systems. - AlibabaMQ for Apache RocketMQ - A distributed message queue service that supports reliable message-based asynchronous communication among microservices, distributed systems, and serverless applications. - Anypoint MQ - Enterprise-class cloud messaging, fully integrated with Anypoint Platform. - Azure Service Bus - Reliable cloud messaging as a service (MaaS) and simple hybrid integration. - CloudAMQP - RabbitMQ as a Service. - CloudKarafka - Affordable and straightforward, fully managed Kafka clusters available on AWS and Google Cloud. - Google Cloud Pub/Sub - Messaging and ingestion for event-driven systems and streaming analytics. - IBM MQ on Cloud - Easily move data between enterprise applications, systems and services. - IronMQ - Elastic message queue created specifically with the cloud in mind. - Solace PubSub+ Cloud - A complete event streaming, management and insights platform. - Yandex Message Queue - Compatibility with the Amazon SQS HTTP API. - Yandex Managed Service for Apache Kafka - Managed Apache Kafka service.
Managed File Transfer
Managed file transfer (MFT) solutions. - ArcESB Managed File Transfer - All-in-One Enterprise-Class MFT. - Axway Managed File Transfer - Make file transfer services easy to use. - IBM Sterling Secure File Transfer - Move over 1 million files per day with a fast and scalable file transfer platform. - Oracle Managed File Transfer - Enables secure file exchange and management.
Master Data Management
Master Data Management solutions. - IBM InfoSphere Master Data Management - Comprehensive master data management. - Informatica Multidomain MDM - All-in-one master data management. - Oracle Enterprise Data Management - Adapt and respond to change faster and more effectively by managing your master data. - SAP Master Data Governance - Improve the quality and consistency of information across your organization by consolidating and centrally governing the master data lifecycle. - SAS MDM - Provides a single, accurate and unified view of corporate data, integrating information from various data sources into one master record. - Software AG OneData for MDM - Provides “one version of the truth” when it comes to data, ensuring that only reliable, accurate and approved information is flowing through your systems, processes and applications. - Teradata MDM - Drives significant ROI using consistent reference data to establish an accurate analytical data foundation. - TIBCO EBX - A single solution to govern, manage, and consume all shared data assets.
Messaging
Message brokers. - Apache ActiveMQ - Message broker that implements JMS and converts synchronous to asynchronous communication. - Apache Kafka - High-throughput distributed messaging system. - Apache Pulsar - Distributed pub/sub-messaging system. - Apache RocketMQ - Fast, reliable, and scalable distributed messaging platform. - Apache Qpid - Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. - Eclipse Mosquitto - An lightweight open source message broker that implements the MQTT protocol. - IBM MQ - Enterprise-grade messaging capabilities that skillfully and safely move information between applications. - KubeMQ - A Kubernetes Message Queue Broker Enterprise-grade message broker and message queue, scalable, high available and secured. - NATS - Lightweight, high performance messaging system for microservices, IoT, and cloud native systems. - Oracle AQ - Oracle Advanced Queuing (AQ) provides enterprise message functionality across many industries and is widely used within the database itself. - RabbitMQ - An open-source message-broker that originally implemented the Advanced Message Queuing Protocol (AMQP). - Redpanda - A streaming platform for mission critical workloads. Kafka® compatible, No Zookeeper®, no JVM, and no code changes required. - Red Hat AMQ - Red Hat AMQ-based on open source communities like Apache ActiveMQ and Apache Kafka. - TIBCO Enterprise Message Service - TIBCO EMS is standards-based Java™ Message Service (JMS) implementation allows any application that supports JMS, whether home grown or third-party, to quickly and easily exchange messages. - VerneMQ - A high-performance, distributed MQTT message broker.
RPA
Robotic Process Automation (RPA) solutions. - Automation Anywhere - Intelligent Automation Ecosystem. - Blue Prism - Intelligent automation - business-developed and no-code automation RPA platform. - UiPath - Automattion repetitive digital tasks normally performed by people. - WorkFusion - Automation Platform for the Enterprise.
Self-Service Integration
Any self-service and citizen integrator tools.
- IFTTT - Allows creating chains of conditional statements between web services in order to make the web work for you and boost your productivity.
- Oracle Self-Service Integration - Automates tasks between cloud applications.
- Zapier - Automation tool that allows you to connect hundreds of web services and create automations between the processes.
Workflow engine
Workflow and orchestration engines. - Activiti - A lightweight and java-centric open-source BPMN engine. - Apache Airflow - A platform to programmatically author, schedule, and monitor workflows. - Argo Workflows - An open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. - Azkaban - A distributed Workflow Manager, implemented at LinkedIn to solve the problem of Hadoop job dependencies. - Bonita - BPMN engine that comes with an optional development environment, a designer, an optional user interface and administrative tools. - Cadence - Fault-Tolerant Stateful Code Platform. - Camunda - An open-source workflow and decision automation platform. - Conductor - Netflix Conductor is an orchestration engine that runs in the cloud. - Elsa Core - A workflows library that enables workflow execution in any .NET Core application. - Flowable - Provides a core set of open source business process engines that are compact and highly efficient. - jBPM - A toolkit for building business applications to help automate business processes and decisions. - StackStorm - Robust Automation Engine providing Sensors, Triggers, Rules, Workflows, and Actions. StackStorm is how you “glue” your applications together.
Resources
Some useful specifications, patterns, articles and documentation.
API Specification
- AsyncAPI - The AsyncAPI specification settles the base for a greater and better tooling ecosystem for Event-Driven Architectures (EDA).
- GraphQL - A query language for APIs and a runtime for fulfilling those queries with your existing data.
- OpenAPI (ex.Swagger) - Defines a standard, language-agnostic interface to RESTful APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation, or through network traffic inspection.
- RAML - RESTful API Modeling Language.
- WSDL - XML-based interface description language for SOAP based services.
Articles
- Enterprise Integration Using REST - Discusses the constraints and flexibility that you have with nonpublic APIs, and lessons learned from doing large scale RESTful integration across multiple teams.
- Richardson Maturity Model - Explained by Martin Fowler, originally presented by Leonard Richardson.
Connectors
- JCA - Defines a standard architecture for Jakarta EE application components to connect to Enterprise Information Systems. Formerly Java EE Connector Architecture and J2EE Connector Architecture.
- Kafka Connect - A tool for scalably and reliably streaming data between Apache Kafka and other systems.
Data Formats
- Apache Avro - Data serialization system.
- BSON - Short for Binary JSON, is a binary-encoded serialization of JSON-like documents.
- CSV - A comma-separated values (CSV) file is a delimited text file that uses a comma to separate values.
- JSON - The JavaScript Object Notation (JSON) Data Interchange Format.
- NDJSON - A standard for delimiting JSON in stream protocols.
- Protocol Buffers - A language-neutral, platform-neutral extensible mechanism for serializing structured data.
- XML - Extensible Markup Language (XML).
- YAML - YAML is a human friendly data serialization standard for all programming languages.
Enterprise Integration Patterns
Patterns from a book by Gregor Hohpe and Bobby Woolf.
- Aggregator - How do we combine the results of individual, but related messages so that they can be processed as a whole?
- Canonical Data Model - How can you minimize dependencies when integrating applications that use different data formats?
- Channel Adapter - How can you connect an application to the messaging system so that it can send and receive messages?
- Channel Purger - How can you keep 'left-over' messages on a channel from disturbing tests or running systems?
- Claim Check - How can we reduce the data volume of message sent across the system without sacrificing information content?
- Command Message - How can messaging be used to invoke a procedure in another application?
- Competing Consumers - How can a messaging client process multiple messages concurrently?
- Composed Message Processor - How can you maintain the overall message flow when processing a message consisting of multiple elements, each of which may require different processing?
- Content Enricher - How do we communicate with another system if the message originator does not have all the required data items available?
- Content Filter - How do you simplify dealing with a large message, when you are interested only in a few data items?
- Content-Based Router - How do we handle a situation where the implementation of a single logical function (e.g., inventory check) is spread across multiple physical systems?
- Control Bus - How can we effectively administer a messaging system that is distributed across multiple platforms and a wide geographic area?
- Correlation Identifier - How does a requestor that has received a reply know which request this is the reply for?
- Datatype Channel - How can the application send a data item such that the receiver will know how to process it?
- Dead Letter Channel - What will the messaging system do with a message it cannot deliver?
- Detour - How can you route a message through intermediate steps to perform validation, testing or debugging functions?
- Document Message - How can messaging be used to transfer data between applications?
- Durable Subscriber - How can a subscriber avoid missing messages while it is not listening for them?
- Dynamic Router - How can you avoid the dependency of the router on all possible destinations while maintaining its efficiency?
- Envelope Wrapper - How can existing systems participate in a messaging exchange that places specific requirements on the message format, such as message header fields or encryption?
- Event Message - How can messaging be used to transmit events from one application to another?
- Event-Driven Consumer - How can an application automatically consume messages as they become available?
- Format Indicator - How can a messages data format be designed to allow for possible future changes?
- [Guaranteed Delivery](https://www.enterpriseintegrationpatterns.com/patterns/messaging/GuaranteedMessaging.html) - How can the sender make sure that a message will be delivered, even if the messaging system fails?
- [Idempotent Receiver](https://www.enterpriseintegrationpatterns.com/patterns/messaging/IdempotentReceiver.html) - How can a message receiver deal with duplicate messages?
- [Invalid Message Channel](https://www.enterpriseintegrationpatterns.com/patterns/messaging/InvalidMessageChannel.html) - How can a messaging receiver gracefully handle receiving a message that makes no sense?
- [Message](https://www.enterpriseintegrationpatterns.com/patterns/messaging/Message.html) - How can two applications connected by a message channel exchange a piece of information?
- [Message Dispatcher](https://www.enterpriseintegrationpatterns.com/patterns/messaging/MessageDispatcher.html) - How can multiple consumers on a single channel coordinate their message processing?
- [Message Expiration](https://www.enterpriseintegrationpatterns.com/patterns/messaging/MessageExpiration.html) - How can a sender indicate when a message should be considered stale and thus shouldnt be processed?
- Message Translator - How can systems using different data formats communicate with each other using messaging?
- Message Broker - How can you decouple the destination of a message from the sender and maintain central control over the flow of messages?
- Message Bus - What is an architecture that enables separate applications to work together, but in a decoupled fashion such that applications can be easily added or removed without affecting the others?
- Message Channel - How does one application communicate with another using messaging?
- Message Endpoint - How does an application connect to a messaging channel to send and receive messages?
- Message Filter - How can a component avoid receiving uninteresting messages?
- Message History - How can we effectively analyze and debug the flow of messages in a loosely coupled system?
- Message Router - How can you decouple individual processing steps so that messages can be passed to different filters depending on a set of conditions?
- Message Sequence - How can messaging transmit an arbitrarily large amount of data?
- Message Store - How can we report against message information without disturbing the loosely coupled and transient nature of a messaging system?
- Messaging Bridge - How can multiple messaging systems be connected so that messages available on one are also available on the others?
- Messaging Gateway - How do you encapsulate access to the messaging system from the rest of the application?
- Messaging Mapper - How do you move data between domain objects and the messaging infrastructure while keeping the two independent of each other?
- Normalizer - How do you process messages that are semantically equivalent, but arrive in a different format?
- Pipes and Filters - How can we perform complex processing on a message while maintaining independence and flexibility?
- Point-to-Point Channel - How can the caller be sure that exactly one receiver will receive the document or perform the call?
- Polling Consumer - How can an application consume a message when the application is ready?
- Process Manager - How do we route a message through multiple processing steps when the required steps may not be known at design-time and may not be sequential?
- Publish-Subscribe Channel - How can the sender broadcast an event to all interested receivers?
- Recipient List - How do we route a message to a list of dynamically specified recipients?
- Request-Reply - When an application sends a message, how can it get a response from the receiver?
- Resequencer - How can we get a stream of related but out-of-sequence messages back into the correct order?
- Return Address - How does a replier know where to send the reply?
- Routing Slip - How do we route a message consecutively through a series of processing steps when the sequence of steps is not known at design-time and may vary for each message?
- Scatter-Gather - How do you maintain the overall message flow when a message needs to be sent to multiple recipients, each of which may send a reply?
- Selective Consumer - How can a message consumer select which messages it wishes to receive?
- Service Activator - How can an application design a service to be invoked both via various messaging technologies and via non-messaging techniques?
- Smart Proxy - How can you track messages on a service that publishes reply messages to the Return Address specified by the requestor?
- Splitter - How can we process a message if it contains multiple elements, each of which may have to be processed in a different way?
- Test Message - What happens, though, if a component is actively processing messages, but garbles outgoing messages due to an internal fault?
- Transactional Client - How can a client control its transactions with the messaging system?
- Wire Tap - How do you inspect messages that travel on a point-to-point channel?
Integration Styles
Market Analysis
- API Management
- Gartner Critical Capabilities for Full Life Cycle API Management
- Gartner Magic Quadrant for Full Life Cycle API Management
- The Forrester Wave: API Management Solutions
- BPM
- Gartner Critical Capabilities for Intelligent Business Process Management Suites
- Gartner Magic Quadrant for Intelligent Business Process Management Suites
- ETL
- Gartner Critical Capabilities for Data Integration Tools
- Gartner Magic Quadrant for Data Integration Tools
- iPaaS
- Gartner Critical Capabilities for Enterprise Integration Platform as a Service
- Gartner Magic Quadrant for Enterprise Integration Platform as a Service
- The Forrester Wave: Enterprise iPaaS
- RPA
- Gartner Critical Capabilities for Robotic Process Automation
- Gartner Magic Quadrant for Robotic Process Automation
- The Forrester Wave: Robotic Process Automation
Protocols
- AMQP 0-9-1 - Advanced Message Queuing Protocol (AMQP) Version 0-9-1.
- AMQP 1.0 - Advanced Message Queuing Protocol (AMQP) Version 1.0.
- HTTP - The Hypertext Transfer Protocol (HTTP) is an application layer protocol for distributed, collaborative, hypermedia information systems.
- JSON-RPC - Designed to be simple, it's a stateless, lightweight remote procedure call (RPC) protocol.
- MQTT - The Message Queuing Telemetry Transport (MQTT) is a lightweight, publish-subscribe network protocol that transports messages between devices.
- SOAP - Simple Object Access Protocol is XML-based messaging protocol.
- STOMP - Simple (or Streaming) Text Orientated Messaging Protocol.
Standard APIs
- JDBC - Java Database Connectivity (JDBC) API provides universal data access from the Java programming language.
- JMS - Java Message Service (JMS) API.
- ODBC - Open Database Connectivity (ODBC) is a widely accepted application programming interface (API) for database access.
- OData - An open protocol that allows the creation and consumption of queryable and interoperable REST APIs in a simple and standard way.
Structure and Validation
- JSON Schema - A powerful tool for validating the structure of JSON data.
- XML Schema - Offers facilities for describing the structure and constraining the contents of XML documents.
Contributing
Your contributions are always welcome! Please take a look at the contribution guidelines first.
Awesome Node-RED

Curated list of useful resources for Node-RED.
Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.
It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click.
Contents
Installation
- Running locally
- Running under Docker
- c't-Smart-Home - A ready-to-use setup for home automation maintained by german computer magazine c't.
- Home Assistant Community Add-on - Starts an instance within Home Assistant and communicates with it.
- ioBroker node-red Adapter - Starts an instance within ioBroker and communicates with it.
- openHAB running on openHABian - Install Node-RED using openhab-config from command line, choose it from "Optional Components".
- RedMatic - Install Node-RED on a CCU3, smart home automation hardware from the manufacturer eQ-3, popular especially in Germany.
Documentation
Nodes
Analysis
- badwords - Analyses the payload and tries to filter out any messages containing bad swear words. This only operates on payloads of type string. Everything else is blocked.
- wordpos - Analyses the payload and classifies the part-of-speech of each word. The resulting message has msg.pos added with the results. A word may appear in multiple categories (eg, 'great' is both a noun and an adjective).
Database
- influxdb - Save and query data from an InfluxDB time series database.
- mssql-plus - Execute queries, stored procedures and bulk inserts in Microsoft SQL Server and Azure Databases SQL2000 ~ SQL2019.
- stackhero-influxdb-v2 - Save and query data from an InfluxDB v2 time series database.
- stackhero-mysql - Connect to a MySQL or a MariaDB database, using TLS (SSL) and compatible with "Caching SHA2 password" authentication method (MySQL >= 8).
- leveldb - Uses LevelDB for a simple key value pair database.
- mysql - Allows basic access to a MySQL database.
- sqlite - Supports read and write to a local sqlite database.
Development
- typescript-starter - Quick-start template repository for creating new node sets in TypeScript.
Function
- datagenerater - Generate dummy data in various formats, names, addresses, emails, numbers, words, etc.
- pidcontrol - A PID control node for numeric inputs - provides simple controll loop feedback capability.
- random - Random number generator - can generate integers for x to y - or floats between x and y.
- rbe - Provide report by exception and deadband / bandgap capability for simple inputs.
- smooth - Provide various functions across several previous values, including max, min, mean, high and low pass filters.
Hardware
- arduino - Uses firmata protocol to talk to the board.
- beaglebone - Nodes for the Beaglebone Black.
- blink1 - Blink1 USB LED from ThingM.
- blinkstick - BlinkStick USB LED device.
- digirgb - DigiSpark RGB USB LED.
- heatmiser - Temperature and frost protection for Heatmiser thermostats.
- intel-galileo - A collection for the Intel Galileo and Edison.
- ledborg - LEDborg plug on module.
- makeymakey - Read from a MakeyMakey input device.
- pi-gpiod - An alternative to the default PI GPIO nodes that allows remote access.
- pi-mcp3008 - Read from MCP300x series Analogue to Digital Converter chips via the SPI bus.
- pi-neopixel - Drive a strip of NeoPixels directly.
- pi-unicorn-hat - Controls a Pimorini Unicorn HAT 8x8 LED display.
- pibrella - Controls a Pibrella add-on board.
- piface - PiFace interface module.
- piliter - Controls a Pimorini Pi-LITEr 8 LED add-on board.
- sensortag - Reads data from the Ti Bluetooth Low Energy SensorTag device.
- wemo - Drive a WeMo socket and switch.
- scanBLE - Scans for a particular Bluetooth Low Energy device.
I/O
- discovery - Discovers other Avahi/Bonjour services on the network.
- emoncms - Post to an Emoncms server.
- noble-bluetooth - Based on noble for interaction with Bluetooth Low Energy devices.
- mindconnect - Upload timeseries, files and events to MindSphere.
- modbus - All in one Modbus TCP and Serial package.
- mqlight - Adds nodes to send and receive using MQlight.
- ping - Pings a machine and returns the trip time in mS.
- s7 - Interact with Siemens S7 PLCs.
- serialport - Send messages to and receive messages from a physical serial port.
- snmp - SNMP receivers for single OIDs or OID tables.
- stomp - Publish and subscribe to and from a STOMP server.
- wol - Sends a Wake-On-LAN magic packet to the mac address specified.
- xiaomi-ble - Single "Xiaomi BLE" node that gets all known data from Xiaomi BLE (Bluetooth 4).
Parsers
- base64 - Converts a payload to/from base64 encoded format.
- geohash - Converts a lat, lon payload to/from geohash format.
- msgpack - Converts a payload to/from msgpack binary packed format.
- what3words - Encodes or Decodes a lat, lon position into what3words text format.
Smarthome
- alexa-home - Connect with Alexa just wihtin the local network - no extra cloud stuff is required.
- alexa-home-skill-v3 - Controls things via Alexa and Google Home.
- alexa-home-skill-v3-web - Web Service for Alexa and Google Home.
- alexa-home-skill-v3-lambda - Lambda function for node-red-alexa-home-skill-v3-web.
- alexa-remote2-applestrudel - Interacting with the Alexa API. Emulates routine behaviour, control and query your devices.
- avr-yamaha - Integrate and control YAMAHA™ audio/video receiver via YNCA protocol.
- ccu - Connect with Homematic, a series of smart home automation hardware from the manufacturer eQ-3, popular especially in Germany.
- deconz - Access Zigbee 3.0 (Z30), Zigbee Home Automation (ZHA) and Zigbee Light Link (ZLL) lights via deCONZ.
- fritz - Provides easy access to your AVM Fritz!Box. Read and write the configuration including the VoIP and Dect configuration.
- fritzapi - Controls smart home DECT devices and guest wifi through an AVM Fritz!Box.
- harmony - Controls devices connected to a Logitech™ Harmony Hub.
- home-assistant - Connect with Home Assistant.
- home-assistant-websocket - Various nodes using websockets to assist in setting up communication with Home Assistant.
- homebridge-automation - Integrate Homebridge Accessories into flows.
- homee - Access the homee api and create virtual devices for homee.
- homekit-bridged - Imitate HomeKit devices.
- huemagic - Controls Philips Hue bridges, lights, groups, scenes, rules, taps, switches, buttons, motion sensors, temperature sensors and Lux sensors.
- lgtv - Controls LG webOS Smart TVs.
- loxone - Connect to the Loxone Miniserver.
- knx-ultimate - Controls KNX intallation. With optional ETS group address importer and gateway simulation.
- openhab3 - Integration of openHAB item states and commands.
- power-saver - Automatically save money on variable electricity prices.
- smartnora - Google smart home Action integration via Smart NORA.
- sonos-plus - Controls Sonos player in your local network.
- tado-client - Connect to the Tado Web API.
- tahoma - Controls a Somfy Tahoma box (Roller shutters, etc.).
- tasmota - Tasmota devices integration for building automation.
- tuya-smart - Interface with smart plugs, bulbs, etc. from tuya.
- zigbee - Controls Zigbee Devices via a CC253x Module.
- zigbee2mqtt - Zigbee2mqtt connectivity.
- zwave-js - Integrates Z-Wave node based on Z-Wave JS.
Social
- chatbot - Full featured chat bot for Telegram, Facebook Messenger, Viber, Twilio and Slack.
- discord-advanced - Interact with Discord, via Discord.js.
- dweetio - Uses dweetio to send/receive messages.
- email - Sends and receives simple emails from services like gmail or smtp or imap servers.
- feedparser - Reads messages from an atom or rss feed.
- irc - Connect to an IRC server to send and receive messages.
- notify - Uses Growl to provide a desktop popup. Only useful on the local Apple machine.
- prowl - Uses Prowl to push to an Apple device that has the Prowl app installed.
- pushbullet - Uses PushBullet to push an Android device that has the app installed.
- pusher - Publish-Subscribe to a Pusher channel/event.
- pushover - Sends alerts via Pushover.
- PushStaq - Send real time alerts using Push Notifications from your Node-Red flows to any device with PushStaq.
- slack - Interact with the Slack API.
- sms77 - Uses sms77 service for SMS, text-to-speech calls and number lookups.
- telegrambot - Contains a receiver and a sender node which act as a Telegram Bot.
- twilio - Uses Twilio service to send/receive text messages.
- whin - Send and receive whatsapps from within a nodered flow.
- xmpp - Connect to an XMPP server to send and receive messages.
- open-wa (whatsapp) - Efficiently connect to remote instances of your open-wa whatsapp automate servers.
System
- aedes - MQTT Broker based on Aedes.
- dockerode - Connect to Docker daemon.
- os - Obtain system information.
Time
- blindcontroller - Automate the control of household roller blinds based on the current position of the sun.
- bigtimer - Timing node with support for dusk/sunset dawn/sunrise and variations also day/week/month (and special days) control. The node offers outputs suitable for MQTT, speech and databases.
- suncalc - Uses the suncalc module to generate an output at sunrise and sunset based on a specified location.
- simpletime - Adds time and date payloads with various formatting options, which can be retreived and used later in the flow.
- sun-position - Timer based flow control with dusk, dawn (and variations) and much more. Additional you can get sun and moon position or to control a flow by sun or moon position.
- timeswitch - Lets the user set simple repeating timers for example for simple heating control, etc.
Utility
- actionflows - Brings easy to use loops and OOP (object oriented programming) features.
- alarm - Build your own home alarm system with any number of panels, zones, sensors, triggers and automations.
- bool-gate - Boolean logic gates.
- daemon - Starts up (calls) a long running system program and pipes STDIN, STDOUT and STDERR to and from that process.
- exif - Extracts GPS and other EXIF information from a passed in jpeg image.
- german-holidays - Getting german holidays or information if today/tomorrow is a holiday.
- ical-events - Get events from an ical-URL, a caldav-server or from iCloud via kalender-events.
- interval-length - Measure the (time) interval length between successive messages.
- moment - Produces a nicely formatted Date/Time string using the Moment.js library.
- owntracks - Converts Owntrack Messages into standard geo message and deals with encrypted locations.
- persist - Persist data over Node-RED restarts and deploys.
- self-healing - Making Node-RED more resilient by adding self-healing capabilities.
- state-machine - Wraps around the JavaScript State Machine to implement a finite state machine.
- string - Provides native and extended chainable JavaScript string parsing and manipulation methods.
- twc-weather - The Weather Company and Weather Underground Personal Weather Station APIs.
- users - Quickly build a very simple user access control for HTTP-based flows.
- watson - Interact with the IBM Watson services in IBM Cloud.
UI
- browser-utils - Add browser functionality such as file upload, camera & microphone.
- node-red-dashboard - Create a live data dashboard.
- https://flows.nodered.org/collection - Dashboard extra nodes.
- flow-manager - Separates flow json to multiple files.
- iglass - Interaction with iGlass Automation blocks.
- image-output - Simple image output node. Useful for previewing images (of face detecting, object recognition etc.) inside the flow editor.
- uibuilder - Create dynamic web interfaces using any (or no) front end libraries for convenience.
- web-worldmap - Provide a world map web page for plotting "things" on.
Community
- HomeAssistant Forum
- Node-RED Forum
- Node-RED Blog
- Node-RED User Group Japan
- Redmatic Forum
- Slack
- Stack Overflow
- Steves Node-RED Guide
- YouTube
Contributing
Contributions welcome! Read the contribution guidelines first.
Awesome Low Code 
A curated list of Awesome Low Code platforms, vendors, tools and resources.
Low Code platforms provide a development and runtime environment used to create all kinds of software application through an intuitive experience, with minimal to no coding skills requires.
Contributions welcome! Please, read the contribution guidelines first.
Contents
- Platforms
- Citizen Automation and Development Platform
- Low Code Application Platform
- Business Process Management
- Robotic Process Automation
- Intelligent Virtual Agent
- Integration Platform as a Service
- Low Code API Management Platform
- Tools, Extensions and Frameworks
- Reference Resources
- Learning Resources
- Samples, Templates and Solutions
- Community
- Blogs
- Other Lists
Platforms
Citizen Automation and Development Platform
A development platform for business users (citizen developer is a term for business users, not a role or a job title) that doesn't require coding skills and is based on intuitive drag & drop interfaces. Applications created in such platforms are usually made to automate or improve efficiency of business processes and of personal productivity, without going through IT. CADP are usually consumed as SaaS.
- Power Automate (Microsoft) - An online workflow service that automates actions across the most common apps and services.
- Zapier - Allows its users to easily connect and automate the apps they use.
- Einstein Automate (Salesforce) - Empower your employees to do more of what matters by automating business processes easily without needing specialized development skills.
- Jira Automation (Atlassian) - Automation is a No Code rule builder that enables customers to build if-this-then-that-rules based on events in Jira.
- Trello Power-Ups (Atlassian) - Helps teams meet their unique business needs through adaptable features and integrations.
- Flow (Zoho) - An integration platform that helps you connect your apps without any code.
Low Code Application Platform
An advanced development platform that enable organizations to create powerful enterprise grade applications with no to minimum extra coding requirements with easy to use drag & drop interfaces. Since such platforms simplify the application development process, more types of personas can contribute and accelerate the development process. Those platforms are PaaS development platforms, and can also reduce development cost and maintenance.
- Power Apps (Microsoft) - Build apps in hours—not months—that easily connect to data, use Excel-like expressions to add logic, and run on the web, iOS, and Android devices.
- Power BI - Unify data from many sources to create interactive, immersive dashboards and reports that provide actionable insights and drive business results.
- Appian - Provides a Low Code software development platform that enables organizations to rapidly develop powerful applications.
- Mendix - The fastest and easiest high-productivity platform to create and continuously improve multi-channel applications at scale.
- OutSystems - A Low Code platform that enables businesses to develop, deploy, and manage enterprise-grade apps.
- Now Platform (ServiceNow) - Drive connected digital workflows across the enterprise, deliver modern, consumer-like experiences, and accelerate time-to-value and innovation.
- Creator (Zoho) - Build applications from scratch without having to write endless lines of code.
- BettyBlocks - The #1 No Code platform for innovation, agility and empowerment. Used to create mobile, business and web applications at lightning speed.
- APEX (Oracle) - A Low Code development platform that enables you to build scalable, secure enterprise apps, with world-class features, that can be deployed anywhere.
- Salesforce Platform, prev. Force.com (Salesforce) - Click, create, and ship from anywhere with Low Code.
- n8n - Workflow automation tool with many integrations and with fair-code license.
Business Process Management
A Low Code Application Platform dedicated to streamlining business processes. These platforms enable business users to automate complicated business workflows and actions with no coding background by providing an easy to use drag & drop interface. Automations that are built in such platforms are usually built in an event-driven mode (triggers) around critical business processes. BPA can be consumed via a SaaS or an on-premises appliance.
- PegaSystems - Provides business process and customer relationship management solutions for organizations.
- AgilePoint - Deploy business-changing ideas in minutes, not months, with the AgilePoint digital process automation platform.
- QuickBase - Helps businesses quickly turn ideas about better ways to work into apps that make them more efficient, informed, and productive.
- Creatio - A global software company providing a leading Low Code platform for process management and CRM.
- AuraQuantic - A digital platform designed for business users to easily and rapidly build unlimited processes and applications.
- Kintone - The best productivity software to business transformation Platform.
- ProntoForms - Provides mobile business solutions to automate field sales, field service, and field data collection.
- TrackVia - The leading Low Code workflow platform for operations.
- NewGen - Simplify your complex, content-driven business needs with one comprehensive Low Code platform.
Robotic Process Automation
An automation platform that helps organizations remove human manual intensive processes and avoid errors, as well as making sure human required attention is efficiently maximized only on critical aspects of work. RPA technology introduced the concept of software robots, built by the end-user humans, to perform repetitive manual intensive processes in an automation fashion, and can understand and processes computer interactions with SaaS and on-premises applications just like a human-being. RPA technologies involve building, deploying, and managing those software robots.
- Power Automate Desktop (Microsoft) - Automate everything from simple data transfers to complex business workflows—directly from your desktop—using RPA desktop flows in Power Automate Desktop.
- Servicetrace RPA (Salesforce) - Develop innovation in robotic solutions.
- Appian RPA - Orchestrate RPA bots with people, systems, and data in a single workflow, scaling automation across your entire organization.
- Workato RPA - Integration-powered RPA for Intelligent Automation.
Intelligent Virtual Agent
A software application which is built and configured by its users to perform manual repetitive and error-prone tasks in an automated faster fashion. Bots are built and configured mostly in Low Code platforms via easy to use drag & drop interfaces. Examples to the use of bots could be seen in user conversation via messaging and voice platforms that help them take decisions and act through business processes.
- Power Virtual Agents (Microsoft) - Lets you create powerful chatbots that can answer questions posed by your customers, other employees, or visitors to your website or service.
- Workato Workbot - A bot platform that allows you to build customizable workflows.
Integration Platform as a Service
A platform that help organizations control, simplify and standardize the way that applications are integrated (internally developed or 3rd party SaaS). Such platforms help to share data between applications, automate business workflows and remove manual error prone ones, in an advanced controlled manner. iPaaS also enables more types of personas to integrate applications, removing the constant dependency on software developers. iPaaS can be deployed within an organization either as a SaaS or as on-premises appliance.
- Azure Logic Apps (Microsoft) - A cloud-based platform for creating and running automated workflows that integrate your apps, data, services, and systems.
- MuleSoft (Salesforce) - Provides an integration and API platform that makes it easy to connect data from any system to create connected experiences.
- Workato - An enterprise automation platform that helps organizations work faster and smarter without compromising governance and security.
Low Code API Management Platform
A Low Code platform which supports full lifecycle API management, including creation, management and monitoring of API endpoints.
- MuleSoft - Manage your API lifecycle, quickly design, test, and publish APIs.
- Workato API Management - Turn callable recipes into endpoints and organize the endpoints into API collections, making it easier for users to find and consume the endpoints through other recipes or third-party apps, without requiring access to your Workato account.
Tools, Extensions and Frameworks
Power Platform (Microsoft)
- XrmToolBox - An application that gather multiple tools to ease the customization and configuration of Microsoft Dynamics CRM/365/Dataverse/PowerApps.
- Levelup for Dynamics CRM - Chrome, Edge Chromium and Firefox Extension for Dynamics CRM/365/Power Apps Power users.
- Power Platform Adoption Framework - The framework that enables people to create beautiful and useful things on Power Platform deployed in large, enterprise-grade organizations.
- Flow & Power Apps Migrator - Converts SharePoint Data sources for the MS Flow and PowerApps to a new tenant of your choice.
- SharePoint Workflow Converter - A proof-of-concept C# console application for retrieving legacy 2010 & 2013 custom SharePoint workflow definition files, and creating new Power Automate flows programmatically.
Reference Resources
Power Platform (Microsoft)
- Power Platform Connectors - This is a repository for Microsoft Power Automate, Power Apps, and Azure Logic Apps connectors.
- Microsoft Power Fx - Power Fx Low Code programming language.
Workato
- Custom Connector Docs - Source files for Workato custom connector documentation.
Learning Resources
Power Platform (Microsoft)
- Power Fx Samples - This repository contains samples for Power Fx Low Code programming language.
- Power Apps & Azure Lab - Repository to host the PowerApps Azure Lab.
- PL-900: Power Platform Fundamentals - Power Platform Fundamentals course materials.
Workato
- Embedding Guide - A guided example on how to use Workato embedded.
Samples, Templates and Solutions
Power Platform (Microsoft)
- Power Apps Samples - Contains curated community Microsoft Power App samples.
- PowerApps Samples - Power Apps samples by Power Nimbus.
- Power Apps Branding Template - A template to empower developers and reduce time wasted on control changes.
- SharePoint Power Platform Solutions - Sample PowerApps solutions designed to be used in SharePoint context.
- Power Automate Samples - Contains curated community samples for Microsoft Power Automate.
- Automatic travel time - Automatic travel time in your Office 365 calendar.
- Message Center in Teams - Message Center in Teams is a simple PowerAutomate Solution to gather Message Center Announcement and post them in a Teams Channel.
- Consume Power BI - Solution based on either Powershell or Power Automate (Flow) to consume the recently released Power BI Asynchronous Unified Scanning API.
- Post List Item To Twitter - A Microsoft Power Automate Flow to Post a SharePoint List Item to Twitter along with media content.
Workato
- Solution Marketplace - A curated list of ready-to-use solutions built by Workato and vendors.
- Support History - A public repository of resolved support tickets to help tackle issues.
Community
Power Platform (Microsoft)
- Microsoft Power Apps Official Community
- Microsoft Power Automate Official Community
- Microsoft Power Virtual Agents Official Community
- Microsoft Power BI Official Community
- PowP.Co Discord Community - A Discord community of Power Platform enthusiasts.
Workato
- Workato Communities - The official Workato communities website.
- Systematic - The only community for business systems.
Blogs
Power Platform (Microsoft)
- Zenity - Low Code security and governance.
- Addressing the Low Code Security Elephant in the Room - The shared responsibility model for Low Code applications.
- PowPco - Single-stop community for everything Power Platform Community related.
Workato
- The Connector - Workato blog on Business Automation.
Other Lists
Power Platform (Microsoft)
- Awesome Microsoft Power Platform - A collection of awesome things regarding the Power Platform ecosystem.
- Awesome No Code Low Code - A collection of awesome No Code and Low Code resources.


































































