mirror of
https://github.com/sindresorhus/awesome.git
synced 2024-12-22 08:56:08 +00:00
fabf71bb64
Co-authored-by: Sindre Sorhus <sindresorhus@gmail.com>
60 KiB
Executable File
60 KiB
Executable File
Check out my latest iPhone app Photo Widget which lets you add photos to your home screen
My open source work is supported by the community
Special thanks to:What is an awesome list? Contribution guide Creating a list Twitter Stickers & t-shirts
Follow the Awesome Twitter account for updates on new list additions.
Just type awesome.re
to go here. Check out my blog and follow me on Twitter.
Contents
- Platforms
- Programming Languages
- Front-End Development
- Back-End Development
- Computer Science
- Big Data
- Theory
- Books
- Editors
- Gaming
- Development Environment
- Entertainment
- Databases
- Media
- Learn
- Security
- Content Management Systems
- Hardware
- Business
- Work
- Networking
- Decentralized Systems
- Higher Education
- Events
- Testing
- Miscellaneous
- Related
Platforms
- Node.js - Async non-blocking event-driven JavaScript runtime built on Chrome's V8 JavaScript engine.
- Cross-Platform - Writing cross-platform code on Node.js.
- Frontend Development
- iOS - Mobile operating system for Apple phones and tablets.
- Android - Mobile operating system developed by Google.
- IoT & Hybrid Apps
- Electron - Cross-platform native desktop apps using JavaScript/HTML/CSS.
- Cordova - JavaScript API for hybrid apps.
- React Native - JavaScript framework for writing natively rendering mobile apps for iOS and Android.
- Xamarin - Mobile app development IDE, testing, and distribution.
- Linux
- Containers
- eBPF - Virtual machine that allows you to write more efficient and powerful tracing and monitoring for Linux systems.
- Arch-based Projects - Linux distributions and projects based on Arch Linux.
- macOS - Operating system for Apple's Mac computers.
- watchOS - Operating system for the Apple Watch.
- JVM
- Salesforce
- Amazon Web Services
- Windows
- IPFS - P2P hypermedia protocol.
- Fuse - Mobile development tools.
- Heroku - Cloud platform as a service.
- Raspberry Pi - Credit card-sized computer aimed at teaching kids programming, but capable of a lot more.
- Qt - Cross-platform GUI app framework.
- WebExtensions - Cross-browser extension system.
- RubyMotion - Write cross-platform native apps for iOS, Android, macOS, tvOS, and watchOS in Ruby.
- Smart TV - Create apps for different TV platforms.
- GNOME - Simple and distraction-free desktop environment for Linux.
- KDE - A free software community dedicated to creating an open and user-friendly computing experience.
- .NET
- Amazon Alexa - Virtual home assistant.
- DigitalOcean - Cloud computing platform designed for developers.
- Flutter - Google's mobile SDK for building native iOS and Android apps from a single codebase written in Dart.
- Home Assistant - Open source home automation that puts local control and privacy first.
- IBM Cloud - Cloud platform for developers and companies.
- Firebase - App development platform built on Google Cloud Platform.
- Robot Operating System 2.0 - Set of software libraries and tools that help you build robot apps.
- Adafruit IO - Visualize and store data from any device.
- Cloudflare - CDN, DNS, DDoS protection, and security for your site.
- Actions on Google - Developer platform for Google Assistant.
- ESP - Low-cost microcontrollers with WiFi and broad IoT applications.
- Deno - A secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust.
Programming Languages
- JavaScript
- Promises
- Standard Style - Style guide and linter.
- Must Watch Talks
- Tips
- Network Layer
- Micro npm Packages
- Mad Science npm Packages - Impossible sounding projects that exist.
- Maintenance Modules - For npm packages.
- npm - Package manager.
- AVA - Test runner.
- ESLint - Linter.
- Functional Programming
- Observables
- npm scripts - Task runner.
- 30 Seconds of Code - Code snippets you can understand in 30 seconds.
- Ponyfills - Like polyfills but without overriding native APIs.
- Swift - Apple's compiled programming language that is secure, modern, programmer-friendly, and fast.
- Python - General-purpose programming language designed for readability.
- Asyncio - Asynchronous I/O in Python 3.
- Scientific Audio - Scientific research in audio/music.
- CircuitPython - A version of Python for microcontrollers.
- Data Science - Data analysis and machine learning.
- Typing - Optional static typing for Python.
- MicroPython - A lean and efficient implementation of Python 3 for microcontrollers.
- Rust
- Haskell
- PureScript
- Go
- Scala
- Scala Native - Optimizing ahead-of-time compiler for Scala based on LLVM.
- Ruby
- Clojure
- ClojureScript
- Elixir
- Elm
- Erlang
- Julia - High-level dynamic programming language designed to address the needs of high-performance numerical analysis and computational science.
- Lua
- C
- C/C++ - General-purpose language with a bias toward system programming and embedded, resource-constrained software.
- R - Functional programming language and environment for statistical computing and graphics.
- D
- Common Lisp - Powerful dynamic multiparadigm language that facilitates iterative and interactive development.
- Perl
- Groovy
- Dart
- Java - Popular secure object-oriented language designed for flexibility to "write once, run anywhere".
- Kotlin
- OCaml
- ColdFusion
- Fortran
- PHP - Server-side scripting language.
- Composer - Package manager.
- Pascal
- AutoHotkey
- AutoIt
- Crystal
- Frege - Haskell for the JVM.
- CMake - Build, test, and package software.
- ActionScript 3 - Object-oriented language targeting Adobe AIR.
- Eta - Functional programming language for the JVM.
- Idris - General purpose pure functional programming language with dependent types influenced by Haskell and ML.
- Ada/SPARK - Modern programming language designed for large, long-lived apps where reliability and efficiency are essential.
- Q# - Domain-specific programming language used for expressing quantum algorithms.
- Imba - Programming language inspired by Ruby and Python and compiles to performant JavaScript.
- Vala - Programming language designed to take full advantage of the GLib and GNOME ecosystems, while preserving the speed of C code.
- Coq - Formal language and environment for programming and specification which facilitates interactive development of machine-checked proofs.
- V - Simple, fast, safe, compiled language for developing maintainable software.
Front-End Development
- ES6 Tools
- Web Performance Optimization
- Web Tools
- CSS - Style sheet language that specifies how HTML elements are displayed on screen.
- React - App framework.
- Relay - Framework for building data-driven React apps.
- React Hooks - A new feature that lets you use state and other React features without writing a class.
- Web Components
- Polymer - JavaScript library to develop Web Components.
- Angular - App framework.
- Backbone - App framework.
- HTML5 - Markup language used for websites & web apps.
- SVG - XML-based vector image format.
- Canvas
- KnockoutJS - JavaScript library.
- Dojo Toolkit - JavaScript toolkit.
- Inspiration
- Ember - App framework.
- Android UI
- iOS UI
- Meteor
- BEM
- Flexbox
- Web Typography
- Web Accessibility
- Material Design
- D3 - Library for producing dynamic, interactive data visualizations.
- Emails
- jQuery - Easy to use JavaScript library for DOM manipulation.
- Web Audio
- Offline-First
- Static Website Services
- Cycle.js - Functional and reactive JavaScript framework.
- Text Editing
- Motion UI Design
- Vue.js - App framework.
- Marionette.js - App framework.
- Aurelia - App framework.
- Charting
- Ionic Framework 2
- Chrome DevTools
- PostCSS - CSS tool.
- Draft.js - Rich text editor framework for React.
- Service Workers
- Progressive Web Apps
- choo - App framework.
- Redux - State container for JavaScript apps.
- webpack - Module bundler.
- Browserify - Module bundler.
- Sass - CSS preprocessor.
- Ant Design - Enterprise-class UI design language.
- Less - CSS preprocessor.
- WebGL - JavaScript API for rendering 3D graphics.
- Preact - App framework.
- Progressive Enhancement
- Next.js - Framework for server-rendered React apps.
- Hyperapp - Tiny JavaScript library for building web apps.
- lit-html - HTML templating library for JavaScript.
- JAMstack - Modern web development architecture based on client-side JavaScript, reusable APIs, and prebuilt markup.
- WordPress-Gatsby - Web development technology stack with WordPress as a back end and Gatsby as a front end.
- Mobile Web Development - Creating a great mobile web experience.
- Storybook - Development environment for UI components.
- Blazor - .NET web framework using C#/Razor and HTML that runs in the browser with WebAssembly.
- PageSpeed Metrics - Metrics to help understand page speed and user experience.
- Tailwind CSS - Utility-first CSS framework for rapid UI development.
- Seed - Rust framework for creating web apps running in WebAssembly.
- Web Performance Budget - Techniques to ensure certain performance metrics for a website.
- Web Animation - Animations in the browser with JavaScript, CSS, SVG, etc.
- Yew - Rust framework inspired by Elm and React for creating multi-threaded frontend web apps with WebAssembly.
- Material-UI - Material Design React components for faster and easier web development.
- Building Blocks for Web Apps - Standalone features to be integrated into web apps.
Back-End Development
- Flask - Python framework.
- Docker
- Vagrant - Automation virtual machine environment.
- Pyramid - Python framework.
- Play1 Framework
- CakePHP - PHP framework.
- Symfony - PHP framework.
- Laravel - PHP framework.
- Education
- TALL Stack - Full-stack development solution featuring libraries built by the Laravel community.
- Rails - Web app framework for Ruby.
- Gems - Packages.
- Phalcon - PHP framework.
- Useful
.htaccess
Snippets - nginx - Web server.
- Dropwizard - Java framework.
- Kubernetes - Open-source platform that automates Linux container operations.
- Lumen - PHP micro-framework.
- Serverless Framework - Serverless computing and serverless architectures.
- Apache Wicket - Java web app framework.
- Vert.x - Toolkit for building reactive apps on the JVM.
- Terraform - Tool for building, changing, and versioning infrastructure.
- Vapor - Server-side development in Swift.
- Dash - Python web app framework.
- FastAPI - Python web app framework.
Computer Science
- University Courses
- Data Science
- Machine Learning
- Tutorials
- ML with Ruby - Learning, implementing, and applying Machine Learning using Ruby.
- Core ML Models - Models for Apple's machine learning framework.
- H2O - Open source distributed machine learning platform written in Java with APIs in R, Python, and Scala.
- Software Engineering for Machine Learning - From experiment to production-level machine learning.
- AI in Finance - Solving problems in finance with machine learning.
- Speech and Natural Language Processing
- Spanish
- NLP with Ruby
- Question Answering - The science of asking and answering in natural language with a machine.
- Natural Language Generation - Generation of text used in data to text, conversational agents, and narrative generation applications.
- Linguistics
- Cryptography
- Papers - Theory basics for using cryptography by non-cryptographers.
- Computer Vision
- Deep Learning - Neural networks.
- TensorFlow - Library for machine intelligence.
- TensorFlow.js - WebGL-accelerated machine learning JavaScript library for training and deploying models.
- Papers - The most cited deep learning papers.
- Education
- Deep Vision
- Open Source Society University
- Functional Programming
- Empirical Software Engineering - Evidence-based research on software systems.
- Static Analysis & Code Quality
- Information Retrieval - Learn to develop your own search engine.
- Quantum Computing - Computing which utilizes quantum mechanics and qubits on quantum computers.
Big Data
- Big Data
- Public Datasets
- Hadoop - Framework for distributed storage and processing of very large data sets.
- Data Engineering
- Streaming
- Apache Spark - Unified engine for large-scale data processing.
- Qlik - Business intelligence platform for data visualization, analytics, and reporting apps.
- Splunk - Platform for searching, monitoring, and analyzing structured and unstructured machine-generated big data in real-time.
Theory
- Papers We Love
- Talks
- Algorithms
- Education - Learning and practicing.
- Algorithm Visualizations
- Artificial Intelligence
- Search Engine Optimization
- Competitive Programming
- Math
- Recursion Schemes - Traversing nested data structures.
Books
- Free Programming Books
- Free Software Testing Books
- Go Books
- R Books
- Mind Expanding Books
- Book Authoring
- Elixir Books
Editors
- Sublime Text
- Vim
- Emacs
- Atom - Open-source and hackable text editor.
- Visual Studio Code - Cross-platform open-source text editor.
Gaming
- Game Development
- Game Talks
- Godot - Game engine.
- Open Source Games
- Unity - Game engine.
- Chess
- LÖVE - Game engine.
- PICO-8 - Fantasy console.
- Game Boy Development
- Construct 2 - Game engine.
- Gideros - Game engine.
- Minecraft - Sandbox video game.
- Game Datasets - Materials and datasets for Artificial Intelligence in games.
- Haxe Game Development - A high-level strongly typed programming language used to produce cross-platform native code.
- libGDX - Java game framework.
- PlayCanvas - Game engine.
- Game Remakes - Actively maintained open-source game remakes.
- Flame - Game engine for Flutter.
- Discord Communities - Chat with friends and communities.
- CHIP-8 - Virtual computer game machine from the 70s.
Development Environment
- Quick Look Plugins - For macOS.
- Dev Env
- Dotfiles
- Shell
- Fish - User-friendly shell.
- Command-Line Apps
- ZSH Plugins
- GitHub - Hosting service for Git repositories.
- Browser Extensions
- Cheat Sheet
- Pinned Gists - Dynamic pinned gists for your GitHub profile.
- Git Cheat Sheet & Git Flow
- Git Tips
- Git Add-ons - Enhance the
git
CLI. - Git Hooks - Scripts for automating tasks during
git
workflows. - SSH
- FOSS for Developers
- Hyper - Cross-platform terminal app built on web technologies.
- PowerShell - Cross-platform object-oriented shell.
- Alfred Workflows - Productivity app for macOS.
- Terminals Are Sexy
- GitHub Actions - Create tasks to automate your workflow and share them with others on GitHub.
Entertainment
Databases
- Database
- MySQL
- SQLAlchemy
- InfluxDB
- Neo4j
- MongoDB - NoSQL database.
- RethinkDB
- TinkerPop - Graph computing framework.
- PostgreSQL - Object-relational database.
- CouchDB - Document-oriented NoSQL database.
- HBase - Distributed, scalable, big data store.
- NoSQL Guides - Help on using non-relational, distributed, open-source, and horizontally scalable databases.
- Contexture - Abstracts queries/filters and results/aggregations from different backing data stores like ElasticSearch and MongoDB.
- Database Tools - Everything that makes working with databases easier.
Media
- Creative Commons Media
- Fonts
- Codeface - Text editor fonts.
- Stock Resources
- GIF - Image format known for animated images.
- Music
- Open Source Documents
- Audio Visualization
- Broadcasting
- Pixel Art - Pixel-level digital art.
- FFmpeg - Cross-platform solution to record, convert and stream audio and video.
- Icons - Downloadable SVG/PNG/font icon projects.
- Audiovisual - Lighting, audio and video in professional environments.
Learn
- CLI Workshoppers - Interactive tutorials.
- Learn to Program
- Speaking
- Tech Videos
- Dive into Machine Learning
- Computer History
- Programming for Kids
- Educational Games - Learn while playing.
- JavaScript Learning
- CSS Learning - Mainly about CSS – the language and the modules.
- Product Management - Learn how to be a better product manager.
- Roadmaps - Gives you a clear route to improve your knowledge and skills.
Security
- Application Security
- Security
- CTF - Capture The Flag.
- Malware Analysis
- Android Security
- Hacking
- Honeypots - Deception trap, designed to entice an attacker into attempting to compromise the information systems in an organization.
- Incident Response
- Vehicle Security and Car Hacking
- Web Security - Security of web apps & services.
- Lockpicking - The art of unlocking a lock by manipulating its components without the key.
- Cybersecurity Blue Team - Groups of individuals who identify security flaws in information technology systems.
- Fuzzing - Automated software testing technique that involves feeding pseudo-randomly generated input data.
- Embedded and IoT Security
- GDPR - Regulation on data protection and privacy for all individuals within EU.
- DevSecOps - Integration of security practices into DevOps.
Content Management Systems
- Umbraco
- Refinery CMS - Ruby on Rails CMS.
- Wagtail - Django CMS focused on flexibility and user experience.
- Textpattern - Lightweight PHP-based CMS.
- Drupal - Extensible PHP-based CMS.
- Craft CMS - Content-first CMS.
- Sitecore - .NET digital marketing platform that combines CMS with tools for managing multiple websites.
Hardware
- Robotics
- Internet of Things
- Electronics - For electronic engineers and hobbyists.
- Bluetooth Beacons
- Electric Guitar Specifications - Checklist for building your own electric guitar.
- Plotters - Computer-controlled drawing machines and other visual art robots.
Business
- Open Companies
- Places to Post Your Startup
- OKR Methodology - Goal setting & communication best practices.
- Leading and Managing - Leading people and being a manager in a technology company/environment.
- Indie - Independent developer businesses.
- Tools of the Trade - Tools used by companies on Hacker News.
- Clean Tech - Fighting climate change with technology.
- Wardley Maps - Provides high situational awareness to help improve strategic planning and decision making.
- Social Enterprise - Building an organization primarily focused on social impact that is at least partially self-funded.
- Engineering Team Management - How to transition from software development to engineering management.
Work
- Slack - Team collaboration.
- Remote Jobs
- Productivity
- Niche Job Boards
- Programming Interviews
- Code Review - Reviewing code.
Networking
- Software-Defined Networking
- Network Analysis
- PCAPTools
- Real-Time Communications - Network protocols for near simultaneous exchange of media and data.
Decentralized Systems
- Bitcoin - Bitcoin services and tools for software developers.
- Ripple - Open source distributed settlement network.
- Non-Financial Blockchain - Non-financial blockchain applications.
- Mastodon - Open source decentralized microblogging network.
- Ethereum - Distributed computing platform for smart contract development.
- Blockchain AI - Blockchain projects for artificial intelligence and machine learning.
- EOSIO - A decentralized operating system supporting industrial-scale apps.
- Corda - Open source blockchain platform designed for business.
- Waves - Open source blockchain platform and development toolset for Web 3.0 apps and decentralized solutions.
- Substrate - Framework for writing scalable, upgradeable blockchains in Rust.
Higher Education
- Computational Neuroscience - A multidisciplinary science which uses computational approaches to study the nervous system.
- Digital History - Computer-aided scientific investigation of history.
- Scientific Writing - Distraction-free scientific writing with Markdown, reStructuredText and Jupyter notebooks.
- Sustainable Technology - Open technology sustaining stable climate, energy supply, and vital natural resources.
Events
- Creative Tech Events - Events around the globe for creative coding, tech, design, music, arts and cool stuff.
- Events in Italy - Tech-related events in Italy.
- Events in the Netherlands - Tech-related events in the Netherlands.
Testing
- Testing - Software testing.
- Visual Regression Testing - Ensures changes did not break the functionality or style.
- Selenium - Open-source browser automation framework and ecosystem.
- Appium - Test automation tool for apps.
- TAP - Test Anything Protocol.
- JMeter - Load testing and performance measurement tool.
- k6 - Open-source, developer-centric performance monitoring and load testing solution.
- Playwright - Node.js library to automate Chromium, Firefox and WebKit with a single API.
Miscellaneous
- JSON - Text based data interchange format.
- CSV - A text file format that stores tabular data and uses a comma to separate values.
- Discounts for Student Developers
- Sysadmin
- Radio
- Awesome - Recursion illustrated.
- Analytics
- REST
- Continuous Integration and Continuous Delivery
- Services Engineering
- Free for Developers
- Answers - Stack Overflow, Quora, etc.
- Sketch - Design app for macOS.
- Boilerplate Projects
- Readme
- Design and Development Guides
- Software Engineering Blogs
- Self Hosted
- FOSS Production Apps
- Gulp - Task runner.
- AMA - Ask Me Anything.
- Open Source Photography
- OpenGL - Cross-platform API for rendering 2D and 3D graphics.
- GraphQL
- Transit
- Research Tools
- Data Visualization
- Social Media Share Links
- Microservices
- Unicode - Unicode standards, quirks, packages and resources.
- Beginner-Friendly Projects
- Katas
- Tools for Activism
- Citizen Science - For community-based and non-institutional scientists.
- MQTT - "Internet of Things" connectivity protocol.
- Hacking Spots
- For Girls
- Vorpal - Node.js CLI framework.
- Vulkan - Low-overhead, cross-platform 3D graphics and compute API.
- LaTeX - Typesetting language.
- Economics - An economist's starter kit.
- Funny Markov Chains
- Bioinformatics
- Cheminformatics - Informatics techniques applied to problems in chemistry.
- Colorful - Choose your next color scheme.
- Steam - Digital distribution platform.
- Bots - Building bots.
- Site Reliability Engineering
- Empathy in Engineering - Building and promoting more compassionate engineering cultures.
- DTrace - Dynamic tracing framework.
- Userscripts - Enhance your browsing experience.
- Pokémon - Pokémon and Pokémon GO.
- ChatOps - Managing technical and business operations through a chat.
- Falsehood - Falsehoods programmers believe in.
- Domain-Driven Design - Software development approach for complex needs by connecting the implementation to an evolving model.
- Quantified Self - Self-tracking through technology.
- SaltStack - Python-based config management system.
- Web Design - For digital designers.
- Creative Coding - Programming something expressive instead of something functional.
- No-Login Web Apps - Web apps that work without login.
- Free Software - Free as in freedom.
- Framer - Prototyping interactive UI designs.
- Markdown - Markup language.
- Dev Fun - Funny developer projects.
- Healthcare - Open source healthcare software for facilities, providers, developers, policy experts, and researchers.
- Magento 2 - Open Source eCommerce built with PHP.
- TikZ - Graph drawing packages for TeX/LaTeX/ConTeXt.
- Neuroscience - Study of the nervous system and brain.
- Ad-Free - Ad-free alternatives.
- Esolangs - Programming languages designed for experimentation or as jokes rather than actual use.
- Prometheus - Open-source monitoring system.
- Homematic - Smart home devices.
- Ledger - Double-entry accounting on the command-line.
- Uncopyright - Public domain works.
- Crypto Currency Tools & Algorithms - Digital currency where encryption is used to regulate the generation of units and verify transfers.
- Diversity - Creating a more inclusive and diverse tech community.
- Open Source Supporters - Companies that offer their tools and services for free to open source projects.
- Design Principles - Create better and more consistent designs and experiences.
- Theravada - Teachings from the Theravada Buddhist tradition.
- inspectIT - Open source Java app performance management tool.
- Open Source Maintainers - The experience of being an open source maintainer.
- Calculators - Calculators for every platform.
- Captcha - A type of challenge–response test used in computing to determine whether or not the user is human.
- Jupyter - Create and share documents that contain code, equations, visualizations and narrative text.
- FIRST Robotics Competition - International high school robotics championship.
- Humane Technology - Open source projects that help improve society.
- Speakers - Conference and meetup speakers in the programming and design community.
- Board Games - Table-top gaming fun for all.
- Software Patreons - Fund individual programmers or the development of open source projects.
- Parasite - Parasites and host-pathogen interactions.
- Food - Food-related projects on GitHub.
- Mental Health - Mental health awareness and self-care in the software industry.
- Bitcoin Payment Processors - Start accepting Bitcoin.
- Scientific Computing - Solving complex scientific problems using computers.
- Amazon Sellers
- Agriculture - Open source technology for farming and gardening.
- Product Design - Design a product from the initial concept to production.
- Prisma - Turn your database into a GraphQL API.
- Software Architecture - The discipline of designing and building software.
- Connectivity Data and Reports - Better understand who has access to telecommunication and internet infrastructure and on what terms.
- Stacks - Tech stacks for building different apps and features.
- Cytodata - Image-based profiling of biological phenotypes for computational biologists.
- IRC - Open source messaging protocol.
- Advertising - Advertising and programmatic media for websites.
- Earth - Find ways to resolve the climate crisis.
- Naming - Naming things in computer science done right.
- Biomedical Information Extraction - How to extract information from unstructured biomedical data and text.
- Web Archiving - An effort to preserve the Web for future generations.
- WP-CLI - Command-line interface for WordPress.
- Credit Modeling - Methods for classifying credit applicants into risk classes.
- Ansible - A Python-based, open source IT configuration management and automation platform.
Related
- All Awesome Lists - All the Awesome lists on GitHub.
- Awesome Indexed - Search the Awesome dataset.
- Awesome Search - Quick search for Awesome lists.
- StumbleUponAwesome - Discover random pages from the Awesome dataset using a browser extension.
- Awesome CLI - A simple command-line tool to dive into Awesome lists.