![]() |
读研的面包 · QT中怎么将选项栏居中摆放 - CSDN文库· 5 月前 · |
![]() |
绅士的水煮肉 · 杨蔚---中国科学院地质与地球物理研究所· 6 月前 · |
![]() |
从容的柿子 · CardView using ...· 7 月前 · |
![]() |
很酷的南瓜 · AttributeError: ...· 8 月前 · |
Libraries for implementing authentications schemes.
create_signed_value
,
decode_signed_value
, and therefore
set_secure_cookie
and
get_secure_cookie
.
Libraries for building and working with bots.
Libraries for building standard or basic Command Line applications.
flag
package.
Libraries for building Console Applications and Console User Interfaces.
Libraries for configuration parsing.
.env
).
Tools for help with continuous integration.
Libraries for preprocessing CSS files.
Generic datastructures and algorithms in Go.
bufio.Writer
.
Databases implemented in Go.
Database schema migration.
Database tools.
SQL query builder, libraries for building and using SQL.
Libraries for connecting and operating databases.
Relational Databases
NoSQL Databases
Search and Analytic Databases.
Multiple Backends.
time.Time
.
Packages that help with building Distributed Systems.
Libraries and tools that implement email creation and sending.
Embedding other languages inside your go code.
Libraries for handling errors.
Libraries for handling files and file systems.
FileSystem
interface
for tar files.
Packages for accounting and finance.
Libraries for working with forms.
Packages to support functional programming in Go.
Awesome game development libraries.
Tools to enhance the language with features like generics via code generation.
Geographic tools and servers
Tools for compiling Go to other languages.
Tools for managing and working with Goroutines.
All
,
First
,
Retry
,
Waterfall
etc., that makes asynchronous flow control more intuitive.
sync.WaitGroup
like queue group accessibility. Helps you to throttle and limit goroutines, wait for the end of the all goroutines and much more.
Libraries for building GUI Applications.
Toolkits
Interaction
Libraries, tools, and tutorials for interacting with hardware.
See go-hardware for a comprehensive list.
Libraries for manipulating images.
Libraries for programming devices of the IoT.
Libraries for scheduling jobs.
Libraries for working with JSON.
Libraries for generating and working with log files.
io.Writer
implementation with multi policies to provide log file rotation.
net/context
aware HTTP handlers with flexible dispatching.
Libraries for Machine Learning.
Libraries that implement messaging systems.
Libraries for working with Microsoft Excel.
Libraries for working with dependency injection.
Unofficial set of patterns for structuring projects.
Libraries for working with strings.
These libraries were placed here because none of the other categories seemed to fit.
Libraries for working with human languages.
Libraries for working with various layers of the network.
Libraries for making HTTP requests.
Libraries for using OpenGL in Go.
Libraries that implement Object-Relational Mapping or datamapping techniques.
Official tooling for dependency and package management
Official experimental tooling for package management
Unofficial libraries for package and dependency management.
Libraries for scientific computing and data analyzing.
Libraries that are used to help make your application more secure.
Libraries and tools for binary serialization.
Libraries and tools for stream processing and reactive programming.
Libraries and tools for templating and lexing.
Libraries for testing codebases and generating test data.
Testing Frameworks
testing/iotest
package.
database_cleaner
in Ruby.
testing
by leveraging Go1.7's Subtests.
Fuzzing and delta-debugging/reducing/shrinking.
Selenium and browser control tools.
Fail injection
General utilities and tools to make your life easier.
.env
or any
io.Reader
in Go.
sql.Rows
directly to structs, slices, or primitive types.
Libraries for working with UUIDs.
Libraries for validation.
Libraries for version control.
Libraries for manipulating video.
Full stack web frameworks.
net/http
.
X-Forwarded-For
header and friends.
httprouter
. The first router fit for
fasthttp
.
net/context
.
net/context
.
httprouter
with
net/context
support.
Libraries and tools for manipulating XML.
Go software and plugins.
go vet
on steroids, applying a ton of static analysis checks you might be used to from tools like ReSharper for C#.
go
command for colorized
go build
output.
dbg!
macro for quick and easy debugging during development.
go test
outputs with text decorations.
Software written in Go.
ProxyCommand
.
Where to discover new Go libraries.
Add the group of your city/country here (send PR )
Host the JavaScript libraries and provide tools for fetching and packaging them.
Module or loading system for JavaScript.
Templating engines allow you to perform string interpolation.
Data visualization tools for the web.
There're also some great commercial libraries, like amchart , anychart , plotly , and highchart .
~/.vimrc
.
Libraries for working with files.
Functional programming libraries to extend JavaScript’s capabilities.
Reactive programming libraries to extend JavaScript’s capabilities.
Data structure libraries to build a more sophisticated application.
Date Libraries.
*** time ago
statement.
String Libraries.
Localization (l10n) and internationalization (i18n) JavaScript libraries.
Libraries for indicate load status.
Besides libraries, there're Collection on Codepen , and generators like Ajaxload , Preloaders and CSSLoad .
<span>
injector for radical Web Typography.
Tools that handle the build cycle and dependencies of an application.
Libraries to manipulate bytecode programmatically.
Libraries that provide caching facilities.
Libraries for everything related to the CLI.
Frameworks that can dynamically manage applications inside of a cluster.
Tools that provide metrics and quality measurements.
Frameworks and tools that enable code coverage metrics collection for test suites.
Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness.
Frameworks that help to create parsers, interpreters or compilers.
Libraries that provide external configuration.
Libraries that help with implementing optimization and satisfiability problems.
Frameworks and libraries that simplify reading/writing CSV data.
Everything that simplifies interactions with the database.
Efficient and specific data structures.
Libraries related to handling date and time.
Libraries that help to realize the Inversion of Control paradigm.
Augmentation of the development process at a fundamental level.
Libraries and frameworks for writing distributed and fault-tolerant applications.
Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures.
Tools that handle the distribution of applications in native formats.
Libraries that assist with processing office document formats.
Formal-methods tools: proof assistants, model checking, symbolic execution, etc.
Libraries that facilitate functional programming.
Frameworks that support the development of games.
Libraries for working with geospatial data and algorithms.
Libraries to create modern graphical user interfaces.
Everything about high-performance computation, from collections to specific libraries.
Libraries that assist with creating HTTP requests and/or binding responses.
Libraries that handle serialization to hypermedia types.
Integrated development environments that try to simplify several aspects of development.
Libraries that assist with the creation, evaluation or manipulation of graphical images.
Libraries for serializing and deserializing JSON to and from Java objects.
Libraries for processing data in JSON format.
Current implementations of the JVM/JDK.
Libraries that log the behavior of an application.
Tools that provide specific statistical algorithms for learning from data.
Tools that help send messages between clients to ensure protocol independency.
Everything else.
Tools for creating and managing microservices.
Tools that monitor applications in production.
For working with platform-specific native libraries.
Libraries that specialize in processing text.
Libraries for building network servers.
APIs that handle the persistence of objects.
Java platform as a service.
Tools to help with PDF file creation.
Tools for performance analysis, profiling and benchmarking.
Frameworks that are suites of multiple libraries encompassing several categories.
Libraries that help the management of operating system processes.
Libraries for developing reactive applications.
Frameworks specifically for creating RESTful services.
Libraries for scientific computing, analysis and visualization.
Engines that index documents for search and analysis.
Libraries that handle security, authentication, authorization or session management.
Libraries that handle serialization with high efficiency.
Servers specifically used to deploy applications.
Tools that substitute expressions in a template.
Tools that test from model to the view.
Tools that simplify testing asynchronous services.
Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD.
Everything related to the creation and handling of random data.
Provide environments to run tests for a specific use case.
Libraries that provide custom matchers.
Other stuff related to testing.
Tools which mock collaborators to help testing single, isolated units.
Simplifies the writing of parameterized tests.
Libraries which provide general utility functions.
Utilities that help create the development shell environment and switch between different Java versions.
Libraries that analyze the content of websites.
Frameworks that handle the communication between the layers of a web application.
Awesome lists related to the Java & JVM ecosystem.
Active discussions.
Websites that provide a frontend for this list. Please note, there won't be an official website. We don't associate with a particular website and everybody is allowed to create one.
Books that made a big impact and are still worth reading.
Something to look at or listen to while programming.
Active accounts to follow. Descriptions from Twitter.
Sites to read.
A collection of awesome lists for hackers, pentesters & security researchers.
Your contributions are always welcome !
A curated list of awesome streaming (stream processing) frameworks, applications, readings and other resources. Inspired by other awesome projects .
https://manuzhang.github.io/awesome-streaming/ is a more dynamic website where you can find updates of the awesome projects here.
A curated list of awesome pipeline toolkits inspired by Awesome Sysadmin
rdiff-backup
.
Backup libraries.
Build automation tools.
Conversation-driven development & management.
Cloning software.
Web Based collaborative code review system.
Collaborative software or groupware suites.
Configuration management database (CMDB) software.
Configuration management tools.
Continuous integration/deployment software.
Web hosting and server control panels.
Tools and scripts to support deployments to your servers.
Tools to diagram networks.
Network distributed filesystems.
DNS servers.
Open source code editors.
IT Assets Management software.
LDAP servers.
LDAP management
Log management tools: collect, parse, visualize ...
Mail Delivery Agents (IMAP/POP3 software).
Mail Transfer Agents (SMTP servers).
Complete solutions.
XMPP servers.
XMPP web clients.
Webchats.
Monitoring software.
Monitoring dashboards.
Monitoring distributions.
Metric gathering and display software.
Network configuration management tools.
Newsletter software.
Column-Family.
Document Store.
Graph.
Key-Value.
Queuing software.
Queuing libraries.
Relational DBMS.
Security tools.
Apache
Python
Operating system–level virtualization.
SSH tools.
Analytics software.
Web-based ticketing system.
Troubleshooting tools.
Troubleshooting distributions.
Web-based project management and bug tracking systems.
Software versioning and revision control.
Virtualization software.
VPN software.
Web servers.
Web Performance.
Webmail applications.
Wiki software.
Various resources, such as books, websites and articles, for improving your skills and knowledge.
Sysadmin related books.
Debian-based distributions.
RPM-based distributions.
Useful sysadmin related websites.
GoReplay为您提供了一个简单的想法,可以重用现有流量进行测试:您可以选择部分生产流量并将其重播到测试环境,同时能够即时过滤和重写请求。
我们先进的技术可在不影响您的应用程序的情况下分析和记录网络流量,从而消除了将第三方组件置于关键路径中带来的风险。
GoReplay增强了您对代码部署,配置更改和基础架构更改的信心,并确保您的应用程序不会被边缘情况绊倒,边缘情况只会在您上线后才会出现。
编写综合测试非常困难,因为要真正复制生产流量模式几乎是不可能的。人类,浏览器和机器人都会做一些奇怪的事情,这些事情会影响请求的频率,URL权重,标头大小等。
使用GoReplay,您可以以更高或更低的速度重播记录的流量,确保重播的请求完全相同,以相同的顺序甚至在相同的TCP会话中来进行,因此可以说GoReplay是最简单,最准确的负载测试工具。
GoReplay性能和集群功能使您可以垂直和水平扩展它,以便对任何复杂性进行高效,准确的负载测试。
GoReplay可以用可以用任何语言编写的插件扩展,并允许您动态地访问和修改原始请求,响应和重播的Respose数据,以实现复杂的重写和监视逻辑,使其成为瑞士军刀,用于测试和监控网络应用。
功能仅受您的想象力限制:
原文: https://goreplay.org/#detailed
讨论:请加入知识星球或者微信圈子【首席架构师圈】
(IE, Firefox, Chrome, Safari, Opera, Edge) Ruby, Java, NodeJS, PHP, Perl, Python, C#, Groovy Firefox and Chrome SOAtest Python, JavaScript, Java TestComplete (IE, Firefox, Chrome) VBScript, JScript, C++Script, C#Script, DelphiScript Test Studio (Chrome, Firefox, Safari, IE) C#, VB.NET Tricentis Tosca [1] (Chrome, Firefox, IE, Edge) C#, VB.Net WatiN (IE, Firefox) C#, ability to run JavaScript from C# calls IE/FF Watir (IE, Firefox, Chrome, Safari, Opera, Edge) HP-UFT (IE, Firefox, Chrome, Safari, Opera, Edge) VBScript原文: https://en.wikipedia.org/wiki/List_of_web_testing_tools
本文: https://pub.intelligentx.net/node/756
讨论:请加入知识星球或者小红圈【首席架构师圈】
Penetration testing is the practice of launching authorized, simulated attacks against computer systems and their physical infrastructure to expose potential security weaknesses and vulnerabilities.
Your contributions and suggestions are heartily♥ welcome. (✿◕‿◕). Please check the Contributing Guidelines for more details. This work is licensed under a Creative Commons Attribution 4.0 International License .
This project is supported by Netsparker Web Application Security Scanner
.exe
s").
See also DEF CON Suggested Reading .
docker pull citizenstig/dvwa
.
docker pull bkimminich/juice-shop
.
docker pull citizenstig/nowasp
.
docker-compose build && docker-compose up
.
docker pull ismisepaul/securityshepherd
.
docker pull webgoat/webgoat-7.1
.
docker pull webgoat/webgoat-8.0
.
docker pull hmlio/vaas-cve-2014-0160
.
docker pull vulnerables/cve-2017-7494
.
docker pull hmlio/vaas-cve-2014-6271
.
docker pull wpscanteam/vulnerablewordpress
.
docker pull diogomonica/docker-bench-security
.
docker pull kalilinux/kali-linux-docker
.
docker pull owasp/zap2docker-stable
.
docker pull wpscanteam/wpscan
.
docker pull opendns/security-ninjas
.
docker pull phocean/msf
.
wallet.dat
).
See also awesome-industrial-control-system-security .
ping
,
traceroute
,
whois
, and more.
shijack
.
GET
/
POST
, multithreading, proxies, origin spoofing methods, cache evasion techniques, etc.
masscan
to quickly identify open ports and then
nmap
to gain details on the systems/services on those ports.
fierce.pl
DNS reconnaissance tool for locating non-contiguous IP space.
pcap
or
pcapng
files with batch editing features.
.p12
and
.pfx
extensions), such as TLS/SSL certificates.
sqlmap
that identifies SQLi vulnerabilities based on a given dork and (optional) website.
See also awesome-reversing .
.git
repositories.
certutil
(using fake certificates).
讨论:请加入支持星球或者小红圈【首席架构师圈】
Windows Graphs in polar (or other) coordinates become specific cases of parametric graphs. Baudline Proprietary July 21, 2010 / 1.08FreeBSD , Linux,
Mac OS X, Solaris
Signal analysis tool JavaScript library August 25, 2018 / 5.7.0browsers, js engines
static and dynamic presentations DADiSP GUI, command line, SPL script language Proprietary January 17, 2017 / 6.7 B02 Windows Numerical analysis and signal processing with a spreadsheet -like interface GNU-style copyleft [1] April 16, 2014 / 3.10 Statistics DatacopiaSample charts created through datacopia
GUI (web based) FreemiumWindows,
Linux,
Android
Generates a ranked list of several plots & visualizations based on an analysis of the data provided, allowing the user to choose their favorite graphic, share it, and export it as an image. DataScene Shareware March 2011 / 3.0.7Linux,
Unix/X11, Windows
2D & 3D graphing, animated graphs, data analysis, curve fitting, and data monitoring. Descartes (plotting tool) July 10, 2005 / 0.7(Python)
Inactive as of 2005 EditGrid GUI (web based) Any ( Web-based application ) Online spreadsheet; service due to end May 1, 2014Linux,
Mac OS X,
Windows
Creates ODE solving interactive, ready-to-publish Java applets Epi Info February 2, 2018 / 7.2.2.6 Windows Statistics EViews Proprietary June 21, 2017 / 10 Statistics Fityk GUI, command line December 19, 2016 / 1.3.1Linux,
Mac OS X, Windows
specialized in curve fitting FlexPro ProprietaryWindows
IE 6), JS Engines
Interactive JavaScript Charts for your Web & Mobile applications. Get 90+ chart types and 965 maps, readymade business dashboards and demos. GeoGebra GPL [3] September 3, 2017 / 6.0.385.0Linux,
Mac OS X, Sugar,
Windows
Very good for rendering Geometry, Graphs, Statistical Diagrams, (LaTeX) Formula Rendering. All antialiased in PNG Export. Export to SVG, EPS, EMF, PNG, PDF. Gephi GPLv3 / CDDL 1.0 February 14, 2016 / 0.9.1Linux,
Mac OS X, Windows
Networks and complex systems, dynamic and hierarchical graphs ggplot2 December 30, 2016 / 2.2.1Cross-
platform
Based on "The Grammar of Graphics" Command line, GUI BSD / GPL August 18, 2015 / 4.2.5fLinux,
Windows
Graphics scripting language GNU Octave GUI, command line, C, C++, Fortran August 9, 2018 / 4.4.1FreeBSD ,
Linux,
Mac OS X, OS/2 ,
Solaris or Windows
MATLAB compatible, built-in ODE and DAE solvers, extensive user contributed toolboxes Gnumeric GPL [4] August 19, 2018 / 1.12.43 Spreadsheet Gnuplot Command line, Python , Ruby , Smalltalk, third-party GUIs Own license June 4, 2018 / 5.2.4Amiga,
Atari ST,
BeOS, Linux,
MS-DOS,
OS/2,
OS-9/68k,
Ultrix,
Windows,
Built in scripting language Grace Command line, GUI, various APIs February 14, 2015 / 5.1.25Linux,
Mac(X11), Windows
(cygwin)
Uses Motif;
fork of Xmgr
GrADS command line April 25, 2018 / 2.2.1Linux,
Mac OS X,
Windows,
Solaris,
IBM AIX,
DEC Alpha,
Visualization of Earth science data GraphPad Prism proprietary October 12, 2016 / 7.0bWindows
Windows
Specialized in econometrics and time series analyses, built-in scripting language, interface to gnuplot and R HippoDraw GPL v2 October 2007 / 1.21.3 C++-based data analysis system IGOR Pro proprietary April 11, 2019 / 8.0.3Windows
3D and volume visualization, Curve and peak fitting, Signal processing, Image processing ILNumerics Math library for .NET / C# GPL / proprietary June 11, 2015 / v4.8Windows
and Linux
Math library with rich visualization features (interactive 3D scenes, scientific plotting) and
MATLAB -like
syntax.
GUI, XML December 10, 2016 / 7.2.7Linux,
Windows,
IPE Graphics with LaTeX equations or notations can be stored as PDF files (not only exported to PDF) and be included in LaTeX documents. pdftoipe allows any PDF graph to be edited in Ipe. JFreeChart GUI, Java , Groovy November 5, 2017 / 1.5.0 Any ( Java ) KChart March 21, 2017 / 3.0.1 Linux (KDE) Geometry diagrams only LabPlot GUI, Qt scripting April 19, 2019 / 2.6.0Linux (KDE),
Windows
data analysis, nonlinear curve fitting in 2D, data picking from images, live data plotting LabVIEW Proprietary May 2017 / 2017 Visual circuits modeling LiSiCA PythonWindows,
Linux
Ligand-based virtual screening software that searches for 2D and 3D similarities between a reference compound and a database of target compounds. MagicPlot Proprietary September 18, 2016 / 2.7.2 Any ( Java ) Nonlinear fitting, batch processing Maple GUI, command line Proprietary May 25, 2017 / 2017Linux, Mac
OS X,
Windows
Computer algebra, statistics and numerical analysis system with general graphic language. See Wolfram Language . MATLAB Proprietary September 20, 2017 / R2017bLinux,
Mac OS X,
Windows
Matrix system Maxima GUI, command line October 3, 2017 / 5.41.0BSD, Linux,
Mac OS X,
Unix Like
Windows
Various
graphical user interfaces, Support LaTeX with
TeXmacs and Web frontend with SageMath
MayaVi GUI, Python, scriptable, embeddable August 3, 2018 / 4.6.2GNU/Linux,
Mac OS X,
Windows
Visualises computational grids, scalar/vector/tensor data. Texture & ray-cast mappers. MedCalc Proprietary August 17, 2017 / 17.9 Windows Statistics Microsoft Excel ProprietaryMac OS X,
Spreadsheet NCSS (statistical software) Proprietary May 2, 2016 / NCSS 11 Windows Statistical Analysis and Statistical Graphics software Nucalc proprietaryMac OS,
Mac OS X,
Windows
Mac OS X
A visual programming data-flow software suite with widgets for statistical data analysis , interactive data visualization , data mining , and machine learning . Origin GUI, COM, C/C++ and scripting proprietary June 22, 2017 / 2017 SR2 WindowsMulti-layer
2D, 3D
and statistical graphs for science and engineering. Built-in digitizing tool. Auto-recalculation and reporting. Programmable, with access to NAG Numerical Library .
ParaView GUI, Python scripting June 19, 2018 / 5.5.2Linux/Unix,
Mac OS X,
Windows
Parallel scientific and Computational Fluid Dynamics visualizations Artistic License / GPL May 6, 2018 / 2.019Language
(web-based)
plots and charts in browser, web-sharing and exporting, drag-and-drop data import, Python command line plotutils command line , C/C++ September 27, 2009 / 2.6Linux,
Windows
Collection of command line programs, C/C++ API PLplot Ada, C/C++/D, Fortran 77/90, C, C++, Java, Lisp, Lua, OCaml, Octave, Perl, Python, Tcl/Tk August 26, 2017 / 5.13.0Linux,
Windows
Many different output formats: CGM, GIF, Jpeg, Png, Latex, PBM, PDF, Postscript, SVG, XFig, Qt, wxWidgets GUI , command line August 20, 2017 / 1.0.0Linux,
Windows
Statistical analysis of sampled data. Free replacement for SPSS . QtiPlot GUI, Python proprietary May 31, 2017 / 0.9.9.11Linux,
Windows
Python scriptable Third party July 2, 2018 / 3.5.1("Feather Spray")Linux,
Windows
In addition to base graphics, has a large number of graphics packages including lattice and ggplot2 . [7] Interoperabile with other free software packages. GUI, C++, Python, Ruby August 23, 2018 / 6.14.04Linux,
Windows
De facto standard in high energy physics RRDtool Command line May 17, 2017 / 1.7.0Linux,
Windows
Android
Full set of chart types, maps & gauges, interactive, real-time, PNG, JPEG export, cross-browser support, integration with WordPress, Drupal, Node.js, Joomla, TypeScript, NuGet among others. think-cell chart proprietary Windows Support for waterfall , Marimekko and Gantt charts . Direct integration into Microsoft PowerPoint . Veusz GUI, Python, command line July 22, 2018 / 3.0.1Mac, Unix,
Windows
Create publication-quality PS/PDF plots, Python scripting and plugin interface Visifire Independent of server side scripting Proprietary June 5, 2014 / 5.1.7-0 Mac, Windows VisIt GUI, C++, Python, and Java May 2018 / 2.13.2Linux, Mac,
Windows
Designed to handle very large data sets Webix JavaScript library GPLV3/ Proprietary [8] June 27, 2017 / 4.4Cross platforms,
cross browsers
JavaScript/HTML5 based; More than 75 widgets and controls; Maps; Charts; DataTables; Organograms; Gauge charts GUI, command line Proprietary March 2018 / 4.0AIX, Linux,
Linux for
Arm8 64-bit
(AArch64),
macOS,
PowerLinux, POWER/System p/pSeries (LE),
Solaris,
Windows,
Linux for
System z,
Statistics. Handles very large data sets. Supports mixing Python, R, SAS and SQL languages within in a single user program XGraph GUI, command line Proprietary April 2014 / v4.30Linux,
Windows
Interactive and batch 2D data file plotting GUI (web based) Proprietary Online spreadsheetVector graphics software can be used for manual graphing or for editing the output of another program. Please see:
A few online editors using vector graphics for specific needs have been created. [ citation needed ] This kind of creative interfaces work well together with data visualization tools like the ones above. [ citation needed ]
原文: https://en.wikipedia.org/wiki/List_of_information_graphics_software
本文: https://pub.intelligentx.net/wikipedia-list-information-graphics-software
讨论:请加入知识星球或者小红圈【首席架构师圈】
本文提供了一组小部件工具包(也称为GUI框架),它们用于构造程序的图形用户界面(GUI),根据程序与各种操作系统的关系进行组织。
Note that the X Window System was originally primarily for Unix-like operating systems, but it now runs on Microsoft Windows as well using, for example, Cygwin , so some or all of these toolkits can also be used under Windows.
Main article: JavaScript library
General
Full-stack framework
Resource-based
No longer developed
原文: https://en.wikipedia.org/wiki/List_of_enterprise_portal_vendors
本文: https://pub.intelligentx.net/wikipedia-list-enterprise-portal-vendors
讨论:请加入知识星球或者小红圈【首席架构师圈】
Apache Roller HSQL , MySQL , Oracle , SQL Server , DB2 , PostgreSQL , Apache Derby 5.2.2 [3] Apache 2.0 License 2019-01-11 [±] Bloomreach Experience Manager MySQL , Oracle , SQL Server , Ingres , PostgreSQL , JCR 13.1 [4] Apache 2.0 License 2019-03-20 Crafter CMS Git , Solr , CMIS 3.1.0 [5] GNU GPL v3 2019-05-02 [±] dotCMS MySQL , Oracle , MSSQL , PostgreSQL 5.1.6 [6] GNU GPL v3 2019-06-06 [±] DSpace Oracle , PostgreSQL BSD License 2018-06-27 Enonic XP Embedded NoSQL 7.0.2 [7] GPL v3 2019-07-02 Fedora Commons MySQL , Oracle , PostgreSQL , Mulgara (MPTSTore RDF Semantic Triplestore) 5.0.2 [8] Apache License 2019-02-14 [±] Jahia Community Distribution Apache Derby , JCR , MySQL , PostgreSQL 7.2.2 2018-03-01 LogicalDOC Community Edition MySQL , Oracle , SQL Server , PostgreSQL 7.4.2 [9] 2016-03-24 Nuxeo EP MySQL , Oracle , SQL Server , Ingres , PostgreSQL , MongoDB Apache 2.0 License 2018-07-26 Magnolia H2 , Derby , MySQL , PostgreSQL , Oracle , MSSQL 6.1.1 GPL & proprietary 2019-07-30 OpenCms HSQL , MySQL , Oracle , SQL Server , DB2 , PostgreSQL 11.0.0 [10] 2019-04-30 [±] OpenKM Community Edition MySQL , PostgreSQL , Oracle , SQL Server , HSQLDB 6.3.6 2018-03-06 [11] OpenWGA MySQL , PostgreSQL , IBM DB2 , HSQLDB , Oracle , SQL Server , IBM Lotus Domino , CMIS7.7.1 [12]
GPL & proprietary2019-07-28 [±]
XWiki MySQL , PostgreSQL , Oracle , SQL Server , HSQLDB 11.7 [13] 2019-08-27 [±] Drupal MariaDB , Microsoft SQL Server , MySQL , Oracle , Percona Server , PostgreSQL , SQLite [41] 8.7.7 [42] GPLv2+ 2019-09-04 [±] Exponent CMS MySQL 2.5.0 [43] 2019-03-14 [±] eZ Platform MySQL , MariaDB , PostgreSQL 2.5 [44] 2019-03-29 [±] eZ Publish MySQL , PostgreSQL , Oracle , Microsoft SQL Server 2014-12-02 [45] Geeklog MySQL , PostgreSQL , Microsoft SQL Server 2.2.0 [46] 2018-06-26 [±] GetSimple CMS Flat-file database 3.3.14 2018-09-01 [47] Flat-file database 1.6.15 [48] 2019-08-20 [±] Habari MySQL , PostgreSQL , [49] SQLite 0.9.2 Apache License 2014-09-16 [50] ImpressCMS MySQL 1.3.11 [51] 2018-12-08 [±] ImpressPages MySQL 5.0.3 [52] GPL MIT 2017-07-11 [±] Jamroom MySQL , MariaDB , Percona 6.1.0 2017-08-30 [53] Joomla! MySQL , PostgreSQL , MSSQL , SQLite 3.9.4 2019-03-12 [54] Kajona MySQL , PostgreSQL , SQLite , MariaDB , Oracle 2017-06-08 [55] Known MySQL , MongoDB 0.9.9 Apache License 2017-05-16 [56] Magento MySQL 2.3.2 [57] OSL Ver. 3 / AFL Ver. 3 2019-06-25 [±] Mambo MySQL 4.6.5 2008-06-01 MediaWiki MySQL , MariaDB , PostgreSQL , SQLite , MSSQL [58] 1.33.0 [59] 2019-07-02 [±] MiaCMS MySQL 2009-07-29 [60] Microweber MySQL , PostgreSQL , SQLite 1.0.15 Apache License 2018-04-10 Midgard CMS PHP (Midgard framework) MySQL 12.0.9.2 2012-09-26 [61] MySQL 2.7.1-pl [62] 2019-02-14 [±] Novius OS MySQL 5.0.1 (Elche) AGPLv3 2014-07-08 [63] Nucleus CMS MySQL 2011-03-14 [64] OctoberCMS MySQL , PostgreSQL , SQLite 458 [65] 2019-08-12 [±] OpenCart MySQL 3.0.3.2 [66] 2019-04-09 [±] Omeka MySQL 2.6.1 [67] 2018-05-02 [±] papaya CMS MySQL , PostgreSQL , SQLite 5.5.2 GPL v2 2013-02-12 [68] pH7Builder MySQL , MariaDB 15.1.6 [69] GPL 3.0 2019-05-28 [±] Phire CMS MySQL 2.1.0 New BSD License 2016-07-07 [70] PHP-Fusion MySQL 9.03.00 [71] AGPLv3 2019-02-14 [±] PHP-Nuke MySQL 8.3.2 2014-01-30 [72] phpWebLog MySQL 0.5.3 2001-10-31 phpWiki MySQL 1.5.5 2015-12-11 [73] Pimcore MySQL 6.2.0 [74] 2019-09-05 [±] PivotX MySQL , Flat-file database 2.3.11 2015-06-21 [75] Pixie (CMS) MySQL 1.0.4 2010-03-21 PmWiki Flat-file database [76] SQLite [77] 2.2.118 [78] 2019-08-28 [±] Prestashop MySQL 1.7.6.1 [79] Open Software License 3.0 2019-08-26 [±] ProcessWire MySQL 3.0.123 Mozilla Public License 2.0 2018-12-21 [80] PHP - MediaWiki MySQL 1.7.0 2012-04-24 [81] Serendipity PHP + Smarty MySQL , PostgreSQL , MySQLi , SQLite 2.1.5 [82] 2019-05-01 [±] SilverStripe MySQL , Microsoft SQL Server , PostgreSQL , SQLite , Oracle 4.4.3 [83] BSD [84] 2019-08-19 [±] MySQL , PostgreSQL , SQLite 3.2.4 [85] 2019-04-08 [±] Textpattern MySQL , MariaDB [86] 4.7.3 [87] 2019-02-25 [±] Tiki Wiki CMS Groupware MySQL 19.1 [88] 2019-02-14 [±] TYPO3 MySQL , Oracle , PostgreSQL 9.5.7 [89] 2019-05-15 [±] WordPress MySQL , MariaDB 5.2.2 [90] 2019-06-18 [±] XOOPS MySQL 2.5.10 [91] 2019-04-29 [±] ContentBox Modular CMS Lucee / Railo / Adobe ColdFusion MySQL / Microsoft SQL Server / PostgreSQL / HSQLDB / Apache Derby 2.1.0 Apache License or proprietary 2015-05-05 [102] FarCry CMS Lucee / Railo / OpenBD / Adobe ColdFusion MySQL / Microsoft SQL Server / Oracle / Postgres 7.0.7 GPL or proprietary 2015-01-14 [103] Mura CMS Lucee / Railo / OpenBD / Adobe ColdFusion MySQL / Microsoft SQL Server / Oracle GPL or proprietary 2018-07-13 [104] Adobe Experience Manager [112] (formerly Day CQ5) JCR (Apache Jackrabbit Oak), MongoDB 6.4.2 Proprietary software 2018-10 [113] Alfresco (Enterprise & Community Edition) Oracle , SQL Server , MySQL , PostgreSQL , DB2 4.0.2 Enterprise, 4.2.c Community Open Source 2015-03 [114] Altitude3.Net ASP.NET SQL Server 2015.07.14 Proprietary software 2015-7-14 censhare Oracle 2017.2 Proprietary software 2017-05-12 Contegro ASP.NET SQL Server 4.0.0 Proprietary software 2010-17-11 Contentverse Oracle , SQL Server Proprietary software CoreMedia WCM JDBC-compliant databases 2015-03-19 dotCMS Oracle , SQL Server , MySQL , PostgreSQL 5.0.3 Proprietary software 2018-11-09 Ektron CMS ASP.NET SQL Server Proprietary software 2016-12-09 Elcom CMS ASP.NET SQL Server Proprietary software 2011-02-15 Episerver CMS ASP.NET SQL Server Proprietary software 2017-01-16 ExpressionEngine MySQL 4.3.6 Proprietary software 2018-10-02 Hyland OnBase ECM SQL Server , Oracle IBM Enterprise Content Management Oracle , DB2 Proprietary software MySQL , SQL Server Continuously Released Proprietary software Jahia Enterprise Distribution MySQL , Oracle , PostgreSQL , Microsoft SQL Server 6.6.2.3 Proprietary software 2013-12-20 Kentico CMS ASP.NET SQL Server 12.0 SP [19] Proprietary software 2019-06-26 [±] Microsoft SharePoint ASP.NET SQL Server (2005, 2008 or 2012), SQL Express Proprietary, Open API 2016-05-04 Movable Type MySQL , Oracle , SQL Server Proprietary 2018-05-29 [115] OpenText Documentum Oracle , SQL Server , DB2 Proprietary software 2018-05-01 OpenText Teamsite Java, .Net, XML, XSLT Oracle , SQL Server , DB2 , MySQL Proprietary software 2017-04 Oracle WebCenter Content原文: https://en.wikipedia.org/wiki/List_of_content_management_systems
本文: https://pub.intelligentx.net/list-content-management-systems
讨论:请加入知识星球或者小红圈【首席架构师圈】
包含在这个列表中的标准是执行非线性视频编辑的能力。大多数现代的代码转换软件都支持对视频剪辑的一部分进行代码转换,这可以算作剪切和修剪。但是,本条各项目有下列条件之一:
是否可以执行其他非线性视频编辑功能,如蒙太奇或合成
可以做修剪或裁剪不转码
See also: List of free and open-source software packages § Video editing
Freeware or Freemium products
原文: https://en.wikipedia.org/wiki/List_of_video_editing_software
本文: https://pub.intelligentx.net/wikipedia-list-video-editing-software
讨论:请加入知识星球或者小红圈【首席架构师圈】
原文: https://en.wikipedia.org/wiki/List_of_video_transcoding_software
本文: https://pub.intelligentx.net/wikipedia-list-video-transcoding-software
讨论:请加入知识星球或者小红圈【首席架构师圈】
接下来是《如何在您的Spring启动应用程序中使用Apache Kafka》 https://www.confluent.io/blog/apache-kafka-spring-boot-application ,这展示了如何开始使用Spring启动和Apache Kafka®,这里我们将更深入地挖掘Apache Kafka项目的Spring提供的一些附加功能。
Apache Kafka的Spring为Kafka带来了熟悉的Spring编程模型。它提供了用于发布记录的KafkaTemplate和用于异步执行POJO侦听器的侦听器容器。Spring引导自动配置连接了许多基础设施,因此您可以将精力集中在业务逻辑上。
@KafkaListener(id = "fooGroup", topics = "topic1")
public void listen(String in) {
logger.info("Received: " + in);
if (in.startsWith("foo")) {
throw new RuntimeException("failed");
默认情况下,失败的记录会被简单地记录下来,然后我们继续下一个。但是,我们可以在侦听器容器中配置一个错误处理程序来执行一些其他操作。为此,我们用我们自己的来覆盖Spring Boot的自动配置容器工厂:
@Bean
public ConcurrentKafkaListenerContainerFactory kafkaListenerContainerFactory(
ConcurrentKafkaListenerContainerFactoryConfigurer configurer,
ConsumerFactory<Object, Object> kafkaConsumerFactory) {
ConcurrentKafkaListenerContainerFactory<Object, Object> factory = new ConcurrentKafkaListenerContainerFactory<>();
configurer.configure(factory, kafkaConsumerFactory);
factory.setErrorHandler(new SeekToCurrentErrorHandler()); // <<<<<<
return factory;
注意,我们仍然可以利用大部分的自动配置。
SeekToCurrentErrorHandler丢弃轮询()中的剩余记录,并在使用者上执行查找操作来重置偏移量,以便在下一次轮询时再次获取被丢弃的记录。默认情况下,错误处理程序跟踪失败的记录,在10次提交尝试后放弃,并记录失败的记录。但是,我们也可以将失败的消息发送到另一个主题。我们称这是一个毫无意义的话题。
下面的例子把这一切放在一起:
@Bean
public ConcurrentKafkaListenerContainerFactory kafkaListenerContainerFactory(
ConcurrentKafkaListenerContainerFactoryConfigurer configurer,
ConsumerFactory<Object, Object> kafkaConsumerFactory,
KafkaTemplate<Object, Object> template) {
ConcurrentKafkaListenerContainerFactory<Object, Object> factory = new ConcurrentKafkaListenerContainerFactory<>();
configurer.configure(factory, kafkaConsumerFactory);
factory.setErrorHandler(new SeekToCurrentErrorHandler(
new DeadLetterPublishingRecoverer(template), 3));
return factory;
@KafkaListener(id = "fooGroup", topics = "topic1")
public void listen(String in) {
logger.info("Received: " + in);
if (in.startsWith("foo")) {
throw new RuntimeException("failed");
@KafkaListener(id = "dltGroup", topics = "topic1.DLT")
public void dltListen(String in) {
logger.info("Received from DLT: " + in);
但是,在Spring获得记录之前发生的反序列化异常又如何呢?进入ErrorHandlingDeserializer。此反序列化器包装委托反序列化器并捕获任何异常。然后将它们转发给侦听器容器,后者将它们直接发送给错误处理程序。异常包含源数据,因此可以诊断问题。
考虑下面的例子:
@Bean
public RecordMessageConverter converter() {
return new StringJsonMessageConverter();
@KafkaListener(id = "fooGroup", topics = "topic1")
public void listen(Foo2 foo) {
logger.info("Received: " + foo);
if (foo.getFoo().startsWith("fail")) {
throw new RuntimeException("failed");
@KafkaListener(id = "dltGroup", topics = "topic1.DLT")
public void dltListen(Foo2 in) {
logger.info("Received from DLT: " + in);
注意,我们现在正在使用类型为Foo2的对象。消息转换器bean推断要转换为方法签名中的参数类型的类型。
转换器自动“信任”类型。Spring Boot自动将转换器配置到侦听器容器中。
在生产者方面,发送的对象可以是一个不同的类(只要它的类型兼容):
@RestController
public class Controller {
@Autowired
private KafkaTemplate<Object, Object> template;
@PostMapping(path = "/send/foo/{what}")
public void sendFoo(@PathVariable String what) {
this.template.send("topic1", new Foo1(what));
kafka:
producer:
value-serializer: org.springframework.kafka.support.serializer.JsonSerializer
$ curl -X POST http://localhost:8080/send/foo/fail
我们还可以使用单个侦听器容器,并根据类型路由到特定的方法。这次我们不能推断类型,因为类型是用来选择要调用的方法的。
相反,我们依赖于在记录头中传递的类型信息来将源类型映射到目标类型。此外,由于我们没有推断类型,所以需要将消息转换器配置为“信任”映射类型的包。
在本例中,我们将在两端使用消息转换器(以及StringSerializer和StringDeserializer)。下面是消费者端转换器的例子:
@Bean
public RecordMessageConverter converter() {
StringJsonMessageConverter converter = new StringJsonMessageConverter();
DefaultJackson2JavaTypeMapper typeMapper = new DefaultJackson2JavaTypeMapper();
typeMapper.setTypePrecedence(TypePrecedence.TYPE_ID);
typeMapper.addTrustedPackages("com.common");
Map<String, Class<?>> mappings = new HashMap<>();
mappings.put("foo", Foo2.class);
mappings.put("bar", Bar2.class);
typeMapper.setIdClassMapping(mappings);
converter.setTypeMapper(typeMapper);
return converter;
在这里,我们从“foo”映射到类Foo2,从“bar”映射到类Bar2。注意,我们必须告诉它使用TYPE_ID头来确定转换的类型。同样,Spring Boot会自动将消息转换器配置到容器中。下面是应用程序片段中的生产端类型映射。yml文件;格式是一个逗号分隔的令牌列表:FQCN:
spring:
kafka:
producer:
value-serializer: org.springframework.kafka.support.serializer.JsonSerializer
properties:
spring.json.type.mapping: foo:com.common.Foo1,bar:com.common.Bar1
@Component
@KafkaListener(id = "multiGroup", topics = { "foos", "bars" })
public class MultiMethods {
@KafkaHandler
public void foo(Foo1 foo) {
System.out.println("Received: " + foo);
@KafkaHandler
public void bar(Bar bar) {
System.out.println("Received: " + bar);
@KafkaHandler(isDefault = true)
public void unknown(Object object) {
System.out.println("Received unknown: " + object);
@PostMapping(path = "/send/foo/{what}")
public void sendFoo(@PathVariable String what) {
this.template.send(new GenericMessage<>(new Foo1(what),
Collections.singletonMap(KafkaHeaders.TOPIC, "foos")));
@PostMapping(path = "/send/bar/{what}")
public void sendBar(@PathVariable String what) {
this.template.send(new GenericMessage<>(new Bar(what),
Collections.singletonMap(KafkaHeaders.TOPIC, "bars")));
@PostMapping(path = "/send/unknown/{what}")
public void sendUnknown(@PathVariable String what) {
this.template.send(new GenericMessage<>(what,
Collections.singletonMap(KafkaHeaders.TOPIC, "bars")));
kafka:
producer:
value-serializer: org.springframework.kafka.support.serializer.JsonSerializer
transaction-id-prefix: tx.
consumer:
properties:
isolation.level: read_committed
当使用spring-kafka 1.3时。x或更高版本和支持事务的kafka-clients版本(0.11或更高版本),在@KafkaListener方法中执行的任何KafkaTemplate操作都将参与事务,而侦听器容器将在提交事务之前向事务发送偏移量。请注意,我们还为使用者设置了隔离级别,使其无法看到未提交的记录。下面的例子暂停监听器,这样我们可以看到效果:
@KafkaListener(id = "fooGroup2", topics = "topic2")
public void listen(List foos) throws IOException {
logger.info("Received: " + foos);
foos.forEach(f -> kafkaTemplate.send("topic3", f.getFoo().toUpperCase()));
logger.info("Messages sent, hit enter to commit tx");
System.in.read();
@KafkaListener(id = "fooGroup3", topics = "topic3")
public void listen(String in) {
logger.info("Received: " + in);
@PostMapping(path = "/send/foos/{what}")
public void sendFoo(@PathVariable String what) {
this.template.executeInTransaction(kafkaTemplate -> {
StringUtils.commaDelimitedListToSet(what).stream()
.map(s -> new Foo1(s))
.forEach(foo -> kafkaTemplate.send("topic2", foo));
return null;
curl -X POST http://localhost:8080/send/foos/a,b,c,d,e
Received: [Foo2 [foo=a], Foo2 [foo=b], Foo2 [foo=c], Foo2 [foo=d], Foo2 [foo=e]]
Messages sent, hit Enter to commit tx
Received: [A, B, C, D, E]
在Apache Kafka中使用Spring可以消除很多样板代码。它还增加了诸如错误处理、重试和记录筛选等功能——而我们只是触及了表面。
本文: https://pub.intelligentx.net/node/782
讨论:请加入知识星球或者小红圈【首席架构师圈】
前往旧金山的旅行,我的房子已经六年了,房价迫使向东移动,总是令人兴奋。海景,美味的印度美食和冲浪的回忆让我怀念孩子们的婚姻生活。最令人兴奋的是关于最新热门技术的嗡嗡声,紧迫感和夸张。
在这次旅行中,Confluent的Kafka峰会令人兴奋。正如我上个月在Eckerson.com上所写的那样,超低延迟,高度可扩展的分布式Apache Kafka数据流平台开创了实时数据集成,处理和分析的新纪元。借助Kafka,企业可以解决新的高级分析用例,并从更多数据中提取更多价值。他们正在实施Kafka和流媒体替代方案,例如Amazon Kinesis和Azure Event Hub,以实现数据湖流式传输,具有许多大数据端点的复杂消息队列,微服务数据共享以及机器学习的预处理。
所有好东西。但是Kafka取代数据架构支柱,比如数据库吗?
剑桥大学研究员马丁·克莱普曼在上周的会议上提出了他所谓的“略带挑衅性的问题”, “Kafka是一个数据库吗?” 克莱普曼缩小了数据库的一个定义特征,即它支持ACID的能力 - 兼容数据集。
正如许多读者所知, ACID指的是四种数据库属性 - 原子性,一致性,隔离性和持久性 - 通常被认为对事务数据有效性至关重要。 ACID数据库通过错误,断电或其他组件故障来维护数据完整性。另一种方式考虑,有效的事务要求其所有相关的DB操作都符合ACID。 ACID已成为35年来数据库的黄金标准。
在一次深思熟虑的25分钟会议中,Kleppmann在逻辑上将ACID测试应用于Kafka。我建议观看视频。以下是他的想法摘要。
Kleppmann从这里开始,因为耐用性似乎是最简单的解决方案。即使系统崩溃,软件发生故障等,持久数据仍然可用并提交。通常,这意味着数据和一个或多个副本被写入非易失性存储器,例如磁盘。 Kafka经纪人可以通过将记录(通常是跨复制分区的多个副本)保存到基于磁盘的文件系统来满足此要求。与其他数据系统一样,这些记录也可以备份到远程位置,以便在发生灾难时提供额外的持久性。
原子数据库事务作为单个单元运行,可以是成功的,也可以是完全失败的。这是什么意思?事务永远不会被部分提交。如果所有写入都未完全完成,则必须回滚所有内容。 Kleppmann说,Kafka满足了这个属性,因为生产者以一种全有或全无的方式将每条记录写入一个不可变的日志。数据库,缓存和搜索索引都独立地从日志中消耗该记录,而不会相互干扰。作为另一个例子,可以原子地处理包括来自一个帐户的借方和贷方到另一个帐户的交易。这是通过使用流处理算法来实现的,该算法发出这两个相互关联的事件,信用卡和借记卡,用于在Kafka平台上进行协调处理。
事务通常同时执行,例如,同时写入多个位置和从多个位置读取。这就产生了隔离的需要,或者确保并发执行的事务反映了正确的顺序。通过将事务逻辑构建到流处理器中,Kafka可以实现序列化,即最高级别的隔离,确保事务不会重叠或以其他方式影响彼此的记录序列。可序列化隔离有效地意味着事务可以表现得就像数据库是所有数据库一样,没有干扰活动。
Kafka的最终ACID测试是一致性,这意味着根据定义的约束和其他规则,事务是有效的。例如,规则可能指定用户名必须是唯一的。 Kafka再一次依靠流处理算法来清除这个障碍,例如检查任何事务请求的有效性。
因此, 在流处理算法的帮助下,Kleppmann得出结论,Kafka确实可以符合ACID标准 。这为Kafka管理的数据的完整性和下游使用的有效性提供了新的信心。然而,虽然Kafka可以无限期地保留数据,但很少有架构师或开发人员希望Kafka能够很快取代数据库。实际上,Kleppmann建议临时查询最好留给数据库和数据仓库领域,并且最终没有明确说明Kafka实际上是一个数据库。
Kleppmann的论文涉及将Kafka视为数据流平台的更大趋势。
Confluent首席执行官Jay Kreps建议Kafka将事件处理作为数据架构基础的合法位置。
事实上,企业本质上是一系列事件和对这些事件的反应。数据仓库基于事实表,事实是事件,与Kafka相比,这使得数据仓库成为“一个非常慢的事件流”。在这里,克雷普斯遵循硅谷悠久的传统,将新技术定位为既定秩序的破坏者。
这个论点是有道理的。作为符合ACID标准,可扩展,超低延迟的数据流平台,Kafka可以作为微服务,事件监控/分析和各种类型实时应用的中心企业推动者。
实际上,企业正在采用Kafka为用例提供数据流,例如流数据湖摄取,消息排队,机器学习预处理和微服务支持。某些数据集成产品会自动将生产数据库事务发布到Kafka记录流,以解决这些用例。 Kafka在这些组织的数据架构中发挥了关键作用。
在可预见的未来,数据流媒体从业者 - 包括架构师,开发人员及其经理 - 不希望Kafka很快取代数据库或数据仓库。相反,Kafka将作为 实时运河系统 发挥关键作用,在当今日益异构的环境中,在平台之间和跨管道之间移动数据。您可以配置一个数据库生产者将主题流发送给几十个不同的消费者,从Spark驱动的数据湖到微服务平台,再到各种NoSQL存储库。在大多数情况下,这些消费者最适合管理分析。
所以Kafka是一个实时的数据运河系统,也是无与伦比的一个,但不是数据库。如果Kafka Summit的嗡嗡声有任何迹象,那么Kafka运河将成为许多组织在未来几年投资的一个令人信服的选择。
Kevin是Eckerson Group的贡献分析师,以及Attunity的产品营销高级总监。 要了解有关CDC在Kafka,数据湖和云环境中的作用的更多信息,请查看Kevin共同撰写的书,Streaming Change Data Capture:现代数据架构基础,O'Reilly 2018。
原文: https://www.eckerson.com/articles/applying-the-acid-test-to-apache-kafka
在本教程中,我们将快速探索一些基本的高级方法,用于测试使用Kafka构建的微服务应用程序。此外,我们将了解以传统/现有测试方式测试Kafka应用程序的声明方式的优势。
对于此处解释的所有内容,我们可以在本文的“结论”部分找到正在运行的代码示例。
为了使教程简明扼要,我们将仅演示以下方面。
在继续本教程之前,我强烈建议您阅读我们需要了解的 Kafka测试 最低要求。
有关Kafka流以及如何开发流应用程序的更多详细信息,请访问Confluent开发流媒体应用程序教程。
记录,分区,偏移,异常情况等不断变化,使得难以根据测试内容,何时测试以及如何测试进行思考。
我们可以采用端到端的测试方法,该方法将验证生产,消费和DLQ记录以及应用程序处理逻辑。 这将使我们有信心将我们的应用程序发布到更高的环境。
我们可以通过在Docker化容器中创建Kafka或将我们的测试指向我们的Kubernetes-Kafka集群或任何其他微服务基础架构中的任何集成测试环境来实现。
在这里,我们选择一个功能,生成所需的记录并验证,使用预期的记录并验证,以及HTTP REST或SOAP API验证,这有助于保持我们的测试更清洁,更少噪音。
例如,将“recordMetaData”可视化为JSON将如下所示:
Response from the broker after a successful "produce". 当我们从主题中阅读或使用时,我们可以验证从主题中获取的记录。 在这里,我们也可以验证/断言一些元数据,但大多数时候您可能只需要处理记录(而不是元数据)。
例如,有时我们只能验证记录的数量,即只有大小,而不是实际记录
例如,将获取的“记录”可视化为JSON将如下所示:
Records fetched after a successful "consume". 生成主题“demo-topic”并验证来自代理的receivedrecordMetadata。从同一主题“demo-topic”中获取并验证记录。
7.传统测试方式的挑战 首先,传统风格没有任何问题。但是,对于Kafka经纪人来说,它有一个陡峭的学习曲线来处理。
例如,当我们处理经纪人时,我们需要彻底了解Kafka客户端API,例如: Key-SerDe,Value-SerDe,Time-Outs,同时记录Poolings,commitSyncs,recordTypes等,以及API级别的更多内容。
对于功能测试,我们并不需要在API级别了解这些概念。
我们的测试代码与客户端API代码紧密结合。这意味着我们在维护测试套件以及测试框架的代码时引入了许多挑战。
这有多整洁?试想一下,如果我们必须为相同的重复性任务编写代码/ shell脚本,那将是多么麻烦。
在声明式样式中,我们可以完全跳过处理代理的API级别,并且只关注测试场景。但是,我们仍然可以灵活地使用Kafka Client API并为其添加自己的风格。这有助于发现更多缺陷,因为我们不会花时间编写代码,而是花更多的时间编写测试并覆盖更多的业务场景/用户旅程。
在这里,我们告诉测试使用Kafka-Topic,这是我们的“终点”或“url”
即“url”:“kafka-topic:demo-topic”
接下来,我们告诉测试使用操作“生产”
即“操作”:“生产”
接下来,我们需要将记录发送到请求有效负载:
"request": { "records": [ "key": "KEY-1234", "value": "Hello World" 然后,我们告诉测试我们期望响应“status”返回为“Ok”和来自代理的一些记录元数据,即非空值。这是我们测试的“断言”部分。"assertions": { "status" : "Ok", "recordMetadata" : "$NOT.NULL" 注意:我们甚至可以立即声明所有'recordMetadata,我们将在后面的部分中看到。现在,让我们保持简单并继续。
完成后,我们的完整测试将如下所示:
"name": "produce_a_record", "url": "kafka-topic:demo-topic", "operation": "produce", "request": { "recordType" : "RAW", "records": [ "key": 101, "value": "Hello World" "assertions": { "status": "Ok", "recordMetadata": "$NOT.NULL" 就是这样。我们完成了测试用例并准备运行。
现在,看看上面的测试,任何人都可以轻松找出正在测试的场景。
同时,我们使用框架的JSON比较功能立即断言结果,因此,使测试更容易和更清洁。
我们在测试时逃脱了两个主要的麻烦。
并且,字段的顺序在这里无关紧要。以下代码也是正确的(字段顺序交换)。
@TargetEnv("kafka_servers/kafka_test_server.properties") @RunWith(ZeroCodeUnitRunner.class) public class KafkaProduceTest {
'test_kafka_produce.json'是测试用例,其中包含我们之前讨论过的JSON步骤。
'kafka_test_server.properties'包含“Broker”详细信息和生产者/消费者配置。
'@RunWith(ZeroCodeUnitRunner.class)'是运行测试的JUnit自定义运行器。
此外,我们可以使用Suite runner或Package runner来运行整个测试套件。
请访问这些RAW和JSON示例和说明。
但我们不必止步于此。 我们可以进一步要求我们的测试逐字段断言“recordMetadata”以验证它是否写入了正确“主题”的正确“分区”等等,如下所示。
"assertions": { "status": "Ok", "recordMetadata": { "offset": 0, //<--- This is the record 'offset' in the partition "topicPartition": { "partition": 0, //<--- This is the partition number "topic": "demo-topic" //<--- This is the topic name而已。在上面的“断言”块中,我们完成了预期值与实际值的比较。
注意:比较和断言立即完成。 “断言”块立即与从Kafka Broker收到的实际“status”和“recordMetadata”进行比较。字段的顺序在这里并不重要。如果字段值或结构不匹配,则测试仅失败。
主题名称'demo-topic'是我们的“终点”,a.k.a。“url”:“url”:“kafka-topic:demo-topic”。
操作,即“消费”:“操作”:“消费”。
在使用主题消息时,我们需要发送如下信息:“request”:{}
上述“请求”意味着什么也不做,只是消费而不做“提交”。
或者我们可以在测试中提及在消费或消费记录后做某些事情。
"request": { "consumerLocalConfigs": { "commitSync": true, "maxNoOfRetryPollsOrTimeouts": 3 “commitSync”:true:在这里,我们告诉测试在使用消息之后执行`commitSync`,这意味着,当你下次`poll`时它不再读取消息。它只会在有关主题的情况下阅读新消息。
“maxNoOfRetryPollsOrTimeouts”:3:在这里,我们告诉测试最多显示轮询三次,然后停止轮询。如果我们有更多记录,我们可以将其设置为更大的值。默认值为1。
“pollingTime”:500:在这里,我们告诉测试每次轮询时轮询500毫秒。如果跳过此标志,则默认值为100毫秒。
访问此页面以获取所有可配置密钥 - 来自源代码的ConsumerLocalConfigs。
访问HelloWorld Kafka示例仓库,在家中试用。
注意:这些配置值可以在属性文件中全局设置为所有测试,这意味着它将应用于我们的测试包中的所有测试。此外,我们可以覆盖套件内特定测试或测试的任何配置。因此,它为我们提供了覆盖所有测试场景的灵活性。
好吧,设置这些属性并不是什么大问题,我们必须这样做才能将它们外化。因此,维护起来越简单,对我们来说就越好!但我们必须了解其中的内容。
我们将在接下来的章节中讨论这个问题。
因此,我们需要涵盖端到端测试场景中的所有API合同验证,包括Kafka。
但这并不是什么大问题,因为毕竟这里没有什么变化,除了我们只是将我们的“url”指向我们的REST或SOAP服务的HTTP端点,然后相应地操纵有效负载/断言块。真的是这样的。
请访问将 Kafka测试与REST API测试结合使用 ,以获得完整的逐步方法。
如果我们有一个用例:
步骤1:Kafka调用 - 我们向“地址主题”发送ID为“id-lon-123”的“地址”记录,该记录最终被处理并写入“地址”数据库(例如Postgres或Hadoop)。然后我们断言经纪人确认。
步骤2:REST调用 - 使用“/ api / v1 / addresses / id-lon-123”查询(GET)“地址”REST API并断言响应。
相应的测试用例如下所示。
"scenarioName": "Kafka and REST api validation example", "steps": [ "name": "produce_to_kafka", "url": "kafka-topic:people-address", "operation": "produce", "request": { "recordType" : "JSON", "records": [ "key": "id-lon-123", "value": { "id": "id-lon-123", "postCode": "UK-BA9" "assertions": { "status": "Ok", "recordMetadata" : "$NOT.NULL" "name": "verify_updated_address", "url": "/api/v1/addresses/${$.produce_to_kafka.request.records[0].value.id}", "operation": "GET", "request": { "headers": { "X-GOVT-API-KEY": "top-key-only-known-to-secu-cleared" "assertions": { "status": 200, "value": { "id": "${$.produce_to_kafka.request.records[0].value.id}", "postCode": "${$.produce_to_kafka.request.records[0].value.postcode}" 易于阅读!容易写!
字段通过JSON路径重用值而不是硬编码。这是一个很好的节省时间!
“recordType”:“RAW”,
然后,我们的测试用例如下所示:
“recordType”:“JSON”
而且,我们的测试用例如下所示:
我们可以在下面找到docker-compose文件和分步说明。
Docker中的单节点Kafka
Docker中的多节点Kafka集群
使用这种方法,我们已经测试并验证了集群Kafka数据管道到Hadoop以及部署在Kubernetes Orchestrated pod中的Http REST / SOAP API。我们发现这种方法非常非常直接并且降低了复杂性,以便将工件维护和推广到更高的环境。
通过这种方法,我们能够完全清晰地涵盖了许多测试场景,并且在开发周期的早期阶段发现了更多缺陷,即使没有编写任何测试代码也是如此。这有助于我们以简单,干净的方式构建和维护我们的回归包。
下面给出了repo GitHub(在家尝试)的这些示例的完整源代码。
要运行任何测试,我们可以直接导航到'src / test / java'下相应的JUnit @Test。在点击任何Junit测试之前,我们需要使用kafka调出Docker。
使用“kafka-schema-registry.yml(参见Wiki)”可以运行所有测试。
快乐的测试!
原文: https://dzone.com/articles/a-quick-and-practical-example-of-kafka-testing
我意识到软件工具可以帮助我们在两个关键方面测试kafka:性能和稳健性。我从很少了解工具或它们的能力开始,虽然我知道十年前我曾经简要使用的jmeter。
我最初的目标是找到一种可以生成和消耗负载的方法。然后,这个负载将成为试验稳健性测试的背景,以了解系统和数据复制在恶劣条件下的工作和处理能力。通过inclement我的意思是不同程度的不利条件,如网络条件差,复杂的错误条件,在升级过程中“错误的”节点被取下而系统试图赶上积压的交易等等。我出现了我正在分别写下Beaufort环境条件的概念。
到现在为止还挺好…
然而,当我开始研究使用jepsen测试新版Kafka的实际方面时,我至少遇到了一些重大挑战。我找不到原始脚本,我找到的那些脚本 https://github.com/gator1/jepsen/tree/master/kafka是一个Clojure ,一种不熟悉的语言,以及旧版本的Kafka(0.10。 2.0)。更重要的是它依赖于docker。虽然docker是一个非常强大和快速的工具,但客户端不愿意相信在docker环境中运行的测试(我们的环境至少需要20个实例来测试最小的配置)。
下一个要尝试的项目是 https://github.com/mbsimonovic/jepsen-python ,这是我和其他团队成员充分了解的语言。但是我们又遇到了它使用docker的拦截器。但是,如果我们可以获得支持docker swarm的依赖项之一,那么似乎有一些测试集群的潜力。那个项目是Blockade。我问是如何添加对docker swarm的支持;根据项目团队之一 https://github.com/worstcase/blockade/issues/67 ,相当多。
到目前为止,我们需要继续前进并专注于测试Kafka的性能,可伸缩性和延迟,包括区域间数据复制,因此我们不得不暂停搜索自动化工具或框架来控制测试的稳健性方面。
在项目期间,我们发现了至少5个生成负载的候选者:
kafkameter和胡椒盒都集成了jmeter。其中胡椒盒更新,灵感来自kafkameter。 kafkameter显然需要大量的工作来满足我们的需求,所以我们开始尝试胡椒盒。我们很快分叉了项目,因此我们可以轻松地试验和添加功能,而不会干扰父项目,或者通过等待批准等延迟我们需要做的测试。
我已经将使用胡椒盒的细节移到了一个单独的博客文章 http://blog.bettersoftwaretesting.com/2018/04/working-with-pepper-box-t…
有足够的空间来改进辣椒盒和分析工具。其中一些已经在各自的github存储库中被识别出来。
https://github.com/commercetest/pepper-box/issues
https://github.com/commercetest/pepperbox-analysis/issues
我接下来要探索的是什么
至少在我看来,最大的直接改进是专注于使用可信赖的统计分析工具(如R),以便我们可以自动化更多的测试处理和图形方面。
AWS刚刚在Re-Invent 2018上发布了一个托管Apache Kafka服务。我跳过它来弄清楚产品。炒作值得吗?你应该用吗?其他供应商应该担心吗?这是我的评论!
TLDR:虽然我认为亚马逊MSK是一个公开的预览,并且它表现出良好的性能,但截至今天我发现它缺乏主要功能,包括适当的安全性,这使得MSK目前无法推荐。
不幸的是,今天发布的AWS错过了这个标志。我认为它让人联想到AWS整体上的开源软件托管服务:它们早期发布,缺乏我认为应该是MVP的功能。在我看来,这将阻止未来的用户。
"ClusterArn": "arn:aws:kafka:us-east-1:160803060715:cluster/test/9d2be72e-0d3b-4a2a-abbd-d8708ec4dca8-3", "ClusterName": "test", "CreationTime": "2018-11-30T08:21:36.824Z", "CurrentBrokerSoftwareInfo": { "KafkaVersion": "1.1.1" "CurrentVersion": "K13V1IB3VIYZZH", "EncryptionInfo": { "EncryptionAtRest": { "DataVolumeKMSKeyId": "arn:aws:kms:us-east-1:160803060715:key/c8a78efb-4daa-48ee-9fe8-26d40c274aaf" "EnhancedMonitoring": "DEFAULT", "NumberOfBrokerNodes": 3, "State": "ACTIVE", "ZookeeperConnectString": "172.31.31.89:2181,172.31.9.136:2181,172.31.73.166:2181" $ aws kafka get-bootstrap-brokers --cluster-arn arn:aws:kafka:us-east-1:160803060715:cluster/test/9d2be72e-0d3b-4a2a-abbd-d8708ec4dca8-3 "BootstrapBrokerString": "172.31.72.155:9092,172.31.10.218:9092,172.31.18.106:9092"
就卡夫卡版而言,你得到...... 1.1.1。它真的很旧,我们现在有2.1和2.0.1可用......哦。您已经拥有的所有Kafka客户都应该工作,包括Kafka Connect,Kafka Streams,连接Kafka的监控解决方案等。
监控明智,我们可以在CloudWatch中查看指标,我想这是一个值得欢迎的补充。 “默认”监控级别是免费的,您必须为“每个经纪人”和“每个经纪人的每个主题”支付额外费用。这有点荒谬,因为每个经纪人都需要“每个主题”。只需将其纳入经纪人的成本,并让所有人免费......呃。指标列表虽然很好,但我很高兴他们揭露了一些最重要的指标:https://docs.aws.amazon.com/msk/latest/developerguide/monitoring.html#metrics-details
最后,因为您购买了EC2实例,所以您可以自由使用您喜欢的任何网络带宽。与其他管理的Kafka提供商相比,我认为这是AWS产品的一个重要区别。
我创建了一个集群,我用3个代理m5.large和一个机器m5a.large作为客户端进行了快速性能测试。性能方面,集群看起来很稳固,我能够以70MB /秒的速度获得峰值吞吐量。
$ kafka-topics.sh — zookeeper 172.31.31.89:2181,172.31.9.136:2181,172.31.73.166:2181 — create — topic test — replication-factor 3 — partitions 12 Created topic “test”. $ kafka-producer-perf-test.sh — topic test — throughput 10000 — num-records 10000000000 — producer-props acks=all linger.ms=10 batch.size=65536 bootstrap.servers=172.31.72.155:9092,172.31.10.218:9092,172.31.18.106:9092 — record-size 1000 49912 records sent, 9968.4 records/sec (9.51 MB/sec), 17.4 ms avg latency, 236.0 max latency. 50076 records sent, 10011.2 records/sec (9.55 MB/sec), 10.6 ms avg latency, 35.0 max latency. 49994 records sent, 9994.8 records/sec (9.53 MB/sec), 10.0 ms avg latency, 29.0 max latency. 50074 records sent, 10014.8 records/sec (9.55 MB/sec), 9.9 ms avg latency, 33.0 max latency. $ kafka-producer-perf-test.sh — topic test — throughput 50000 — num-records 10000000000 — producer-props acks=all linger.ms=10 batch.size=65536 bootstrap.servers=172.31.72.155:9092,172.31.10.218:9092,172.31.18.106:9092 — record-size 1000 249251 records sent, 49820.3 records/sec (47.51 MB/sec), 26.0 ms avg latency, 226.0 max latency. 250275 records sent, 50055.0 records/sec (47.74 MB/sec), 13.7 ms avg latency, 34.0 max latency. 250079 records sent, 49985.8 records/sec (47.67 MB/sec), 13.6 ms avg latency, 35.0 max latency. $ kafka-producer-perf-test.sh — topic test — throughput 100000 — num-records 10000000000 — producer-props acks=all linger.ms=10 batch.size=65536 bootstrap.servers=172.31.72.155:9092,172.31.10.218:9092,172.31.18.106:9092 — record-size 1000 369975 records sent, 73906.3 records/sec (70.48 MB/sec), 343.9 ms avg latency, 1112.0 max latency. 351592 records sent, 70290.3 records/sec (67.03 MB/sec), 444.9 ms avg latency, 1402.0 max latency. 351236 records sent, 70233.2 records/sec (66.98 MB/sec), 453.6 ms avg latency, 1359.0 max latency. 354300 records sent, 70845.8 records/sec (67.56 MB/sec), 447.4 ms avg latency, 1365.0 max latency. 我认为任何人使用MSK的主要原因是为了安全。好的,我在自己的云中有一个Apache Kafka集群,所以我是唯一可以访问它的人,这是一个很大的优势。 AWS做了什么?好吧,它由KMS支持加密EBS卷,而且你没有SSH访问你的数据,这是好的。这为您的数据提供了“静态加密”功能。
但是,自从3岁以上的Kafka v0.9起,我们就拥有了适当的Kafka安全性。在每个Kafka版本中,它都在使用新的安全机制进行改进。今天我们在Kafka Security中有两个组件:
因此,当您获得所有奇特的网络和服务控制安全性时,您的实际Kafka群集将尽可能地打开。这意味着您在当前系统中如此难以处理的数据的任何安全控制在MSK中完全丢失。对我来说,这对我所有咨询客户来说都是一个破坏性的交易。
让我细微一点:这是MSK的预览,我确信在积压的某个地方,AWS确实有一张大卡可以实现并释放某种真正的安全性。但是,当您发布服务时,您只有一次机会给人留下印象,而且您发布的内容有点完整。 AWS在这里错过了标记,很长一段时间,我认为MSK是不安全的。即使有一天它变得“安全”,它也表明AWS缺乏支持安全第一卡夫卡的承诺,这反映了产品的思维方式:营销能力。
请证明我错了AWS:
公平地说,AWS已经开始开源今年非常大的FireCracker,这可能预示着思维方式的转变......时间会证明。我认为管理卡夫卡空间的竞争越来越激烈。它充满了伟大的演员,如Confluent,Aiven,CloudKarafka,Instaclustr,Landoop,Heroku以及其他我可能缺少的演员。 AWS肯定会增加很多压力,但是现在亚马逊MSK非常小,我不推荐它。你最终还是会管理很多,这不是你首先注册的,是吗?
本文 : http://pub.intelligentx.net/node/367
讨论:请加入知识星球【首席架构师圈】
Apache Kafka正在被普遍利用,并且在世界上形成一些大规模和重要的系统,每天处理数万亿条消息。它是许多金融和科技行业公司的管道骨干。
在继续之前,我想提出一些期望。本文的重点不是解释Kafka及其架构的复杂性或用例,而是清楚地说明可用于执行Kafka测试的库之一以及我们的方法和经验。 Zerocode如何允许我们执行集成,单元和端到端(E2E)测试。本文适用于那些已经熟悉Kafka的人,其应用或至少具有很强的理论知识水平。要按照我们的设置,您需要克隆 https://github.com/authorjapps/zerocode并安装一些监控工具 (Confluent Control Center)。
由于项目的机密性和我们对客户的承诺,我会用我们在测试Kafka时可能遇到的一般情况来打扮我们的用例。请随时通过评论或LinkedIn与您讨论您的具体情况。该项目有30多个微服务,向Kafka生成和使用消息,并对流程中的消息执行某些转换和验证。
Confluent Center(本地)是我们选择的平台,可以获得对测试用例的可视性和监控。
为了模拟我们的测试场景之一(即消息可能来自微服务A然后被消费并需要从微服务B消费和验证)我们向topic_A发出消息并利用KSQL将这些消息写入topic_B并从topic_B和执行断言然后执行另一个KSQL查询以在topic_C上传递该有效负载并重复。 Zerocode的JSON声明式风格使我们能够有效地完成这项工作。
在我们与Zerocode社区的讨论中,可以使用以下选项来解决:
client.id in:/zerocode/kafka-testing/src/test/resources/kafka_servers/kafka_producer.properties
group.id in:/zerocode/kafka-testing/src/test/resources/kafka_servers/kafka_consumer.properties
在Kafka; client.id:允许您轻松地将代理上的请求与创建它的客户端实例相关联。查看更多示例和详细信息:https://docs.confluent.io/current/clients/producer.html
并且,group.id:property为同一个使用者组中的一组使用者定义唯一标识。您可以在此处了解更多信息:https://jaceklaskowski.gitbooks.io/apache-kafka/kafka-properties-client-id.html?q = group.id
Zerocode允许您配置例如client.id = zerocode-producer _ $ {RANDOM.NUMBER}以及其他各种占位符。保持其独特性有助于跟踪和测试目的。
通过上面定义的client.id,为每个执行的测试分配一个唯一的ID。
以下示例结果:
第一次运行 - client.id = test_producer_1553209530873
第二次运行 - client.id = test_producer_1553209530889
第3次运行 - client.id = test_producer_1553209530893
此后缀数字ID是唯一的,因为它是当前时间戳的数字等效值。
Zerocode社区的另一个建议方法是将client.id定义为时间戳,因为它是测试和跟踪的理想选择
client.id = test_producer _ $ {LOCAL.DATE.TODAY:yyyy-MM-dd}
第1天 - client.id = test_producer_2018-03-18
第二天 - client.id = test_producer_2018-03-19
第3天 - client.id = test_producer_2018-03-20
有关其他占位符的信息,请参阅以下链接以定义client.id
https://github.com/authorjapps/zerocode#localdate-and-localdatetime-for…
,在适合您项目要求的README文件中进行说明。
根据Kafka的要求,group.id在kafka_consumer.properties中定义。
例如group.id = consumerGroup14等
将其定义为唯一可以帮助您实现端到端的测试。此外,这可能会重新运行整个测试套件/包,即使您的CI构建管道可重复。
这种独特性将允许消费者获取旧+新消息(如果它有帮助)。
更多示例和详细信息:https://docs.confluent.io/current/clients/consumer.html
我们使用KSQL将数据从一个主题移动到另一个主题,以模拟多微服务的参与,如上所述。
下面分享了一些测试截图:
2. KSQL QUERIES
查看我们用于在不同主题之间移动数据的模拟KSQL查询的快照。
属性配置示例包括:
Producer属性:https://github.com/authorjapps/hello-kafka-stream-testing/blob/master/src/test/resources/kafka_servers/kafka_producer_unique.properties
Consumer属性:https://github.com/authorjapps/hello-kafka-stream-testing/blob/master/src/test/resources/kafka_servers/kafka_consumer_unique.properties
KafkaProduceUniqueClientIdTest.java:
https://github.com/authorjapps/hello-kafka-stream-testing/blob/master/s…
KafkaConsumeUniqueGroupIdTest.java:
https://github.com/authorjapps/hello-kafka-stream-testing/blob/master/s…
下面是我们在一个测试场景中使用的示例JSON配置:
请参阅示例:https://github.com/authorjapps/zerocode-hello-world/blob/master/src/main/java/org/jsmart/zerocode/zerocodejavaexec/httpclient/CustomHttpClient.java#L46
然后它非常简单直接使用如下 -
只需注释您的测试类或套件类。
@UseHttpClient(CustomHttpClient.class)
以类似的方式,您可以注入所需的任何自定义标头。
https://github.com/authorjapps/zerocode-hello-world/blob/master/src/mai…
我们和Zerocode很乐意听取您对此的反馈。
分布式测试非常棘手,没有灵丹妙药,因其独特的角落案例而闻名。要解决这些问题,需要从流程设计到生产的大量设计思路和SDLC(软件开发生命周期)实践。本博客的目标是根据需要分享一些有关如何处理和扩展测试的见解,以及现有的经过深思熟虑和文档选项Zerocode旨在保持质量。
重要的是要清楚地概述Zerocode是特殊的:
以声明的方式将开发人员/测试人员的麻烦减少到零。
我们选择合适的测试库或框架的结论是:
我们真诚地希望这能在一定程度上帮助社区,并帮助我们与来自Zerocode的同类精神弥合和填补空白。
随着公司开始考虑推出实时消息传递系统,查看总体硬件成本是很重要的。通过一些前瞻性的规划,公司可以节省高达85%的总体存储成本。
在我们开始进行成本比较之前,让我简要地说明apache kafka和apache pulsar是如何存储数据的,它们有什么不同,以及为什么这些不同很重要。
Figure 1: Simple Kafka storage diagram
在Kafka中,代理进程执行所有数据移动和存储。当生产者发送数据时,它被发送到代理进程。当使用者轮询数据时,将从代理检索数据。当代理进程接收数据时,它将数据存储在单独的本地目录中。
在Kafka集群中,有许多不同的代理进程正在运行。这些代理进程中的每一个都在物理上独立的计算机或容器上运行。
有几种不同的方法可以建立一个Pulsar集群。这种级别的可扩展性是我们优化存储成本的方法。
Figure 2: Simple Pulsar storage diagram
在Pulsar中,代理进程执行所有数据移动。当生产者发送数据时,它被发送到代理进程。当消费者将数据推送到代理时,数据来自代理。当Broker进程接收数据时,它将数据存储在一个并置的bookeeper Bookie中。BookKeeper Bookie是BookKeeper中存储数据的进程的名称。
在Pulsar集群中,有许多不同的代理进程在运行。这些代理进程中的每一个都在物理上独立的计算机或容器上运行。
Figure 3: Pulsar with separate BookKeeper cluster
正如您刚才看到的,数据不是直接由Pulsar代理存储的。相反,Pulsar代理使用ApacheBookKeeper来存储他们的数据。数据的发送/接收和存储的这种解耦允许您让 BookKeeper 在另一台物理上独立的计算机或容器上运行。
当代理保存消息时,它将简单地将数据发送到 BookKeeper 流程。这允许 BookKeeper 集群和Pulsar集群彼此独立缩放。您可以发送/接收大量短时间内存储的消息(许多Pulsar经纪人和很少的预订)。你可以收到很少的信息并长期存储(很少的Pulsar经纪人和许多预订)。
一个常见的问题是,如果在单独的机器上有经纪人和簿记会导致性能问题。代理保留最近消息的内存缓存。事实上,99.9%的消息将是缓存命中,因为大多数消费者只是接收最新消息。
Figure 4: Pulsar with separate BookKeeper cluster that is offloading to S3
Pulsar的解耦存储体系结构在Pulsar中有一个新特性,称为分层存储,这一特性非常出色。这允许 BookKeeper 根据管理员配置的策略自动将数据从存储在簿记台上移动到存储在S3中。
注意:虽然我把S3作为赌注者的一个选择,但它并不是唯一受支持的技术。目前支持Google云存储,即将支持Azure Blob存储。您可以将S3看作是您所选择的支持云存储选项的缩写。
尽管数据存储在S3中,但经纪人仍然可以访问S3中的数据,因为赌注经纪人负责数据移动。S3的IO比本地存储的数据慢。
如你所见,Kafka和Pulsar在存储方面的主要区别在于耦合。在Kafka中,存储耦合到代理。在Pulsar中,存储与簿记分离。
Figure 5: Kafka Offload
你可能知道,Kafka确实有能力将数据放入S3。这可以通过设置Kafka Connect或编写自定义使用者手动完成。
使用Pulsar,数据可以与计算引擎共享。这两方面都是最好的,因为代理仍然可以访问旧消息,而计算引擎也可以。
例如,Spark可以处理存储在S3中的旧消息,同时Pulsar用户可以请求这些消息。请注意,在其他计算引擎中读取Pulsar的数据需要一个能够理解Pulsar磁盘格式的自定义输入格式。在撰写本文时,Pulsar支持Spark和Presto的连接器。
既然我们了解了Kafka如何存储数据以及Pulsar存储数据的各种方法,我们就可以开始计算成本了。为了让这个过程更简单更具体,我们将根据亚马逊网络服务的美国东部(俄亥俄州)地区2019年1月的定价来确定我们的数字。对于S3,每个GB月的成本为0.023美元;对于EBS Amazon EBS通用SSD,每个GB月的配置存储成本为0.10美元。
在这个场景中,假设我们每天存储500 GB的消息。我们需要将这些消息存储14天。大约有7000 GB的原始事件消息。在Kafka和Pulsar中,数据被保存了3次以实现冗余。这使我们的存储需求高达21000 GB。对于Kafka和Pulsar(没有S3),光是存储成本每年就要25200美元。
有了Pulsar和S3,我们不需要在 BookKeeper 那里存储14天。我们只需要在Pulsar中存储一天,在S3中存储另外13天(您消耗的大部分时间都是几分钟前的数据)。这意味着我们需要1500 GB的EBS(500 GBx3副本)和6500 GB的S3(请记住,S3不直接收取冗余费用)。EBS和S3每年的成本分别为1794美元和1800美元,总计3594美元。这显然不包括S3请求的成本,但这些成本每年应该在50-300美元之间。
这两者的价格相差85.7%,数据可用性没有损失。这显然是一个例子。为了帮助您估计成本差异,我创建了一个Pulsar存储节省电子表格。只要输入你的数据,它会给你的价格差异。
对于云用户来说,S3中数据的存档存储已经纳入预算。这可能使节省更高。
还有其他更便宜的S3层。它们的sla更低,但成本更低。你也许可以走得更低,像冰川Glacier这些S3层。冰川Glacier的价格从0.023美元一路下跌到0.004美元。
考虑到您的用例和集群需求,您可以通过选择正确数量的Pulsar代理和bookeeper Bookie节点来进一步优化成本。您的EC2成本通常比存储成本高得多。
通过了解Kafka和Pulsar的存储差异,您可以真正优化您的存储开销。这使您能够灵活地交付业务所需的内容,同时仍能降低IT开销。
完全披露:这篇文章得到了Streamlio的支持。Streamlio提供了一个由apache pulsar和其他开源技术支持的解决方案。
原文: https://www.splunk.com/en_us/blog/it/saving-money-with-apache-pulsar-ti…
本文: http://jiagoushi.pro/node/1508
讨论:请加入知识星球【首席架构师圈】或者微信【csa_cea_cto】或者QQ【2808908662】
对微服务使用异步通信时,通常使用消息代理。代理确保不同微服务之间的通信可靠且稳定,消息在系统内得到管理和监控,并且消息不会丢失。您可以从几个消息代理中进行选择,它们的规模和数据功能各不相同。这篇博文将比较三种最受欢迎的代理:RabbitMQ、Kafka 和 Redis。
微服务通信:同步和异步 微服务之间有两种常见的通信方式:同步和异步。在同步通信中,调用者在发送下一条消息之前等待响应,它作为 HTTP 之上的 REST 协议运行。相反,在异步通信中,消息是在不等待响应的情况下发送的。这适用于分布式系统,通常需要消息代理来管理消息。异步通信优势 首先,异步通信根据定义是 非阻塞的 。它还支持比同步操作更好的 扩展 。第三,在微服务崩溃的情况下,异步通信机制提供了 各种恢复技术 ,并且通常更擅长处理与崩溃有关的错误。此外,当使用代理而不是 REST 协议时,接收通信的服务实际上不需要相互了解。甚至可以在旧服务运行很长时间后引入新服务,即更好的解耦服务。
选择正确的消息代理 异步通信通常通过消息代理进行管理。还有其他方法,例如 aysncio,但它们更加稀缺和有限。
我们检查了最新和最好的服务,以找出这三个类别中最强大的提供商。
比较不同的消息代理 RabbitMQ (AMQP)
根据配置和资源,这里的大概是每秒 50K msg。
支持持久性和瞬态消息。
一对一与一对多消费者:
两者兼而有之。
RabbitMQ 于 2007 年发布,是最早创建的通用消息代理之一。它是一个开源软件,通过实现高级消息队列协议 (AMQP),通过点对点和发布-订阅方法传递消息。它旨在支持复杂的路由逻辑。
有一些托管服务允许您将其用作 SaaS,但它不是本地主要云提供商堆栈的一部分。 RabbitMQ 支持所有主要语言,包括 Python、Java、.NET、PHP、Ruby、JavaScript、Go、Swift 等。
在持久模式下会出现一些性能问题。
每秒最多可以发送一百万条消息。
一对一 vs 一对多消费者:
只有一对多(乍一看似乎很奇怪,对吧?!)。
Kafka 由 Linkedin 于 2011 年创建,用于处理高吞吐量、低延迟的处理。作为分布式流媒体平台,Kafka 复制了发布订阅服务。它提供数据持久性并存储记录流,使其能够交换质量消息。
Kafka 在 Azure、AWS 和 Confluent 上管理了 SaaS。他们都是Kafka项目的创造者和主要贡献者。 Kafka 支持所有主要语言,包括 Python、Java、C/C++、Clojure、.NET、PHP、Ruby、JavaScript、Go、Swift 等。
每秒最多可以发送一百万条消息。
持久性
:
基本上,没有——它是一个内存中的数据存储。
一对一与一对多消费者:
两者兼而有之。
Redis 与其他消息代理略有不同。从本质上讲,Redis 是一种内存中数据存储,可用作高性能键值存储或消息代理。另一个区别是 Redis 没有持久性,而是将其内存转储到磁盘/数据库中。它也非常适合实时数据处理。
最初,Redis 不是一对一和一对多的。然而,自从 Redis 5.0 引入了 pub-sub,功能得到了提升,一对多成为了一个真正的选择。
短命消息:Redis Redis 的内存数据库几乎非常适合具有不需要持久性的短期消息的用例。因为它提供极快的服务和内存中的功能,Redis 是短保留消息的完美候选者,在这种情况下,持久性不是那么重要,您可以容忍一些损失。随着 5.0 中 Redis 流的发布,它也是一对多用例的候选者,由于限制和旧的 pub-sub 功能,这是绝对需要的。
海量数据:Kafka Kafka 是一个高吞吐量的分布式队列,专为长时间存储大量数据而构建。 Kafka 非常适合需要持久性的一对多用例。
复杂路由:RabbitMQ RabbitMQ 是一个较旧但成熟的代理,具有许多支持复杂路由的特性和功能。当要求的速率不高(超过几万条消息/秒)时,它甚至会支持复杂的路由通信。
考虑您的软件堆栈 当然,最后要考虑的是您当前的软件堆栈。如果您正在寻找一个相对简单的集成过程,并且您不想在一个堆栈中维护不同的代理,您可能更倾向于使用您的堆栈已经支持的代理。
原文: https://blog.devgenius.io/redis-vs-kafka-vs-rabbitmq-e935ebbc7ec
本文: https://jiagoushi.pro/node/1639
在这个博客系列的第1部分之后,Apache Kafka的Spring——第1部分:错误处理、消息转换和事务支持,在这里的第2部分中,我们将关注另一个增强开发者在Kafka上构建流应用程序时体验的项目:Spring Cloud Stream。
我们将在这篇文章中讨论以下内容:
让我们首先看看什么是Spring Cloud Stream,以及它如何与Apache Kafka一起工作。
Spring Cloud Stream是一个框架,它允许应用程序开发人员编写消息驱动的微服务。这是通过使用Spring Boot提供的基础来实现的,同时还支持其他Spring组合项目(如Spring Integration、Spring Cloud函数和Project Reactor)公开的编程模型和范例。它支持使用描述输入和输出组件的类型安全编程模型编写应用程序。应用程序的常见示例包括源(生产者)、接收(消费者)和处理器(生产者和消费者)。
典型的Spring cloud stream 应用程序包括用于通信的输入和输出组件。这些输入和输出被映射到Kafka主题。Spring cloud stream应用程序可以接收来自Kafka主题的输入数据,它可以选择生成另一个Kafka主题的输出。这些与Kafka连接接收器和源不同。有关各种Spring Cloud流开箱即用应用程序的更多信息,请访问项目页面。
消息传递系统和Spring cloud stream之间的桥梁是通过绑定器抽象实现的。绑定器适用于多个消息传递系统,但最常用的绑定器之一适用于Apache Kafka。
Kafka绑定器扩展了Spring Boot、Apache Kafka的Spring和Spring集成的坚实基础。由于绑定器是一个抽象,所以其他消息传递系统也有可用的实现。
Spring Cloud Stream支持发布/订阅语义、消费者组和本机分区,并尽可能将这些职责委派给消息传递系统。对于Kafka绑定器,这些概念在内部映射并委托给Kafka,因为Kafka本身就支持它们。当消息传递系统本身不支持这些概念时,Spring Cloud Stream将它们作为核心特性提供。
以下是绑定器抽象如何与输入和输出工作的图示:
Spring Initializr是使用Spring Cloud Stream创建新应用程序的最佳场所。这篇博文介绍了如何在Spring启动应用程序中使用Apache Kafka,涵盖了从Spring Initializr创建应用程序所需的所有步骤。对于Spring Cloud Stream,惟一的区别是您需要“Cloud Stream”和“Kafka”作为组件。以下是你需要选择的一个例子:
Initializr包含开发流应用程序所需的所有依赖项。通过使用Initializr,您还可以选择构建工具(如Maven或Gradle)和目标JVM语言(如Java或Kotlin)。
该构建将生成一个能够作为独立应用程序(例如,从命令行)运行的uber JAR。
Spring Cloud Stream提供了一个编程模型,支持与Apache Kafka的即时连接。应用程序需要在其类路径中包含Kafka绑定,并添加一个名为@EnableBinding的注释,该注释将Kafka主题绑定到它的输入或输出(或两者)。
Spring Cloud Stream提供了三个与@EnableBinding绑定的方便接口:Source(单个输出)、Sink(单个输入)和Processor(单个输入和输出)。它还可以扩展到具有多个输入和输出的自定义接口。
下面的代码片段展示了Spring Cloud Stream的基本编程模型:
@SpringBootApplication
@EnableBinding(Processor.class)
public class UppercaseProcessor {
@StreamListener(Processor.INPUT)
@SendTo(Processor.OUTPUT)
public String process(String s) {
return s.toUpperCase();
在这个应用程序中,注意这个方法是用@StreamListener注释的,它是由Spring Cloud Stream提供的,用于接收来自Kafka主题的消息。同样的方法也使用SendTo进行注释,SendTo是将消息发送到输出目的地的方便注释。这是一个Spring云流处理器应用程序,它使用来自输入的消息并将消息生成到输出。
在前面的代码中没有提到Kafka主题。此时可能出现的一个自然问题是,“这个应用程序如何与Kafka通信?”答案是:入站和出站主题是通过使用Spring Boot支持的许多配置选项之一来配置的。在本例中,我们使用一个名为application的YAML配置文件。yml,它是默认搜索的。下面是输入和输出目的地的配置:
spring.cloud.stream.bindings:
input:
destination: topic1
output:
destination: topic2
Spring Cloud Stream将输入映射到topic1,将输出映射到topic2。这是一组非常少的配置,但是可以使用更多的选项来进一步定制应用程序。默认情况下,主题是用单个分区创建的,但是可以由应用程序覆盖。更多信息请参考这些文档。
最重要的是,开发人员可以简单地专注于编写核心业务逻辑,让Spring Cloud Stream和Spring Boot来处理基础设施问题(比如连接到Kafka、配置和调优应用程序等等)。
下面的例子展示了另一个简单的应用程序(消费者):
@SpringBootApplication
@EnableBinding(Sink.class)
public class LoggingConsumerApplication {
@StreamListener(Sink.INPUT)
public void handle(Person person) {
System.out.println("Received: " + person);
public static class Person {
private String name;
public String getName() {
return name;
public void setName(String name) {
this.name = name;
public String toString() {
return this.name;
注意,@EnableBinding提供了一个接收器,这表明这是一个消费者。与前一个应用程序的一个主要区别是,使用@StreamListener注释的方法将一个名为Person的POJO作为参数,而不是字符串。来自Kafka主题的消息是如何转换成这个POJO的?Spring Cloud Stream提供了自动的内容类型转换。默认情况下,它使用application/JSON作为内容类型,但也支持其他内容类型。您可以通过使用属性spring.cloud.stream.binding .input来提供内容类型。然后将其设置为适当的内容类型,如application/Avro。
适当的消息转换器由Spring Cloud Stream根据这个配置来选择。如果应用程序希望使用Kafka提供的本地序列化和反序列化,而不是使用Spring Cloud Stream提供的消息转换器,那么可以设置以下属性。
spring.cloud.stream.bindings.output.useNativeEncoding=true
反序列化:
spring.cloud.stream.bindings.input.useNativeDecoding=true
Apache Kafka绑定器提供了一个在启动时配置主题的配置程序。如果在代理上启用了主题创建,Spring Cloud Stream应用程序可以在应用程序启动时创建和配置Kafka主题。
例如,可以向供应者提供分区和其他主题级配置。这些定制可以在绑定器级别进行,绑定器级别将应用于应用程序中使用的所有主题,也可以在单独的生产者和消费者级别进行。这非常方便,特别是在应用程序的开发和测试期间。有许多关于如何为多个分区配置主题的示例。
可以使用Spring Cloud Stream配置众所周知的属性,如用户组和分区。消费者组可以通过属性设置:
spring.cloud.stream.bindings.input.group =组名称
如前所述,在内部,这个组将被翻译成Kafka的消费者组。
在编写生产者应用程序时,Spring Cloud Stream提供了将数据发送到特定分区的选项。同样,在内部,框架将这些职责委托给Kafka。
对于使用者,如果禁用自动再平衡(这是一个需要覆盖的简单配置属性),则特定的应用程序实例可以限制为使用来自一组特定分区的消息。有关详细信息,请参阅这些配置选项。
通过使用Spring Boot的致动器机制,我们现在能够控制Spring cloud stream中的各个绑定。
在运行时,可以使用执行器端点来停止、暂停、恢复等,执行器端点是Spring Boot的机制,用于在将应用程序推向生产环境时监视和管理应用程序。该特性使用户能够对应用程序处理来自Kafka的数据的方式有更多的控制。如果应用程序因绑定而暂停,那么来自该特定主题的处理记录将暂停,直到恢复。
Spring Cloud Stream还集成了Micrometer,以启用更丰富的指标、发出混乱的速率并提供其他与监视相关的功能。这些系统可以与许多其他监测系统进一步集成。Kafka绑定器提供了扩展的度量功能,为主题的消费者滞后提供了额外的见解。
Spring Boot通过一个特殊的健康状况端点提供应用程序健康状况检查。Kafka绑定器提供了一个健康指示器的特殊实现,它考虑到代理的连接性,并检查所有的分区是否都是健康的。如果发现任何分区没有leader,或者代理无法连接,那么health check将报告相应的状态。
在编写流处理应用程序时,Spring Cloud stream提供了另一个专门用于Kafka流的绑定器。与常规的Kafka绑定器一样,Kafka Streams绑定器也关注开发人员的生产力,因此开发人员可以专注于为KStream、KTable、GlobalKTable等编写业务逻辑,而不是编写基础结构代码。绑定器负责连接到Kafka,以及创建、配置和维护流和主题。例如,如果应用程序方法具有KStream签名,则绑定器将连接到目标主题,并在后台从该主题生成流。应用程序开发人员不必显式地这样做,因为绑定器已经为应用程序提供了绑定。
其他类型(如KTable和GlobalKTable)也是如此。底层的KafkaStreams对象由绑定器提供,用于依赖注入,因此,应用程序不直接维护它。更确切地说,它是由春天的云流为你做的。
要使用Spring Cloud Stream开始Kafka流,请转到Spring Initializr并选择如下图所示的选项,以生成一个应用程序,该应用程序带有使用Spring Cloud Stream编写Kafka流应用程序的依赖项:
下面的例子展示了一个用Spring Cloud Stream编写的Kafka Streams应用程序:
@SpringBootApplication
public class KafkaStreamsTableJoin {
@EnableBinding(StreamTableProcessor.class)
public static class KStreamToTableJoinApplication {
@StreamListener
@SendTo("output")
public KStream<String, Long> process(@Input("input1") KStream<String, Long> userClicksStream,
@Input("input2") KTable<String, String> userRegionsTable) {
return userClicksStream
.leftJoin(userRegionsTable,
(clicks, region) -> new RegionWithClicks(region == null ? "UNKNOWN" : region, clicks),
Joined.with(Serdes.String(), Serdes.Long(), null))
.map((user, regionWithClicks) -> new KeyValue<>(regionWithClicks.getRegion(), regionWithClicks.getClicks()))
.groupByKey(Serialized.with(Serdes.String(), Serdes.Long()))
.reduce((firstClicks, secondClicks) -> firstClicks + secondClicks)
.toStream();
interface StreamTableProcessor {
@Input("input1")
KStream inputStream();
@Output("output")
KStreamoutputStream();
@Input("input2")
KTable inputTable();
在前面的代码中有几件事情需要注意。在@StreamListener方法中,没有用于设置Kafka流组件的代码。应用程序不需要构建流拓扑,以便将KStream或KTable与Kafka主题关联起来,启动和停止流,等等。所有这些机制都是由Kafka流的Spring Cloud Stream binder处理的。在调用该方法时,已经创建了一个KStream和一个KTable供应用程序使用。
应用程序创建一个名为StreamTableProcessor的自定义接口,该接口指定用于输入和输出绑定的Kafka流类型。此接口与@EnableBinding一起使用。此接口的使用方式与我们在前面的处理器和接收器接口示例中使用的方式相同。与常规的Kafka绑定器类似,Kafka上的目的地也是通过使用Spring云流属性指定的。您可以为前面的应用程序提供这些配置选项来创建必要的流和表:
spring.cloud.stream.bindings.input1.destination=userClicksTopic spring.cloud.stream.bindings.input2.destination=userRegionsTopic spring.cloud-stream.bindings.output.destination=userClickRegionsTopic
我们使用两个Kafka主题来创建传入流:一个用于将消息消费为KStream,另一个用于消费为KTable。框架根据自定义接口StreamTableProcessor中提供的绑定适当地使用所需的类型。然后,这些类型将与方法签名配对,以便在应用程序代码中使用。在出站时,出站的KStream被发送到输出Kafka主题。
Kafka流为编写有状态应用程序提供了第一类原语。当使用Spring Cloud Stream和Kafka流构建有状态应用程序时,就有可能使用RESTful应用程序从RocksDB的持久状态存储中提取信息。下面是一个Spring REST应用程序的例子,它依赖于Kafka流中的状态存储:
@RestController
public class FooController {
private final Log logger = LogFactory.getLog(getClass());
@Autowired
private InteractiveQueryService interactiveQueryService;
@RequestMapping("/song/id")
public SongBean song(@RequestParam(value="id") Long id) {
final ReadOnlyKeyValueStore<Long, Song> songStore =
interactiveQueryService.getQueryableStore(“STORE-NAME”,
QueryableStoreTypes.<Long, Song>keyValueStore());
final Song song = songStore.get(id);
if (song == null) {
throw new IllegalArgumentException("Song not found.");
return new SongBean(song.getArtist(), song.getAlbum(), song.getName());
InteractiveQueryService是Apache Kafka Streams绑定器提供的一个API,应用程序可以使用它从状态存储中检索数据。应用程序可以使用此服务按名称查询状态存储,而不是直接通过底层流基础设施访问状态存储。当Kafka Streams应用程序的多个实例运行时,该服务还提供了用户友好的方式来访问服务器主机信息,这些实例之间有分区。
通常在这种情况下,应用程序必须通过直接访问Kafka Streams API来找到密钥所在的分区所在的主机。InteractiveQueryService提供了这些API方法的包装器。一旦应用程序获得了对状态存储的访问权,它就可以通过查询来形成进一步的见解。最终,可以通过上面所示的REST端点来提供这些见解。您可以在GitHub上找到一个使用Spring Cloud Stream编写的Kafka Streams应用程序的示例,在这个示例中,它使用本节中提到的特性来适应Kafka音乐示例。
通过使用SendTo注释,可以在Spring Cloud流中原生地使用Kafka流的分支特性。
@StreamListener("input")
@SendTo({“englishTopic”, “frenchTopic”, “spanishTopic”})
public KStream<?, WordCount>[] process(KStream<Object, String> input) {
Predicate<Object, WordCount> isEnglish = (k, v) -> v.word.equals("english");
Predicate<Object, WordCount> isFrench = (k, v) -> v.word.equals("french");
Predicate<Object, WordCount> isSpanish = (k, v) -> v.word.equals("spanish");
return input
.flatMapValues(value -> Arrays.asList(value.toLowerCase().split("\\W+")))
.groupBy((key, value) -> value)
.windowedBy(timeWindows)
.count(Materialized.as("WordCounts-1"))
.toStream()
.map((key, value) -> new KeyValue<>(null, new WordCount(key.key(), value, new Date(key.window().start()), new Date(key.window().end()))))
.branch(isEnglish, isFrench, isSpanish);
注意,SendTo注释有三个不同输出的绑定,方法本身返回一个KStream[]。Spring Cloud Stream在内部将分支发送到输出绑定到的Kafka主题。观察SendTo注释中指定的输出顺序。这些输出绑定将与输出的KStream[]按其在数组中的顺序配对。
数组的第一个索引中的第一个KStream可以映射到englishTopic,然后将下一个映射到frenchTopic,以此类推。这里的想法是,应用程序可以专注于功能方面的事情,并使用Spring Cloud Stream设置所有这些输出流,否则开发人员将不得不为每个流单独做这些工作。
Spring Cloud Stream提供了错误处理机制来处理失败的消息。它们可以被发送到死信队列(DLQ),这是Spring Cloud Stream创建的一个特殊的Kafka主题。当失败的记录被发送到DLQ时,头信息被添加到记录中,其中包含关于失败的更多信息,如异常堆栈跟踪、消息等。
发送到DLQ是可选的,框架提供各种配置选项来定制它。
对于Spring Cloud Stream中的Kafka Streams应用程序,错误处理主要集中在反序列化错误上。Apache Kafka Streams绑定器提供了使用Kafka Streams提供的反序列化处理程序的能力。它还提供了在主流继续处理时将失败的记录发送到DLQ的能力。当应用程序需要返回来访问错误记录时,这是非常有用的。
Spring Cloud Stream支持模式演化,它提供了与Confluent模式注册中心以及Spring Cloud Stream提供的本地模式注册中心服务器一起工作的功能。应用程序通过在应用程序级别上包含@EnableSchemaRegistryClient注释来启用模式注册表。Spring Cloud Stream提供了各种基于Avro的消息转换器,可以方便地与模式演化一起使用。在使用Confluent模式注册表时,Spring Cloud Stream提供了一个应用程序需要作为SchemaRegistryClient bean提供的特殊客户端实现(ConfluentSchemaRegistryClient)。
Spring Cloud Stream通过自动处理其他同等重要的非功能需求(如供应、自动内容转换、错误处理、配置管理、用户组、分区、监视、健康检查等),使应用程序开发人员更容易关注业务逻辑,从而提高了使用Apache Kafka的生产率。
讨论:请加入知识星球或者小红圈【首席架构师圈】或者关注【首席架构师智库】
在体系结构规划期间选择正确的消息传递系统始终是一个挑战,但这是需要确定的最重要的考虑因素之一。作为一名开发人员,我每天都要编写需要服务大量用户并实时处理大量数据的应用程序。
通常,我将Java与Spring框架(Spring Boot、Spring数据、Spring云、Spring缓存等)一起使用。Spring Boot是一个框架,它允许我比以前更快更轻松地完成开发过程。它已在我的组织中发挥了关键作用。随着用户数量的快速增长,我们意识到我们显然需要每秒处理1,000,000个事件。
当我们发现Apache Kafka®时,我们发现它满足了我们的需求,可以快速处理数百万条消息。这就是为什么我们决定尝试一下。从那一刻起,卡夫卡就成了我口袋里的重要工具。你会问,我为什么选择它?
Apache Kafka是:
这就是为什么我决定在我的项目中使用它。根据我的经验,我在这里提供了一个循序渐进的指南,介绍如何在Spring启动应用程序中包含Apache Kafka,以便您也可以开始利用它的优点。
阅读完本指南后,您将拥有一个Spring Boot应用程序,其中包含一个Kafka生成器,用于向您的Kafka主题发布消息,以及一个Kafka使用者,用于读取这些消息。
好了,让我们开始吧!
首先,让我们使用Spring Initializr来生成我们的项目。我们的项目将有Spring MVC/web支持和Apache Kafka支持。
一旦你解压缩了这个项目,你将会有一个非常简单的结构。我将在本文的最后向您展示项目的外观,以便您能够轻松地遵循相同的结构。我将使用Intellij IDEA,但是你可以使用任何Java IDE。
现在,你可以看到它是什么样的。让我们继续讨论来自Kafka主题的发布/阅读消息。
首先创建一个简单的Java类,我们将使用它作为示例:package com.demo.models;
public class User {
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
接下来,我们需要创建配置文件。我们需要以某种方式配置我们的Kafka生产者和消费者,使他们能够发布和从主题读取消息。我们可以使用任意一个应用程序,而不是创建一个Java类,并用@Configuration注释标记它。属性文件或application.yml。Spring Boot允许我们避免过去编写的所有样板代码,并为我们提供了更智能的配置应用程序的方法,如下所示:
server: port: 9000
spring:
kafka:
consumer:
bootstrap-servers: localhost:9092
group-id: group_id
auto-offset-reset: earliest
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
producer:
bootstrap-servers: localhost:9092
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.apache.kafka.common.serialization.StringSerializer
如果您想了解更多关于Spring引导自动配置的信息,可以阅读这篇简短而有用的文章。有关可用配置属性的完整列表,请参阅官方文档。
创建生产者将把我们的消息写入主题。
@Service
public class Producer {
private static final Logger logger = LoggerFactory.getLogger(Producer.class);
private static final String TOPIC = "users";
@Autowired
private KafkaTemplate<String, String> kafkaTemplate;
public void sendMessage(String message) {
logger.info(String.format("#### -> Producing message -> %s", message));
this.kafkaTemplate.send(TOPIC, message);
我们只是自动连接KafkaTemplate,并将使用此实例发布消息到主题——这就是生产者!
Consumer是负责根据您自己的业务逻辑的需要读取消息并对其进行处理的服务。要设置它,请输入以下内容:
@Service
public class Consumer {
private final Logger logger = LoggerFactory.getLogger(Producer.class);
@KafkaListener(topics = "users", groupId = "group_id")
public void consume(String message) throws IOException {
logger.info(String.format("#### -> Consumed message -> %s", message));
在这里,我们告诉我们的方法void consumption (String message)订阅用户的主题,并将每个消息发送到应用程序日志。在实际的应用程序中,可以按照业务需要的方式处理消息。
如果我们已经有了一个消费者,那么我们就已经拥有了消费Kafka消息所需的一切。
为了完整地显示我们创建的所有内容是如何工作的,我们需要创建一个具有单个端点的控制器。消息将被发布到这个端点,然后由我们的生产者进行处理。
然后,我们的使用者将以登录到控制台的方式捕获和处理它。
@RestController
@RequestMapping(value = "/kafka")
public class KafkaController {
private final Producer producer;
@Autowired
KafkaController(Producer producer) {
this.producer = producer;
@PostMapping(value = "/publish")
public void sendMessageToKafkaTopic(@RequestParam("message") String message) {
this.producer.sendMessage(message);
让我们用cURL把信息发送给Kafka:
curl -X POST -F 'message=test' http://localhost:9000/kafka/publish
基本上,这是它!在不到10个步骤中,您就了解了将Apache Kafka添加到Spring启动项目是多么容易。如果您遵循了这个指南,您现在就知道如何将Kafka集成到您的Spring Boot项目中,并且您已经准备好使用这个超级工具了!
如果您想了解更多信息,可以下载Confluent平台,这是Apache Kafka的领先发行版。您还可以在GitHub上找到本文中的所有代码。
这是Igor Kosandyak的一篇客座文章,他是Oril的一名Java软件工程师,在各个开发领域都有丰富的经验。
原文: https://www.confluent.io/blog/apache-kafka-spring-boot-application
本文: https://pub.intelligentx.net/how-work-apache-kafka-your-spring-boot-application
讨论:请加入知识星球或者小红圈【首席架构师圈】
后第1部分和第2部分的弹簧为Apache卡夫卡深潜水的博客系列,在第3部分中我们将讨论另一个项目从春天团队:春云数据流,其重点是使开发人员能够轻松地开发、部署和协调事件流管道基于Apache卡夫卡®。作为前一篇博客系列文章的延续,本文解释了Spring Cloud数据流如何帮助您提高开发人员的工作效率并管理基于apache - kafka的事件流应用程序开发。
我们将在这篇文章中讨论以下内容:
Spring Cloud Data Flow是一个用于设计、开发和持续交付数据管道的工具包。它支持从设计到生产部署的事件流应用程序开发的集中管理。在Spring Cloud数据流中,数据管道可以是事件流(实时长时间运行)或任务/批处理(短期)数据密集型应用程序的组合。与Spring Cloud数据流交互的方式多种多样:
为了将事件流管道部署到Cloud Foundry (CF)和Kubernetes (K8s)等平台,Spring Cloud数据流将应用程序生命周期操作(部署、更新、回滚)委托给另一个名为Spring Cloud Skipper的服务器组件。虽然事件流管道部署由Spring Cloud Skipper处理,但将短时间(任务/批处理)数据管道部署到目标平台则由Spring Cloud数据流本身管理。
Spring Cloud数据流和Spring Cloud Skipper运行时都配置为通过OAuth 2.0和OpenID连接提供身份验证和授权。Spring Cloud Data Flow使用基于微米的集成来帮助监视事件流应用程序,并提供Grafana仪表板,您可以安装和定制它。
在Spring Cloud Data Flow中,事件流管道通常由Spring Cloud Stream应用程序组成,不过任何定制构建的应用程序都可以安装在管道中。开发人员可以直接使用或扩展任何开箱即用的实用程序事件流应用程序来覆盖常见的用例,或者使用Spring Cloud Stream编写自定义应用程序。
所有开箱即用的事件流应用程序是:
开箱即用的应用程序与Kafka Connect应用程序类似,不同之处是它们使用Spring Cloud Stream框架进行集成和调试。
为了构建一个事件流管道,Spring Cloud数据流提供了一组应用程序类型:
需要注意的是,在Spring Cloud数据流中,事件流数据管道默认是线性的。这意味着管道中的每个应用程序使用单个目的地(例如Kafka主题)与另一个应用程序通信,数据从生产者线性地流向消费者。然而,在某些用例中,流管道是非线性的,并且可以有多个输入和输出——这是Kafka Streams应用程序的典型设置。
在事件流数据管道中也可以有非spring - cloud - stream应用程序(Kafka连接应用程序、Polygot应用程序等)。
Spring Cloud Data Flow使用流应用程序DSL支持这些情况,并使用应用程序类型app突出显示这些应用程序。
上面的可视化演示了一个由两个应用程序组成的事件流管道,其中可以使用Spring Cloud数据流部署http和jdbc。这两个应用程序都是使用Spring Cloud Stream框架构建的,我们在第2部分中介绍了这个框架,它们都可以在公共Maven存储库/Docker Hub中使用。管道符号|(即。在流DSL中表示一个事件流平台,如Apache Kafka,配置为事件流应用程序的通信。
事件流平台或消息传递中间件提供了流的生产者http源和消费者jdbc接收器应用程序之间的松散耦合。这种松散耦合对于云本地部署模型至关重要,因为管道内的应用程序可以独立地发展、扩展或执行滚动升级,而不会影响上游生产者或下游消费者。当Spring Cloud数据流将Apache Kafka用于事件流应用程序时,它与流媒体平台上的各种产品产生了良好的共鸣。
Spring Cloud Data Flow网站已经开始为本地、Kubernetes和Cloud Foundry提供指南。对于本博客,让我们使用Docker在本地运行这个设置。首先,您需要从Spring Cloud数据流GitHub repo下载Docker撰写文件。
这个Docker的撰写配置有:
由于以上所有组件将与事件流应用程序一起在我们的Docker环境中运行,请确保为您的Docker设置分配最少6GB的空间。
接下来,安装docker-compose并运行以下命令:
export DATAFLOW_VERSION=2.1.0.RELEASE
export SKIPPER_VERSION=2.0.2.RELEASE
docker-compose up
启动所有组件后,可以通过 http://localhost:9393/dashboard访问Spring Cloud Data flow仪表板,并注册以下开箱即用的事件流应用程序:
Spring Cloud数据流中的流DSL语法应该是这样的:
http | transform | log
在Spring Cloud数据流仪表板的“Streams”页面中,您可以创建一个新的流,如下所示。
输入以下流DSL文本:
http-events-transformer=http --server.port=9000 | transform --expression=payload.toUpperCase() | log
在Spring Cloud Data Flow dashboard的“Streams”页面中,选择stream http-events-transformer,然后单击“deploy”。
在部署流时,请确保将平台选择为本地平台,以便在本地环境中部署流。将日志应用程序的本地平台部署者属性inheritLogging设置为true(如下面的屏幕截图所示),这样可以将日志应用程序的日志文件复制到Spring Cloud Skipper服务器日志中。将应用程序日志放在Skipper服务器日志下可以简化演示。
在部署流时,将检索各个应用程序的http、转换和日志,并将每个应用程序的部署请求发送到目标平台(即、本地、Kubernetes和CloudFoundry)的数据流。同样,当应用程序引导时,以下Kafka主题由Spring Cloud Stream框架自动创建,这就是这些应用程序如何在运行时作为连贯的事件流管道组合在一起。
Kafka主题名是由Spring云数据流根据流和应用程序命名约定派生的。您可以通过使用适当的Spring云流绑定属性来覆盖这些名称。
要查看所有的运行时流应用程序,请参阅“运行时”页面:
成功部署流之后,HTTP应用程序就可以接收 http://localhost:9000上的数据了 。让我们发布一些测试数据到http web端点:
curl -X POST http://localhost:9000 -d "spring" -H "Content-Type: text/plain"
因为我们继承了日志应用的日志,所以Spring Cloud Skipper server日志中日志应用的输出可以看作:
log-sink : SPRING
您可以在运行时调试部署的应用程序。调试配置根据目标平台而异。请参阅在本地、Kubernetes和Cloud Foundry目标环境中调试部署的应用程序的文档。要在本地开发环境中调试应用程序,只需传递本地部署器属性debugPort即可。
对于当前的设置,我们使用基于prometheus的应用程序监控,并在缺省情况下使用admin/admin设置一个Grafana仪表板。
通过从Spring Cloud数据流仪表板的“Streams”页面单击事件流http-events-transformer的“Grafana dashboard”图标,可以从Grafana仪表板监视事件流部署。
您可以通过单击“Streams”页面中http-events-transformer的Destroy stream选项来删除流。
有关事件流应用程序开发和部署的详细信息,请参阅流开发人员指南。
当您有一个使用Kafka Streams应用程序的事件流管道时,它们可以在Spring Cloud数据流事件流管道中用作处理器应用程序。在下面的示例中,您将看到如何将Kafka Streams应用程序注册为Spring Cloud数据流处理器应用程序,并随后在事件流管道中使用。
本博客中使用的所有样例应用程序都可以在GitHub上找到。应用程序kstreams-word-count是一个Kafka Streams应用程序,它使用Spring Cloud Stream框架来计算给定时间窗口内输入的单词。该应用程序被构建并发布到Spring Maven repo中。
在Spring Cloud Data Flow“Apps”页面的“Add Application(s)”中,您可以通过选择其应用程序类型作为处理器来注册kstreams-word-count应用程序,以及其Maven URI:
让我们使用开箱即用的http源应用程序,它在http web端点 http://localhost:9001处侦听传入的数据 ,并将使用的数据发布到上面步骤中注册的kstream-wordcount处理器。Kafka Streams处理器根据时间窗口计算字数,然后将其输出传播到开箱即用的日志应用程序,该应用程序将字数计数Kafka Streams处理器的结果记录下来。
从Spring Cloud数据流仪表板中的“Streams”页面,使用stream DSL创建一个流:
通过将平台指定为本地,从“Streams”页面部署kstream-wc-sample流。另外,指定部署程序属性local。将日志应用程序的继承日志记录设置为true。
当流成功部署后,所有http、kstream-word-count和log都作为分布式应用程序运行,通过事件流管道中配置的特定Kafka主题连接。
现在,你可以张贴一些字卡夫卡流的应用程序来处理:
curl -X POST http://localhost:9001 -H "Content-Type: text/plain" -d "Baby shark, doo doo doo doo doo doo"
你可以看到日志应用程序现在有以下:
skipper | 2019-03-25 09:53:37.228 INFO 66 --- [container-0-C-1] log-sink : {"word":"baby","count":1,"start":"2019-03-25T09:53:30.000+0000","end":"2019-03-25T09:54:00.000+0000"}
skipper | 2019-03-25 09:53:37.229 INFO 66 --- [container-0-C-1] log-sink : {"word":"shark","count":1,"start":"2019-03-25T09:53:30.000+0000","end":"2019-03-25T09:54:00.000+0000"}
skipper | 2019-03-25 09:53:37.234 INFO 66 --- [container-0-C-1] log-sink : {"word":"doo","count":6,"start":"2019-03-25T09:53:30.000+0000","end":"2019-03-25T09:54:00.000+0000"}
从上面的示例中,您可以看到Kafka Streams应用程序如何适应事件流数据管道。您还看到了如何在Spring Cloud数据流中管理这样的事件流管道。此时,您可以从kstream-wc-sample流页面取消部署并删除流。
对于使用Apache Kafka的事件流应用程序开发人员和数据爱好者来说,本博客提供了Spring Cloud数据流如何帮助开发和部署具有所有基本特性的事件流应用程序,如易于开发和管理、监控和安全性。
Spring Cloud Data Flow提供了一系列工具和自动化来跨云原生平台部署和管理事件流管道。本系列的第4部分将提供通用的事件流拓扑和连续部署模式,作为Spring Cloud数据流中的事件流应用程序的原生集。请继续关注!
本文: https://pub.intelligentx.net/node/785
讨论:请加入知识星球或者小红圈【首席架构师圈】
知识星球:
Zeebe是一个用于微服务编排的工作流引擎。
这篇文章将帮助你确切地了解什么是Zeebe以及它如何可能与你相关。我们将简要介绍Zeebe以及它所解决的问题,然后再进行更详细的介绍。
我们将在整个写作过程中使用“工作流”这个词,根据您的背景,在微服务的环境中您可能不熟悉这个词。当我们说“工作流”时,我们的意思是“允许我们实现某个目标的一系列任务”。“工作流”可以与“业务流程”或“流程”同义使用。
在Zeebe编排的工作流中,每个任务通常由不同的微服务执行。
公司的端到端工作流几乎总是跨越多个微服务。例如,在电子商务公司中,“客户订单”工作流可能涉及支付微服务、库存微服务、配送微服务等等。
这些跨微服务工作流是公司的核心收入驱动因素,但它们很少被建模和监控;通常,通过不同微服务的事件流仅在代码中隐含地表示。
如果是这样,我们如何确保工作流的可见性并提供状态和错误监视?我们如何保证整个流始终是完整的,即使单个微服务失败?或者我们如何至少认识到一个流程被卡住了所以我们可以进去并修复它?
Zeebe是一个免费的、源代码可用的微服务编制工作流引擎,它提供:
Zeebe被设计用来解决非常大规模的微服务编排问题,为了实现这一点,它提供:
您可以在文档中了解有关这些技术概念的更多信息。
如果您只需要看这些,并且您认为Zeebe可能适合您,我们鼓励您尝试一下。现在就可以下载了。入门教程是不需要编写任何代码就可以动手操作的好方法。
如果你有问题,请联系Zeebe社区。你可以在Zeebe论坛上发布一个问题,或者在我们的Slack频道与Zeebe开发者合作。我们希望收到你的来信。
Zeebe现在可以用于生产。您可以在这里看到路线图。
如果你想了解更多关于Zeebe的信息,你可以继续阅读。在这篇文章的其余部分,我们将更详细地讨论三个主题:
微服务体系结构近年来变得越来越流行,这是有原因的。专注的、跨功能的团队在使用他们选择的技术堆栈时可以快速、独立地交付价值。
但是使微服务体系结构如此吸引人的原则——松耦合、独立的部署周期——也带来了重大的挑战。
微服务体系结构的核心原则是每个微服务只负责一种业务功能。我们将再次引用引言中的电子商务示例,其中一个微服务负责支付处理,另一个负责库存,另一个负责运输,等等:
每个微服务的存在都是为了促进更广泛的工作流程:尽可能快速有效地为购物者提供他们想要的服务。而只有在端到端工作流成功的情况下,公司才会成功,因此确保工作流的质量至关重要。
在微服务体系结构中,每个微服务只负责严格限定范围的业务功能,谁负责端到端工作流?
默认情况下,没有人。实际上,端到端工作流甚至可能没有在公司内部正式文档化,从微服务到微服务的事件流仅在代码中隐式地表示。
许多微服务体系结构依赖于纯编舞(choreography)模式进行通信,其中微服务通过在没有中央控制器(也称为发布-订阅或发布-订阅模型)的情况下向消息传递平台发布事件和使用事件进行协作。编舞(choreography)确实为微服务的开发人员提供了一定程度的灵活性。
然而,在其典型的实现中,编舞 (choreography) 并不提供:
注意:当我们说“工作流实例”时,我们指的是“工作流的一次出现”。在电子商务示例中,单个工作流实例将是单个客户订单。
因此,微服务体系结构面临产生好的软件(在微服务级别)但产生坏的业务结果的风险。毕竟,工作流的成功最终决定了业务的成败。
开发团队如何在确保健壮的端到端工作流的同时获得微服务体系结构的好处?
这就是Zeebe的作用。
Zeebe是一个工作流引擎。如果你是工作流引擎的新手,这里有一个维基百科提供的通用定义:
工作流引擎是管理业务流程的系统。它监视工作流中活动的状态,并根据定义的流程确定要转换到哪个新活动。
标签“工作流引擎”与缓慢、低吞吐量的用例(如人工任务管理)有遗留关联。
另一方面,Zeebe提供高吞吐量、低延迟和水平可伸缩性( provides high throughput, low latency, and horizontal scalability . )。为了解释原因,让我们介绍一些Zeebe的关键架构概念。
首先,Zeebe不需要中央数据库组件,而是利用了事件源,这意味着对工作流状态的所有更改都作为事件捕获,并存储在仅用于追加的日志中。在Zeebe中,这个日志被称为“主题”。主题被直接写入运行Zeebe的服务器上的文件系统,工作流的当前状态可以从存储在主题中的事件中派生出来。
为了实现可伸缩性,主题可以很容易地分布在集群(分区)中的多个节点上,分区通常存储在多个节点上(复制),以实现容错。
Zeebe使用客户机/服务器模型。服务器(代理)是一个远程引擎,作为它自己的程序在Java虚拟机上运行。代理负责存储与工作流相关的主题,在适当的时候将工作项分发给客户端,并通过发布-sub将工作流事件流公开给Zeebe客户端。Zeebe客户机可以嵌入到应用程序中以连接到代理。
如果您使用过Apache Kafka、Apache Pulsar或类似的消息传递系统,那么您可能对这种架构很熟悉。如果您想了解更多关于Zeebe的核心概念,请查看文档。
现在让我们讨论一下Zeebe如何在更实际的术语中解决端到端工作流问题。Zeebe使用户能够:
在下面的部分中,我们将讨论如何在一般意义上使用Zeebe,而不使用代码示例。在未来,我们可能会分享“蓝图”来演示如何准确地构建这些解决方案,如果社区认为它有用的话。
工作流感知事件监视是Zeebe对我们上面定义的可见性问题的回答。
回顾一下:
Zeebe可以与已经在事件驱动架构中使用的组件一起工作,而不需要替换或删除任何现有系统来提供工作流可见性。
下面是一个简单的图表,展示了Zeebe如何用于跨微服务的工作流的可见性:
在本例中,Zeebe订阅发布到您的消息传递平台的事件,并将它们与预定义的工作流相关联,工作流已在BPMN 2.0中可视化建模并部署到Zeebe代理中(要了解有关Zeebe工作流的更多信息,请参阅文档)。
Zeebe处理的与工作流相关的事件可用于为仪表板提供动力,构建揭示工作流中问题区域的热图,以及在工作流实例出现问题并需要关注时构建警报工具。
在此实现中,Zeebe超出了监视单个微服务运行状况的范围,并提供了以下可见性:
在本例中,Zeebe纯粹作为“侦听器”操作,不直接与参与工作流的微服务交互。让我们讨论一下如何扩展这个“可见性”解决方案,以利用Zeebe的编排功能。
Microservices编排是Zeebe对我们在本文前面讨论的失败处理和重试问题的回答。
在微服务社区中,微服务编排有时被认为与核心微服务原则(如松散耦合和独立可部署性)不一致。但事实并非如此!微服务编排可以按照符合这些原则的方式实现,Zeebe也相应地设计了。
下面是一个简单的图表,展示了Zeebe如何用于微服务编排:
该体系结构与我们上面描述的“Zeebe for visibility”体系结构非常相似。一个显著的区别是,在我们的图中,我们删除了消息传递平台层,而Zeebe直接与参与工作流的微服务通信。
仍然可以在不删除现有消息传递平台的情况下使用Zeebe进行微服务编排——除了订阅与工作流相关的事件(如“可见性”解决方案中所示)之外,Zeebe还可以简单地将事件发布到消息传递平台。
但是Zeebe也可以在没有消息传递平台的情况下使用,这里我们想强调一下这种方法。
您可以将Zeebe的工作流编制方法视为状态机。当工作流实例进展到某个任务时,Zeebe发送一条消息通知负责的worker服务,然后等待该worker完成任务。
任务完成后,worker服务通知Zeebe,流继续执行下一个步骤。如果工作人员未能完成任务,工作流将保持在当前步骤,可能会重新尝试该任务,直到最终成功,或者如果需要人工干预,将其升级到另一个团队。
Zeebe将任务通知消息的创建与工作的实际执行分离开来,这意味着Zeebe可以以最大的可能速率发送任务通知消息,而不管是否有工作人员服务可用来承担工作。
Zeebe将任务通知排队,直到它能够将它们推送给工作人员。如果当前没有工作人员服务可用,工作消息将保持排队状态。如果工人服务订阅了,Zeebe的背压协议确保工人可以控制他们接收任务的速度。
这种微服务编排方法仍然提供了工作流和工作流实例的完整可见性,同时也确保工作流按照其定义完成,即使在过程中出现了故障。
扩展以处理高吞吐量工作负载的能力对于Zeebe在微服务编排中的角色至关重要。为了处理大量的工作流实例,可能需要跨计算机集群分发Zeebe,以满足吞吐量需求。
Zeebe使用分区来提供水平可伸缩性,并且基于我们的内部基准测试,分区提供了一种有效的方法来扩展到每秒启动数千个工作流实例,即使在一个相对较小的(5个节点)集群上也是如此。
Zeebe允许用户在创建主题时配置复制因子。复制因子决定在其他代理上存储一个分区的多少个“热备用”副本。如果一个代理宕机,另一个代理可以替换它,不会造成数据丢失。由于数据分布在集群中的多个代理中,Zeebe提供了容错和高可用性,而不需要外部数据库,直接将数据存储在部署数据的服务器的文件系统上。Zeebe也不需要外部集群协调器(如ZooKeeper)。Zeebe是完全自给自足的。
ISO-standard BPMN 2.0是在Zeebe中定义工作流的默认建模语言。工作流是在技术和非技术涉众的充分参与下可视化地定义的。虽然Zeebe对BPMN符号的覆盖不如Camunda BPM等更成熟的BPM平台那么全面,但Zeebe的路线图包括定期添加对新符号的支持。
目前,Zeebe提供了两个开箱即用的Java客户机和Go客户机。Zeebe客户机基于gRPC,这意味着可以用组织通常用于构建微服务的许多编程语言轻松生成Zeebe客户机。这里提供了grpc支持的编程语言列表。
Zeebe代理和客户端完全通过发布-订阅进行通信,这使得遵循松耦合原则并支持Zeebe和参与工作流的微服务之间的异步通信成为可能。Zeebe的订阅协议包括一个backpressure机制,以确保客户机不会因来自Zeebe的工作而超载。
Zeebe导出器使工作流事件数据流化到存储系统变得很容易,因此这些数据可以无限期地使用。这对于报告和可见性很重要,而且根据您的行业,出于监管原因,这可能也是必要的。
是的,当然!我们经常在微服务编制用例的上下文中讨论Zeebe,因为Zeebe能够很好地解决这个问题,但是Zeebe可以应用于微服务编制之外的用例。
Zeebe是一个工作流引擎,可以处理广泛的高吞吐量用例。以下是Zeebe的一些一般特点:
首先,感谢您的阅读!我们希望您能够清楚地理解我们为什么要构建Zeebe以及它如何能够帮助您。
要开始使用Zeebe,我们建议您:
Architizer的 技术目录 是建筑师的技术工具数据库,从最新的生成设计和人工智能到渲染和可视化、3D建模、项目管理等等。在此处浏览完整的类别库。
在整个行业中 ,建筑师们正在接受一个新的合作伙伴来进行他们的创造性追求:人工智能 。曾经被重复和单调所困扰的建筑工人发现自己正处于数字革命的风口浪尖,在这场革命中,比特和字节掌握着自动化和一度难以想象的可能性的关键。
人工智能革命并没有敲响我们的大门;它已经介入,摘下帽子,准备开始工作。设计的动力正在演变,我们走在最前沿,将人类的创造力和机器的精度融合在一起。架构的未来不仅仅是在书写——它正在编码,这是你现在可以使用的14种最有价值的人工智能工具。
可以肯定地说,建筑师的人工智能工具清单进展迅速,每天都有新的项目公布,随着建筑和技术格局的不断发展,建筑师可以期待更多创新的人工智能软件的出现,每一款都有望进一步革新这一领域。这些进步将塑造建筑设计的未来,使专业人士能够交付卓越的项目,同时突破创造力和效率的界限,并满怀希望地拯救我们的星球。
现在到处都是 Midjourney 。人工智能驱动的图像生成工具为建筑师提供了一幅想象无限的画布。根据书面提示,Midtravel巧妙地编织出可用于说明概念思维的逼真图像。
虽然Midtravel还没有取代你最喜欢的可视化工具,但该智能程序可以通过制作令人惊叹的视觉叙事来帮助设计师传达复杂的设计,以帮助向客户和利益相关者展示我们的愿景。即使是最大胆的建筑理念也可以通过Midtravel从脑海中浮现到屏幕上,使其成为实验设计的宝库。
Adobe Firefly ,仍在发展的蛹中飞舞,已经在展示其潜力的力量。生成型人工智能家族的这一新兴成员有望点燃建筑师和设计师的创造力之火,同时简化工作流程,为生成图像、文本效果和其他创造性内容提供一个通用且值得信赖的平台。
目前,萤火虫和Midtravel一样,是一个动态的伴侣,可以使用文本到图像的提示来说明创新的设计思想。该程序是Adobe套件的一部分。萤火虫是一个值得信赖的联络人,通过一个公认和可靠的平台促进与同事和客户的合作关系。
作为一个相对较新的程序,萤火虫的许多承诺功能还没有实现。界面背后的大脑不想落后于极受欢迎的Midtravel,因此决定在程序完成前向用户提供功能,这一点并不牵强。然而,随着Adobe Firefly的不断成熟,我们可能会看到Adobe在其流行的设计程序之间创建无缝过渡的雄心得到了重大发展,这有望在不久的将来使图像创建和编辑变得轻而易举。
在建筑师们曾经独自一人在迷宫般的多个设计选项中穿行的地方,Maket随时准备成为坚定的伴侣。通过Maket.ai,客户特定需求和空间限制的挑战成为多样化设计探索的机会。建筑师现在可以提供一个视觉盛宴,而不是呈现一个单一的愿景——或者任何数量的时间尺度允许——每种设计方案都像萨维尔街的西装一样精心定制。
然而,Maket的真正魔力在于它承诺解放时间和资源。通过承担生成设计选项的艰巨任务,Maket为建筑师提供了充足的时间,让他们能够更深入地参与创意和客户。
Maket.ai的抵抗力有可能激起建筑惯例的死水。Maket.ai通过产生意想不到的设计选项,将建筑师推向创新设计的未知领域。该工具是创造力的跳板,激励建筑师超越他们的尝试和真实,拥抱未知。
ARCHITECTURES是一款变革性的人工智能工具,彻底改变了住宅规划。它是为挑剔的建筑师精心设计的,简化了决策并最大限度地提高了效率。
利用人工智能的尖端力量,ARCHITECTURES分析现场条件、气候动态、预算限制和客户愿望。凭借丰富的知识,它推出了一系列设计选项,完美地协调了形式和功能,同时将建筑愿景带到了生活中。
ARCHITECTURES已经是许多建筑师值得信赖的盟友,使他们能够超越局限,释放无与伦比的效率。通过自动化,从平凡的任务中解放出来是现实。使用广泛的设计参数选项板,可以设置边界并设置程序以处理所有可用选项。
从现场规划,ARCHITECTURES在其中导航限制和探索机会,到细致的建筑设计,包括房间大小、窗户位置和可持续的材料选择,ARCHItecTURES能够轻松实现准确性和调整。
ARK是原理图设计包的答案,对建筑师和开发商来说都是一个福音。智能平台可在一瞬间优化建筑设计,让您快速做出明智的决策。
ARK拥有一个人工智能大脑,可以仔细检查和学习建筑设计的元数据,在考虑美国地方法规和条例的同时产生变化,确保每个项目都是创新的、合规的,支持效率、质量和成本效益。
Sidewalk实验室是Alphabet股份有限公司的创意,现在是谷歌的一部分。随着城市低效率的上升,这位革命性的人工智能特立独行者旨在改变城市规划的格局。
这一切都与数字灵活性有关。Sidewalk Labs将人工智能、机器学习和传感器技术相结合,使您的设计在更智能的同时更努力地工作。Sidewalk实验室已经在全球范围内被采用,它正在多伦多、纽约和新加坡塑造现实,一条街一条街地管理城市拥堵。
想象一下:人工智能将一系列设计选项泼洒在你的画布上,机器学习展示其肌肉以优化建筑性能——我们谈论的是一个具有成本效益的包中的能效、舒适性和安全性。接下来,传感器技术将提供有关交通模式、空气质量和噪音水平的宝贵数据。
人行道实验室绝对是这个街区的新生代,但该项目在重新思考我们的城市景观的竞赛中具有巨大潜力。
Kaedim在人工智能3D建模领域表现突出,得到了游戏行业许多人的支持。它利用机器学习、生成对抗性网络和自然语言处理的变革潜力,将简单的2D设计思想转化为惊人准确的3D模型。
Kaedim是建筑师的动态盟友,减轻了手动创建3D模型的负担。有了Kaedim,建筑师和设计师可以自由探索各种设计概念,迭代它们,并在虚拟空间中完善他们的视觉,然后才能形成有形的形式。
在面向客户的阶段,Kaedim在视觉交流中发挥着关键作用,使建筑师能够呈现与客户想象力产生共鸣的3D模型。它还在施工规划阶段发挥作用,通过详细的3D模型确保准确的文档记录。在一个精度和现实主义至上的行业中,Kaedim成为了一笔至关重要的资产。
三维建模非常耗时。欢迎你,斯洛伊德。AI,基于云的3D建模的开拓者。它不仅是一种工具,而且是一个利用机器学习、生成对抗性网络和自然语言处理的创新平台。它渲染高质量的3D模型,从建筑设计中捕捉复杂的细节,以产生非凡的表现。
Sloyd.AI 不仅模仿建筑师的概念,而且扩展了其精度,以高度真实的方式为设计注入活力。它将建筑师从耗时的物理模型创建中解放出来,开辟了一个虚拟探索和设计精细化的游乐场。
Sloyd.AI 从项目构思到完成都是无价的。它允许建筑师向客户展示动态3D模型,创造出静态图像无法比拟的身临其境的体验。关于施工规划和文件,斯洛伊德。人工智能的精确性确保了每个规范都能在其生成的3D模型中被捕获。在快节奏的建筑设计世界里,斯洛伊德。人工智能是建筑师保持创造力所需的伴侣。
与Kaedim一样,Luma AI是人工智能驱动的3D扫描和建模领域的杰出探路者。该平台承担了创建详细3D模型的艰巨任务,并对其进行了重新构想,部署了先进的人工智能技术,如计算机视觉、深度学习和生成对抗性网络。它从照片中制作出准确、逼真的3D模型,可以为建筑师提供物体的全面视角,无论是建筑、家具还是复杂的建筑元素。
Luma.AI 不仅仅是一个三维建模器;它是一位数字转世专家。卢玛真正的天才。人工智能出现在翻新和修复项目中,它可以以惊人的精度捕捉现有结构,并创建虚拟双胞胎。它弥合了有形和虚拟之间的差距,使建筑师能够在第一块砖铺设之前就将翻新后的结构可视化。
它的威力还不止于此。关于设计可视化, Luma.AI 确保新提出的修改与现有结构兼容,并增强其美学和功能吸引力。创建的3D模型还可以用于交互式虚拟现实或增强现实演示,将客户和利益相关者的参与提升到新的高度。
BricsCAD是人工智能和BIM融合的工具,可实现无缝、高效的建筑设计过程。BIM将建筑的建筑、工程和施工封装在三维模型中,实现项目的整体视图。BricsCAD BIM通过引入人工智能来增强BIM的能力,创造创新与实用的纽带。
BricsCAD不仅仅是一种工具,它还是一种高效的助手,可以不知疲倦地工作,自动化绘图尺寸和注释等重复任务。它利用人工智能将二维草图转化为详细的三维模型,同时提供实时可视化,使建筑师能够与他们的设计互动,并将其调整到完美。
BricsCAD的功能超越了美观。该程序使建筑师能够识别和纠正错误,提高最终输出的质量,并最大限度地减少施工后的问题。实时可视化的提供使建筑师能够做出明智的设计决策,可视化每次修改的影响。
然而,BricsCAD的魅力在于其有效协作的能力。它确保架构师、工程师和构建者同步,提供一个共享平台,让每个人都站在同一页上。这种协作简化了设计过程,减少了冗余,并确保所有相关方对项目的一致理解。
BricsCAD的生成设计能力是另一个关键优势——它可以根据用户定义的参数(如楼层数量、建筑尺寸和要使用的材料)来概念化3D建筑模型。这鼓励了探索,为建筑师提供了大量符合设定约束的设计选项。
ArkoAI通过在几分钟内提供高质量、逼真的渲染,作为一种有前景的人工智能渲染服务进入建筑场景。通过人工智能的力量和基于云的平台的便利性,Arko.AI将3D模型转化为反映现实的令人惊叹的视觉杰作。
Arko.ai吸引人的关键在于它可以增强建筑师的设计过程。首先,它为建筑师提供了一个强大的媒介来可视化他们的设计,因为它为2D草图和模型注入了生命,将它们转化为逼真的渲染图,让建筑师在现实世界中一窥他们的创作。
此外,Arko.ai节省了时间,接管了劳动密集型的渲染任务,让建筑师能够专注于设计的创造性方面。
与SketchUp®、Revit®和Rhinoceros®兼容。Arko.ai是建筑师工具箱中一个很有前途的补充,它提供了逼真的设计可视化效果,并节省了时间。
最近宣布在SketchUp®中提供的Veras by EvolveLAB是一种人工智能可视化工具,利用3D模型几何来激发和促进创造力。建筑师可以求助于Veras,使用文本提示创建其设计的照片级真实感渲染图,从而凸显人工智能在建筑可视化中的力量。
归根结底,Veras的优势在于它的多功能性和速度。它比传统方法更快地生成令人惊叹的渲染图,为建筑师和设计师提供了更多的时间来专注于更复杂的设计方面。它允许设计师快速探索变化,以便在没有成本或时间影响的情况下做出明智的设计决策。
Autodesk Forma作为一种包罗万象的人工智能规划工具,为建筑师和城市规划者提供了更高精度设计可持续宜居城市的能力。
在基于云的平台上操作,Autodesk Forma可以从任何位置轻松访问,并与AutoCAD和Revit协同工作。
Autodesk的新增功能利用人工智能的力量,模拟不同设计决策对关键因素(如能源消耗、交通流量和空气质量)的影响,旨在帮助设计师做出更明智和可持续的设计选择,同时提高项目的可持续性和宜居性。Autodesk Forma还可以在实施前帮助识别潜在的设计缺陷,从而避免未来昂贵的整改。
从本质上讲,即使在早期阶段,Autodesk Forma也是一个全面的建筑人工智能工具,支持建筑师设计更周到、更可持续的城市。它促进了知情的设计选择,提高了时间和成本效率,并鼓励创造可持续的设计,从而重新定义了城市规划和建筑的景观。
ClickUp是一种项目管理工具,已被许多不同的行业所采用。它已经成为一种秘密武器,通过为提高工作流程效率而定制的功能,彻底改变了项目管理。这个基于云的应用程序无缝地组织和跟踪项目。
ClickUp在一个简单的平台中协调任务、截止日期和团队分配,确保项目从设计到施工的进展,避免错过截止日期并保持势头。
ClickUp的文档管理便于轻松协作。
有效的沟通是关键,ClickUp提供了这一点。聊天、视频会议和文件共享工具可与团队成员和客户同步工作。
在ClickUp的虚拟领域中,实时协作可以用于集体改进设计,而ClickUp的报告工具提供了宝贵的见解,可以确定改进领域并微调工作流程。分析和可视化提供全景项目视图。
SketchUp将于2023年6月宣布两项新的人工智能功能的测试版,这两项功能都有助于加速和简化设计工作流程,使建筑师可以花更多的时间进行设计,而不用花更少的时间完成乏味的任务。我们正在密切关注他们的宣布。
UI 和 UX 设计师可以使用无数的工具来简化网站和应用程序的创建过程。
十多年来,Sketch 一直是其中最受欢迎的一种。 但就像鲍勃·迪伦所说:“时代在变。” 自 ± 2016 年以来,Sketch 一直在失去其市场主导地位,这主要是由于出现了更新、更先进的数字设计工具。
您是否正在寻找有价值的 Sketch 替代品? 🤔 如果是这样,您已经登陆了正确的页面。
让我们深入了解一些我们的最爱。
Sketch 于 2010 年 9 月首次发布,后来在 2012 年获得了 Apple 设计奖。这恰逢(对 Sketch 来说很好)Adobe 停止了当时领先的 UI 设计软件 Adobe Fireworks。随着 Adobe Fireworks 的消失,所有的 UI 和 UX 设计师开始转向 Sketch en-masse。
Sketch 允许设计师使用其页面系统和“符号”来创建定制的数字设计和原型。
它可用于广泛的应用程序——从设计网站到创建移动应用程序,再到创建图标和制作横幅等常规图形设计工作。
谁应该使用草图?
寻求高级集成的数字设计师,例如屏幕镜像、位图编辑、符号和从草图导入。
让我们来看看当今市场上 13 种最好的 Sketch 替代品。
重要披露:我们为本指南中提到的一些工具感到自豪。如果您点击会员链接并随后进行购买,我们将免费为您赚取少量佣金(您无需支付任何额外费用)。
Figma 是一个备受喜爱和推崇的 UI 和 UX 工具,被认为是 Sketch 的主要竞争对手(和替代品)。它于 2016 年推出,通过引入允许用户之间实时协作的基于 Web 的数字设计软件,彻底改变了设计世界。
Figma 修复了损坏的设计工作流程(还记得将 Sketch 文件上传到 Dropbox 吗?)并彻底改变了数字设计师和开发人员的日常工作。
但是,使用 Figma,您可以获得一个一体化套件,而不必集成一堆不同的程序来使 Sketch 工作。此外,使用 Figma,您不一定需要拥有一台新的闪亮的 Macbook,而 PC 就可以。
Figma 在云中的使用速度也更快,协作也更容易,使其成为企业业务、国际团队和初创公司的更好选择。
Vectornator 是一款顶级的图形设计应用程序和出色的 Sketch 替代品,但它的受欢迎程度真的说明了它的力量和目的吗?
在这种情况下,我们认为是这样。 Vectornator 为免费服务提供高级功能。
与许多其他应用程序不同,Vectornator 提供了很多免费计划,并且不会将基本服务隐藏在付费墙后面。
然而,从好的方面来说,它在界面和免费平台的卓越价值方面胜出。它具有出色的图层支持、简单直观的绘图以及大量可供选择的功能。
您可以使用他们的免费计划创建无限的项目。他们的钢笔工具、自定义字体、自动跟踪功能和手势控制使其成为一体化解决方案。
InVision 通过其 Craft 插件与 Sketch 集成,但随后它构建了自己的名为 InVision Studio 的软件来与设计师们讨厌的 Sketch 竞争。
InVision Studio 被概念化为设计师为设计师创建的原型工具。不幸的是,设计师并不喜欢这个软件。
但不要完全取消 InVision。它仍然是 Sketch 的一个很好的替代品,因为它允许轻松协作和开发人员交接。
此外,InVision 简化了设计演示的过程,并且比使用 PDF 格式发送文件更有效。
Sketch 比 InVision 有更好的网站模型和线框图工具。
但是,InVision 提供功能有限的免费计划,因此那些希望在不支付太多费用的情况下完成简单项目的人可能更喜欢 InVision。另外,Sketch 没有 Windows 支持,也没有 Linux 版本。
它还与 Photoshop 和 Illustrator 的兼容性有限。
另一方面,Sketch 确实有一些 InVision 不提供的出色工具,例如内置网格系统以及轻松将图层与智能参考线对齐的能力。
Framer 是一款功能齐全的数字设计软件应用程序,非常适合可以在 React 中编码的技术设计师。
Framer 旨在使设计师和开发人员之间的协作工作流程尽可能顺畅。
它有很棒的矢量编辑、协作和线框图工具。此外,Framer 允许数据链接、演示工具和简单的原型创建。
他们最近还发布了一个网络版本,这使得 Framer 成为 Figma 和 Sketch 的主要竞争对手。
Framer 非常适合原型设计,这也是开发人员可能会考虑使用 Framer 而不是 Sketch 的主要原因。
另一方面,Sketch 在某种程度上依赖于集成,并且仅在 MacOS 操作系统上可用。
总体而言,Framer 已成为设计师喜欢使用的 Sketch 的一个非常令人印象深刻的替代品。
在 Adobe 杀死 Adobe Fireworks 后,许多 UI 和数字设计师转而使用 Sketch,导致 Adobe 损失数百万美元。哎哟😬
Adobe 花了几年时间才醒来并重新加入竞争……你好? 👋
然后,他们构建了 Adobe XD。一开始很简单,但现在很酷。
该工具提供了 UI 或 UX 设计师可能需要的几乎所有东西,并且适用于任何规模的企业。
Adobe XD 提供了一套令人印象深刻的功能,例如自动动画、重复网格和响应式调整大小。设计师需要的几乎所有工具。
它与其他 Adobe 应用程序集成,这对于已经使用 Adobe Creative Cloud 产品套件的人来说是一个优势。
总体而言,Adobe XD 和 Sketch 相当。需要注意的是 Sketch 更依赖插件。
一些关键的区别是 Adobe XD 提供了更多的原生功能,而且 Sketch 仅适用于 Mac 用户,而 Adobe XD 可以在 Windows 和 Mac 上使用。
此外,Adobe XD 的画板使设计专业人士可以非常轻松地创建一系列页面。从本质上讲,Adobe XD 是 Sketch 的可靠替代品,专为从头开始的数字设计而构建。
一些人认为,由 Adobe Inc 创建的 Adobe Illustrator 是同类软件中最好的。如果您正在寻找 Sketch 的替代品,无疑是您需要考虑的。
是的 — Adobe Illustrator 最初并不是为数字设计师而构建的。但是,它的工具包绝对可以用于创建出色的应用程序和网站设计,这完全取决于您和您的技能。
Adobe 的 Creative Cloud 是 Adobe Illustrator 成为 Sketch 完美替代品的另一个原因。
在 AI 中创建的所有设计都可以自动上传到云端,并在 Photoshop 或 Adobe XD 等其他应用程序中使用。
但是,使用这个先进的设计平台,您确实物有所值。
Sketch 的用户界面更加直观。
但是,使用 Adobe Illustrator,您确实可以更好地直接集成,包括其他 Adobe 套件应用程序。
此外,Illustrator 适用于所有平台,包括 Mac 和 PC,而 Sketch 仅适用于 Mac。
👉🏼 查看我们的 Illustrator 替代品列表。
Snappa 是一种流行的设计工具,它宣传自己是一种为没有经验的人设计图形和矢量的快速方法。
它的易用性使其成为此列表中最引人注目的替代品之一。
使用 Snappa 创建设计项目很简单。
开始订阅:每月 0 美元,但仅限一位用户,您每月只能下载 3 次
专业级:每月 10 美元,提供相同的服务,但无限下载和自定义字体上传
团队套餐:以上所有费用每月 20 美元,外加团队协作
谁应该使用 Snappa?
正在为小型企业和个人寻求技术插图和图像开发平台的矢量图形设计师。
但是,团队计划中包含的协作功能非常适合为您的设计团队实现顺畅的团队协作。
使用 Snappa,您将获得一个非常可靠的整体图像改进工具。另外,它必须是初学者的最佳选择之一,并且比 Sketch 更容易学习。
Affinity Designer 在专业 UI 设计师中备受推崇,并以其对概念艺术和排版的可用性而闻名。
取而代之的是,他们采用老式的方式,将其简单地一次性购买——目前售价为 24.99 美元,但不打折时为 50 美元。
使用 Affinity 设计器创建矢量插图简单易学。
与草图相比 老实说,Affinity Designer 并不能真正提供同样的 UI 设计体验。
在功能方面,Affinity Designer 与 Adobe Illustrator 相当,但缺少 Sketch 或 Figma 所具有的符号和原型设计等功能。
👉🏼 另一方面,关于 Affinity 的许多优点是 Sketch 不能说的。
总的来说,它更容易使用,有更好的 UI,感觉更像 Adobe Illustrator。它也有更好的出口选择。
Inkscape 有很多很棒的功能,是许多其他选项的绝佳替代品,尤其是 Illustrator。
谁应该使用 Inkscape?
热衷于数字设计但没有强大计算机的初学者将在 Inkscape 上茁壮成长。如果您在较旧的操作系统或较弱的 PC 设备上工作,您仍然可以从这个平台中获得很多。
有经验的设计师在第一次使用 Inkscape 时可能会注意到一些功能缺失。
然而,对于初学者的平面设计师来说,Inkscape 在很多方面都比 Sketch 更胜一筹。
可以说,它的主要卖点之一是它是免费的——尽管它的成本很低,但它提供了一些很酷的功能。
👉🏼 查看我们的 Inkscape 替代品列表。
CorelDraw 似乎被设计为适合尽可能多类型的用户。
这显然是一个巨大的好处,这也是它随着时间的推移变得越来越受欢迎的原因之一。
这不适合个体创业者或自由职业者。但是,也有定制计划,因此您可以检查是否可以找到适合您预算的价格。
您可以将 CorelDraw 视为功能强大的一体化工具。如果您的设备上有此选项,您将很少需要使用其他选项。
与草图相比 CorelDraw 对 Sketch 的主要缺点是价格标签,正如我们所看到的,价格很高。这可能足以让很多人望而却步,对于许多年轻企业来说,这可能会破坏交易。
但是你得到了很多钱,并且凭借它们提供的功能,以这种方式定价确实是有道理的。
您拥有一个功能齐全的 CorelDraw 软件,包含各种功能,它在大多数机器上运行得非常好,并且非常直观且易于使用。
Vectr 是一个非常强大和有价值的矢量图形程序,免费提供。
无论您处于何种经验水平,该软件都可以轻松创建矢量。
👉🏼 然而,使用 Vectr 而不是 Sketch 有很多很好的理由。一方面,它是免费的。
此外,它还有探路者、填充和笔触,远远超过 Sketch 中提供的任何东西。此外,它还与 WordPress 和 Slack 集成。
Gravit Designer 带有一整套工具和功能,但特别值得注意的是用于营销工具的图形及其用于概念艺术和动画的工具。
谁应该使用 Gravit Designer?
希望快速整合设计、不同类型的动画或营销材料的设计师会喜欢使用 Gravit Designer。对于初学者设计师来说,这是一个特别好的工具。
话虽如此,Gravit Designer 更小,更易于处理程序,如果您需要执行一些更直接的任务,您将能够从中获得很多。
另外,由于 Gravit Designer 是免费的,因此您可以从价格标签中获得很多好处。
最后,让我们看看 Drawpad,它通过先进且易于使用的界面提供出色的基于矢量的图形设计。
根据您具体需要做什么,这里有许多选项将以各种方式提供帮助。
保持您的选择余地,并确保考虑您或您的公司的特定需求。
无论您最终选择哪种选择,我们相信您会得到很好的帮助。
原文: https://marketsplash.com/sketch-alternatives/
本文: https://jiagoushi.pro/node/1966
无状态任务被广泛用于服务大规模数据处理系统。许多请求都是由依赖Apache Helix的系统提出的,因为无状态任务管理功能将被添加到Apache Helix中。最近,我们的团队决定探索管理无状态任务的新方法,以及我们正在进行的支持Helix的工作。这些努力的结果是Helix Task Framework,一个为无状态任务的分布式执行提供动力的引擎。在这篇文章中,我们将介绍Helix任务框架,它在Helix中作为高级功能提供。
Helix通过声明状态机表示应用程序的生命周期,将集群管理与应用程序逻辑分开。 Apache Helix网站详细描述了Helix的体系结构以及如何使用它来管理分布式系统。还有一些公开的博客文章提供了Helix内部的演练。
Helix最初是在LinkedIn开发的,目前管理关键基础设施,如Espresso(No-SQL数据存储),Brooklin(搜索即服务系统),Venice(派生数据服务平台)以及离线数据基础设施存储和处理。有关这些系统的更多信息,请点击此处。
任务框架随后可以并行地触发任务的执行或调度任务。 Helix Controller监控集群中的所有任务执行,避免裂脑问题,并通过Helix定义的有限状态机和约束启用故障恢复。
任务有三个抽象级别:工作流,工作和任务。工作流由一个或多个作业组成。作业由一个或多个任务组成。任务被定义为最小的,相互独立的可执行工作单元,其逻辑由用户实现。以下小节深入研究了这些抽象的实际用例。有两种类型的工作流:通用工作流和作业队列。
通用工作流是作业之间依赖关系的有向无环图(DAG)表示。 这些依赖关系明确定义了必须运行作业的顺序。 根据DAG,可能存在多种可能的排序。
作业队列是一种特殊类型的工作流。 作业队列与常规工作流程的不同之处在于作业之间的依赖关系是线性的。 因此,在队列中的所有其他作业运行并成功完成之前,不会安排作业。 但是,请注意,任务框架允许用户更改此行为 - 例如,通过修改配置参数,您可以允许作业运行,即使在依赖关系链中的某个位置之前存在失败的作业。
任务框架还允许工作流程是一次性的或经常性的。上面描述的通用工作流默认是一次性的,并且在完成时将从Task Framework的元数据存储中丢弃。但是,循环工作流或作业队列适用于需要定期运行业务逻辑的用例。要创建循环工作流,用户必须创建所谓的“模板”。此模板包含用于创建工作流的一次性实例的信息和参数(例如频率,开始时间,任务逻辑等)。然后,任务框架将按照给定模板的定义自动创建和提交工作流,从而消除了用户使用其他调度工具(例如cron)的需要。
作业是任务框架中的下一级抽象。工作可以有许多相同或不相同的任务。工作是否成功完成取决于其任务的状态;例如,如果其任务未在超时阈值内完成或因任何原因失败,则作业将被标记为超时或失败。只有在所有任务成功完成后,作业才会标记为已完成。
任务框架中支持两种类型的作业:通用作业和目标作业。默认情况下,作业是通用作业。它由一个或多个任务组成,每个任务由Helix Controller生成的分配分布在多个节点上。但是,目标作业绑定到“目标”,它是非任务Helix资源的分区(此处的“Helix资源”表示由Helix管理的实体,例如数据库分区)。假设在Helix上运行的分布式数据库系统想要运行备份作业。这意味着必须在“目标”数据库分区所在的节点上安排并精确运行备份任务。有针对性的工作完全实现了这一点;它有一个“目标”资源(本例中为分布式数据库),其任务将在为该目标资源的分区提供服务的所有计算机上运行。也可以指定目标的状态(由Helix的StateModel定义),这意味着目标任务将仅在指定目标分区的副本处于目标状态的机器上运行。
任务是最小的独立工作单元,其逻辑由用户实现。 在内部,每个单独的任务都遵循Helix定义的Task StateModel。 任务框架中的分配和调度以任务粒度进行。 以下是Task接口的代码片段:
Espresso现在在Task Framework上运行其备份作业。这很有用,因为Espresso已经在其数据库分区中使用了Helix的通用资源管理功能。 Helix Controller了解数据库分区周围发生的状态变化,因此能够轻松确定哪些任务需要绑定到哪些数据库分区。此外,Helix Controller充当集中式调度程序,可以控制并发任务的数量并确定何时应运行备份任务(以避免高峰时段)。以下部分提供了更详细的演练。
如上所述,Espresso使用目标作业进行备份。 Helix UI对于发现作业执行中的任何异常非常有用。用户可以轻松访问Helix UI以监控现有工作流和作业的状态并执行简单操作。此外,Helix UI支持身份验证,操作授权和审计日志记录,这为使用Helix构建的分布式应用程序添加了一层安全性。
已经确定生产者 - 消费者模式是用于在一组节点上分配任务的更合适的模型 - 生产者是Controller,并且可用节点的集合是消费者。我们相信这种新的分发策略将极大地提高任务框架的可扩展性。
分离工作有三个方面:1)减少资源竞争; 2)删除不必要的冗余; 3)删除部署依赖项。任务框架和通用资源管理框架的工作由单个中央调度程序:Helix Controller管理。这意味着单个Controller在一个JVM中运行而没有隔离,我们无法阻止资源管理的减速影响任务的分配和调度,反之亦然。换句话说,两个实体之间存在资源竞争。从这个意义上讲,我们需要将一个Helix控制器分成两个独立运行的独立控制器 - 一个Helix控制器和一个Task Framework Controller。
这种分离自然解决了管道中出现冗余计算的问题,如上一节所述。通用资源的更改将不再触发任务框架控制器中不必要的管道运行。此外,我们计划将此分离扩展到部署/存储库级别,以便新部署/回滚不会相互影响。我们相信这不仅可以提高两个组件的整体性能,还可以改善开发人员的体验。
在这篇文章中,我们探讨了Task Framework,它是Apache Helix中不断增长的组件,可帮助您管理分布式任务。我们还讨论了系统的当前局限性以及我们正在进行的改进,以便将Helix的任务框架定位为LinkedIn以及开源社区中其他人的可靠分布式基础架构。我们要感谢我们的工程师Jiajun Wang和Harry Zhang以及我们的SRE,Eric Blumenau。另外,感谢Yun Sun,Wei Song,Hung Tran,Kuai Yu以及来自LinkedIn数据基础架构的其他开发人员和SRE,感谢他们对Helix的宝贵意见和反馈。此外,我们要感谢Kishore Gopalakrishna,Apache Helix社区的其他提交者,以及校友Eric Kim,Weihan Kong和Vivo Xu的贡献。最后,我们要感谢雷管,Ivo Dimitrov和Swee Lim的管理层的不断鼓励和支持。
LinkedIn:
Helix在LinkedIn上广泛用于管理后端系统,例如Espresso(分布式NoSQL数据存储),Databus(变更数据捕获系统),Seas(搜索服务),Pinot(实时分析系统)
https://github.com/yahoo/Pistachio。 Pistachio被用作雅虎大规模广告服务产品的用户档案存储。
Uber的流数据传输系统Streamio使用Helix提供高可用性,因为它可以跨Kafka,数据库,HBase和HDFS移动数据。
Box Notes - 使用Helix来分区我们的笔记并充当分布式锁管理器。我们从Helix获得的一些好处是它在故障期间自动重新平衡分区并改变容量。
我们使用Helix在HDFS / Hadoop之上为我们的KV商店进行集群管理。 Helix可以轻松实现容量扩展/减少和故障恢复的自动化。
在jBPM中进行聚类。 http://planet.jboss.org/post/clustering_in_jbpm_v6
Instagram直接消息
我们正在使用Helix来管理我们的高性能键值存储。该商店每秒可以看到大约1.7MM的查找请求和相当数量的写入,从而使高可用性和快速可扩展性对项目至关重要。我们使用Helix将连续块中的密钥空间分配给不同的服务器计算机(Dynamo样式的固定存储桶分区),管理这些分区并在从集群中添加和删除新计算机时自动执行迁移过程
X15是一个并行机器数据管理平台,能够摄取,索引,搜索和查询大量机器数据(即日志数据)。 X15使用Helix来实现分区表的容错和负载平衡,以及系统中控制模块的领导者选择。
原文: https://cwiki.apache.org/confluence/display/HELIX/Powered+By+Helix
随着Helix Task Framework在其他开源框架(如Apache Gobblin和Apache Pinot)中的使用,它也看到了它所管理的分布式任务类型的多样性。 Helix也有明确的功能请求,通过创建相应的配额来区分不同类型的任务。
基于配额的任务调度旨在通过允许用户定义由配额类型及其相应配额组成的配额配置文件来满足这些请求。此功能的目标有三个:
通用工作流:通用工作流是由用于一般目的的作业(作业DAG)组成的工作流。如果过期或超时,可以删除通用工作流程。
作业队列:作业队列是一种特殊类型的工作流,由往往具有线性依赖关系的作业组成(但这种依赖关系是可配置的)。作业队列没有到期 - 它一直存在直到被删除。
通用作业:通用作业是由一个或多个任务组成的作业。
目标作业:目标作业与通用作业的不同之处在于,这些作业必须具有目标资源,属于此类作业的任务将与目标资源的分区一起安排。为了说明,Task Framework的Espresso用户可能希望在他们的一个名为MemberDataDB的DB上安排备份作业。此DB将分为多个分区(_MemberDataDB_1,_MemberDataDB2,... MemberDataDBN),并假设已提交目标作业,以使其任务与每个分区配对。这种“配对”是必要的,因为此任务是一个备份任务,需要与任务备份的那些分区位于同一物理机器上。
例如,TYPE_0:40,TYPE_1:20,...,默认值:40
AssignableInstance是一个抽象,表示能够从Controller接受任务的每个实时参与者。每个AssignableInstance将缓存它运行的任务以及基于配额的容量计算中的剩余任务计数。
AssignableInstanceManager管理所有AssignableInstances。它还充当Controller和每个AssignableInstance之间的连接层。 AssignableInstanceManager还提供了一组接口,允许Controller轻松确定AssignableInstance是否能够承担更多任务。
TaskAssigner接口提供基本API方法,涉及基于配额约束的任务分配。 目前,任务框架仅涉及参与者端JVM线程的数量,每个线程对应于活动任务。
这个新组件充当Controller的JobDAG的迭代器。 以前,任务分配要求Controller迭代所有作业及其基础任务,以确定是否有任何需要分配和调度的任务。 事实证明这是低效的,并且随着我们对Task Framework的负担越来越大而无法扩展。 每个RuntimeJobDag记录状态,也就是说,它知道需要向Controller提供哪些任务以进行调度。 每次通过Task管道的TaskSchedulingStage时,这都会为Controller节省冗余计算。
每个实例(节点)都将具有如下所示的配额配置文件。这有一些影响。首先,这允许通过将更多资源分配给相应的配额类型来对某些作业进行优先级排序。从这个意义上讲,您可以将配额配置号/比率视为用户定义的优先级值。更具体地说,在上面的示例中采用配额配置文件。在这种情况下,当为每种配额类型提交100个作业时,类型A的作业将更快完成;换句话说,由于配额比率是其他配额类型的两倍,配额类型A在连续的工作流时会看到两倍的吞吐量。
基于配额的任务调度还允许在调度作业中进行隔离/划分。假设有两类工作,第一类是紧急工作,这些工作是短暂的,但需要立即运行。另一方面,假设第二类工作往往需要更长时间,但它们并不那么紧迫,可以花时间运行。以前,这两种类型的工作将被分配,计划和运行,确实难以确保第一类工作以紧急方式处理。基于配额的调度通过允许用户创建具有不同特征和要求的“类别”模型的配额类型来解决此问题。
在ClusterConfig中设置配额配置ClusterConfig clusterConfig = _manager.getConfigAccessor().getClusterConfig(CLUSTER_NAME); // Retrieve ClusterConfig clusterConfig.resetTaskQuotaRatioMap(); // Optional: you may want to reset the quota config before creating a new quota config clusterConfig.setTaskQuotaRatio(DEFAULT_QUOTA_TYPE, 10); // Define the default quota (DEFAULT_QUOTA_TYPE = "DEFAULT") clusterConfig.setTaskQuotaRatio("A", 20); // Define quota type A clusterConfig.setTaskQuotaRatio("B", 10); // Define quota type B _manager.getConfigAccessor().setClusterConfig(CLUSTER_NAME, clusterConfig); // Set the new ClusterConfig
需要注意的是 - 如果设置了配额配置,则必须始终定义默认配额类型(使用“DEFAULT”键)。 否则,将不再安排和运行没有类型信息的作业。 如果您在基于配额的计划开始之前一直使用任务框架,那么您可能具有其作业没有任何类型集的重复工作流。 如果您忽略包含默认配额类型,则这些重复工作流将无法正确执行。
在ClusterConfig中设置配额配置后,您将在JK格式的ZooKeeper集群配置ZNode中看到更新的字段。 请参阅以下示例:
"id":"Example_Cluster" ,"simpleFields":{ "allowParticipantAutoJoin":"true" ,"listFields":{ ,"mapFields":{ "QUOTA_TYPES":{ "A":"20" ,"B":"10" ,"DEFAULT":"10"
任务框架将无法找到正确的配额类型,因此它会将其视为DEFAULT类型,并将使用DEFAULT类型的配额进行相应的分配和计划。
目标工作怎么样?
配额也将应用于目标作业,目标作业的每个任务占用预设资源量(当前每个任务占用1个JVM线程)。
基于配额的计划适用于所有类型的工作流 - 通用工作流和作业队列。对用户要注意的是要小心并始终验证是否已正确设置作业的配额类型。任务框架不会自动删除或通知用户因配额类型无效而卡住的作业,因此我们提醒所有用户通过在ClusterConfig中查询其设置来确保配额类型存在。
下来的步骤 基于配额的任务调度已在LinkedIn内部进行了测试,并已集成到Apache Gobblin中,使Helix Task Framework和Gobblin的Job Launcher用户能够定义类别和相应的配额值。有一些即时待办事项可以改善此功能的可用性:
目前,配额配置文件适用于整个群集;也就是说,ClusterConfig中定义的一个配额配置文件将全局适用于所有参与者。但是,某些用例可能要求每个参与者具有不同的配额配置文件。
Helix Task Framework的最大任务线程数设置为40.使这个可配置将允许一些用户根据执行此类任务的持续时间来增加任务的吞吐量。
目前,每个Participant的JVM线程数是Helix Task Framework定义配额的唯一维度。但是,如前面部分所述,这可以扩展到常用的约束,如CPU使用率,内存使用率或磁盘使用率。随着新维度的添加,需要额外实现TaskAssigner接口,该接口根据约束生成任务分配。
原文 : https://helix.apache.org/0.8.4-docs/quota_scheduling.html
要构建这样的系统,我们需要一种机制来协调系统中不同节点和其他组件。这种机制可以通过软件来实现,该软件可以对集群中的任何变化做出反应,并提供一组使集群处于稳定状态所需的任务。该组任务将分配给群集中的一个或多个节点。 Helix用于管理群集中的各种组件。
并非分布式系统中的所有节点都将执行类似的功能。例如,一些节点可能正在处理请求,一些节点可能正在发送请求,而一些其他节点可能正在控制集群中的节点。因此,Helix按照系统中的特定角色对节点进行分类。
Helix根据职责将节点划分为3个逻辑组件:
这些只是逻辑组件,可以根据系统要求进行部署。例如,控制器:
两者都有利有弊,稍后将对此进行讨论,并且可以根据系统需要选择部署模式。
Zookeeper提供:
ZooKeeper提供的命名空间非常类似于标准文件系统。名称是由斜杠(/)分隔的路径元素序列。 ZooKeeper命名空间中的每个节点(ZNode)都由路径标识。
有关Zookeeper的更多信息,请访问 http://zookeeper.apache.org
除了为每个分区定义状态之外,状态之间的转换路径可以是特定于应用程序的。例如,为了成为MASTER,可能需要首先成为SLAVE。这确保了如果SLAVE没有将数据作为OFFLINE-SLAVE转换的一部分,它可以从系统中的其他节点引导数据。
Helix提供了一种配置特定于应用程序的状态机以及每个状态的约束的方法。除了对STATE的约束外,Helix还提供了一种指定转换约束的方法。 (稍后会详细介绍。)
OFFLINE | SLAVE | MASTER _____________________________ | | | | OFFLINE | N/A | SLAVE | SLAVE | |__________|________|_________| | | | | SLAVE | OFFLINE | N/A | MASTER | |__________|________|_________| | | | | MASTER | SLAVE | SLAVE | N/A | |__________|________|_________|Helix的目标始终是使系统的CurrentState(以及扩展名为ExternalView)与IdealState相同。有些情况可能并非如此:
Helix附带了各种算法来自动将分区分配给节点。默认算法最小化将新节点添加到系统时发生的混洗次数。
群集中的每个参与者都托管资源的一个或多个分区。每个分区都具有与之关联的状态。
Example Node-1
节点进程可以是以下之一:
顶级(在群集名称下)ZNodes都是Helix定义的,大写:
在INSTANCES下,每个实例都有运行时ZNode。一个实例按如下方式组织ZNodes:
在CONFIGS下,有不同的配置范围:
在使用BigData大约8年以上之后,我遇到了大量的项目。 Esp Apache的运动对于BigData域非常强大。每个人都会提出一个针对特定解决方案的项目。但是,由于有这么多项目出现,我找不到一个可以查看它们的地方。所以,这就是这个页面背后的灵感。一站式,查看所有Apache BigData项目。当然,这个页面需要不断更新。如果您发现任何项目缺失,请发表评论
我同意一个大的列表(43个以上的项目),但这就是能够进行BigData处理的项目的范围。此外,可能有多个项目符合您的要求。关键是要确定哪些最适合您的要求与给定的硬件。
注意:如果您遇到一些Apache BigData项目但未在此处提及的项目,请发表评论。我将检查并将它们添加到此列表中。
Apache Airavata是一个框架,支持在基于网格的系统,远程集群和基于云的系统中执行和管理计算科学应用程序和工作流。 Airavata的主要重点是在基于网格的系统中提交和管理应用程序和工作流程。 Airavata的架构也可扩展,以支持其他底层资源。传统的科学应用程序为用户提供了一个门户,可以提交和管理被称为科学网关的科学应用程序。 Airavata可以被科学网关开发人员用作他们的中间件层。他们可以直接调用airavata API,以便与基于网格的系统进行通信。
Airflow是一个以编程方式创作,安排和监控工作流程的平台。
使用气流将工作流作为任务的有向非循环图(DAG)。气流调度程序在遵循指定的依赖关系的同时在一组工作程序上执行您的任务。
Apache Ambari是一个用于配置,管理和监控Apache Hadoop集群的工具。 Ambari包含一组RESTful API和基于浏览器的管理界面。
Apache Apex是一个用于大数据流和批处理的统一平台。用例包括摄取,ETL,实时分析,警报和实时操作。 Apex是Hadoop本地YARN实现,默认使用HDFS。它通过缩短上市时间简化了Hadoop应用程序的开发和产品化。主要功能包括具有容错的企业级可操作性,状态管理,事件处理保证,无数据丢失,内存中性能和可伸缩性以及本机窗口支持。
Apache Avro™是一种数据序列化系统。
Avro提供:
丰富的数据结构。
紧凑,快速的二进制数据格式。
容器文件,用于存储持久数据。
远程过程调用(RPC)。
与动态语言的简单集成。不需要代码生成来读取或写入数据文件,也不需要使用或实现RPC协议。代码生成作为可选优化,仅值得为静态类型语言实现。
为列式内存分析提供支持。它是一种新格式,可以在BigData生态系统中以统一的方式使用。利用最新的硬件(如SIMD)以及软件(柱状)增强功能,并在整个生态系统中提供统一的标准
Apache Beam是一种用于批处理和流数据处理的统一编程模型,可以跨多种分布式执行引擎高效执行,并提供可扩展点,以连接到不同的技术和用户社区。
Bigtop是一个用于开发Apache Hadoop生态系统的打包和测试的项目。 Bigtop的主要目标是围绕Hadoop相关项目的打包和互操作性测试构建社区。这包括在社区开发的各个级别(包装,平台,运行时,升级等)进行测试,重点是整个系统,而不是单个项目。简而言之,我们努力为Hadoop提供Debian对Linux的支持。
BookKeeper是一种可靠的复制日志服务。它可用于将任何独立服务转换为高可用性复制服务。 BookKeeper具有高可用性(无单点故障),并且随着更多存储节点的添加而水平扩展。
Calcite是一个用于编写数据管理系统的框架。它使用可插入的查询转换规则将在关系代数中表示的查询转换为高效的可执行形式。有一个可选的SQL解析器和JDBC驱动程序。 Calcite不存储数据或具有首选执行引擎。数据格式,执行算法,规划规则,运算符类型,元数据和成本模型在运行时作为插件添加。
Chukwa是一个用于监控大型分布式系统的开源数据收集系统。 Chukwa构建于Hadoop分布式文件系统(HDFS)和Map / Reduce框架之上,并继承了Hadoop的可扩展性和健壮性。 Chukwa还包括一个灵活而强大的工具包,用于显示,监控和分析结果,以充分利用收集的数据。
Apache CouchDB是一个完全包含Web的数据库。使用JSON文档存储数据。使用Web浏览器通过HTTP访问您的文档。使用JavaScript查询,组合和转换文档。 Apache CouchDB适用于现代Web和移动应用程序。您甚至可以直接从Apache CouchDB中提供Web应用程序。您可以使用Apache CouchDB的增量复制有效地分发您的数据或应用程序。 Apache CouchDB支持具有自动冲突检测的主 - 主设置。
Apache Crunch Java库提供了一个用于编写,测试和运行MapReduce管道的框架。它的目标是使由许多用户定义函数组成的流水线易于编写,易于测试和高效运行。
Apache Crunch™库运行在Hadoop MapReduce和Apache Spark之上,是一个简单的Java API,用于加入和数据聚合等在平面MapReduce上实现繁琐的任务。在处理不适合关系模型的数据时,API尤其有用,例如时间序列,序列化对象格式(如协议缓冲区或Avro记录)以及HBase行和列。对于Scala用户,有Scrunch API,它基于Java API构建,并包含用于创建MapReduce管道的REPL(读取 - 评估 - 打印循环)。
Apache DataFu由两个库组成:Apache DataFu Pig是Apache Pig中用于数据分析的有用的用户定义函数的集合。
Apache DataFu Hourglass是一个使用Apache Hadoop MapReduce逐步处理数据的库。该库的灵感来自于对日常跟踪数据的滑动窗口计算的预测。诸如这些的计算通常以规则的间隔(例如,每天,每周)发生,因此计算的滑动性质意味着大部分工作被不必要地重复。创建DataFu的沙漏是为了使这些计算更有效,有时可以减少50-95%的计算资源。
Apache DirectMemory是Java虚拟机的堆外缓存
Apache Drill是一个分布式MPP查询层,支持针对NoSQL和Hadoop数据存储系统的SQL和替代查询语言。它的灵感部分来自谷歌的Dremel。
Apache Edgent是一种编程模型和微内核样式运行时,可嵌入网关和小型边缘设备中,实现对来自设备,车辆,系统的连续数据流的本地实时分析,各种器具,设备和传感器(例如,覆盆子Pis或智能手机)。 Apache Edgent与集中分析系统配合使用,可在整个物联网生态系统中提供高效,及时的分析:从中心到边缘。
Apache Falcon是Hadoop的数据处理和管理解决方案,专为数据移动,数据管道协调,生命周期管理和数据发现而设计。 Falcon使最终消费者能够在Hadoop集群上快速加载其数据及其相关的处理和管理任务。
Flink是一个用于表达,声明,快速和高效数据分析的开源系统。它将分布式MapReduce类平台的可扩展性和编程灵活性与并行数据库中的效率,核外执行和查询优化功能相结合。
Apache Flume是一个分布式,可靠且可用的系统,用于有效地从许多不同的源收集,聚合和移动大量日志数据到集中式数据存储
Apache Giraph是一个为高可扩展性而构建的迭代图形处理系统。例如,它目前在Facebook上用于分析用户及其连接形成的社交图。
Apache™Hadoop®项目开发了用于可靠,可扩展的分布式计算的开源软件。
Apache Hama是一种高效且可扩展的通用BSP计算引擎,可用于加速各种计算密集型分析应用程序。
Apache HAWQ是一个Hadoop本机SQL查询引擎,它结合了MPP数据库的关键技术优势和Hadoop的可扩展性和便利性。
Apache Helix是一个通用的集群管理框架,用于自动管理节点集群上托管的分区,复制和分布式资源。 Helix在面对节点故障和恢复,集群扩展和重新配置时自动重新分配资源。
Apache Ignite内存数据结构旨在为从高性能计算到业界最先进的数据网格,内存中SQL,内存文件系统的各种内存计算用例提供无与伦比的性能,流式传输等。
单个Kafka代理可以处理来自数千个客户端的每秒数百兆字节的读写操作。 Kafka旨在允许单个群集充当大型组织的中央数据主干。它可以弹性和透明地扩展,无需停机。数据流被分区并分布在一组机器上,以允许数据流大于任何一台机器的能力,并允许协调的消费者群集。 Kafka采用现代以集群为中心的设计,提供强大的耐用性和容错保证。消息将保留在磁盘上并在群集中进行复制,以防止数据丢失。每个代理都可以处理数TB的消息,而不会影响性能。
Apache Knox Gateway是一个REST API网关,用于与Hadoop集群进行交互。
Knox Gateway为所有与Hadoop集群的REST交互提供单一访问点。
在这种能力下,诺克斯网关能够提供有价值的功能来帮助控制,
集成,监控和自动化企业的关键管理和分析需求。
身份验证(LDAP和Active Directory身份验证提供程序)联合/ SSO(基于HTTP标头的身份联合)授权(服务级别授权)审核虽然不安全的Hadoop群集有许多好处,
Knox Gateway也很好地补充了kerberos安全集群。
加上Kerberos安全Hadoop集群的正确网络隔离,
Knox Gateway为企业提供以下解决方案:
与企业身份管理解决方案完美集成保护Hadoop集群部署的详细信息(主机和端口对最终用户隐藏)简化客户端与之交互所需的服务数量
Kudu提供快速插入/更新和高效柱状扫描的组合,可在单个存储层上实现多个实时分析工作负载。
Lens提供统一分析界面。 Lens旨在通过提供跨多个分层数据存储的单一数据视图和分析查询的最佳执行环境来削减数据分析孤岛。它将Hadoop与传统数据仓库无缝集成,看起来就像一个。
使用MetaModel,您可以获得许多非常不同的数据存储类型的统一连接器和查询API,包括:关系(JDBC)数据库,CSV文件,Excel电子表格,XML文件,JSON文件,固定宽度文件,MongoDB,Apache CouchDB,Apache HBase,Apache Cassandra,ElasticSearch,OpenOffice.org数据库,Salesforce.com,SugarCRM甚至普通旧Java对象(POJO)的集合。
MetaModel不是数据映射框架。相反,它强调元数据的抽象和在运行时添加数据源的能力,使MetaModel非常适用于通用数据处理应用程序,对于围绕特定域建模的应用程序则更少。
Apache Metron提供可扩展的高级安全分析框架,该框架使用从Cisco OpenSOC项目演变而来的Hadoop社区构建。一种网络安全应用程序框架,使组织能够检测网络异常并使组织能够快速响应已识别的异常情况。
Oozie是一个用于管理Apache Hadoop作业的工作流程调度程序系统。 Oozie与Hadoop堆栈的其余部分集成,支持多种类型的Hadoop作业(例如Java map-reduce,Streaming map-reduce,Pig,Hive,Sqoop和Distcp)以及系统特定的工作(例如Java程序和shell脚本)。
ORC是一种自描述类型感知的列式文件格式,专为Hadoop工作负载而设计。它针对大型流式读取进行了优化,但具有快速查找所需行的集成支持。以列式格式存储数据使读者只能读取,解压缩和处理当前查询所需的值。
Apache Parquet是一种通用的列式存储格式,专为Hadoop而构建,可与任何数据处理框架,数据模型或编程语言一起使用。
Apache Phoenix通过提供利用Apache HBase作为其后备存储的关系数据库层,为Apache Hadoop提供OLTP和运营分析。它包括与Apache Spark,Pig,Flume,Map Reduce以及Hadoop生态系统中的其他产品的集成。它作为JDBC驱动程序访问,并允许通过标准SQL查询,更新和管理HBase表。
Apache REEF(可保留评估程序执行框架)是一个开发框架,它提供了一个控制平面,用于调度和协调从资源管理器获取的集群资源的任务级(数据平面)工作。 REEF提供了促进数据缓存资源重用的机制,以及状态管理抽象,极大地简化了支持Resource Manager服务的云平台上弹性数据处理工作流的开发。
Apache Samza提供了一个系统,用于处理来自Apache Kafka等发布 - 订阅系统的流数据。开发人员编写流处理任务,并将其作为Samza作业执行。然后,Samza在流处理任务和消息所针对的发布 - 订阅系统之间路由消息。
Apache Spark是一种用于大规模数据处理的快速通用引擎。它提供Java,Scala和Python中的高级API以及丰富的库,包括流处理,机器学习和图形分析。
Apache Sqoop(TM)是一种工具,用于在Apache Hadoop和结构化数据存储(如关系数据库)之间高效传输批量数据。
Apache Storm是一个分布式实时计算系统。类似于Hadoop如何提供一组用于进行批处理的通用基元,Storm提供了一组用于进行实时计算的通用基元。
Apache Tajo项目的主要目标是在Hadoop中构建一个高级开源数据仓库系统,用于处理Web规模的数据集。基本上,Tajo提供SQL标准作为查询语言。 Tajo专为存储在HDFS和其他数据源上的数据集进行交互式和批量查询而设计。在不损害查询响应时间的情况下,Tajo提供了容错和动态负载平衡,这是长时间运行查询所必需的。 Tajo采用基于成本的渐进式查询优化技术来重新优化运行查询,以避免最糟糕的查询计划。
Apache Tez致力于开发通用应用程序框架,该框架可用于处理数据处理任务的任意复杂的有向无环图(DAG),以及可用于可重用的一组数据处理原语。通过其他项目。它目前在Apache Hadoop YARN上面构建。
Apache VXQuery将是一个用Java实现的符合标准的XML查询处理器。重点是评估对大量XML数据的查询。具体而言,目标是评估大型相对较小的XML文档集合上的查询。为了实现此目的,将在无共享机器的集群上评估查询。
Zeppelin是一个基于Web的现代工具,供数据科学家在大规模数据探索和可视化项目上进行协作。
sourceAgent.channels.kafkaCh.type = memory
sourceAgent.channels.kafkaCh.capacity = 1000000
sourceAgent.channels.kafkaCh.transactionCapacity = 1000000
sourceAgent.channels.kafkaCh.keep-alive = 10
sourceAgent.channels.logCh.type = memory
sourceAgent.channels.logCh.capacity = 1000000
sourceAgent.channels.logCh.transactionCapacity = 1000000
sourceAgent.channels.logCh.keep-alive = 10
sourceAgent.sources.sourceDataSource.type = org.apache.flume.source.http.HTTPSource
sourceAgent.sources.sourceDataSource.bind= 172.21.9.74
sourceAgent.sources.sourceDataSource.port = 30001
sourceAgent.sources.sourceDataSource.channels = logCh kafkaCh
sourceAgent.sinks.logSink.channel = logCh
sourceAgent.sinks.logSink.type = logger
sourceAgent.sinks.kafkaSink.channel = kafkaCh
sourceAgent.sinks.kafkaSink.type = org.apache.flume.sink.kafka.KafkaSink
sourceAgent.sinks.kafkaSink.topic = icestone-gateway-event-topic
sourceAgent.sinks.kafkaSink.brokerList =172.21.9.70:6667,172.21.9.72:6667,172.21.9.73:6667,172.21.9.74:6667
sourceAgent.sinks.kafkaSink.flumeBatchSize = 20
sourceAgent.sinks.kafkaSink.producer.acks = 1
sourceAgent.sinks.kafkaSink.producer.linger.ms = 1
sourceAgent.sinks.kafkaSink.producer.compression.type = none
Hive提供标准的SQL功能,包括许多后来的SQL:2003和SQL:2011分析功能。
Hive的SQL也可以通过用户定义的函数(UDF),用户定义的聚合(UDAF)和用户定义的表来扩展用户代码
函数(UDTF)。
没有唯一的“Hive格式”存储数据。 Hive附带内置连接器,用于逗号和制表符分隔值(CSV/ TSV)文本文件,Apache Parquet™,Apache ORC™和其他格式。
用户可以使用其他格式的连接器扩展Hive。有关详细信息,请参阅开发人员指南中的File Formats和Hive SerDe。
Hive不适用于联机事务处理(OLTP)工作负载。它最适用于传统的数据仓库任务。
Hive旨在最大限度地提高可伸缩性(通过向Hadoop集群动态添加更多计算机来扩展),性能,可扩展性,容错,与输入格式松散耦合。
Hive的组件包括HCatalog和WebHCat。
HCatalog是Hive的一个组件。它是Hadoop的表和存储管理层,使用户可以使用不同的数据
Hive SQL语言手册:命令,CLI,数据类型,
DDL(创建/删除/更改/截断/显示/描述),统计(分析),索引,存档,
DML(加载/插入/更新/删除/合并,导入/导出,解释计划),
查询(选择),运算符和UDF,锁,授权
文件格式和压缩:RCFile,Avro,ORC,Parquet; 压缩,LZO
程序语言:Hive HPL / SQL
Hive配置属性
HIve 客户端
Hive Web界面
Hive SerDes:Avro SerDe,Parquet SerDe,CSV SerDe,JSON SerDe
Hive Accumulo集成
Hive HBase集成
Druid整合
Hive Transactions,Streaming Data Ingest和Streaming Mutation API
Hive 计数器
安装Hive
配置Hive
设置Metastore
Hive Schema Tool
设置Hive Web界面
设置Hive服务器(JDBC,ODBC,Thrift,HiveServer2)
Hive复制
Hive on Amazon Web Services
Amazon Elastic MapReduce上的Hive
Hive on Spark
Apache Zeppelin解释器概念允许将任何语言/数据处理后端插入Zeppelin。 目前Apache Zeppelin支持许多解释器,如Apache Spark,Python,JDBC,Markdown和Shell。
添加新的语言后端非常简单。 了解如何创建自己的解释器。
Apache Zeppelin提供了一个仅显示结果的URL,该页面不包含笔记本内的任何菜单和按钮。 您可以通过这种方式轻松地将其作为iframe嵌入到您的网站中。 如果您想了解有关此功能的更多信息,请访问此页面。
Apache Zeppelin是Apache2 Licensed软件。 请查看源存储库以及如何贡献。 Apache Zeppelin拥有一个非常活跃的开发社区。 加入我们的邮件列表并报告有关Jira Issue跟踪器的问题。
简单地说,NiFi就是为了实现系统间数据流的自动化而构建的。虽然术语“数据流”用于各种上下文,但我们在此处使用它来表示系统之间的自动和管理信息流。这个问题空间一直存在,因为企业有多个系统,其中一些系统创建数据,一些系统消耗数据。已经讨论并广泛阐述了出现的问题和解决方案模式。企业集成模式[eip]中提供了一个全面且易于使用的表单。
数据流的一些高级别挑战包括:
网络故障,磁盘故障,软件崩溃,人们犯错误。
数据访问超出了消耗能力
有时,给定的数据源可能会超过处理链或交付链的某些部分 - 只需要一个弱链接就会出现问题。
边界条件仅仅是建议
您将总是获得太大,太小,太快,太慢,损坏,错误或格式错误的数据。
噪音有一天成为下一个信号
组织的优先事项 - 迅速改变。启用新流程和更改现有流程必须快速。
系统以不同的速度发展
给定系统使用的协议和格式可以随时改变,而不管它们周围的系统如何。存在数据流以连接本质上是大规模分布的组件系统,这些组件松散地或根本不设计为一起工作。
合规性和安全性
法律,法规和政策发生变化。企业对企业协议的变化。系统到系统和系统到用户的交互必须是安全的,可信的,负责任的。
生产中持续改进
通常不可能在实验室中复制生产环境。
多年来,数据流一直是架构中必不可少的证据之一。现在虽然有许多活跃且快速发展的运动,但数据流更有趣,对于特定企业的成功更为重要。这些包括:面向服务的体系结构[soa],API [api] [api2],物联网[iot]和大数据[bigdata]的兴起。此外,合规性,隐私性和安全性所需的严格程度也在不断提高。即使仍然存在所有这些新概念,数据流的模式和需求仍然大致相同。然后,主要区别在于复杂性的范围,适应所需的变化率,以及大规模边缘情况变得普遍。 NiFi旨在帮助解决这些现代数据流挑战。
Apache NiFi支持强大且可扩展的数据路由,转换和系统中介逻辑的有向图。 Apache NiFi的一些高级功能和目标包括:
基于Web的用户界面
高度可配置
专为扩展而设计
NiFi的基本设计概念与 基于流程编程 的主要思想密切相关[fbp]。以下是一些主要的NiFi概念以及它们如何映射到FBP:
FlowFile存储库
FlowFile存储库是NiFi跟踪其对流中当前活动的给定FlowFile的了解状态的地方。存储库的实现是可插入的。默认方法是位于指定磁盘分区上的持久性预写日志。
内容存储库
内容存储库是给定FlowFile的实际内容字节的实时位置。存储库的实现是可插入的。默认方法是一种相当简单的机制,它将数据块存储在文件系统中。可以指定多个文件系统存储位置,以便获得不同的物理分区以减少任何单个卷上的争用。
Provenance Repository是存储所有起源事件数据的地方。存储库构造是可插入的,默认实现是使用一个或多个物理磁盘卷。在每个位置内,事件数据被索引和搜索。
NiFi也能够在集群内运行。
从NiFi 1.0版本开始,采用了Zero-Master Clustering范例。 NiFi群集中的每个节点对数据执行相同的任务,但每个节点都在不同的数据集上运行。 Apache ZooKeeper选择单个节点作为集群协调器,ZooKeeper自动处理故障转移。 所有群集节点都会向群集协调器报告心跳和状态信息。 群集协调器负责断开和连接节点。 此外,每个群集都有一个主节点,也由ZooKeeper选举。 作为DataFlow管理器,您可以通过任何节点的用户界面(UI)与NiFi群集进行交互。 您所做的任何更改都将复制到群集中的所有节点,从而允许多个入口点。
NiFi旨在充分利用其运行的底层主机系统的功能。在CPU和磁盘方面,这种资源的最大化特别强大。有关其他详细信息,请参阅“管理指南”中的最佳做法和配置提示。
可以预期的吞吐量或延迟会有很大差异,具体取决于系统的配置方式。鉴于大多数主要NiFi子系统都有可插拔的方法,性能取决于实施。但是,对于具体且广泛适用的内容,请考虑开箱即用的默认实现。这些都是持久的保证传递,并使用本地磁盘这样做。因此保守一点,假设典型服务器中的适度磁盘或RAID卷上的读取/写入速率大约为每秒50 MB。然后,对于大类数据流的NiFi应该能够有效地达到每秒100 MB或更高的吞吐量。这是因为预期每个物理分区和添加到NiFi的内容存储库都会线性增长。这将在FlowFile存储库和originance存储库的某个点上出现瓶颈。我们计划提供一个基准测试和性能测试模板,以包含在构建中,允许用户轻松测试他们的系统并确定瓶颈在哪里,以及它们可能成为一个因素。此模板还应使系统管理员可以轻松进行更改并验证其影响。
对于CPU
流控制器充当引擎,指示特定处理器何时被赋予执行线程。编写处理器以在执行任务后立即返回线程。可以为Flow Controller提供一个配置值,指示它维护的各个线程池的可用线程。理想的线程数取决于主机系统资源的核心数量,系统是否正在运行其他服务,以及流程中处理的性质。对于典型的IO大流量,可以使许多线程可用。
对于RAM
NiFi存在于JVM中,因此仅限于JVM提供的内存空间。 JVM垃圾收集成为限制总实际堆大小以及优化应用程序运行时间的一个非常重要的因素。定期阅读相同内容时,NiFi作业可能是I / O密集型的。配置足够大的磁盘以优化性能。
这部分提供了20,000英尺的NiFi基石基础视图,让您可以了解Apache NiFi的大图,以及一些最有趣的功能。主要功能类别包括流量管理,易用性,安全性,可扩展架构和灵活的扩展模型。
NiFi的核心理念是即使在非常高的规模下,保证交付也是必须的。这是通过有效使用专用的持久性预写日志和内容存储库来实现的。它们的设计可以实现非常高的事务处理速率,有效的负载分散,写入时复制以及发挥传统磁盘读/写的优势。
NiFi支持缓冲所有排队数据,以及在这些队列达到指定限制时提供背压或在数据达到指定年龄(其值已经消失)时使数据老化的能力。
NiFi允许设置一个或多个优先级方案,用于如何从队列中检索数据。默认值是最早的,但有时应先将数据拉到最新,最大的数据或其他一些自定义方案。
有一些数据流点,数据绝对是关键的,而且是不容忍的。有时候必须在几秒钟内处理和交付它才能具有任何价值。 NiFi可以实现这些问题的细粒度流量特定配置。
数据流可能变得非常复杂。能够可视化这些流并在视觉上表达它们可以极大地帮助降低复杂性并确定需要简化的区域。 NiFi不仅可以实现数据流的可视化建立,而且可以实时实现。而不是“设计和部署”,它更像是塑造粘土。如果对数据流进行更改,则更改会立即生效。变更细粒度并与受影响的组件隔离。您不需要为了进行某些特定修改而停止整个流程或流程集。
数据流往往是高度模式化的,虽然通常有许多不同的方法来解决问题,但是能够分享这些最佳实践有很大帮助。模板允许主题专家构建和发布他们的流程设计,并让其他人受益并协作。
当对象流过系统时,NiFi会自动记录,索引并提供可用的起源数据,即使是扇入,扇出,转换等。此信息对于支持合规性,故障排除,优化和其他方案至关重要。
NiFi的内容存储库旨在充当历史的滚动缓冲区。数据仅在内容存储库老化或需要空间时才会被删除。这与数据出处能力相结合,为对象的生命周期中的特定点提供了点击内容,内容下载和重放的极其有用的基础,甚至可以跨越几代人。
数据流只有安全性才好。数据流中每个点的NiFi都通过使用加密协议(如双向SSL)提供安全交换。此外,NiFi使流程能够加密和解密内容,并在发送方/接收方方程式的任何一侧使用共享密钥或其他机制。
NiFi支持双向SSL身份验证,并提供可插拔授权,以便能够正确控制用户的访问权限和特定级别(只读,数据流管理器,管理员)。如果用户在流程中输入密码等敏感属性,则会立即对服务器端进行加密,即使以加密形式也不会再次暴露在客户端。
给定数据流的权限级别适用于每个组件,允许管理员用户具有细粒度的访问控制级别。这意味着每个NiFi集群都能够满足一个或多个组织的要求。与隔离拓扑相比,多租户授权支持数据流管理的自助服务模型,允许每个团队或组织在完全了解流程的其余部分的情况下管理流程,而这些流程是他们无法访问的流程。
可扩展的架构
NiFi的核心是为扩展而构建的,因此它是一个数据流进程可以以可预测和可重复的方式执行和交互的平台。扩展点包括:处理器,控制器服务,报告任务,优先级排序器和客户用户界面。
对于任何基于组件的系统,可能会很快发生依赖性问题。 NiFi通过提供自定义类加载器模型来解决这个问题,确保每个扩展束都暴露于非常有限的依赖关系。因此,可以构建扩展而几乎不关心它们是否可能与另一个扩展冲突。这些扩展包的概念称为“NiFi Archives”,在开发人员指南中有更详细的讨论。
NiFi实例之间的首选通信协议是NiFi站点到站点(S2S)协议。 S2S可以轻松,高效,安全地将数据从一个NiFi实例传输到另一个实例。 NiFi客户端库可以轻松构建并捆绑到其他应用程序或设备中,以通过S2S与NiFi进行通信。 S2S中支持基于套接字的协议和HTTP(S)协议作为底层传输协议,使得可以将代理服务器嵌入到S2S通信中。
灵活的可扩展模型
如上所述,NiFi旨在通过使用将许多节点聚类在一起来向外扩展。如果配置单个节点并将其配置为每秒处理数百MB,则可以将适度的群集配置为每秒处理GB。这就带来了NiFi与其获取数据的系统之间的负载平衡和故障转移的有趣挑战。使用基于异步排队的协议(如消息服务,Kafka等)可以提供帮助。使用NiFi的“站点到站点”功能也非常有效,因为它是一种协议,允许NiFi和客户端(包括另一个NiFi群集)相互通信,共享有关加载的信息,以及交换特定授权的数据端口。
NiFi还可以非常灵活地扩展和缩小。从NiFi框架的角度来看,在增加吞吐量方面,可以在配置时增加Scheduling选项卡下处理器上的并发任务数。这允许更多进程同时执行,从而提供更高的吞吐量。另一方面,您可以完美地将NiFi缩小到适合在边缘设备上运行,因为硬件资源有限,所需的占用空间很小。要专门解决第一英里数据收集挑战和边缘使用案例,您可以在此处找到更多详细信息:https://cwiki.apache.org/confluence/display/NIFI/MiNiFi,关于Apache NiFi,MiNiFi的子项目工作(发音为“缩小”,[min-uh-fahy])。
业务流程管理软件主要用于为人们提供设计,构建,分析,修改和测试各种业务流程的平台。它有助于有效模拟业务流程生命周期的各个阶段,从而实现高度准确的实施。然后分析在流程执行期间创建的日志的潜在模式的瓶颈,漏洞和其他低效率。
虽然专有BPM软件产品通常作为独立解决方案存在,需要对每个业务逻辑开发生命周期流程进行独立维护,但开源软件产品与持续集成和交付管道的兼容性更高,可实现有效的IT资产管理。
由于其不断发展和高效的BPM技术解决方案,业务流程管理软件是现有IT行业的一种创新解决方案。 BPM软件提供广泛的流程自动化,提高生产力并确保合规性。此外,与专有BPM软件供应商相比,开源BPM软件提供了更可靠且极具成本效益的替代方案,从而为更好的业务解决方案创造了空间。
10个最佳免费和开源BPM软件:
这个特殊的平台被广泛称为Bonita BPM,可以为各种DevOps团队提供持续的业务改进。 它有助于简单有效地交付应用程序,这表明在实时环境中对业务标准的变化具有极大的兼容性。
此外,Bonitasoft非常轻量级,并且实现了模块化体系结构,该体系结构由超过12000个成员的开源社区的大本营支持,可满足各种查询解析要求。
该套件在单个BPM平台上集成了业务流程管理,资源规划,事件处理和规则管理的功能。 它还可以有效地用于捕获各种业务策略和过程,并促进各种业务操作和活动的自动化。
该软件部署在物理,虚拟,云等不同环境中,最适合不同的企业组织和IT服务公司。
Activiti是专为商业组织和开发人员设计的最佳开源BPM软件和工作流引擎平台之一。 它是轻量级的,并且包含一个用于Java的超快速BPMN 2.0流程引擎。
此外,Activiti还针对技术和非技术方面进行了大量优化,即分析,建模,业务流程兼容性生成以及软件创建和支持。
Adobe LiveCycle的企业套件4是高端BPM软件,它集成了表单平台和企业文档的概念。 使用该软件的目的包括处理信息,提供个性化通信和有效保护敏感信息。
使用该软件,用户可以通过连接和自动化关键业务流程来降低总体拥有成本,从而提高生产力。 它还有助于创建简约形式,以便有效地捕获数据并处理获得的信息。
ProcessMaker是一款直观,易用且创新的BPM软件,适用于各种规模的组织。 它具有可在Web上访问的工具箱,用于创建数字表单以映射工作流程。 它声称拥有所有BPM软件中最低的开销之一,我们对此毫不怀疑。
其创新的BPMN 2.0功能提供了拖放式样式建模工具,可以轻松调整大小或移动和重新标记流程元素。 响应式DynaForm Designer可帮助您创建表单,而无需编写任何代码。 它也可以在iOS和Android上使用,使其更轻巧,更高效。
Modelio是一个开源建模环境,支持UML,HTML,脚本语言支持和BPMN支持以及UML集成等。 它拥有20年的历史,为软件开发人员,系统架构师,分析师等提供高端功能。
Modelio非常灵活。 您可以配置自己的模块,软件将根据您的需求进行调整。 它已经拥有各种预先存在的模块,例如Java Designer,WSDL Designer,Togaf Architect和UML Testing配置文件。 可以在平台上毫不费力地执行模型扩展和添加。
Camunda执行BPMN 2.0,非常轻量级,并提供广泛的可扩展性。 该平台最适合JAVA EE和spring,并提供强大的REST API和脚本语言支持解决方案。
它还可以用作Tomcat,JBoss等中的容器服务,用于多个应用程序,而无需关闭处理引擎。 这是全球最大的公司之一,也是全球市场上极具主导性的BPM解决方案提供商。
RunaWFE是BPM的跨平台最终用户解决方案。 它具有Web界面,可以轻松与区域数据库集成。 它为portlet提供支持,并与企业应用程序和LDAP / MS Active Directory集成。 它还可以与Alfresco集成。 它可以在多种语言和多种平台上使用,例如Windows,Linux,FreeBSD和Solaris操作系统。
它针对长期面向服务的流程进行了优化,提供了处理复杂业务流程的功能。 它基于OASIS标准BPEL,并提供广泛的服务集成,以提高生产力水平。
Orchestra是一个完全开源的业务流程管理软件,可以在LGPL许可下轻松下载。
jBPM是一个开源的BPM软件和工作流引擎,可以弥合业务分析师和开发人员之间的差距。
它是用Java编写的,可以使用BPMN 2.0规范简化流程执行。它可以在任何Java环境中运行,并且可以轻松嵌入以部署到各种应用程序中。
BPM软件解决方案在最新市场趋势方面具有改善各种竞争行业的业务和财务标准的良好记录。它们包含高端工具和实用程序,可有效管理各种业务流程,最终为创造更好的商业机会而努力。因此,在任何特定业务中加入BPM软件套件对于在相应的经济前沿中获得最大利润和更好的业务水平极为重要。
这些是我们遇到的一些最好的免费和开源BPM工具。如果您有其他喜欢的,请在下面的评论中告诉我们。
原文: https://www.nginx.com/products/nginx/
本文: http://pub.intelligentx.net/what-nginx-plus
讨论:请加入知识星球或者小红圈【首席架构师圈】
WebSocket协议提供了一种创建支持客户端和服务器之间实时双向通信的web应用程序的方法。作为HTML5的一部分,WebSocket使开发这些类型的应用程序比以前可用的方法容易得多。大多数现代浏览器都支持WebSocket,包括Chrome、Firefox、Internet Explorer、Opera和Safari,现在越来越多的服务器应用程序框架也支持WebSocket。
对于需要多个WebSocket服务器来实现性能和高可用性的企业生产使用,需要一个理解WebSocket协议的负载均衡层,NGINX从1.3版开始就支持WebSocket,可以作为反向代理,对WebSocket应用程序进行负载均衡。(NGINX Plus的所有版本都支持WebSocket。)
查看最近关于NGINX的可伸缩性的性能测试,以平衡WebSocket连接的负载。
WebSocket协议与HTTP协议不同,但是WebSocket握手与HTTP兼容,使用HTTP升级工具将连接从HTTP升级到WebSocket。这使得WebSocket应用程序更容易地适应现有的基础设施。例如,WebSocket应用程序可以使用标准的HTTP端口80和443,从而允许使用现有的防火墙规则。
WebSocket应用程序在客户机和服务器之间保持长时间运行的连接,从而促进实时应用程序的开发。用于将连接从HTTP升级到WebSocket的HTTP升级机制使用升级和连接头。反向代理服务器在支持WebSocket方面面临一些挑战。一个是WebSocket是一个逐跳协议,因此当代理服务器拦截来自客户机的升级请求时,它需要将自己的升级请求发送到后端服务器,包括适当的头文件。此外,由于WebSocket连接是长寿命的,与HTTP使用的典型短寿命连接相反,反向代理需要允许这些连接保持打开状态,而不是因为它们看起来是空闲的而关闭它们。
NGINX支持WebSocket,允许在客户机和后端服务器之间建立隧道。NGINX要将升级请求从客户端发送到后端服务器,必须显式设置升级和连接头,如下例所示:
location /wsapp/ {
proxy_pass http://wsbackend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
完成此操作后,NGINX将其作为WebSocket连接处理。
NGINX Websocket例子
下面是一个活生生的例子,展示NGINX作为WebSocket代理的工作方式。本例使用ws,这是一个基于Node.js的WebSocket实现。NGINX使用ws和Node.js作为一个简单WebSocket应用程序的反向代理。这些说明已经在Ubuntu 13.10和CentOS 6.5中测试过,但可能需要针对其他操作系统和版本进行调整。在本例中,WebSocket服务器的IP地址是192.168.100.10,NGINX服务器的IP地址是192.168.100.20。
如果尚未安装Node.js和npm,请运行以下命令:
Debian和Ubuntu:
$ sudo apt-get install nodejs npm
Node.js在Ubuntu上安装为nodejs,在CentOS上安装为node。这个例子使用了node,所以在Ubuntu上我们需要创建一个从nodejs到node的符号链接:
$ ln -s /usr/bin/nodejs /usr/local/bin/node
要安装ws,请运行以下命令:
$ sudo npm install ws
注意:如果您得到错误消息:“error: failed to fetch from registry: ws”,运行以下命令来修复问题:
sudo npm config set registry
http://registry.npmjs.org/
然后再次运行sudo npm install ws命令。
ws附带了将用于客户机的程序/root/node_modules/ws/bin/wscat,但是我们需要创建一个程序来充当服务器。创建一个名为server.js的文件,包含以下内容:
console.log("Server started");
var Msg = '';
var WebSocketServer = require('ws').Server
, wss = new WebSocketServer({port: 8010});
wss.on('connection', function(ws) {
ws.on('message', function(message) {
console.log('Received from client: %s', message);
ws.send('Server received from client: ' + message);
proxy_pass http://websocket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
NGINX监听端口8020并将请求代理到后端WebSocket服务器。proxy_set_header指令使NGINX能够正确处理WebSocket协议。
为了测试服务器,我们运行wscat作为我们的客户端:
$ /root/node_modules/ws/bin/wscat --connect ws://192.168.100.20:8020
wscat通过NGINX代理连接到WebSocket服务器。当您键入一条wscat要发送到服务器的消息时,您将看到它在服务器上发出回显,然后来自服务器的一条消息出现在客户机上。下面是一个互动的例子:
原文:
https://www.nginx.com/blog/websocket-nginx/
本文:
https://pub.intelligentx.net/nginx-websocket-proxy
讨论:请加入知识星球或者小红圈【首席架构师圈】
自成立以来,NGINX一直专注于构建软件,以帮助下一代数字业务以最高的性能,可靠性,安全性和规模开发和部署他们的应用程序,并在广大开源用户社区的支持下完成。我们很自豪地宣布,Gartner已经认可了NGINX在其Gartner应用
交付控制器
魔力象限1和Gartner应用交付控制器关键能力2 2016年报告方面的优势。
据Gartner称,“
应用交付控制器是企业和云数据中心的关键组件,可提高应用程序可用性,性能和安全性
。
然而,市场处于不稳定状态,传统I&O和以应用为中心的人员之间的差异越来越大
“。组织需要发展其能力,这进一步推动了这一进程。 “这种变化和分叉是Gartner所称的”双峰“工作方式的缩影,它结合了IT的传统功能以及响应不确定性水平和数字化转型所需灵活性的能力。
凭借使用NGINX的1.7亿多个站点和应用程序,我们处于行业转变的最前沿。我们的用户正在从硬件和传统方法转向针对现代应用的灵活且可扩展的解决方案,其中许多解决方案部署在云或混合环境中。我们在这个不断变化的环境中帮助最具创新性的公司取得成功的经验使我们能够创建复杂且快速部署的软件,以最好地满足现代网络的需求。我们的产品是根据数百万用户的反馈以及数百名NGINX Plus客户的直接反馈而开发的。 NGINX Plus通过先进的功能和屡获殊荣的支持,进一步扩展了开源NGINX功能,为真正的企业级解决方案提供支持。
在我们首次进入Gartner Magic Quadrant时,我们很高兴能够获得
模式2应用开发和模式1 /模式2混合ADC用例的关键功能报告中的最高分
。我们将
“模式2”解释为创新且快速变化的应用程序,这些应用程序通常是开发人员领导,而我们将“模式1”称为可预测的,不变的部署,例如现成的企业应用程序。
随着组织抓住机会过渡到现代网络,向现代模式2应用程序开发的不断增长的转变正在成为企业的主流。 开发过程中的这种演变不可避免地有利于那些提供基于软件和应用程序本地负载平衡工具(如NGINX)的公司。
此外,Gartner在关键能力报告中的主要发现之一表明,“
到2019年,混合模式1 /模式2用例将变得更加重要,因为企业寻求弥合这两种工作方式之间的要求
”。开源供应商在推动现代应用程序的性能,可靠性,安全性和规模方面发挥着至关重要的作用。 ADC市场是开源的另一个很好的例子,它通过为负载平衡工具提供更集中和精益的解决方案来获得巨大的影响力和市场份额。更快地进行创新并提供更灵活的产品的能力正在扰乱ADC市场,并帮助其与当今的数字业务一起成长。
NGINX Plus与硬件ADC的性能和最流行的功能相匹配,与传统竞争对手相比,成本节省高达75%。通过迁移到NGINX Plus的基于软件的ADC,客户还可以释放硬件设备无法提供的灵活性,因为NGINX可以在任何地方运行:
私有数据中心,公共云或私有云以及容器中的裸机
。
NGINX Plus客户认识到,这种新方法对于实现将新服务推向市场所需的速度和灵活性是必要的。根据IgnitionOne运营副总裁AJ Wilson的说法,“因为我们正在处理来自微软,Facebook和谷歌等数据的大量数据,我们需要提出一个不同的解决方案来处理这些流量。
传统的硬件负载平衡器价格昂贵,缺乏我们所需的灵活性和规模。我们之所以选择NGINX Plus,是因为它可以扩展到足以应对我们所讨论的负载,让我们相信我们可以提供解决方案。使用NGINX Plus,我们能够使用我们的硬件负载平衡器处理过去处理量的四到五倍
。“
我们非常自豪能够成为模式2应用开发和模式1 /模式2混合ADC用例的顶级供应商,并且是魔力象限的关键参与者。我们相信这使我们成为现代环境中灵活,高性能负载平衡器不断增长的应用交付趋势的最前沿。我们期待在今年的年度用户大会nginx.conf 2016上与我们的团队以及现有和未来的NGINX用户一起庆祝我们的持续成功,该大会将于明天9月7日在奥斯汀开幕。
[1] Gartner“[应用交付控制器的魔力象限]”由[Andrew Lerner,Joe Skorupa,Danilo Ciscato],[2016年8月29日]。
[2] Gartner“[应用交付控制器的关键功能]”由[Mark Fabbi,Danilo Ciscato,Andrew Lerner],[2016年8月29日]。
此图由Gartner,Inc。作为更大的研究文档的一部分发布,应在整个文档的上下文中进行评估。 Gartner文件可根据NGINX,Inc。的要求提供。
Gartner不认可其研究出版物中描述的任何供应商,产品或服务,也不建议技术用户仅选择具有最高评级或其他名称的供应商。 Gartner研究出版物包含Gartner研究组织的意见,不应被视为事实陈述。 Gartner对本研究不承担任何明示或暗示的担保,包括任何适销性或适用于特定用途的担保。
讨论:请加入知识星球或者小红圈【首席架构师圈】
Zeebe是Camunda的工作流引擎,旨在满足在云原生软件架构上运行的高性能应用程序的可扩展性要求,
并支持跨低延迟,高吞吐量场景中跨多个微服务的工作流
。 Zeebe可以通过支持消息事件在事件驱动架构(EDA)中运行。 Zeebe的新版本0.20.0刚刚作为免费社区版本发布,并被认为是生产就绪。
根据Camunda产品经理Michael Winters的说法,生产就绪意味着新版本可以可靠地处理编排用例。将发布标记为生产就绪的要求包括:
通过BPMN元素支持业务逻辑,用于大多数微服务编排用例
可以在Kubernetes集群上水平扩展
是容错的;如果节点发生故障,则不会丢失任何数据,并且会在发生此类故障时进行恢复
适用于Docker,Kubernetes和Apache Kafka等云原生组件
提供用于监控,故障排除和审核的工作流数据
传统上,工作流引擎将工作流实例的当前状态存储在数据库中。
Zeebe使用事件源并将所有状态更改作为不可变事件存储在仅附加事件日志中
。
使用RocksDB将工作流的当前状态的投影存储为快照。
日志和快照都存储在磁盘上,这是目前唯一的选择。讨论了其他选项,但目前没有一个在路线图上。
为了实现所需的容错性,弹性和水平可伸缩性,
Zeebe构建为没有任何中央组件或数据库的分布式系统
。可以在对等集群中设置多个Zeebe代理,该集群使用
Gossip协议
在集群内路由数据。对于事件日志的复制,使用Raft一致性算法。要向外扩展,可以使用单独的事件日志对每个分区使用分区。
Zeebe在Java虚拟机(JVM)上作为单独的实例运行,这是一种远程引擎方法,应用程序通过网络与Zeebe进行通信。为了保持性能,使用流式传输到客户端和二进制协议(gRPC)。这种方法为Zeebe创建了一个定义的设置和环境,并提供了与应用程序代码的隔离,
Zeebe没有实现任何ACID事务协议
。为了缓解这种情况并处理执行工作流中的任务时可能发生的故障,有两种选择。通过在工作完成后通知Zeebe,
至少实现一次
- Zeebe将意识到故障并再次执行任务。通过在工作完成之前通知Zeebe
,最多只能实现一次
- Zeebe不知道任何故障,任务将不会再次执行。在事件驱动的体系结构中,工作流可以订阅外部消息,Zeebe在处理这些消息时只支持一次。
由于Zeebe使用事件源,因此无法轻松处理查询以查找(例如工作流实例)存在问题。相反,使用
导出和CQRS
的概念。导出器可以访问事件流并创建数据投影,Operate使用此技术,这是Zeebe附带的工具,用于监视和排除工作流故障。
最近,讨论了开源和源可用许可,开源软件背后的公司限制其许可,以防止服务提供商提供托管服务。 Zeebe是根据Zeebe社区许可证发布的,这是一种类似的源可用许可证,不允许使用Zeebe的工作流服务的商业产品。 Operate工具仍处于预览状态,并附带开发人员许可证,可免费使用。也可以为这两种产品获得企业支持。
最后一个开发人员预览版本0.18.0已经完成了功能,但是Zeebe背后的团队知道将要从即将到来的生产部署中学到很多东西。为了区分生产就绪和完成,他们因此决定调用新版本0.20.0而不是1.0.0。
在两篇博客文章中,Camunda的联合创始人兼首席技术专家BerndRücker描述了Zeebe的基础知识和主要概念,以及他们如何构建高度可扩展的分布式状态机。
为了帮助理解Zeebe的主要概念并启动并运行工作流,可以使用入门教程。
原文:
https://www.infoq.com/news/2019/07/workflow-engine-zeebe-ga-release
讨论:请加入知识星球或者小红圈【首席架构师圈】
webtorrent
- Streaming torrent client for Node.js and the browser.
peerflix
- Streaming torrent client.
dat
- Real-time replication and versioning for data sets.
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.
Cytoscape.js
- Graph theory (a.k.a. network) modeling and analysis.
Kadence
- Kademlia distributed hash table.
seedshot
- Temporary P2P screenshot sharing from your browser.
js-git
- JavaScript implementation of Git.
skale
- High performance distributed data processing engine.
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.
emoj
- Find relevant emoji from text on the command-line.
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.
Standard
- JavaScript Standard Style — One style to rule them all.
ESLint
- The pluggable linting utility for JavaScript.
dev-time
- Get the current local time of a GitHub user.
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.
brightness
- Change the screen brightness.
torrent
- Download torrents.
kill-tabs
- Kill all Chrome tabs to improve performance, decrease battery usage, and save memory.
alex
- Catch insensitive, inconsiderate writing.
pen
- Live Markdown preview in the browser from your favorite editor.
subdownloader
- Subtitle downloader for movies and TV series.
dark-mode
- Toggle the macOS Dark Mode.
iponmap
- IP location finder.
Jsome
- Pretty prints JSON with configurable colors and indentation.
itunes-remote
- Interactively control iTunes.
mobicon
- Mobile app icon generator.
mobisplash
- Mobile app splash screen generator.
diff2html-cli
- Pretty git diff to HTML generator.
Cash
- Cross-platform Unix shell commands in pure JavaScript.
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.
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.
Folktale
- Suite of libraries for generic functional programming in JavaScript that allows you to write elegant, modular applications with fewer bugs, and more reuse.
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.
Bacon.js
- Functional reactive programming.
RxJS
- Functional reactive library for transforming, composing, and querying various kinds of data.
Lazy.js
- Utility library similar to lodash/Underscore but with lazy evaluation, which can translate to superior performance in many cases.
Kefir.js
- Reactive library with focus on high performance and low memory usage.
got
- Nicer interface to the built-in
http
module.
gh-got
- Convenience wrapper for
got
to interact with the GitHub API.
axios
- Promise based HTTP client (works in the browser too).
request
- Simplified HTTP request client.
wreck
- HTTP Client Utilities.
download
- Download and extract files effortlessly.
http-proxy
- HTTP proxy.
superagent
- HTTP request library.
node-fetch
-
window.fetch
for Node.js.
flashheart
- REST client.
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.
Debugging / Profiling
ndb
- Improved debugging experience, enabled by Chrome DevTools.
ironNode
- Node.js debugger supporting ES2015 out of the box.
node-inspector
- Debugger based on Blink Developer Tools.
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.
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.
signale
- Hackable console logger with beautiful output.
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.
first-run
- Check if it's the first time the process is run.
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.
update-notifier
- Update notifications for your CLI app.
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.
columnify
- Create text-based columns suitable for console output. Supports cell wrapping.
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.
loud-rejection
- Make unhandled promise rejections fail loudly instead of the default silent fail.
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.
Start
- Functional task runner with shareable presets.
ygor
- Promising task runner for when
npm run
isn't enough and everything else is too much.
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
Hapi
- Framework for building applications and services.
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.
MERN
- Easily build production-ready universal apps with MongoDB, Express, React, and webpack.
Next.js
- Minimalistic framework for server-rendered universal JavaScript web apps.
Nuxt.js
- Minimalistic framework for server-rendered Vue.js apps.
seneca
- Toolkit for writing microservices.
AdonisJs
- A true MVC framework for Node.js built on solid foundations of Dependency Injection and IoC container.
Hemera
- Write reliable and fault-tolerant microservices with
NATS
.
Micro
- Minimalistic microservice framework with an async approach.
Moleculer
- Fast & powerful microservices framework.
Fastify
- Fast and low overhead web framework.
Nest
- Angular-inspired framework for building efficient and scalable server-side apps.
Zeronode
- Minimal building block for reliable and fault-tolerant microservices.
TypeGraphQL
- Modern framework for creating GraphQL APIs with TypeScript, using classes and decorators.
Documentation
documentation.js
- API documentation generator with support for ES2015+ and flow annotation.
ESDoc
- Documentation generator targeting ES2015, attaching test code and measuring documentation coverage.
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.
Filesystem
del
- Delete files/folders using globs.
globby
- Glob files with support for multiple patterns.
cpy
- Copy files.
rimraf
- Recursively delete files like
rm -rf
.
make-dir
- Recursively create directories like
mkdir -p
.
graceful-fs
- Drop-in replacement for the
fs
module with various improvements.
chokidar
- Filesystem watcher which stabilizes events from
fs.watch
and
fs.watchFile
as well as using native
fsevents
on 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
fs
module.
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
Bluebird
- Promise library with focus on innovative features and performance.
pify
- Promisify a callback-style function.
delay
- Delay a promise a specified amount of time.
promise-memoize
- Memoize promise-returning functions, with expire and prefetch.
valvelet
- Limit the execution rate of a promise-returning function.
p-map
- Map over promises concurrently.
More…
Observables
zen-observable
- Implementation of 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.
Callbacks
each-async
- Async concurrent iterator like forEach.
async
- Provides straight-forward, powerful functions for working with asynchronicity.
Channels
js-csp
- Communicating sequential processes for JavaScript (like Clojurescript core.async, or Go).
through2
- Tiny wrapper around streams2 Transform to avoid explicit subclassing noise.
from2
- Convenience wrapper for ReadableStream, inspired by
through2
.
get-stream
- Get a stream as a string or buffer.
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.
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.
execall
- Find multiple RegExp matches in a string.
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.
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
.
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.
Luxon
- Library for working with dates and times.
date-fns
- Modern date utility.
Moment.js
- Parse, validate, manipulate, and display dates.
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.
normalize-url
- Normalize a URL.
humanize-url
- Humanize a URL:
http://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.
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.
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.
PostCSS
- CSS parser / stringifier.
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.gz
and
zip
files 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.
Bookshelf
- ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js.
Massive
- PostgreSQL data access tool.
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.
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.
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.
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.
Benchmarking
Benchmark.js
- Benchmarking library that supports high-resolution timers and returns statistically significant results.
matcha
- Simplistic approach to benchmarking.
Minifiers
babili
- 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 middleware for Express, Koa, and Hapi.
CloudRail
- Unified API for social authentication (Facebook, Twitter, Slack, Instagram, …).
Authorization
CASL
- Isomorphic authorization for UI and API.
node-casbin
- Authorization library that supports access control models like ACL, RBAC and ABAC.
Email
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.
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.
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
*.js
file changes.
Phusion Passenger
- Friendly process manager that integrates directly into Nginx.
Automation
robotjs
- Desktop Automation: control the mouse, keyboard and read the screen.
Acorn
- Tiny, fast JavaScript parser.
babel-parser
- JavaScript parser used in Babel.
cherow
- JavaScript parser with focus on performance and stability.
Static site generators
Wintersmith
- Flexible, minimalistic, multi-platform static site generator.
Assemble
- Static site generator for Node.js, Grunt.js, and Yeoman.
DocPad
- Static site generator with dynamic abilities and huge plugin ecosystem.
Phenomic
- Modern static website generator based on the React and Webpack ecosystem.
docsify
- Markdown documentation site generator with no statically built HTML files.
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.
Tipe
- Developer-first content management system with GraphQL and REST API from a schema file.
Forum
nodeBB
- Forum platform for the modern web.
Blogging
Ghost
- Simple, powerful publishing platform.
Hexo
- Fast, simple and powerful blogging framework.
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.
Electron
- Build cross platform desktop apps with web technologies.
(You might like
awesome-electron
)
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.
import-fresh
- Import a module while bypassing the cache.
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.
import-lazy
- Import a module lazily.
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.
remote-git-tags
- Get tags from a remote git repo.
semver
- Semantic version parser.
Faker.js
- Generate massive amounts of fake data.
nodegit
- Native bindings to Git.
json-strictify
- Safely serialize a value to JSON without data loss or going into an infinite loop.
resolve-from
- Resolve the path of a module like
require.resolve()
but from a given path.
simplecrawler
- Event driven web crawler.
jsdom
- JavaScript implementation of HTML and the DOM.
hypernova
- Server-side rendering your JavaScript views.
@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.
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.
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
Art of README
- Learn the art of writing quality READMEs.
Using Express to Quickly Build a GraphQL Server
Newsletters
Node Weekly
- Weekly e-mail round-up of Node.js news and articles.
Node Module Of The Week!
- Weekly dose of hand picked node modules.
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.
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
Web Development with Node and Express
Pro Express.js
Secure Your Node.js Web Application
Express in Action
Practical Modern JavaScript
Mastering Modular JavaScript
Get Programming with Node.js
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.
RequireBin
- Shareable JavaScript programs powered by npm and browserify.
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.
Community
Gitter
#node.js
on Freenode
Stack Overflow
Reddit
Twitter
Hashnode
Discord
Miscellaneous
nodebots
- Robots powered by JavaScript.
node-module-boilerplate
- Boilerplate to kickstart creating a node module.
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.
Related lists
awesome-npm
- Resources and tips for using npm.
awesome-cross-platform-nodejs
- Resources for writing and testing cross-platform code.
A curated list of amazingly awesome PHP libraries, resources and shiny things.
Contributing and Collaborating
Please see
CONTRIBUTING
,
CODE-OF-CONDUCT
and
COLLABORATING
for details.
Table of Contents
Awesome PHP
Composer Repositories
Dependency Management
Dependency Management Extras
Frameworks
Framework Extras
Content Management Systems
Components
Micro Frameworks
Micro Framework Extras
Routers
Templating
Static Site Generators
Middlewares
Email
Files
Streams
Dependency Injection
Imagery
Testing
Continuous Integration
Documentation
Security
Passwords
Code Analysis
Code Quality
Static Analysis
Architectural
Debugging and Profiling
Build Tools
Task Runners
Navigation
Asset Management
Geolocation
Date and Time
Event
Logging
E-commerce
Office
Database
Migrations
NoSQL
Queue
Search
Command Line
Authentication and Authorization
Markup
Strings
Numbers
Filtering and Validation
Caching
Data Structure and Storage
Notifications
Deployment
Internationalisation and Localisation
Serverless
Configuration
Third Party APIs
Extensions
Miscellaneous
Software
PHP Installation
Development Environment
Virtual Machines
Text Editors and IDEs
Web Applications
Infrastructure
Resources
PHP Websites
Other Websites
PHP Books
PHP Videos
PHP Podcasts
PHP Reading
PHP Internals Reading
Firegento
- Magento Module Composer Repository.
Packagist
- The PHP Package Repository.
Private Packagist
- Composer package archive as a service for PHP.
WordPress Packagist
- Manage your plugins with Composer.
Zend Framework Packages
- Zend Framework Composer Repository.
Dependency Management
Libraries for dependency and package management.
Composer Installers
- A multi framework Composer library installer.
Composer
- A package and dependency manager.
Melody
- A tool to build one file Composer scripts.
Pickle
- A PHP extension installer.
Dependency Management Extras
Extras related to dependency management.
Composed
- A library to parse your project's Composer environment at runtime.
Composer Merge Plugin
- A composer plugin to merge several composer.json files.
Prestissimo
- A composer plugin which enables parallel install process.
Satis
- A static Composer repository generator.
tooly
- A library to manage PHAR files in project using Composer.
Toran Proxy
- A static Composer repository and proxy.
Frameworks
Web development frameworks.
Aura Framework
- A framework built from independent components.
CakePHP
- A rapid application development framework (CP).
Laravel 5
- Another PHP framework (L5).
Nette
- Another framework comprised of individual components.
Phalcon
- A framework implemented as a C extension.
PPI Framework 2
- An interoperability framework.
Symfony
- A framework comprised of individual components (SF).
Yii2
- Another PHP framework.
Zend Framework 3
- A framework comprised of individual components (ZF3).
Ice
- Another simple and fast PHP framework delivered as C-extension.
Framework Extras
Extras related to web development frameworks.
CakePHP CRUD
- A Rapid Application Development (RAD) plugin for CakePHP.
Knp RAD Components
- A set of Rapid Application Development (RAD) components for Symfony.
Symfony CMF
- A Content Management Framework to create custom CMS.
Content Management Systems (CMS)
Tools for managing digital content.
Backdrop
- A CMS targeting small-to-medium sized business and non-profits (a fork of Drupal).
Concrete5
- A CMS targering users with a minimum of technical skills.
Drupal
- An enterprise level CMS.
Grav
- A modern flat-file CMS.
Joomla
- Another leading CMS.
WordPress
A blogging platform and CMS.
Components
Standalone components from web development frameworks and development groups.
Aura
- Independent components, fully decoupled from each other and from any framework.
CakePHP Plugins
- A directory of CakePHP plugins.
Hoa Project
- Another package of PHP components.
League of Extraordinary Packages
- A PHP package development group.
Symfony Components
- The components that make Symfony.
Zend Framework Components
- The components that make Zend Framework.
Micro Frameworks
Micro frameworks and routers.
Bullet PHP
- A micro framework for building REST APIs.
Lumen
- A micro-framework by Laravel.
Radar
- An Action-Domain-Responder implementation for PHP.
Slim
- Another simple micro framework.
Expressive
- A micro-framework by Zend.
Micro Framework Extras
Extras related to micro frameworks and routers.
Silex Skeleton
- A project skeleton for Silex.
Silex Web Profiler
- A web debug toolbar for Silex.
Slim Skeleton
- A skeleton for Slim.
Slim Twig View
- Integrate Twig into Slim.
Slim PHP View
- A simple PHP renderer for Slim.
Routers
Libraries for handling application routing.
Aura.Router
- A full-featured routing library.
Fast Route
- A fast routing library.
Klein
- A flexible router.
Pux
- Another fast routing library.
Route
- A routing library built on top of Fast Route.
Templating
Libraries and tools for templating and lexing.
Aura.View
- Provides TemplateView and TwoStepView using PHP as the tempting language, with support for partials, sections, and helpers.
Foil
- Another native PHP templating library.
MtHaml
- A PHP implementation of the HAML template language.
Mustache
- A PHP implementation of the Mustache template language.
PHPTAL
- A PHP implementation of the
TAL
templating language.
Plates
- A native PHP templating library.
Smarty
- A template engine to complement PHP.
Twig
- A comprehensive templating language.
Tale Jade
- A PHP implementation of the Jade template language.
Static Site Generators
Tools for pre-processing content to generate web pages.
Couscous
- Couscous turns Markdown documentation into beautiful websites. It's GitHub Pages on steroids.
Sculpin
- A tool that converts Markdown and Twig into static HTML.
Spress
- An extensible tool that converts Markdown and Twig into HTML.
Libraries for working with HTTP.
Buzz
- Another HTTP client.
Guzzle
- A comprehensive HTTP client.
HTTPlug
- An HTTP client abstraction without binding to a specific implementation.
PHP VCR
- A library for recording and replaying HTTP requests.
Requests
- A simple HTTP library.
Retrofit
- A library to ease creation of REST API clients.
Symfony HTTP Client
- A component to fetch HTTP resources synchronously or asynchronously.
zend-diactoros
- PSR-7 HTTP Message implementation.
Scraping
Libraries for scraping websites.
Embed
- An information extractor from any web service or page.
Goutte
- A simple web scraper.
Symfony Panther
- A browser testing and web crawling library for PHP and Symfony.
PHP Spider
- A configurable and extensible PHP web spider.
Middlewares
Libraries for building application using middlewares.
Expressive
- PSR-7 Middleware framework from Zend.
PSR7-Middlewares
- Inspiring collection of handy middlewares.
Relay
- A PHP 5.5 PSR-7 middleware dispatcher.
Stack
- A library of stackable middleware for Silex/Symfony.
zend-stratigility
- Middleware for PHP built on top of PSR-7.
Libraries for parsing URLs.
PHP Domain Parser
- A domain suffix parser library.
Purl
- A URL manipulation library.
sabre/uri
- A functional URI manipulation library.
Uri
- Another URL manipulation library.
Email
Libraries for sending and parsing email.
CssToInlineStyles
- A library to inline CSS in email templates.
Email Reply Parser
- An email reply parser library.
Email Validator
- A small email address validation library.
Fetch
- An IMAP library.
Mautic
- Email marketing automation
PHPMailer
- Another mailer solution.
Stampie
- A library for email services such as
SendGrid
,
PostMark
,
MailGun
and
Mandrill
.
SwiftMailer
- A mailer solution.
Files
Libraries for file manipulation and MIME type detection.
CSV
- A CSV data manipulation library.
Flysystem
- Another filesystem abstraction layer.
Gaufrette
- A filesystem abstraction layer.
Hoa Mime
- Another MIME detection library.
PHP FFmpeg
- A wrapper for the
FFmpeg
video library.
UnifiedArchive
- A unified reader and writer of compressed archives.
Streams
Libraries for working with streams.
Streamer
- A simple object-orientated stream wrapper library.
Dependency Injection
Libraries that implement the dependency injection design pattern.
Aura.Di
- A serializable dependency injection container with constructor and setter injection, interface and trait awareness, configuration inheritance, and much more.
Acclimate
- A common interface to dependency injection containers and service locators.
Auryn
- A recursive dependency injector.
Container
- Another flexible dependency injection container.
Disco
- A PSR-11 compatible, annotation-based dependency injection container.
PHP-DI
- A dependency injection container that supports autowiring.
Pimple
- A tiny dependency injection container.
Symfony DI
- A dependency injection container component (SF).
Imagery
Libraries for manipulating images.
Color Extractor
- A library for extracting colours from images.
Glide
- An on-demand image manipulation library.
Image Hash
- A library for generating perceptual image hashes.
Image Optimizer
- A library for optimizing images.
Imagine
- An image manipulation library.
Intervention Image
- Another image manipulation library.
PHP Image Workshop
- Another image manipulation library.
Testing
Libraries for testing codebases and generating test data.
Alice
- An expressive fixture generation library.
AspectMock
- A mocking framework for PHPUnit/Codeception.
Atoum
- A simple testing library.
Behat
- A behaviour driven development (BDD) testing framework.
Codeception
- A full stack testing framework.
Faker
- A fake data generator library.
HTTP Mock
- A library for mocking HTTP requests in unit tests.
Kahlan
- Full stack Unit/BDD testing framework with built-in stub, mock and code-coverage support.
Mink
- Web acceptance testing.
Mockery
- A mock object library for testing.
ParaTest
- A parallel testing library for PHPUnit.
Peridot
- An event driven test framework.
Phake
- Another mock object library for testing.
Pho
- Another behaviour driven development testing framework.
PHP-Mock
- A mock library for built-in PHP functions (e.g. time()).
PHPSpec
- A design by specification unit testing library.
PHPT
- A test tool used by PHP itself.
PHPUnit
- A unit testing framework.
Prophecy
- A highly opinionated mocking framework.
VFS Stream
- A virtual filesystem stream wrapper for testing.
Continuous Integration
Libraries and applications for continuous integration.
CircleCI
- A continuous integration platform.
GitlabCi
- Let GitLab CI test, build, deploy your code. TravisCi like.
Jenkins
- A continuous integration platform with
PHP support
.
JoliCi
- A continuous integration client written in PHP and powered by Docker.
PHPCI
- An open source continuous integration platform for PHP.
SemaphoreCI
- A continuous integration platform for open source and private projects.
Shippable
- A Docker based continious integration platform for open source and private projects.
Travis CI
- A continuous integration platform.
Documentation
Libraries for generating project documentation.
APIGen
- Another API documentation generator.
daux.io
- A documentation generator which uses Markdown files.
PHP Documentor 2
- A documentation generator.
phpDox
- A documentation generator for PHP projects (that is not limited to API documentation).
Sami
- An API documentation generator.
Security
Libraries for generating secure random numbers, encrypting data and scanning for vulnerabilities.
Halite
- A simple library for encryption using
libsodium
.
HTML Purifier
- A standards compliant HTML filter.
IniScan
- A tool that scans PHP INI files for security.
Optimus
- Id obfuscation based on Knuth's multiplicative hashing method.
PHP Encryption
- Secure PHP Encryption Library.
PHP SSH
- An experimental object orientated SSH wrapper library.
PHPSecLib
- A pure PHP secure communications library.
random_compat
- PHP 5.x support for
random_bytes()
and
random_int()
RandomLib
- A library for generating random numbers and strings.
Symfony Security Monitoring
- A web tool to check your Composer dependencies for security advisories, previously known as "SensioLabs Security Check".
TCrypto
- A simple encrypted key-value storage library.
VAddy
- A continuous security testing platform for web applications.
Zed
- An integrated penetration testing tool for web applications.
Passwords
Libraries and tools for working with and storing passwords.
GenPhrase
- A library for generating secure random passphrases.
Password Compat
- A compatibility library for the new PHP 5.5 password functions.
Password Policy
- A password policy library for PHP and JavaScript.
Password Validator
- A library for validating and upgrading password hashes.
Password-Generator
- PHP library to generate random passwords.
PHP Password Lib
- A library for generating and validating passwords.
phpass
- A portable password hashing framework.
Zxcvbn PHP
- A realistic PHP password strength estimate library based on Zxcvbn JS.
Code Analysis
Libraries and tools for analysing, parsing and manipulating codebases.
Better Reflection
- AST-based reflection library that allows analysis and manipulation of code
Code Climate
- An automated code review.
PHP Parser
- A PHP parser written in PHP.
PHP Semantic Versioning Checker
- A command line utility that compares two source sets and determines the appropriate semantic versioning to apply.
PHPLOC
- A tool for quickly measuring the size of a PHP project.
PHPQA
- A tool for running QA tools (phploc, phpcpd, phpcs, pdepend, phpmd, phpmetrics).
Qafoo Quality Analyzer
- A tool to visualize metrics and source code.
Scrutinizer
- A web tool to
scrutinise PHP code
.
UBench
- A simple micro benchmark library.
Code Quality
Libraries for managing code quality, formatting and linting.
PHP CodeSniffer
- A library that detects PHP, CSS and JS coding standard violations.
PHP CS Fixer
- A coding standards fixer library.
PHP Mess Detector
- A library that scans code for bugs, sub-optimal code, unused parameters and more.
PHPCheckstyle
- A tool to help adhere to certain coding conventions.
PHPCPD
- A library that detects copied and pasted code.
Static Analysis
Libraries for performing static analysis of PHP code.
Exakat
- A static analysis engine for PHP.
Mondrian
- A code analysis tool using Graph Theory.
phan
- A static analyzer based on PHP 7+ and the php-ast extension.
PHPCompatibility
- A PHP compatibility checker for PHP CodeSniffer.
PhpDependencyAnalysis
- A tool to create customisable dependency graphs.
PHP Metrics
- A static metric library.
PHP Migration
- A static analyzer for PHP version migration.
PHPStan
- A PHP Static Analysis Tool.
Psalm
- A static analysis tool for finding errors in PHP applications.
Architectural
Libraries related to design patterns, programming approaches and ways to organize code.
Design Patterns PHP
- A repository of software patterns implemented in PHP.
Finite
- A simple PHP finite state machine.
Functional PHP
- A functional programming library.
Iter
- A library that provides iteration primitives using generators.
Patchwork
- A library for redefining userland functions.
Pipeline
- A pipeline pattern implementation.
RulerZ
- A powerful rule engine and implementation of the Specification pattern.
Debugging and Profiling
Libraries and tools for debugging and profiling code.
APM
- Monitoring extension collecting errors and statistics into SQLite/MySQL/StatsD.
Barbushin PHP Console
- Another web debugging console using Google Chrome.
Blackfire.io
- A low-overhead code profiler.
Kint
- A debugging and profiling tool.
PHP Console
- A web debugging console.
PHP Debug Bar
- A debugging toolbar.
PHPBench
- A benchmarking Framework.
PHPSpy
- A low-overhead sampling profiler.
Tideways.io
- Monitoring and profiling tool.
Tracy
- A simple error detection, logging and time measuring library.
xDebug
- A debug and profile tool for PHP.
XHProf
- A profiling tool originally developed by Facebook.
Z-Ray
- A debug and profile tool for Zend Server.
Build Tools
Project build and automation tools.
Box
- A utility to build PHAR files.
Construct
- A PHP project/micro-package generator.
Phing
- A PHP project build system inspired by Apache Ant.
Task Runners
Libraries for automating and running tasks.
Bldr
- A PHP Task runner built on Symfony components.
Jobby
- A PHP cron job manager without modifying crontab.
Robo
- A PHP Task runner with object-orientated configurations.
Task
- A pure PHP task runner inspired by Grunt and Gulp.
Navigation
Tools for building navigation structures.
KnpMenu
- A menu library.
Asset Management
Tools for managing, compressing and minifying website assets.
JShrink
- A JavaScript minifier library.
Munee
- An asset optimiser library.
Puli
- A library for determining assets absolute paths.
BowerPHP
- A PHP implementation of Bower. A package manager for the web
Geolocation
Libraries for geocoding addresses and working with latitudes and longitudes.
GeoCoder
- A geocoding library.
GeoJSON
- A GeoJSON implementation.
GeoTools
- A library of geo-related tools.
PHPGeo
- A simple geo library.
Date and Time
Libraries for working with dates and times.
CalendR
- A calendar management library.
Carbon
- A simple DateTime API extension.
Chronos
- A DateTime API extension supporting both mutable and immutable date/time.
Moment.php
- Moment.js inspired PHP DateTime handler with i18n support.
Yasumi
- An library to help you calculate the dates and names of holidays.
Event
Libraries that are event-driven or implement non-blocking event loops.
Amp
- An event driven non-blocking I/O library.
Broadway
- An event source and CQRS library.
Cake Event
- An event dispatcher library (CP).
Elephant.io
- Yet another web socket library.
Evenement
- An event dispatcher library.
Event
- An event library with a focus on domain events.
Hoa EventSource
- An event source library.
Hoa WebSocket
- Another web socket library.
Prooph Event Store
- An event source component to persist event messages
Ratchet
- A web socket library.
React
- An event driven non-blocking I/O library.
RxPHP
- A reactive extension library.
Swoole
- An event-driven asynchronous and concurrent networking communication framework with high performance for PHP written in C.
Workerman
- An event driven non-blocking I/O library.
Logging
Libraries for generating and working with log files.
Monolog
- A comprehensive logger.
E-commerce
Libraries and applications for taking payments and building online e-commerce stores.
Money
- A PHP implementation of Fowler's money pattern.
OmniPay
- A framework agnostic multi-gateway payment processing library.
Payum
- A payment abstraction library.
Shopware
- Highly customizable e-commerce software
Swap
- An exchange rates library.
Sylius
- An open source e-commerce solution.
Libraries and software for working with PDF files.
Dompdf
- A HTML to PDF converter.
PHPPdf
- A library for generating PDFs and images from XML.
Snappy
- A PDF and image generation library.
WKHTMLToPDF
- A tool to convert HTML to PDF.
Office
Libraries for working with office suite documents.
PHPPowerPoint
- A library for working with Microsoft PowerPoint Presentations.
PHPWord
- A library for working with Microsoft Word documents.
PHPSpreadsheet
- A pure PHP library for reading and writing spreadsheet files (successor of PHPExcel).
Spout
- Read and write spreadsheet files (CSV, XLSX and ODS), in a fast and scalable way .
Database
Libraries for interacting with databases using object-relational mapping (ORM) or datamapping techniques.
Atlas.Orm
- A data mapper implementation for your persistence model in PHP.
Aura.Sql
- Provides an extension to the native PDO along with a profiler and connection locator.
Aura.SqlQuery
- Independent query builders for MySQL, PostgreSQL, SQLite, and Microsoft SQL Server.
Baum
- A nested set implementation for Eloquent.
Cake ORM
- Object-Relational Mapper, implemented using the DataMapper pattern (CP).
Doctrine Extensions
- A collection of Doctrine behavioural extensions.
Doctrine
- A comprehensive DBAL and ORM.
Eloquent
- A simple ORM (L5).
Pomm
- An Object Model Manager for PostgreSQL.
ProxyManager
- A set of utilities to generate proxy objects for data mappers.
RedBean
- A lightweight, configuration-less ORM.
Spot2
- A MySQL datamapper ORM.
Migrations
Libraries to help manage database schemas and migrations.
Doctrine Migrations
- A migration library for Doctrine.
Migrations
- A migration management library.
Phinx
- Another database migration library.
PHPMig
- Another migration management library.
Ruckusing
- Database migrations for PHP ala ActiveRecord Migrations with support for MySQL, Postgres, SQLite.
NoSQL
Libraries for working with "NoSQL" backends.
PHPMongo
- A MongoDB ORM.
Predis
- A feature complete Redis library.
Queue
Libraries for working with event and task queues.
Bernard
- A multibackend abstraction library.
BunnyPHP
- A performant pure-PHP AMQP (RabbitMQ) sync and also async (ReactPHP) library.
Pheanstalk
- A Beanstalkd client library.
PHP AMQP
- A pure PHP AMQP library.
Tarantool Queue
- PHP bindings for Tarantool Queue.
Thumper
- A RabbitMQ pattern library.
Search
Libraries and software for indexing and performing search queries on data.
Elastica
- A client library for ElasticSearch.
ElasticSearch PHP
- The official client library for
ElasticSearch
.
Solarium
- A client library for
Solr
.
Sphinx Search
- Sphinx Search library provides SphinxQL indexing and searching features
SphinxQL query builder
- A query library for the
Sphinx
search engine.
Command Line
Libraries related to the command line.
Aura.Cli
- Provides the equivalent of request ( Context ) and response ( Stdio ) objects for the command line interface, including Getopt support, and an independent Help object for describing commands.
Boris
- A tiny PHP REPL.
Cilex
- A micro framework for building command line tools.
CLI Menu
- A library for building CLI menus.
CLIFramework
- A command-line framework supports zsh/bash completion generation, subcommands and option constraints. It also powers phpbrew.
CLImate
- A library for outputting colours and special formatting.
Commando
- Another simple command line opt parser.
Cron Expression
- A library to calculate cron run dates.
GetOpt
- A command line opt parser.
GetOptionKit
- Another command line opt parser.
Hoa Console
- Another command line library.
PsySH
- Another PHP REPL.
ShellWrap
- A simple command line wrapper library.
Authentication and Authorization
Libraries for implementing user authentication and authorization.
Aura.Auth
- Provides authentication functionality and session tracking using various adapters.
SocialConnect Auth
- An open source social sign (OAuth1\OAuth2\OpenID\OpenIDConnect).
Json Web Token
- Json Tokens to authenticate and transmit information.
OAuth 1.0 Client
- An OAuth 1.0 client library.
OAuth 2.0 Client
- An OAuth 2.0 client library.
OAuth2 Server
- Another OAuth2 server implementation.
OAuth2 Server
- An OAuth2 authentication server, resource server and client library.
Opauth
- A multi-provider authentication framework.
PHP oAuthLib
- Another OAuth library.
Sentinel Social
- A library for social network authentication.
Sentinel
- A framework agnostic authentication & authorisation library.
TwitterOAuth
- A Twitter OAuth library.
Markup
Libraries for working with markup.
Cebe Markdown
- An fast and extensible Markdown parser.
CommonMark PHP
- A Markdown parser which supports the full
CommonMark spec
.
Decoda
- A lightweight markup parser library.
Emoji
- A library that converts unicode characters and names into emoji images.
HTML to Markdown
- Converts HTML into Markdown.
HTML5 PHP
- An HTML5 parser and serializer library.
Parsedown
- Another Markdown parser.
PHP Markdown
- A Markdown parser.
Strings
Libraries for parsing and manipulating strings.
Agent
- A PHP desktop/mobile user agent parser, based on Mobiledetect.
ANSI to HTML5
- An ANSI to HTML5 converter library.
Color Jizz
- A library for manipulating and converting colours.
Device Detector
- Another library for parsing user agent strings.
Hoa String
- Another UTF-8 string library.
Jieba-PHP
- A PHP port of Python's jieba. Chinese text segmentation for natural language processing.
Mobile-Detect
- A lightweight PHP class for detecting mobile devices (including tablets).
Patchwork UTF-8
- A portable library for working with UTF-8 strings.
Slugify
- A library to convert strings to slugs.
SQL Formatter
- A library for formatting SQL statements.
Stringy
- A string manipulation library with multibyte support.
UA Parser
- A library for parsing user agent strings.
URLify
- A PHP port of Django's URLify.js.
UUID
- A library for generating UUIDs.
Numbers
Libraries for working with numbers.
ByteUnits
- A library to parse, format and convert byte units in binary and metric systems.
LibPhoneNumber for PHP
- A PHP implementation of Google's phone number handling library.
PHP Conversion
- Another library for converting between units of measure.
PHP Units of Measure
- A library for converting between units of measure.
Filtering and Validation
Libraries for filtering and validating data.
Assert
- A validation library with a rich set of assertions. Supports assertion chaining and lazy assertions.
Aura.Filter
- Provides tools to validate and sanitize objects and arrays.
Cake Validation
- Another validation library (CP).
Filterus
- A simple PHP filtering library.
ISO-codes
- A library for validating inputs according standards from ISO, International Finance, Public Administrations, GS1, Book Industry, Phone numbers & Zipcodes for many countries.
JSON Schema
- A
JSON Schema
validation library.
MetaYaml
- A schema validation library that supports YAML, JSON and XML.
Respect Validation
- A simple validation library.
Upload
- A library for handling file uploads and validation.
Valitron
- Another validation library.
Volan
- Another simplified validation library.
Libraries and web tools for developing APIs.
API Platform
- Expose in minutes an hypermedia REST API that embraces JSON-LD, Hydra format.
Apigility
- An API builder built with Zend Framework 2.
Drest
- A library for exposing Doctrine entities as REST resource endpoints.
HAL
- A Hypertext Application Language (HAL) builder library.
Hateoas
- A HATEOAS REST web service library.
Negotiation
- A content negotiation library.
Restler
- A lightweight framework to expose PHP methods as RESTful web API.
wsdl2phpgenerator
- A tool to generate PHP classes from SOAP WSDL files.
Caching
Libraries for caching data.
Alternative PHP Cache (APC)
- Open opcode cache for PHP.
APIx Cache
- A thin PSR-6 cache wrapper to various caching backends emphasising cache tagging and indexing.
CacheTool
- A tool to clear APC/opcode caches from the command line.
Cake Cache
- A caching library (CP).
Doctrine Cache
- A caching library.
Metaphore
- Cache slam defense using a semaphore to prevent dogpile effect.
Stash
- Another library for caching.
Zend Cache
- Another caching library (ZF2).
Data Structure and Storage
Libraries that implement data structure or storage techniques.
Cake Collection
- A simple collections library (CP).
Fractal
- A library for converting complex data structures to JSON output.
Ginq
- Another PHP library based on .NET's LINQ.
JsonMapper
- A library that maps nested JSON structures onto PHP classes.
Knapsack
- Collection library inspired by Clojure's sequences.
msgpack.php
- A pure PHP implementation of the
MessagePack
serialization format.
PINQ
- A PHP library based on .NET's LINQ (Language Integrated Query).
Porter
- Data import abstraction framework.
Serializer
- A library for serialising and de-serialising data.
YaLinqo
- Yet Another LINQ to Objects for PHP.
Zend Serializer
- Another library for serialising and de-serialising data (ZF2).
Notifications
Libraries for working with notification software.
JoliNotif
- A cross-platform library for desktop notification (support for Growl, notify-send, toaster, etc)
Notification Pusher
- A standalone library for device push notifications.
Notificato
- A library for handling push notifications.
Notificator
- A lightweight notification library.
Php-pushwoosh
- A PHP Library to easily send push notifications with the Pushwoosh REST Web Services.
Deployment
Libraries for project deployment.
Deployer
- A deployment tool.
Envoy
- A tool to run SSH tasks with PHP.
Rocketeer
- A fast and easy deployer for the PHP world.
Internationalisation and Localisation
Libraries for Internationalization (I18n) and Localization (L10n).
Aura.Intl
- Provides internationalization (I18N) tools, specifically package-oriented per-locale message translation.
Cake I18n
- Message translation and localization for dates and numbers (CP)
Serverless
Libraries and tools to help build serverless web applications.
Bref
- Serverless PHP on AWS Lambda.
OpenWhisk
- An open source serverless cloud platform.
Serverless Framework
- An open source framework for building serverless applications.
Configuration
Libraries and tools for configuration.
*
PHP Dotenv
- Parse and load environment variables from
.env
files.
Symfony Dotenv
- Parse and load environment variables from
.env
files.
Third Party APIs
Libraries for accessing third party APIs.
Amazon Web Service SDK
- The official PHP AWS SDK library.
Campaign Monitor
- The official Campaign Monitor PHP library.
Dropbox SDK
- The official PHP Dropbox SDK library.
Github
- A library to interface with the Github API.
Mailgun
The official Mailgun PHP API.
Stripe
- The official Stripe PHP library.
Twilio
- The official Twilio PHP REST API.
Extensions
Libraries to help build PHP extensions.
PHP CPP
- A C++ library for developing PHP extensions.
Zephir
- A compiled language between PHP and C++ for developing PHP extensions.
Miscellaneous
Useful libraries or tools that don't fit in the categories above.
Annotations
- An annotations library (part of Doctrine).
BotMan
- A framework agnostic PHP library to build cross-platform chat bots.
Cake Utility
- Utility classes such as Inflector, String, Hash, Security and Xml (CP).
Chief
- A command bus library.
ClassPreloader
- A library for optimising autoloading.
Country List
- A list of all countries with names and ISO 3166-1 codes.
Embera
- An Oembed consumer library.
Essence
- A library for extracting web media.
Graphviz
- A Graphviz library.
Hprose-PHP
- A very newbility RPC Library, support 25+ languages now.
JSON Lint
- A JSON lint utility.
JSONPCallbackValidator
- A library for validating JSONP callbacks.
Metrics
- A simple metrics API library.
noCAPTCHA
- Helper for Google's noCAPTCHA (reCAPTCHA).
Nmap
- A PHP wrapper around
Nmap
.
Pagerfanta
- A pagination library.
PHP PassBook
- A PHP library for iOS PassBook.
PHP-ML
- A library for Machine Learning in PHP.
PHPCR
- A PHP port of the Java Content Repository (JCR).
PHPStack
- A TCP/IP stack proof of concept written in PHP.
print_o
- An object graph visualizer.
Procrastinator
- A library for running time consuming tasks.
Prooph Service Bus
- Lightweight message bus supporting CQRS and Micro Services
RMT
- A library for versioning and releasing software.
sabre/vobject
- A library for parsing VCard and iCalendar objects.
Slimdump
- An easy dumper tool for MySQL.
Spork
- A process forking library.
SuperClosure
- A library that allows Closures to be serialized.
Symfony VarDumper
- A variable dumper component (SF).
Underscore
- A PHP port of the Underscore JS library.
Whoops
- A pretty error handling library.
Software
Software for creating a development environment.
PHP Installation
Tools to help install and manage PHP on your computer.
HomeBrew
- A package manager for OSX.
Brew PHP Switcher
- Brew PHP switcher.
PHP Brew
- A PHP version manager and installer.
PHP Build
- Another PHP version installer.
PHP OSX
- A PHP installer for OSX.
VirtPHP
- A tool for creating and managing isolated PHP environments.
Development Environment
Software and tools for creating a sandboxed development environment.
Ansible
- A radically simple orchestration framework.
Phansible
- A web tool for building PHP development virtual machines with Ansible.
Protobox
- Another web tool for building PHP development virtual machines.
PuPHPet
- A web tool for building PHP development virtual machines.
Puppet
- A server automation framework and application.
Vagrant
- A portable development environment utility.
Docker
- A containerization platform.
Virtual Machines
Alternative PHP virtual machines.
Hack
- A programming language for HHVM.
HHVM
- A Virtual Machine, Runtime and JIT for PHP by Facebook.
Text Editors and IDEs
Text Editors and Integrated Development Environments (IDE) with support for PHP.
Atom
- A hackable text editor.
Atom IDE
- An IDE extension for Atom.
Eclipse for PHP Developers
- A PHP IDE based on the Eclipse platform.
Netbeans
- An IDE with support for PHP and HTML5.
PhpStorm
- A commercial PHP IDE.
VS Code
- An open source code editor.
Web Applications
Web-based applications and tools.
3V4L
- An online PHP & HHVM shell.
DBV
- A database version control application.
PHP Queue
- An application for managing queueing backends.
MailCatcher
- A web tool for capturing and viewing emails.
Cachet
- The open source status page system.
phpRedisAdmin
- A simple web interface to manage
Redis
databases.
phpMyAdmin
- A web interface for MySQL/MariaDB.
Adminer
- Database management in a single PHP file.
Lychee
- An easy to use and great looking photo-management-system.
Infrastructure
Infrastructure for providing PHP applications and services.
appserver.io
- A multithreaded application server for PHP, written in PHP.
php-pm
- A process manager, supercharger and load balancer for PHP applications.
Resources
Various resources, such as books, websites and articles, for improving your PHP development skills and knowledge.
PHP Websites
Useful PHP-related websites.
libs.garden: PHP
- An overview of fastest growing PHP libraries.
Nomad PHP
- A online PHP learning resource.
PHP Best Practices
- A PHP best practice guide.
PHP FIG
- The PHP Framework Interoperability Group.
PHP Mentoring
- Peer to peer PHP mentorship organization.
PHP Package Development Standards
- Package development standards for PHP.
PHP School
- Open Source Learning for PHP.
PHP Security
- A guide to PHP security.
PHP The Right Way
- A PHP best practice quick reference guide.
PHP UG
- A website to help people locate their nearest PHP user group (UG).
PHP Versions
- Lists which versions of PHP are available on several popular web hosts.
PHP Weekly
- A weekly PHP newsletter.
Securing PHP
- A newsletter about PHP security and library recommendations.
Seven PHP
- A website that interviews members of the PHP community.
PHP Annotated Monthly
- A monthly digest of PHP news.
Other Websites
Useful websites related to web development.
Atlassian Git Tutorials
- A series of Git tutorials.
Learning Linux
- A website for learning Linux.
Semantic Versioning
- A website explaining semantic versioning.
Servers for Hackers
- A newsletter about server management.
The Open Web Application Security Project (OWASP)
- An open software security community.
WebSec IO
- A web security community resource.
PHP Books
Fantastic PHP-related books.
Functional Programming in PHP
- This book will show you how to leverage these new PHP5.3+ features by understanding functional programming principles
Grumpy PHPUnit
- A book about unit testing with PHPUnit by Chris Hartjes.
Mastering Object-Orientated PHP
- A book about object-orientated PHP by Brandon Savage.
Modern PHP New Features and Good Practices
- A book about new PHP features and best practices by Josh Lockhart.
Modernizing Legacy Applications in PHP
- A book about modernizing legacy PHP applications by Paul M. Jones.
PHP 7 Upgrade Guide
- An ebook covering all of the features and changes in PHP 7 by Colin O'Dell.
PHP Pandas
- A book about learning to write PHP by Dayle Rees.
Scaling PHP Applications
- An ebook about scaling PHP applications by Steve Corona.
Securing PHP: Core Concepts
- A book about common security terms and practices for PHP by Chris Cornutt.
Signaling PHP
- A book about catching PCNTL signals in CLI scripts by Cal Evans.
The Grumpy Programmer's Guide to Building Testable PHP Applications
- A book about building testing PHP applications by Chris Hartjes.
XML Parsing with PHP
- This book covers parsing and validating XML documents, leveraging XPath expressions, and working with namespaces as well as how to create and modify XML files programmatically.
Domain-Driven Design in PHP
- Real examples written in PHP showcasing DDD Architectural Styles.
Other Books
Books related to general computing and web development.
Elasticsearch: The Definitive Guide
- A guide to working with Elasticsearch by Clinton Gormley and Zachary Tong.
Eloquent JavaScript
- A book about JavaScript programming by Marijn Haverbeke.
Head First Design Patterns
- A book that expains software design patterns.
Pro Git
- A book about Git by Scott Chacon and Ben Straub.
The Linux Command Line
- A book about the Linux command line by William Shotts.
The Tangled Web — Securing Web Applications
- A book about securing web applications by Michal Zalewski.
Understanding Computation
- A book about computation theory by Tom Stuart.
Vagrant Cookbook
- A book about creating Vagrant environments by Erika Heidi.
PHP Videos
Fantastic PHP-related videos.
Nomad PHP Lightning Talks
- 10 to 15 minute Lightning Talks by PHP community members.
PHP UK Conference
- A collection of videos from the PHP UK Conference.
Programming with Anthony
- A video series by Anthony Ferrara.
Taking PHP Seriously
- A talk outlining PHP's strengths by Keith Adams of Facebook.
PHP Podcasts
Podcasts with a focus on PHP topics.
PHP Town Hall
- A casual PHP podcast by Ben Edmunds and Phil Sturgeon.
Voices of the ElePHPant
Interviews with the people that make the PHP community special.
PHP Roundtable
- The PHP Roundtable is a casual gathering of developers discussing topics that PHP nerds care about.
PHP Reading
PHP-releated reading materials.
Composer Primer
- A Composer primer.
Composer Stability Flags
- An article about Composer stability flags.
Composer Versioning
- An article about Composer versioning.
Create Your Own PHP Framework
- A series of articles on how to make your own PHP framework by Fabien Potencier.
Don't Worry About BREACH
- An article about the BREACH hack and CSRF tokens.
On PHP 5.3, Lambda Functions and Closures
- An article about lambda functions and closures.
PHP Is Much Better Than You Think
- An article about the PHP language and ecosystem.
PHP Package Checklist
- A checklist for successful PHP package development.
PHP Sucks! But I Like It!
- An article about the pros and cons of PHP.
Preventing CSRF Attacks
- An article on preventing CSRF attacks.
Seven Ways to Screw Up BCrypt
- An article about correct BCrypt implementation.
The 2018 Guide to Building Secure PHP Software
- A guide to building secure PHP software.
Use Env
- An article about using the unix environment helper.
PHP Internals Reading
Reading materials related to the PHP internals or performance.
Disproving the Single Quotes Myth
- An article about performance of single and double quoted strings.
How Big Are PHP Arrays (And Values) Really?
- An article about array internals.
How Foreach Works
- A detailed StackOverflow answer about foreach.
How Long is a Piece of String
- An article about string internals.
PHP Evaluation Order
- An article about evaluation order in PHP.
PHP Internals Book
- An online book about PHP internals, written by three core developers.
PHP RFCs
- The home of PHP RFCs (Request for Comments).
Print vs Echo, Which One is Faster?
- An article about print and echo performance.
The PHP Ternary Operator. Fast or Not?
- An article ternary performance.
Understanding OpCodes
- An article about opcodes.
When Does Foreach Copy?
- An article about the internals of foreach.
Why Objects (Usually) Use Less Memory Than Arrays
- An article about object and array internals.
You're Being Lied To
- An article about internal ZVALs.
Collecting Garbage:
1
2
3
- A series about the PHP garbage collection internals.
PHP Source Code for Developers:
1
2
3
4
- A series about the PHP source code.
PHP Magazines
Fantastic PHP-related magazines.
php[architect]
- A monthly magazine dedicated to PHP.
A curated list of awesome Python frameworks, libraries, software and resources.
Inspired by
awesome-php
.
Awesome Python
Admin Panels
Algorithms and Design Patterns
Audio
Authentication
Build Tools
Built-in Classes Enhancement
Caching
ChatOps Tools
Code Analysis
Command-line Interface Development
Command-line Tools
Compatibility
Computer Vision
Concurrency and Parallelism
Configuration
Cryptography
Data Analysis
Data Validation
Data Visualization
Database
Database Drivers
Date and Time
Debugging Tools
Deep Learning
DevOps Tools
Distributed Computing
Distribution
Documentation
Downloader
E-commerce
Editor Plugins and IDEs
Email
Environment Management
Files
Foreign Function Interface
Forms
Functional Programming
Game Development
Geolocation
GUI Development
Hardware
HTML Manipulation
HTTP Clients
Image Processing
Implementations
Interactive Interpreter
Internationalization
Job Scheduler
Logging
Machine Learning
Miscellaneous
Natural Language Processing
Network Virtualization
Networking
News Feed
Package Management
Package Repositories
Permissions
Processes
Queue
Recommender Systems
RESTful API
Robotics
RPC Servers
Science
Search
Serialization
Serverless Frameworks
Specific Formats Processing
Static Site Generator
Tagging
Template Engine
Testing
Text Processing
Third-party APIs
URL Manipulation
Video
Web Asset Management
Web Content Extracting
Web Crawling
Web Frameworks
WebSocket
WSGI Servers
Services
Code Quality
Continuous Integration
Resources
Podcasts
Twitter
Websites
Weekly
Contributing
Admin Panels
Libraries for administrative interfaces.
ajenti
- The admin panel your servers deserve.
django-grappelli
- A jazzy skin for the Django Admin-Interface.
django-jet
- Modern responsive template for the Django admin interface with improved functionality.
django-suit
- Alternative Django Admin-Interface (free only for Non-commercial use).
django-xadmin
- Drop-in replacement of Django admin comes with lots of goodies.
flask-admin
- Simple and extensible administrative interface framework for Flask.
flower
- Real-time monitor and web admin for Celery.
wooey
- A Django app which creates automatic web UIs for Python scripts.
Algorithms and Design Patterns
Python implementation of algorithms and design patterns.
algorithms
- Minimal examples of data structures and algorithms in Python.
PyPattyrn
- A simple yet effective library for implementing common design patterns.
python-patterns
- A collection of design patterns in Python.
sortedcontainers
- Fast, pure-Python implementation of SortedList, SortedDict, and SortedSet types.
Audio
Libraries for manipulating audio and its metadata.
Audio
audioread
- Cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding.
dejavu
- Audio fingerprinting and recognition.
mingus
- An advanced music theory and notation package with MIDI file and playback support.
pyAudioAnalysis
- Audio feature extraction, classification, segmentation and applications.
pydub
- Manipulate audio with a simple and easy high level interface.
TimeSide
- Open web audio processing framework.
Metadata
beets
- A music library manager and
MusicBrainz
tagger.
eyeD3
- A tool for working with audio files, specifically MP3 files containing ID3 metadata.
mutagen
- A Python module to handle audio metadata.
tinytag
- A library for reading music meta data of MP3, OGG, FLAC and Wave files.
authlib
- JavaScript Object Signing and Encryption draft implementation.
django-allauth
- Authentication app for Django that "just works."
django-oauth-toolkit
- OAuth 2 goodies for Django.
oauthlib
- A generic and thorough implementation of the OAuth request-signing logic.
python-oauth2
- A fully tested, abstract interface to creating OAuth clients and servers.
python-social-auth
- An easy-to-setup social authentication mechanism.
pyjwt
- JSON Web Token implementation in Python.
python-jose
- A JOSE implementation in Python.
python-jwt
- A module for generating and verifying JSON Web Tokens.
BitBake
- A make-like build tool for embedded Linux.
buildout
- A build system for creating, assembling and deploying applications from multiple parts.
PlatformIO
- A console tool to build code with different development platforms.
pybuilder
- A continuous build tool written in pure Python.
SCons
- A software construction tool.
Built-in Classes Enhancement
Libraries for enhancing Python built-in classes.
dataclasses
- (Python standard library) Data classes.
attrs
- Replacement for
__init__
,
__eq__
,
__repr__
, etc. boilerplate in class definitions.
bidict
- Efficient, Pythonic bidirectional map data structures and related functionality..
Box
- Python dictionaries with advanced dot notation access.
DottedDict
- A library that provides a method of accessing lists and dicts with a dotted path notation.
Content Management Systems.
wagtail
- A Django content management system.
django-cms
- An Open source enterprise CMS based on the Django.
feincms
- One of the most advanced Content Management Systems built on Django.
Kotti
- A high-level, Pythonic web application framework built on Pyramid.
mezzanine
- A powerful, consistent, and flexible content management platform.
plone
- A CMS built on top of the open source application server Zope.
quokka
- Flexible, extensible, small CMS powered by Flask and MongoDB.
Caching
Libraries for caching data.
beaker
- A WSGI middleware for sessions and caching.
django-cache-machine
- Automatic caching and invalidation for Django models.
django-cacheops
- A slick ORM cache with automatic granular event-driven invalidation.
dogpile.cache
- dogpile.cache is next generation replacement for Beaker made by same authors.
HermesCache
- Python caching library with tag-based invalidation and dogpile effect prevention.
pylibmc
- A Python wrapper around the
libmemcached
interface.
python-diskcache
- SQLite and file backed cache backend with faster lookups than memcached and redis.
ChatOps Tools
Libraries for chatbot development.
errbot
- The easiest and most popular chatbot to implement ChatOps.
Code Analysis
Tools of static analysis, linters and code quality checkers. Also see
awesome-static-analysis
.
Code Analysis
coala
- Language independent and easily extendable code analysis application.
code2flow
- Turn your Python and JavaScript code into DOT flowcharts.
prospector
- A tool to analyse Python code.
pycallgraph
- A library that visualises the flow (call graph) of your Python application.
Code Linters
flake8
- A wrapper around
pycodestyle
,
pyflakes
and McCabe.
awesome-flake8-extensions
pylint
- A fully customizable source code analyzer.
pylama
- A code audit tool for Python and JavaScript.
Code Formatters
black
- The uncompromising Python code formatter.
yapf
- Yet another Python code formatter from Google.
Static Type Checkers
mypy
- Check variable types during compile time.
pyre-check
- Performant type checking.
Static Type Annotations Generators
MonkeyType
- A system for Python that generates static type annotations by collecting runtime types
cement
- CLI Application Framework for Python.
click
- A package for creating beautiful command line interfaces in a composable way.
cliff
- A framework for creating command-line programs with multi-level commands.
clint
- Python Command-line Application Tools.
docopt
- Pythonic command line arguments parser.
python-fire
- A library for creating command line interfaces from absolutely any Python object.
python-prompt-toolkit
- A library for building powerful interactive command lines.
Terminal Rendering
asciimatics
- A package to create full-screen text UIs (from interactive forms to ASCII animations).
bashplotlib
- Making basic plots in the terminal.
colorama
- Cross-platform colored terminal text.
tqdm
- Fast, extensible progress bar for loops and CLI.
Productivity Tools
cookiecutter
- A command-line utility that creates projects from cookiecutters (project templates).
doitlive
- A tool for live presentations in the terminal.
howdoi
- Instant coding answers via the command line.
PathPicker
- Select files out of bash output.
percol
- Adds flavor of interactive selection to the traditional pipe concept on UNIX.
thefuck
- Correcting your previous console command.
tmuxp
- A
tmux
session manager.
try
- A dead simple CLI to try out python packages - it's never been easier.
CLI Enhancements
httpie
- A command line HTTP client, a user-friendly cURL replacement.
kube-shell
- An integrated shell for working with the Kubernetes CLI.
mycli
- A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting.
pgcli
- Postgres CLI with autocompletion and syntax highlighting.
saws
- A Supercharged
aws-cli
.
python-future
- The missing compatibility layer between Python 2 and Python 3.
python-modernize
- Modernizes Python code for eventual Python 3 migration.
six
- Python 2 and 3 compatibility utilities.
Computer Vision
Libraries for computer vision.
OpenCV
- Open Source Computer Vision Library.
pytesseract
- Another wrapper for
Google Tesseract OCR
.
SimpleCV
- An open source framework for building computer vision applications.
Concurrency and Parallelism
Libraries for concurrent and parallel execution. Also see
awesome-asyncio
.
concurrent.futures
- (Python standard library) A high-level interface for asynchronously executing callables.
multiprocessing
- (Python standard library) Process-based parallelism.
eventlet
- Asynchronous framework with WSGI support.
gevent
- A coroutine-based Python networking library that uses
greenlet
.
uvloop
- Ultra fast implementation of
asyncio
event loop on top of
libuv
.
scoop
- Scalable Concurrent Operations in Python.
Configuration
Libraries for storing and parsing configuration options.
configobj
- INI file parser with validation.
configparser
- (Python standard library) INI file parser.
profig
- Config from multiple formats with value conversion.
python-decouple
- Strict separation of settings from code.
Cryptography
cryptography
- A package designed to expose cryptographic primitives and recipes to Python developers.
paramiko
- The leading native Python SSHv2 protocol library.
passlib
- Secure password storage/hashing library, very high level.
pynacl
- Python binding to the Networking and Cryptography (NaCl) library.
Data Analysis
Libraries for data analyzing.
Blaze
- NumPy and Pandas interface to Big Data.
Open Mining
- Business Intelligence (BI) in Pandas interface.
Orange
- Data mining, data visualization, analysis and machine learning through visual programming or scripts.
Pandas
- A library providing high-performance, easy-to-use data structures and data analysis tools.
Optimus
- Agile Data Science Workflows made easy with PySpark.
Data Validation
Libraries for validating data. Used for forms in many cases.
Cerberus
- A lightweight and extensible data validation library.
colander
- Validating and deserializing data obtained via XML, JSON, an HTML form post.
jsonschema
- An implementation of
JSON Schema
for Python.
schema
- A library for validating Python data structures.
Schematics
- Data Structure Validation.
valideer
- Lightweight extensible data validation and adaptation library.
voluptuous
- A Python data validation library.
Data Visualization
Libraries for visualizing data. Also see
awesome-javascript
.
Altair
- Declarative statistical visualization library for Python.
Bokeh
- Interactive Web Plotting for Python.
bqplot
- Interactive Plotting Library for the Jupyter Notebook
Dash
- Built on top of Flask, React and Plotly aimed at analytical web applications.
awesome-dash
plotnine
- A grammar of graphics for Python based on ggplot2.
Matplotlib
- A Python 2D plotting library.
Pygal
- A Python SVG Charts Creator.
PyGraphviz
- Python interface to
Graphviz
.
PyQtGraph
- Interactive and realtime 2D/3D/Image plotting and science/engineering widgets.
Seaborn
- Statistical data visualization using Matplotlib.
VisPy
- High-performance scientific visualization based on OpenGL.
Database
Databases implemented in Python.
pickleDB
- A simple and lightweight key-value store for Python.
tinydb
- A tiny, document-oriented database.
ZODB
- A native object database for Python. A key-value and object graph database.
Database Drivers
Libraries for connecting and operating databases.
MySQL -
awesome-mysql
mysqlclient
- MySQL connector with Python 3 support (
mysql-python
fork).
PyMySQL
- A pure Python MySQL driver compatible to mysql-python.
PostgreSQL -
awesome-postgres
psycopg2
- The most popular PostgreSQL adapter for Python.
queries
- A wrapper of the psycopg2 library for interacting with PostgreSQL.
Other Relational Databases
pymssql
- A simple database interface to Microsoft SQL Server.
NoSQL Databases
cassandra-driver
- The Python Driver for Apache Cassandra.
happybase
- A developer-friendly library for Apache HBase.
kafka-python
- The Python client for Apache Kafka.
py2neo
- Python wrapper client for Neo4j's restful interface.
pymongo
- The official Python client for MongoDB.
redis-py
- The Python client for Redis.
Asynchronous Clients
motor
- The async Python driver for MongoDB.
Telephus
- Twisted based client for Cassandra.
txpostgres
- Twisted based asynchronous driver for PostgreSQL.
txRedis
- Twisted based client for Redis.
Chronyk
- A Python 3 library for parsing human-written times and dates.
dateutil
- Extensions to the standard Python
datetime
module.
delorean
- A library for clearing up the inconvenient truths that arise dealing with datetimes.
moment
- A Python library for dealing with dates/times. Inspired by
Moment.js
.
Pendulum
- Python datetimes made easy.
PyTime
- An easy-to-use Python module which aims to operate date/time/datetime by string.
pytz
- World timezone definitions, modern and historical. Brings the
tz database
into Python.
when.py
- Providing user-friendly functions to help perform common date and time actions.
maya
- Datetimes for Humans.
Debugging Tools
Libraries for debugging code.
pdb-like Debugger
ipdb
- IPython-enabled
pdb
.
pdb++
- Another drop-in replacement for pdb.
pudb
- A full-screen, console-based Python debugger.
wdb
- An improbable web debugger through WebSockets.
Tracing
lptrace
-
strace
for Python programs.
manhole
- Debugging UNIX socket connections and present the stacktraces for all threads and an interactive prompt.
pyringe
- Debugger capable of attaching to and injecting code into Python processes.
python-hunter
- A flexible code tracing toolkit.
Profiler
line_profiler
- Line-by-line profiling.
memory_profiler
- Monitor Memory usage of Python code.
profiling
- An interactive Python profiler.
py-spy
- A sampling profiler for Python programs. Written in Rust.
pyflame
- A ptracing profiler For Python.
vprof
- Visual Python profiler.
Others
icecream
- Inspect variables, expressions, and program execution with a single, simple function call.
django-debug-toolbar
- Display various debug information for Django.
django-devserver
- A drop-in replacement for Django's runserver.
flask-debugtoolbar
- A port of the django-debug-toolbar to flask.
pyelftools
- Parsing and analyzing ELF files and DWARF debugging information.
Deep Learning
Frameworks for Neural Networks and Deep Learning. Also see
awesome-deep-learning
.
caffe
- A fast open framework for deep learning..
keras
- A high-level neural networks library and capable of running on top of either TensorFlow or Theano.
mxnet
- A deep learning framework designed for both efficiency and flexibility.
pytorch
- Tensors and Dynamic neural networks in Python with strong GPU acceleration.
SerpentAI
- Game agent framework. Use any video game as a deep learning sandbox.
tensorflow
- The most popular Deep Learning framework created by Google.
Theano
- A library for fast numerical computation.
DevOps Tools
Software and libraries for DevOps.
ansible
- A radically simple IT automation platform.
cloudinit
- A multi-distribution package that handles early initialization of a cloud instance.
cuisine
- Chef-like functionality for Fabric.
docker-compose
- Fast, isolated development environments using
Docker
.
fabric
- A simple, Pythonic tool for remote execution and deployment.
fabtools
- Tools for writing awesome Fabric files.
honcho
- A Python clone of
Foreman
, for managing Procfile-based applications.
OpenStack
- Open source software for building private and public clouds.
pexpect
- Controlling interactive programs in a pseudo-terminal like GNU expect.
psutil
- A cross-platform process and system utilities module.
saltstack
- Infrastructure automation and management system.
supervisor
- Supervisor process control system for UNIX.
Distributed Computing
Frameworks and libraries for Distributed Computing.
Batch Processing
PySpark
-
Apache Spark
Python API.
dask
- A flexible parallel computing library for analytic computing.
luigi
- A module that helps you build complex pipelines of batch jobs.
mrjob
- Run MapReduce jobs on Hadoop or Amazon Web Services.
Ray
- A system for parallel and distributed Python that unifies the machine learning ecosystem.
Stream Processing
faust
- A stream processing library, porting the ideas from
Kafka Streams
to Python.
streamparse
- Run Python code against real-time streams of data via
Apache Storm
.
dh-virtualenv
- Build and distribute a virtualenv as a Debian package.
Nuitka
- Compile scripts, modules, packages to an executable or extension module.
py2app
- Freezes Python scripts (Mac OS X).
py2exe
- Freezes Python scripts (Windows).
PyInstaller
- Converts Python programs into stand-alone executables (cross-platform).
pynsist
- A tool to build Windows installers, installers bundle Python itself.
Documentation
Libraries for generating project documentation.
sphinx
- Python Documentation generator.
awesome-sphinxdoc
pdoc
- Epydoc replacement to auto generate API documentation for Python libraries.
pycco
- The literate-programming-style documentation generator.
Downloader
Libraries for downloading.
s3cmd
- A command line tool for managing Amazon S3 and CloudFront.
s4cmd
- Super S3 command line tool, good for higher performance.
you-get
- A YouTube/Youku/Niconico video downloader written in Python 3.
youtube-dl
- A small command-line program to download videos from YouTube.
E-commerce
Frameworks and libraries for e-commerce and payments.
alipay
- Unofficial Alipay API for Python.
Cartridge
- A shopping cart app built using the Mezzanine.
django-oscar
- An open-source e-commerce framework for Django.
django-shop
- A Django based shop system.
merchant
- A Django app to accept payments from various payment processors.
money
-
Money
class with optional CLDR-backed locale-aware formatting and an extensible currency exchange.
python-currencies
- Display money format and its filthy currencies.
forex-python
- Foreign exchange rates, Bitcoin price index and currency conversion.
saleor
- An e-commerce storefront for Django.
shoop
- An open source E-Commerce platform based on Django.
Editor Plugins and IDEs
Emacs
elpy
- Emacs Python Development Environment.
Sublime Text
anaconda
- Anaconda turns your Sublime Text 3 in a full featured Python development IDE.
SublimeJEDI
- A Sublime Text plugin to the awesome auto-complete library Jedi.
jedi-vim
- Vim bindings for the Jedi auto-completion library for Python.
python-mode
- An all in one plugin for turning Vim into a Python IDE.
YouCompleteMe
- Includes
Jedi
-based completion engine for Python.
Visual Studio
PTVS
- Python Tools for Visual Studio.
Visual Studio Code
Python
- The official VSCode extension with rich support for Python.
PyCharm
- Commercial Python IDE by JetBrains. Has free community edition available.
spyder
- Open Source Python IDE.
envelopes
- Mailing for human beings.
flanker
- An email address and Mime parsing library.
imbox
- Python IMAP for Humans.
inbox.py
- Python SMTP Server for Humans.
lamson
- Pythonic SMTP Application Server.
Marrow Mailer
- High-performance extensible mail delivery framework.
modoboa
- A mail hosting and management platform including a modern and simplified Web UI.
Nylas Sync Engine
- Providing a RESTful API on top of a powerful email sync platform.
yagmail
- Yet another Gmail/SMTP client.
Environment Management
Libraries for Python version and virtual environment management.
pyenv
- Simple Python version management.
pipenv
- Python Development Workflow for Humans.
poetry
- Python dependency management and packaging made easy.
virtualenv
- A tool to create isolated Python environments.
Files
Libraries for file manipulation and MIME type detection.
mimetypes
- (Python standard library) Map filenames to MIME types.
path.py
- A module wrapper for
os.path
.
pathlib
- (Python standard library) An cross-platform, object-oriented path library.
PyFilesystem2
- Python's filesystem abstraction layer.
python-magic
- A Python interface to the libmagic file type identification library.
Unipath
- An object-oriented approach to file/directory operations.
watchdog
- API and shell utilities to monitor file system events.
Foreign Function Interface
Libraries for providing foreign function interface.
cffi
- Foreign Function Interface for Python calling C code.
ctypes
- (Python standard library) Foreign Function Interface for Python calling C code.
PyCUDA
- A Python wrapper for Nvidia's CUDA API.
SWIG
- Simplified Wrapper and Interface Generator.
Forms
Libraries for working with forms.
Deform
- Python HTML form generation library influenced by the formish form generation library.
django-bootstrap3
- Bootstrap 3 integration with Django.
django-bootstrap4
- Bootstrap 4 integration with Django.
django-crispy-forms
- A Django app which lets you create beautiful forms in a very elegant and DRY way.
django-remote-forms
- A platform independent Django form serializer.
WTForms
- A flexible forms validation and rendering library.
Functional Programming
Functional Programming with Python.
Coconut
- Coconut is a variant of Python built for simple, elegant, Pythonic functional programming.
CyToolz
- Cython implementation of Toolz: High performance functional utilities.
fn.py
- Functional programming in Python: implementation of missing features to enjoy FP.
funcy
- A fancy and practical functional tools.
Toolz
- A collection of functional utilities for iterators, functions, and dictionaries.
GUI Development
Libraries for working with graphical user interface applications.
curses
- Built-in wrapper for
ncurses
used to create terminal GUI applications.
Eel
- A library for making simple Electron-like offline HTML/JS GUI apps.
enaml
- Creating beautiful user-interfaces with Declaratic Syntax like QML.
Flexx
- Flexx is a pure Python toolkit for creating GUI's, that uses web technology for its rendering.
Gooey
- Turn command line programs into a full GUI application with one line.
kivy
- A library for creating NUI applications, running on Windows, Linux, Mac OS X, Android and iOS.
pyglet
- A cross-platform windowing and multimedia library for Python.
PyGObject
- Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3).
PyQt
- Python bindings for the
Qt
cross-platform application and UI framework.
PySimpleGUI
- Wrapper for tkinter, Qt, WxPython and Remi.
pywebview
- A lightweight cross-platform native wrapper around a webview component.
Tkinter
- Tkinter is Python's de-facto standard GUI package.
Toga
- A Python native, OS native GUI toolkit.
urwid
- A library for creating terminal GUI applications with strong support for widgets, events, rich colors, etc.
wxPython
- A blending of the wxWidgets C++ class library with the Python.
Game Development
Awesome game development libraries.
Cocos2d
- cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications.
Harfang3D
- Python framework for 3D, VR and game development.
Panda3D
- 3D game engine developed by Disney.
Pygame
- Pygame is a set of Python modules designed for writing games.
PyOgre
- Python bindings for the Ogre 3D render engine, can be used for games, simulations, anything 3D.
PyOpenGL
- Python ctypes bindings for OpenGL and it's related APIs.
PySDL2
- A ctypes based wrapper for the SDL2 library.
RenPy
- A Visual Novel engine.
Geolocation
Libraries for geocoding addresses and working with latitudes and longitudes.
django-countries
- A Django app that provides a country field for models and forms.
GeoDjango
- A world-class geographic web framework.
GeoIP
- Python API for MaxMind GeoIP Legacy Database.
geojson
- Python bindings and utilities for GeoJSON.
geopy
- Python Geocoding Toolbox.
pygeoip
- Pure Python GeoIP API.
HTML Manipulation
Libraries for working with HTML and XML.
BeautifulSoup
- Providing Pythonic idioms for iterating, searching, and modifying HTML or XML.
bleach
- A whitelist-based HTML sanitization and text linkification library.
cssutils
- A CSS library for Python.
html5lib
- A standards-compliant library for parsing and serializing HTML documents and fragments.
lxml
- A very fast, easy-to-use and versatile library for handling HTML and XML.
MarkupSafe
- Implements a XML/HTML/XHTML Markup safe string for Python.
pyquery
- A jQuery-like library for parsing HTML.
untangle
- Converts XML documents to Python objects for easy access.
WeasyPrint
- A visual rendering engine for HTML and CSS that can export to PDF.
xmldataset
- Simple XML Parsing.
xmltodict
- Working with XML feel like you are working with JSON.
HTTP Clients
Libraries for working with HTTP.
grequests
- requests + gevent for asynchronous HTTP requests.
httplib2
- Comprehensive HTTP client library.
requests
- HTTP Requests for Humans™.
treq
- Python requests like API built on top of Twisted's HTTP client.
urllib3
- A HTTP library with thread-safe connection pooling, file post support, sanity friendly.
Hardware
Libraries for programming with hardware.
ino
- Command line toolkit for working with
Arduino
.
keyboard
- Hook and simulate global keyboard events on Windows and Linux.
mouse
- Hook and simulate global mouse events on Windows and Linux.
Pingo
- Pingo provides a uniform API to program devices like the Raspberry Pi, pcDuino, Intel Galileo, etc.
PyUserInput
- A module for cross-platform control of the mouse and keyboard.
scapy
- A brilliant packet manipulation library.
wifi
- A Python library and command line tool for working with WiFi on Linux.
Image Processing
Libraries for manipulating images.
hmap
- Image histogram remapping.
imgSeek
- A project for searching a collection of images using visual similarity.
nude.py
- Nudity detection.
pagan
- Retro identicon (Avatar) generation based on input string and hash.
pillow
- Pillow is the friendly
PIL
fork.
pyBarcode
- Create barcodes in Python without needing PIL.
pygram
- Instagram-like image filters.
python-qrcode
- A pure Python QR Code generator.
Quads
- Computer art based on quadtrees.
scikit-image
- A Python library for (scientific) image processing.
thumbor
- A smart imaging service. It enables on-demand crop, re-sizing and flipping of images.
wand
- Python bindings for
MagickWand
, C API for ImageMagick.
Implementations
Implementations of Python.
CPython
-
Default, most widely used implementation of the Python programming language written in C.
Cython
- Optimizing Static Compiler for Python.
CLPython
- Implementation of the Python programming language written in Common Lisp.
Grumpy
- More compiler than interpreter as more powerful CPython2.7 replacement (alpha).
IronPython
- Implementation of the Python programming language written in C#.
Jython
- Implementation of Python programming language written in Java for the JVM.
MicroPython
- A lean and efficient Python programming language implementation.
Numba
- Python JIT compiler to LLVM aimed at scientific Python.
PeachPy
- x86-64 assembler embedded in Python.
Pyjion
- A JIT for Python based upon CoreCLR.
PyPy
- A very fast and compliant implementation of the Python language.
Pyston
- A Python implementation using JIT techniques.
Stackless Python
- An enhanced version of the Python programming language.
Interactive Interpreter
Interactive Python interpreters (REPL).
bpython
- A fancy interface to the Python interpreter.
Jupyter Notebook (IPython)
- A rich toolkit to help you make the most out of using Python interactively.
awesome-jupyter
ptpython
- Advanced Python REPL built on top of the
python-prompt-toolkit
.
Internationalization
Libraries for working with i18n.
Babel
- An internationalization library for Python.
PyICU
- A wrapper of International Components for Unicode C++ library (
ICU
).
Job Scheduler
Libraries for scheduling jobs.
APScheduler
- A light but powerful in-process task scheduler that lets you schedule functions.
django-schedule
- A calendaring app for Django.
doit
- A task runner and build tool.
gunnery
- Multipurpose task execution tool for distributed systems with web-based interface.
Joblib
- A set of tools to provide lightweight pipelining in Python.
Plan
- Writing crontab file in Python like a charm.
schedule
- Python job scheduling for humans.
Spiff
- A powerful workflow engine implemented in pure Python.
TaskFlow
- A Python library that helps to make task execution easy, consistent and reliable.
Airflow
- Airflow is a platform to programmatically author, schedule and monitor workflows.
Logging
Libraries for generating and working with logs.
Eliot
- Logging for complex & distributed systems.
logbook
- Logging replacement for Python.
logging
- (Python standard library) Logging facility for Python.
raven
- Python client for Sentry, a log/error tracking, crash reporting and aggregation platform for web applications.
Machine Learning
Libraries for Machine Learning. Also see
awesome-machine-learning
.
H2O
- Open Source Fast Scalable Machine Learning Platform.
Metrics
- Machine learning evaluation metrics.
NuPIC
- Numenta Platform for Intelligent Computing.
scikit-learn
- The most popular Python library for Machine Learning.
Spark ML
-
Apache Spark
's scalable Machine Learning library.
vowpal_porpoise
- A lightweight Python wrapper for
Vowpal Wabbit
.
xgboost
- A scalable, portable, and distributed gradient boosting library.
Microsoft Windows
Python programming on Microsoft Windows.
Python(x,y)
- Scientific-applications-oriented Python Distribution based on Qt and Spyder.
pythonlibs
- Unofficial Windows binaries for Python extension packages.
PythonNet
- Python Integration with the .NET Common Language Runtime (CLR).
PyWin32
- Python Extensions for Windows.
WinPython
- Portable development environment for Windows 7/8.
Miscellaneous
Useful libraries or tools that don't fit in the categories above.
blinker
- A fast Python in-process signal/event dispatching system.
boltons
- A set of pure-Python utilities.
itsdangerous
- Various helpers to pass trusted data to untrusted environments.
pluginbase
- A simple but flexible plugin system for Python.
tryton
- A general purpose business framework.
Natural Language Processing
Libraries for working with human languages.
General
gensim
- Topic Modelling for Humans.
langid.py
- Stand-alone language identification system.
nltk
- A leading platform for building Python programs to work with human language data.
pattern
- A web mining module for the Python.
polyglot
- Natural language pipeline supporting hundreds of languages.
pytext
- A natural language modeling framework based on PyTorch.
PyTorch-NLP
- A toolkit enabling rapid deep learning NLP prototyping for research.
spacy
- A library for industrial-strength natural language processing in Python and Cython.
stanfordnlp
- The Stanford NLP Group's official Python library, supporting 50+ languages.
Chinese
jieba
- The most popular Chinese text segmentation library.
pkuseg-python
- A toolkit for Chinese word segmentation in various domains.
snownlp
- A library for processing Chinese text.
funNLP
- A collection of tools and datasets for Chinese NLP.
Network Virtualization
Tools and libraries for Virtual Networking and SDN (Software Defined Networking).
mininet
- A popular network emulator and API written in Python.
pox
- A Python-based SDN control applications, such as OpenFlow SDN controllers.
Networking
Libraries for networking programming.
asyncio
- (Python standard library) Asynchronous I/O, event loop, coroutines and tasks.
awesome-asyncio
pulsar
- Event-driven concurrent framework for Python.
pyzmq
- A Python wrapper for the ZeroMQ message library.
Twisted
- An event-driven networking engine.
napalm
- Cross-vendor API to manipulate network devices.
News Feed
Libraries for building user's activities.
django-activity-stream
- Generating generic activity streams from the actions on your site.
Stream Framework
- Building newsfeed and notification systems using Cassandra and Redis.
Libraries that implement Object-Relational Mapping or data mapping techniques.
Relational Databases
Django Models
- A part of Django.
SQLAlchemy
- The Python SQL Toolkit and Object Relational Mapper.
awesome-sqlalchemy
dataset
- Store Python dicts in a database - works with SQLite, MySQL, and PostgreSQL.
orator
- The Orator ORM provides a simple yet beautiful ActiveRecord implementation.
peewee
- A small, expressive ORM.
pony
- ORM that provides a generator-oriented interface to SQL.
pydal
- A pure Python Database Abstraction Layer.
NoSQL Databases
hot-redis
- Rich Python data types for Redis.
mongoengine
- A Python Object-Document-Mapper for working with MongoDB.
PynamoDB
- A Pythonic interface for
Amazon DynamoDB
.
redisco
- A Python Library for Simple Models and Containers Persisted in Redis.
warehouse
- Next generation Python Package Repository (PyPI).
bandersnatch
- PyPI mirroring tool provided by Python Packaging Authority (PyPA).
devpi
- PyPI server and packaging/testing/release tool.
localshop
- Local PyPI server (custom packages and auto-mirroring of pypi).
Permissions
Libraries that allow or deny users access to data or functionality.
django-guardian
- Implementation of per object permissions for Django 1.2+
django-rules
- A tiny but powerful app providing object-level permissions to Django, without requiring a database.
Processes
Libraries for starting and communicating with OS processes.
delegator.py
-
Subprocesses
for Humans™ 2.0.
sarge
- Yet another wrapper for subprocess.
sh
- A full-fledged subprocess replacement for Python.
Queue
Libraries for working with event and task queues.
celery
- An asynchronous task queue/job queue based on distributed message passing.
huey
- Little multi-threaded task queue.
mrq
- Mr. Queue - A distributed worker task queue in Python using Redis & gevent.
rq
- Simple job queues for Python.
Recommender Systems
Libraries for building recommender systems.
annoy
- Approximate Nearest Neighbors in C++/Python optimized for memory usage.
fastFM
- A library for Factorization Machines.
implicit
- A fast Python implementation of collaborative filtering for implicit datasets.
libffm
- A library for Field-aware Factorization Machine (FFM).
lightfm
- A Python implementation of a number of popular recommendation algorithms.
spotlight
- Deep recommender models using PyTorch.
Surprise
- A scikit for building and analyzing recommender systems.
tensorrec
- A Recommendation Engine Framework in TensorFlow.
RESTful API
Libraries for developing RESTful APIs.
Django
django-rest-framework
- A powerful and flexible toolkit to build web APIs.
django-tastypie
- Creating delicious APIs for Django apps.
Flask
eve
- REST API framework powered by Flask, MongoDB and good intentions.
flask-api-utils
- Taking care of API representation and authentication for Flask.
flask-api
- Browsable Web APIs for Flask.
flask-restful
- Quickly building REST APIs for Flask.
flask-restless
- Generating RESTful APIs for database models defined with SQLAlchemy.
Pyramid
cornice
- A RESTful framework for Pyramid.
Framework agnostic
apistar
- A smart Web API framework, designed for Python 3.
falcon
- A high-performance framework for building cloud APIs and web app backends.
hug
- A Python 3 framework for cleanly exposing APIs.
restless
- Framework agnostic REST framework based on lessons learned from Tastypie.
ripozo
- Quickly creating REST/HATEOAS/Hypermedia APIs.
sandman
- Automated REST APIs for existing database-driven systems.
PythonRobotics
- This is a compilation of various robotics algorithms with visualizations.
rospy
- This is a library for ROS (Robot Operating System).
RPC Servers
RPC-compatible servers.
SimpleJSONRPCServer
- This library is an implementation of the JSON-RPC specification.
SimpleXMLRPCServer
- (Python standard library) Simple XML-RPC server implementation, single-threaded.
zeroRPC
- zerorpc is a flexible RPC implementation based on
ZeroMQ
and
MessagePack
.
Science
Libraries for scientific computing. Also see
Python-for-Scientists
astropy
- A community Python library for Astronomy.
bcbio-nextgen
- Providing best-practice pipelines for fully automated high throughput sequencing analysis.
bccb
- Collection of useful code related to biological analysis.
Biopython
- Biopython is a set of freely available tools for biological computation.
cclib
- A library for parsing and interpreting the results of computational chemistry packages.
Colour
- Implementing a comprehensive number of colour theory transformations and algorithms.
NetworkX
- A high-productivity software for complex networks.
NIPY
- A collection of neuroimaging toolkits.
NumPy
- A fundamental package for scientific computing with Python.
Open Babel
- A chemical toolbox designed to speak the many languages of chemical data.
ObsPy
- A Python toolbox for seismology.
PyDy
- Short for Python Dynamics, used to assist with workflow in the modeling of dynamic motion.
PyMC
- Markov Chain Monte Carlo sampling toolkit.
QuTiP
- Quantum Toolbox in Python.
RDKit
- Cheminformatics and Machine Learning Software.
SciPy
- A Python-based ecosystem of open-source software for mathematics, science, and engineering.
statsmodels
- Statistical modeling and econometrics in Python.
SymPy
- A Python library for symbolic mathematics.
Zipline
- A Pythonic algorithmic trading library.
SimPy
- A process-based discrete-event simulation framework.
Search
Libraries and software for indexing and performing search queries on data.
elasticsearch-py
- The official low-level Python client for
Elasticsearch
.
elasticsearch-dsl-py
- The official high-level Python client for Elasticsearch.
django-haystack
- Modular search for Django.
pysolr
- A lightweight Python wrapper for
Apache Solr
.
whoosh
- A fast, pure Python search engine library.
Serialization
Libraries for serializing complex data types
marshmallow
- A lightweight library for converting complex objects to and from simple Python datatypes.
pysimdjson
- A Python bindings for
simdjson
.
python-rapidjson
- A Python wrapper around
RapidJSON
.
Serverless Frameworks
Frameworks for developing serverless Python code.
python-lambda
- A toolkit for developing and deploying Python code in AWS Lambda.
Zappa
- A tool for deploying WSGI applications on AWS Lambda and API Gateway.
Specific Formats Processing
Libraries for parsing and manipulating specific text formats.
General
tablib
- A module for Tabular Datasets in XLS, CSV, JSON, YAML.
Office
openpyxl
- A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.
pyexcel
- Providing one API for reading, manipulating and writing csv, ods, xls, xlsx and xlsm files.
python-docx
- Reads, queries and modifies Microsoft Word 2007/2008 docx files.
python-pptx
- Python library for creating and updating PowerPoint (.pptx) files.
unoconv
- Convert between any document format supported by LibreOffice/OpenOffice.
XlsxWriter
- A Python module for creating Excel .xlsx files.
xlwings
- A BSD-licensed library that makes it easy to call Python from Excel and vice versa.
xlwt
/
xlrd
- Writing and reading data and formatting information from Excel files.
PDFMiner
- A tool for extracting information from PDF documents.
PyPDF2
- A library capable of splitting, merging and transforming PDF pages.
ReportLab
- Allowing Rapid creation of rich PDF documents.
Markdown
Mistune
- Fastest and full featured pure Python parsers of Markdown.
Python-Markdown
- A Python implementation of John Gruber’s Markdown.
PyYAML
- YAML implementations for Python.
csvkit
- Utilities for converting to and working with CSV.
Archive
unp
- A command line tool that can unpack archives easily.
Static Site Generator
Static site generator is a software that takes some text + templates as input and produces HTML files on the output.
mkdocs
- Markdown friendly documentation generator.
pelican
- Static site generator that supports Markdown and reST syntax.
lektor
- An easy to use static CMS and blog engine.
nikola
- A static website and blog generator.
Tagging
Libraries for tagging items.
django-taggit
- Simple tagging for Django.
Template Engine
Libraries and tools for templating and lexing.
Jinja2
- A modern and designer friendly templating language.
Genshi
- Python templating toolkit for generation of web-aware output.
Mako
- Hyperfast and lightweight templating for the Python platform.
Testing
Libraries for testing codebases and generating test data.
Testing Frameworks
pytest
- A mature full-featured Python testing tool.
hypothesis
- Hypothesis is an advanced Quickcheck style property based testing library.
nose2
- The successor to
nose
, based on `unittest2.
Robot Framework
- A generic test automation framework.
unittest
- (Python standard library) Unit testing framework.
Test Runners
green
- A clean, colorful test runner.
mamba
- The definitive testing tool for Python. Born under the banner of BDD.
tox
- Auto builds and tests distributions in multiple Python versions
GUI / Web Testing
locust
- Scalable user load testing tool written in Python.
PyAutoGUI
- PyAutoGUI is a cross-platform GUI automation Python module for human beings.
Selenium
- Python bindings for
Selenium
WebDriver.
sixpack
- A language-agnostic A/B Testing framework.
splinter
- Open source tool for testing web applications.
mock
- (Python standard library) A mocking and patching library.
doublex
- Powerful test doubles framework for Python.
freezegun
- Travel through time by mocking the datetime module.
httmock
- A mocking library for requests for Python 2.6+ and 3.2+.
httpretty
- HTTP request mock tool for Python.
mocket
- A socket mock framework with gevent/asyncio/SSL support.
responses
- A utility library for mocking out the requests Python library.
VCR.py
- Record and replay HTTP interactions on your tests.
Object Factories
factory_boy
- A test fixtures replacement for Python.
mixer
- Another fixtures replacement. Supported Django, Flask, SQLAlchemy, Peewee and etc.
model_mommy
- Creating random fixtures for testing in Django.
Code Coverage
coverage
- Code coverage measurement.
Fake Data
mimesis
- is a Python library that help you generate fake data.
fake2db
- Fake database generator.
faker
- A Python package that generates fake data.
radar
- Generate random datetime / time.
chardet
- Python 2/3 compatible character encoding detector.
difflib
- (Python standard library) Helpers for computing deltas.
ftfy
- Makes Unicode text less broken and more consistent automagically.
fuzzywuzzy
- Fuzzy String Matching.
Levenshtein
- Fast computation of Levenshtein distance and string similarity.
pangu.py
- Paranoid text spacing.
pyfiglet
- An implementation of figlet written in Python.
pypinyin
- Convert Chinese hanzi (漢字) to pinyin (拼音).
textdistance
- Compute distance between sequences with 30+ algorithms.
unidecode
- ASCII transliterations of Unicode text.
Slugify
awesome-slugify
- A Python slugify library that can preserve unicode.
python-slugify
- A Python slugify library that translates unicode to ASCII.
unicode-slugify
- A slugifier that generates unicode slugs with Django as a dependency.
Unique identifiers
hashids
- Implementation of
hashids
in Python.
shortuuid
- A generator library for concise, unambiguous and URL-safe UUIDs.
Parser
ply
- Implementation of lex and yacc parsing tools for Python.
pygments
- A generic syntax highlighter.
pyparsing
- A general purpose framework for generating parsers.
python-nameparser
- Parsing human names into their individual components.
python-phonenumbers
- Parsing, formatting, storing and validating international phone numbers.
python-user-agents
- Browser user agent parser.
sqlparse
- A non-validating SQL parser.
Third-party APIs
Libraries for accessing third party services APIs. Also see
List of Python API Wrappers and Libraries
.
apache-libcloud
- One Python library for all clouds.
boto3
- Python interface to Amazon Web Services.
django-wordpress
- WordPress models and views for Django.
facebook-sdk
- Facebook Platform Python SDK.
google-api-python-client
- Google APIs Client Library for Python.
gspread
- Google Spreadsheets Python API.
twython
- A Python wrapper for the Twitter API.
URL Manipulation
Libraries for parsing URLs.
furl
- A small Python library that makes parsing and manipulating URLs easy.
purl
- A simple, immutable URL class with a clean API for interrogation and manipulation.
pyshorteners
- A pure Python URL shortening lib.
webargs
- A friendly library for parsing HTTP request arguments with built-in support for popular web frameworks.
Video
Libraries for manipulating video and GIFs.
moviepy
- A module for script-based movie editing with many formats, including animated GIFs.
scikit-video
- Video processing routines for SciPy.
WSGI Servers
WSGI-compatible web servers.
bjoern
- Asynchronous, very fast and written in C.
gunicorn
- Pre-forked, partly written in C.
uWSGI
- A project aims at developing a full stack for building hosting services, written in C.
waitress
- Multi-threaded, powers Pyramid.
werkzeug
- A WSGI utility library for Python that powers Flask and can easily be embedded into your own projects.
Web Asset Management
Tools for managing, compressing and minifying website assets.
django-compressor
- Compresses linked and inline JavaScript or CSS into a single cached file.
django-pipeline
- An asset packaging library for Django.
django-storages
- A collection of custom storage back ends for Django.
fanstatic
- Packages, optimizes, and serves static file dependencies as Python packages.
fileconveyor
- A daemon to detect and sync files to CDNs, S3 and FTP.
flask-assets
- Helps you integrate webassets into your Flask app.
webassets
- Bundles, optimizes, and manages unique cache-busting URLs for static resources.
Web Content Extracting
Libraries for extracting web contents.
html2text
- Convert HTML to Markdown-formatted text.
lassie
- Web Content Retrieval for Humans.
micawber
- A small library for extracting rich content from URLs.
newspaper
- News extraction, article extraction and content curation in Python.
python-readability
- Fast Python port of arc90's readability tool.
requests-html
- Pythonic HTML Parsing for Humans.
sumy
- A module for automatic summarization of text documents and HTML pages.
textract
- Extract text from any document, Word, PowerPoint, PDFs, etc.
toapi
- Every web site provides APIs.
Web Crawling
Libraries to automate web scraping.
cola
- A distributed crawling framework.
feedparser
- Universal feed parser.
grab
- Site scraping framework.
MechanicalSoup
- A Python library for automating interaction with websites.
pyspider
- A powerful spider system.
robobrowser
- A simple, Pythonic library for browsing the web without a standalone web browser.
scrapy
- A fast high-level screen scraping and web crawling framework.
portia
- Visual scraping for Scrapy.
Web Frameworks
Full stack web frameworks.
Django
- The most popular web framework in Python.
awesome-django
Flask
- A microframework for Python.
awesome-flask
Masonite
- The modern and developer centric Python web framework.
Pyramid
- A small, fast, down-to-earth, open source Python web framework.
awesome-pyramid
Sanic
- Web server that's written to go fast.
Vibora
- Fast, efficient and asynchronous Web framework inspired by Flask.
Tornado
- A Web framework and asynchronous networking library.
WebSocket
Libraries for working with WebSocket.
autobahn-python
- WebSocket & WAMP for Python on Twisted and
asyncio
.
crossbar
- Open-source Unified Application Router (Websocket & WAMP for Python on Autobahn).
django-channels
- Developer-friendly asynchrony for Django.
django-socketio
- WebSockets for Django.
WebSocket-for-Python
- WebSocket client and server library for Python 2 and 3 as well as PyPy.
Services
Online tools and APIs to simplify development.
Continuous Integration
Also see
awesome-CIandCD
.
CircleCI
- A CI service that can run very fast parallel testing.
Travis CI
- A popular CI service for your open source and
private
projects. (GitHub only)
Vexor CI
- A continuous integration tool for private apps with pay-per-minute billing model.
Wercker
- A Docker-based platform for building and deploying applications and microservices.
Code Quality
Codacy
- Automated Code Review to ship better code, faster.
Codecov
- Code coverage dashboard.
CodeFactor
- Automated Code Review for Git.
Landscape
- Hosted continuous Python code metrics.
PEP 8 Speaks
- GitHub integration to review code style.
Resources
Where to discover new Python libraries.
原文:
https://github.com/vinta/awesome-python
讨论:请加入知识星球或者小红圈【首席架构师圈】
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.
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.
GTrack
- Lightweight Objective-C wrapper around the Google Analytics for iOS SDK with some extra goodies.
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.
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.
LightRoute
- Easy transition between VIPER modules, implemented on pure Swift.
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 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
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.
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!!1 ? ✨✨✨✨✨
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]
and
guard
statements 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.
Color
Hex color extensions, theming, color pickers and other awesome color tools.
DynamicColor
- Yet another extension to manipulate colors easily in Swift. [e]
SwiftHEXColors
- HEX color handling as an extension for UIColor. [e]
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.
Colorify
- Simple, yet powerful color library that includes latest and most trendy colors from 2017.
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.
Command Line
Smart, beauftil 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.
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. Built with Swift and runs on iOS, OSX, and Linux.
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. Swift flavour.
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.
Records
- In just a few minutes, setup a fully functioning CoreData implementation that embraces the static, type-safe nature of 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.
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. [e]
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
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. (NTP library for Swift) .
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. [e]
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.
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. [e]
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. [e]
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.
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 [Swift / iOS]
Sensitive
- Fresh look at work with gestures in Swift.
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 -- Now in Swift!
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, written in Swift and maintained by Asana
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.
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 :largeorangediamond:
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.
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, powered by Swift.
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. [e]
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.
Anchors
- Declarative, extensible, powerful Auto Layout for iOS 8+ and macOS 10.10+
PinLayout
- Fast Swift Views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. [iOS/macOS/tvOS] ?
SnapLayout
- Concise Auto Layout API to chain programmatic constraints while easily updating existing constraints. [e]
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. Developed and maintained by Facebook.
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. [iOS] ?
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.
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 & release in Swift 2 & 3
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! [e]
Loggerithm
- A lightweight Swift logger, uses
print
in development and
NSLog
in 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 for iOS 10 and Swift 3.0
TinyConsole
- A tiny log console to display information while using your iOS app. Written in Swift 3.
Lighty
- Easy to use and lightweight logger for iOS, macOS, tvOS, watchOS and Linux with Swift 3.
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.
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.
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.
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 and completely written in Swift
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.
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 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. [e]
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. [e]
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.
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.
webrtc
- Provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs.
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. [e]
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. [e]
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
LayerKit
- iOS SDK for Layer, the easiest way to add in-app messaging (text, photos, videos, data) to any mobile or web application.
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
Atlas
- A library of native iOS messaging user interface components for Layer.
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.
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).
PerfectAPIClient
- An API Client based on a network abstraction layer for the Perfect Server-Side Swift Framework
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.
Email
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, written in Swift
JSONRPCKit
- A JSON-RPC 2.0 library purely written in Swift
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
CSwiftV
- A csv parser written in swift conforming to rfc4180
CSV.swift
- CSV reading and writing library written in Swift.
JSON-Framework
- 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.
Cereal
- Swift object serialization
SwiftyJSONAccelerator
- Generate Swift 5 model files from JSON with Codeable support.
JSONCodable
- Hassle-free JSON encoding and decoding in Swift
Tailor
- A super fast & convenient object mapper tailored for your needs.
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
AlamofireJsonToObjects
- An Alamofire extension which converts JSON response data into swift objects using EVReflection
Jay
- Pure-Swift JSON parser & formatter. Linux & macOS ready.
YYModel
- High performance model framework for iOS/macOS.
Alembic
- Functional JSON parsing, mapping to objects, and serialize to JSON
Wrap
- The easy to use Swift JSON encoder
Arrow ?
- Elegant JSON Parsing in Swift.
Decodable
- Swift 2/3 JSON parsing done (more) right
Genome
- A simple, type safe, failure driven mapping library for serializing JSON to models in Swift 3.0 (Supports Linux)
Unbox
- The easy to use Swift JSON decoder
JSONJoy-Swift
- Convert JSON to Swift objects.
LazyObject
- Lazily deserialize JSON into strongly typed Swift objects
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
GuardedSwiftyJSON
- An add-on to SwiftyJSON to make it easier to create failable initializers for data models.
JAYSON
- Strict and Scalable JSON library.
HandyJSON
- A handy swift JSON-object serialization/deserialization library for swift 2.x/3.x.
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.
MagicMapper
- ? Super light and easy automatic JSON to model mapper.
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!
json-swift
- A basic library for working with JSON in Swift.
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
AlamofireXmlToObjects
- Fetch a XML feed and parse it into objects
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
Codable
protocols.
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.
SwiftyConfiguration
- Modern Swift API for Plist.
JSONFeed
- Swift parser for JSON Feed, a format similar to RSS and Atom but in JSON.
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.
Permissions
Proposer
- Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location).
ICanHas
- Simplifies iOS user permission requests (Supports location, push notifications, camera, contacts, calendar, photos).
VWWPermissionKit
- A visual permission manager for iOS.
ISHPermissionKit
- A unified way for iOS apps to request user permissions.
JLPermissions
- An iOS pre-permissions utility that lets developers ask users on their own dialog for calendar, contacts, location, photos, reminders, twitter, push notifications and more, before making the system-based permission request.
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.
SPPermission
- Request permissions with dialog. Check state any permissions.
Products
Import.io
- Instantly Turn Web Pages into Data.
Tapglue
- Build social products and a activity feed with a few lines of code.
OpenShop.io
- mobile e-commerce solution connected to Facebook Ads and Google.
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.
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.
Komponents ?
- React-inspired UIKit Components.
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.
Official
Spotify
Spotify iOS SDK.
SpotifyLogin
Spotify SDK Login in Swift.
Facebook
Facebook iOS SDK.
Facebook Swift
Integrate your iOS apps in Swift with Facebook Platform.
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.
Adobe Creative SDK
Adobe creative tools and Creative Cloud SDK.
Dropbox
SDKs for Drop-ins and Dropbox Core API.
Fabric by Twitter
Fabric Twitter Kit for iOS.
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).
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
-
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
- ? 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.
? Vault
- Simple and Secure container for passwords and other sensitive data
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.
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.
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.
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. [e]
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.[e]
Smile
? Emoji in Swift
ISO8601
Super lightweight ISO8601 Date Formatter in Swift [e]
Translucid
- Lightweight library to set an Image as text background. Written in swift.
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.
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
- ? iOS UI Automation Test Framework.
UI Testing Cheat Sheet
- How do I test this with UI Testing?
Floater_
- Add a floating fingertip to your app demo
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
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. @buildasaur
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.
FlatUIKit
- A collection of awesome flat UI components for iOS.
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.
SAHistoryNavigationViewController
- SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible.
iCarousel
- A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS.
tapkulibrary
- tap + haiku = tapku, a well crafted open source iOS framework.
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
EXTView
- Extended UIView for Interface Builder by using IB_DESIGNABLE and IBInspectable.
BEMCheckBox
- Tasteful Checkbox for iOS. (Check box)
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
BothamUI
- Model View Presenter Framework written in Swift.
APCustomBlurView
- A subclass of UIVisualEffectView with customizable blur radius.
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.
APAddressBook
- Easy access to iOS address book
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.
PeekPop
- Backwards-compatible Peek and Pop.
EPSignature
- Signature component for iOS in Swift
CoreDragon
- [iOS] Stop using context menus. Drag and drop instead, even between apps!
EVFaceTracker
- Calculate the distance and angle of your device with regards to your face.
Fashion
- Fashion accessories and beauty tools to share and reuse UI styles in a Swifty way.
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.
Ripple
- Remember there's no such thing as a small act of kindness. Every act creates a ripple with no logical end.
ScalePicker
- Generic scale and a handy float-value picker for any iOS app.
VisualEffectView
- UIVisualEffectView subclass with tint color.
Cacao
- Pure Swift Cross-platform UIKit (Cocoa Touch) implementation (Supports Linux)
StateView
- Views that automatically update themselves.
JDFlipNumberView
- Representing analog flip numbers like airport/trainstation displays.
ISTimeline
- Simple timeline view written in Swift 2.2
JFCardSelectionViewController
- A fancy collection style view controller
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 7+
FDStackView
- Use UIStackView directly in iOS6+
YangMingShan
- YangMingShan is a collection of iOS UI components that we created while building Yahoo apps.
nui
- Style iOS apps with a stylesheet, similar to CSS
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.
StyleKit
- StyleKit is a microframework that enables you to style your applications using a simple JSON file.
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
ASBubbleDrag
- round icon drag control (made in swift) dock style
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
MRArticleViewController
- Easily create UIViewControllers for news articles similar to those in the News app.
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.
RKMultiUnitRuler
- Simple customizable ruler control that supports multiple units.
FAQView
- An easy to use FAQ view for iOS written in Swift.
OXPatternLock
- An iOS pattern lock like Android authentication 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.
PanelKit
- A UI framework that enables panels on iOS.
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 written in Swift3.
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.
TKRubberIndicator
- Rubber Indicator in Swift
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 written in Swift 2.0.
STLoadingGroup
- loading views
ALThreeCircleSpinner
- A pulsing spinner view written in swift
MHRadialProgressView
- iOS 7 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. [e]
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.
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.
Canvas
- Animate in Xcode without code
http://canvaspod.io
Fluent
- Swift animation made easy
Cheetah
- Easy animation library on iOS with Swift2.
RadialLayer
- Animation for clickable elements (similar to Youtube Music).
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
- ? 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
Keyframes
- A library for converting Adobe AE shape based animations to a data format and play it back on Android and iOS devices.
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.
Overlap
- Tiny iOS library to achieve overlap visual effect.
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.
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
- Supercharged transition engine for iOS. Build your custom view transitions with no code at all. Inspired by Keynote's Magic Move.
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.
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
- Show a workflow of view controllers as an action sheet. Very light weight. No configuration needed.
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.
Badge
MIBadgeButton
- Notification badge for UIButtons.
EasyNotificationBadge
- UIView extension that adds a notification badge. [e]
Sheriff
- Add badges to anything.
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
- ❤️ 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.
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.
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.
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 pure 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.
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).
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.
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.
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
- ? UIDatePicker modally presented with iOS 7 custom transitions.
CountryPicker
- ? 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.
Popup
PopupKit
- A simple and flexible class for presenting custom views as a popup in iOS and tvOS, maintained from
KLCPopup
.
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.
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
- Highly scalable, custom, multi-style refresh framework.
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
- ? 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.
Rotary
- A customisable rotary wheel composed of selectable segments.
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.
DGRunkeeperSwitch
- Runkeeper design switch control (two part segment control)
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
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
- ? 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. CollectionView, 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.
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.[e]
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
enabled
property 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. it's written with Swift.
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.
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.
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
- ? How Swift standard types and classes were supposed to work. [e]
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
, and
NSDateComponents
.
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. [e]
Then
- ✨ Super sweet syntactic sugar for Swift initializers. [e]
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) [e]
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. [e]
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
try
to sometimes try a little harder? Meet
retry
.
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 [e]
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 [e]
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.
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.
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
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 ?.
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. [e]
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.
Localizations
- macOS app that manages localizations of Xcode projects.
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
.ipa
file.
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.
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 (Objective-C & Swift).
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).
HockeyApp
- With HockeyApp, you can distribute beta versions of your app, collect live crash reports, get feedback from users, and analyze test coverage.
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.
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.
iRate
- A handy class that prompts users of your iPhone or Mac App Store app to rate your application after using it for a while. Similar to Appirater, but with a simpler, cleaner interface and automatic support for iOS fast application switching.
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.
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.
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
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
iOS Cookies
- A hand curated collection of iOS libraries written in Swift
Feeds for iOS Developer
- The list of RSS feeds for iOS developers.
iOS10 day-by-day
Cocoa Controls
- Open source UI components for iOS and macOS.
UIKit references
iOS Fonts
UIAppearance list
Forums and discuss lists
"iOS" on Stackoverflow
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
iOS UI Template
iOS UI Design Kit
iOS Design Guidelines
iOS GUI by Facebook Design Resources
Prototyping
FluidUI
Proto.io
Framer
Principle
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.
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
Twitter
@objcio
@CocoaPods
@CocoaPodsFeed
@RubyMotion
Facebook Groups
HH iOS
Sketch - Official group
Design-Code
Sketch-Design.io
Origami Community
Framer JS
Podcasts
The Ray Wenderlich Podcast
Debug
App Story
Mobile Couch
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, Joe Conway
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
@ameizi
- A curated list of awesome iOS animation, including Objective-C and Swift libraries.
@jzau
- Collection of Animation projects
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
Vue.js資料まとめ(for japanese)
by @hashrock
Vue.js Newsletter
- Weekly dose of handpicked Vue.js news
Vue.js Tips
- Tips to become a better Vue.js developer
Vue.js Wikipedia
Vue.js Radar
- Curated newsletter + site covering new Vue.js releases/contributions.
Vue News
- Social website focusing on the latest Vue.js news and information.
Vue Curated Resources
- Recommended Vue.js courses and tutorials.
BuiltForVue
- NPM Mirror of all Vue.js components and packages.
Vue School
- Learn Vue.js from video courses by core members and industry experts
VueDose
. Tips & tricks about the Vue ecosystem, for busy devs.
Vuelibs
. A minimalistic list of Vue.js libraries and components based on the awesome-vue repo.
Job Portal
Vue.js Jobs - VueJobs
- A Vue.js job portal to hire or get hired for all your Vue.js jobs.
Vue.js Interview Questions
- A List of 300 VueJS Interview Questions and Answers
Community
Twitter
Official Forum
vue-requests
- Request a Vue.js module you wish existed or get ideas for modules
VueJS Iran - Telegram Channel & group (group link available in channel bio)
vueslack - 2300+ registered users worldwide
Vue Land - Discord chat server
VueJS Russia - Telegram Group [Russian]
VueJS Viet Nam - Facebook group
VueJS Spanish - Slack Group
VueJS Korean - Slack Group
VueJS Thailand - Facebook Group
VueJS Brasil - Telegram Group [Portuguese]
VueJS Brasil - Facebook Page [Portuguese]
VueJS Brasil - Facebook Group [Portuguese]
VueJS en español - Facebook Group [Spanish]
VueJS India ?? - Discord chat server
VueJS Indonesia - Telegram Group [Indonesian]
VueJS Hong Kong - Facebook group
VueJS Arab - Telegram Group
VueJS Vix - Telegram Group [Portuguese]
VueJS Vix - Meetup Page [Portuguese]
VueJS Norway - Meetup
VueJS Israel ?? - Facebook Page
VueJS Finland - Meetup
VueJS Finland - Facebook Page
Hablemos de Vue.js - Telegram Group [Castellano]
Conferences
VueConf
Vue.js London
VueConf US
VueConf Toronto
Podcasts
Full Stack Radio #30 (11-23-2015)
JavaScript Jabber #187 (11-25-2015)
Changelog #184 (11-27-2015)
Software Engineering Daily (12-29-2015)
JavaScript Air 016 (03-30-2016)
Codecasts #2 - Falando Sobre Vuejs e Web Components (2016-08-19) [pt-BR]
Full Stack Radio #50 (09-21-2016)
和 Vue.js 框架的作者聊聊前端框架开发背后的故事 [zh-CN]
MW S04E08 - Vue.js with Evan You and Sarah Drasner (04-27-2017)
Request For Commits #12 - Crowdfunding Open Source (Vue.js) (06-15-2017)
The Web Platform Podcast 132: Vue.js (07-27-2017)
JavaScript Jabber #276 with Maximilian Schwarzmüller (08-29-2017)
Animating VueJS with Sarah Drasner(Software Engineering Daily 01-12-2017)
Views on Vue (weekly podcast on Vue started 03-06-2018)
The Official Vue.js News Podcast
Vue podcast list via The QIT Tech Podcast Indexer
DNE 138 - Vale a pena VueJS? (01-05-2018)
Cynical Developer #99 (10-15-2018)
Syntax #130 (03-27-2019)
Youtube Channels
VueNYC
VueConf EU
Official Examples
Basic Examples
Vue.js TodoMVC
CoffeeScript Version
Vue.js HackerNews Clone
Vue.js 2.0 HackerNews Clone
Tutorials
Vue.js screencasts
on Laracasts
Vuejs 2 Authentication Tutorial
on Auth0 blog
Create a GitHub File Explorer Using Vue.js
on Scotch.io
Vue.js Tutorial
on Vegibit
Vue.js build set-up from scratch with webpack, vue-loader and hot reload
Vuex basics: Tutorial and explanation
Vuex introduction video - James Browne from London Vue.js Meetup #1
Vue.js 中文系列视频教程
on Laravist
Develop a Reactive Invoice App using Vue.js
on craigmckenna.com
Hybrid App Example with Laravel and Vue.js in Portuguese
by @vedovelli
Vue.js Introduction Turkish Language
on oguzhan.in
Vue.js VideoTutoral Series in Spanish (3-8-2016)
on YouTube by Juan Andrés Núñez
Vue.js Screencast Series in Spanish
on Styde.net
讲解Vue.js 官网 中文-含代码、百度云、youtube
on bhnddowinf
Exploring Real Time Apps with VueJS, ES2015 and Webpack
on Pusher
Vue.js in Bahasa Indonesia
on sekolahkoding.com
Vue.js from Scratch Series in Russian
on YouTube by .dev
Створення сервісу для зберігання файлів з Flask, RethinkDB та Vue.js, ч. 1
Ukraine
VueJS 2 French tutorial
Français par Grafikart
Jayway Vue.js 2 workshop. Build an e-commerce site with vue-router, vuex and vue-resource
How to Create Great VueJS Applications Using Wijmo Controls
讲解Vue.js 2 官网 中文-含代码、百度云、youtube
on bhnddowinf
Vue.js Cheatsheet: Server-side Applications, Router, Vuex Store, GraphQL and more
by
@xpepermint
Medium like Image Loading with Vue.js
How to Use Vuex in a Laravel Spark Project
on
Metric Loop
How To Set Up Modules in Vuex
on
Metric Loop
Learn Vue 2: Step By Step
on Laracasts
Vue.js 中文教程
Up and Running with the Vue.js 2.0 Framework
on SitePoint
How to make API Calls with Vuex
on
Metric Loop
How to Use Vuex to Build a Feature
on
Metric Loop
Vue.js 2.0 Fundamentals
on YouTube by DevMarketer
Vuex For The Clueless — The Missing Primer On Vue’s Application Data Store
Real-time Grid Component Laravel, Vue.js, Vuex & Socket.io
VueJS 2 - The Complete Guide (incl. Vuex) - Udemy Tutorial
Develop Web Apps with Vue.js
on
egghead.io
Vue.js 2 - Getting Started
Vue.js 2 & Vuex (Basics)
Türkçe VueJS Eğitim Videoları
on YouTube by
Fatih Acet
Building a JSON Tree View Component in Vue.js from Scratch in Six Steps
on
digimondo devblog
by
Arvid Kahl
Let's Vue! - OpenLecture 2017.01 in Russian
on YouTube by Illya Klymov (
@xanf
)
Bootstrapping your first Vue.js application using vue-cli
by
@afropolymath
Build vue-hackernews-2.0 from Scratch
by
@ Detachment
Role Based Authorization for your Vue.js and Nuxt.js Applications Using vue-kindergarten
Complete Vue.js Application Tutorial - Creating a Simple Budgeting App with Vue
by
@matthiaswh
Vue.js Tutorial: A Prerendered, SEO-Friendly Example
Vue.js Introduction For People Who Know Just Enough jQuery To Get By
Fetching Data from a Third-Party API with Vue.js and Axios
Fun Projects with Vue 2 (Video)
by Peter van Meijgaard, Packt. (April 2017)
Vue JS: Simultaneously Running Express and Webpack Dev Server
on Medium by Henrik Fogelberg
Vue JS 2 Tutorials
on Youtube by
The Net Ninja
Add a headless CMS to VueJs in 5 Minutes
vue 架构中的 Watcher
Building Your First App With Vue.js
5 Practical Examples For Learning Vue.js
Migrating from KnockoutJS to VueJS
by
@jesalg
Create a quiz with Vue.js
by
@rap2h
Vue.js: Getting Started
by
@chadcampbell
Vue.js 2 & Firebase - Building Real Time Single Page Web Applications
Vue.js 2 & Vue-Resource - Real-World Application With External API Access
Interactive Vue.js Screencasts For Beginners
Vue.JS ile NASA API'ını Kullanarak Veri Çekme
on YouTube by
Ali GÖREN
Web development with Vue.js 2 (Video)
by Olga Filipova, Packt. (June 2017)
Build a realtime chart with VueJS and Pusher
Intro to Vue, repo for Frontend Masters Course
Vue Guide on CSS-Tricks
Using Typescript in your VueJS app
Vue.js视频系列,免费、入门、实战
on nodelover
Vue.js 预览
on ninghao.net
Vue.js: Development Machine Setup
by
@chadcampbell
Building a Vue v2 JS app using Vue-router
by
@mikestreety
Build your own carousel with Vue
by
@Atom_Hernandez
Unit Testing Vue.js Components with the Official Vue Testing Tools and Jest
by
@alexjoverm
Creating Vue.js Transitions & Animation: Live Examples
by
@udyuxdev
Creating Custom Vue.js Plugins
Async in VueJS part 1
Async in VueJS part 2
Using localStorage with Vuex store without a plugin
by
@mikestreety
Using props for accessing URL parameters within components with Vue Router
by
@mikestreety
Deploy Vue.js — SSR(Vuetify) on Production with Pm2 and Nginx
Testing Vue Components
on
laracast
Building a Full Stack Web App with Vue.js and Express.js
by
@CodyLSeibert
Vue.js 2 Recipes (Video)
by Peter van Meijgaard, Packt. (September 2017)
Getting Started with Vue.js
on
Sabe.io
Building Your First Advanced CRUD Application with Vue 2 (Video)
by Peter van Meijgaard, Packt. (July 2017)
프론트엔드 개발자를 위한 Vue.js 입문서
누구나 다루기 쉬운 Vue.js (Video)
on
Inflearn
by
Captain Pangyo
Build a Vue.js Blog in 2 hours tops
on
Snipcart
Getting Started with VueJS 2
by Sachin Bhatnagar
@sachinbee
on
Udemy
Getting Started with Vuex: Managing State in Vue.js
on
Sabe.io
Vue2 ACL using CASL
by Sergii Stotskyi
JavaScript Choice Made Easy - Angular v. React v. Vue (Video)
by Daniel Kmak, Packt. (November 2017)
Vuejs 2.5+ Authentication Tutorial using Auth0
on Storyblok blog
GraphCMS beginners guide with Vue
on GraphCMS
Vue.js debugging in Chrome and VS Code
This recipe shows how to use the Debugger for Chrome extension with VS Code to debug Vue.js applications generated by the Vue CLI.
Getting Started with Vue JS 2 (Video)
by Sachin Bhatnagar, Packt. (January 2018)
Building a movie app interface with Vue.js
by Hassan Djirdeh,
@djirdehh
Let’s Build a Custom Vue.js Router
by Hassan Djirdeh,
@djirdehh
Getting started with Vue, Webpack 4 & Babel
by Bjorn Krols,
@KrolsBjorn
How to add Bootstrap 4 to your Vue project
by Bjorn Krols,
@KrolsBjorn
How to add Semantic UI to your Vue project
by Bjorn Krols,
@KrolsBjorn
How to add ESLint to your Vue project
by Bjorn Krols,
@KrolsBjorn
How to make content dynamic via URL query parameters in Vue
by Bjorn Krols,
@KrolsBjorn
How to enable history mode for AWS S3 hosted Vue applications
by Bjorn Krols,
@KrolsBjorn
A basic introduction to debugging Vue applications using breakpoints
by Bjorn Krols,
@KrolsBjorn
Build a Vue.Js E-Commerce App with ButterCMS Headless Backend
MASTER VUE.JS
Build a voting application with Go and Vue.js
Build a collaborative painting app using Vue.js
Build a realtime payment dashboard with Stripe
Build a cryptocurrency tracker using Vue.js
Build a design feedback app using Vue.js
Developing a Single Page App with Flask and Vue.js
Accepting Payments with Stripe, Vue.js, and Flask
API Driven Development With Laravel and VueJS (Free Course)
on serversideup.net
Managing State in Vue.js
by Hassan Djirdeh,
@djirdehh
Real World Projects with Vue.js
by Daniel Khalil, Packt. (August 2018)
Heartbeat (Vue + NW.js Video series)
by
@ackzell
(2017 - 2018)
Firebase Server-Side Render Vue Apps with Nuxt.js (Server-side Rendering with JavaScript Frameworks)
Firebase Measuring Vue SSR Performance with Nuxt.js (Server-side Rendering with JavaScript Frameworks)
Creating an interactive map with D3 and Vue
(October 2018)
The guide to write universal, SSR-ready Vue components
Vue.js Fundamentals
by
Vue School
Vuex for Everyone
by
Vue School
Vue.js Form Validation
by
Vue School
The Vue.js Master Class
by
Vue School
Vue.js Firebase Realtime Database
by
Vue School
Vue.js Firebase Authentication
by
Vue School
Dynamic Forms with Vue.js
by
Vue School
Custom Vue.js Directives
by
Vue School
Vue.js Application Development Essentials
by Bartłomiej Potaczek, Packt. (October 2018)
Troubleshooting Vue.js
by Christian Hur, Packt. (October 2018)
Nuxt.js - Vue.js on Steroids
by Maximilian Schwarzmüller, Packt. (October 2018)
Building an Electron File Explorer with Quasar (and Vue)
by
@hawkeye64
. (November 2018)
Build Web Apps with Vue JS 2 & Firebase
on
Udemy
by
the Net Ninja
Vue JS 2 - The Complete Guide (incl. Vue Router & Vuex)
on
Udemy
by Maximilian Schwarzmüller
SPA Application using Vue.js, Vuex, Vuetify, and Firebase (Part 1)
by Jennifer Bland
@ratracegrad
. (November 2018)
SPA Application using Vue.js, Vuex, Vuetify, and Firebase (Part 2)
by Jennifer Bland
@ratracegrad
. (November 2018)
SPA Application using Vue.js, Vuex, Vuetify, and Firebase (Part 3)
by Jennifer Bland
@ratracegrad
. (November 2018)
SPA Application using Vue.js, Vuex, Vuetify, and Firebase (Part 4)
by Jennifer Bland
@ratracegrad
. (November 2018)
Adding Internationalization to a Vue Application
by Jennifer Bland
@ratracegrad
. (November 2018)
Practical Projects with Vue JS 2
by Jack Herrington, Packt. (December 2018)
Vue.js 기초 다지기 (Video)
on
Lessipe
by
Lessipe
Full Stack Web Development with Vue.js and Node.js
by Haider Rehman, Packt. (January 2019)
Vue for Designers
by Design+Code (February 2019)
Vue Introduction in Turkish
by
Talat Tufekci
Data pulling using Vue-Resource in Turkish
by
Talat Tufekci
Spa Application using Vue-router in Turkish
by
Talat Tufekci
Create Vue Projects using Vue-cli in Turkish
by
Talat Tufekci
Messaging between Vue components and Vuex in Turkish
by
Talat Tufekci
How to Dynamically Add a Class Name in Vue
by Michael Thiessen
Build a Library web application with Vue JS, Node JS, and SQL or MongoDB using ScaffoldHub
By Felipe Lima
@scaffoldhub_io
Building a Realtime Location tracking app with NativeScript + Vue
by Saibbyweb
Examples
Starter Application with JWT Auth + sample backend API in Laravel
Node Webkit + Vue example
by @brandonjpierce
Vue Samples
by @superlloyd
HackerNews clone with vue.js + vue-router
by @kazupon
Electron + Vue example
by @bradstewart
Single page application example (Vue + Voie)
by
Boris Okunskiy
Begin - Task Manager SPA written in Vue + Lumen
by
Raj Abishek
Vue Mini Shop
by
BosNaufal
Vue SoundCloud
by
mul14
Feature Requests (Laravel + Vue Combo)
by
haydenbbickerton
Vue Cookbook (Vue1.0 + express)
by
@yjj5855
: A demo first screen rendering of a service
Strong Together
- A starter project to build single page Vue.js apps as stand-alone or for Laravel / Laravel Spark projects, based on Browserify and Semantic-ui) by
WebSemantics
vuetest: an ad admin web with user auth, bootstrap ui, uploader, WYSIWYG editor in iframe
vue-shopping
by
andylei18
Vue-cnodejs,060
by
@shinygang
vue-zhihu-daily
by
hilongjw
VueChess
-Multiplayer online chess game by
gustaYo
Ngexplorer-vuejs-client
-Vue client for
Ngexplorer
by
gustaYo
Vue 2048 (Vue + Webpack)
by
@pengfu
: Popular 2048-Game implemented using Vue,Webpack,Sass,ES6
Vue Simple PWA
by
BosNaufal
Tour of Heroes (Vue 2.0)
: A Vue 2.0 port of the Angular 2.0
Tour of Heroes
demo app. Highlights: ES6/7, render functions, JSX,
revue
(redux bindings for Vue),
vue-router
,
Airbnb eslint
, webpack. by
@aweber1
vue-table-pagination
A table with pagination by
echovic
Feathers and Vue 2.0 Blog Admin Demo
Demo for using Feathers with Vue 2.0. It includes authentication, vue-router, vue-infinite-loading and roles by
delay
vue-zhihudaily-2.0
Zhihudaily demo built with Vue 2.0, vue-router & vuex, with server-side rendering. by
cs1707
vue-demo-todolist
a simply vue2.0 demo built with Vue 2.0, vue-cli. by
fishenal
vue-AdminLte
by
liujians
Vue(2.0) + Node.js: A blog content manage system (CMS)
by @ycwalker
ngexplorer-quasar
-Implementation of
Ngexplorer
with
quasar framework
by
gustaYo
zhihu-daily-vue
a zhihu daily base on vue2.0 by
moonou
loopback-vue
loopback+vue+vue-resource,ionic-app,vue page分页功能,authenticate 权限控制,accesstoken机制,credentials,CI,docker
qxl1231
vue-s3-dropzone
A Vue.js drag-and-drop component uploads files to AWS S3 serverlessly
easy-vue
a easy example using the vue to implement easy web with vue 2.0, vuex 2.0, vue-router 2.0, vue-infinite-scroll 2.0, vue-progressbar 2.0 by
TIGERB
Vuex Events Messaging Demo
by
Metric Loop
vue-memo
a simple demo build with Vue.js(>2.x.), vue-router(>2.x.), vuex(>2.x.), vuex-router-sync@next(>3.x.) and Firebase(>3.6.x) by
akifo
Resume Vue
JSON based Resume based on Vue 2.0 by
ChangJoo Park
App example with JWT Authentication
developed with
Phoenix Framework
,
Vue
and
Vue Router
(
demo
) by
@Angarsk8
Sample CRUD app with router in Vue 2.0
by
@shershen08
ASP.NET Core Vue.js server-side rendering sample
by
@mgyongyosi
vuefire-quickstart
- Documented Firebase integration w/ webpack and eslint, by
@sejr
.
hello-vue-django
Vue.js and Django integration starter project with hot code reload
Real Time Social News App
developed with
Phoenix
,
Vue
,
Vue Router
and
Vuex
(
demo
) by
@Angarsk8
vue-calculator
a simply calculator built with Vue 2.0, vue-cli(webpack-simple). by
CaiYiLiang
Wikipedia-viewer
A simple wikipedia-viewer page built with vue2.x ,vue-router,vue-cli(webpack-simple) and ajax(jsonp). by
CaiYiLiang
vue2.x-douban
A simple of douban movie build with vue2.x,vue-router and axios(豆瓣电影). by
Superman
vue-laravel-example
Vue - Laravel - Example is a simple example to set Vue with Laravel. by
Jiajian Chan
vue-foundation
A demo app integrating VueJS with
Zurb Foundation
, built using the webpack vue-cli f
aspnetcore-Vue-starter
A VueJS 2 starter template as part of an asp.net MVC dotnetcore project. This template includes the VueJS client app and a backend API controller.
vue-reddit-app
A Reddit SPA
demo
built with
Vue 2.X
,
Vue Router 2
,
Vuex
and
axios
. Using Muse-UI and vue-cli webpack template by
@yujiahaol68
vue-music-qq
A qq-music project is based on vue-cli. The pages are simple and smooth
NavigationTab with Vue-Redux and Plain VueJSX
Navigation Tab with both plain Vue JSX and Vue + Redux Binding
Veggie Map
An interactive demo using Vuejs + Vue router + Leaflet and Firebase
vuejs-d3
examples how to use d3 for visualisations.
vue-twitter-client
A Twitter Client App build with Vue 2.X, Vuex, electron-vue and Electron
Douban
Awesome douban Example created with
Vue2.x
+
Vuex
+
Vue-router
+
vue-resource
. by
jeneser
Storyblok vuejs-boilerplate
- Integrates Storyblok's Component System, allows to create editable Websites.
Vuexpresso
- A boilerplate using VueX, Vue-Router, Vue-Apollo, webpack, GraphQL, Apollo-client, express and mongo
Vue.js with Sails.js example project
- This project is for those who are new to single-page applications and want to learn through a real example.
Vue.js & Pyramid web framework app
- A boilerplate using Pylons Pyramid webframework backend Vuejs webpack2, vue-router, yarn(packet manager)
vue-feathers-chat
A sample realtime chat made with Vue in frontend and Feathers in backend, but using just Socket.IO-Client for the communication
vue-xplan
A rotating earth demo page created with Vue and three.js
vueSocketChatRoom
A socket chat room using vue2.x,vuex2.x,vue-router2.x,vux2.x,socket.io
vue-tetris (Use Vue, Vuex, Immutable to code Tetris)
by
@Binaryify
: Use Vue, Vuex, Immutable to code Tetris.
route-planner-vue
by
@Kasheftin
: The tool for planning routes with multiple sortable layers, draggable directions, markers and shapes on google map.
MyDiary-Vue
A diary application build with Vue 2.X which is also have contact and todolist function
VueJS Example Projects
on Github by
Ali GÖREN
todo-mvc-webpack
by
voluntapear
TodoMVC implementation on Vue 2 using the webpack-basic template with examples showing vuex, vue-router, central event bus and VueFire.
Chess Storybook Example
with Vue 2.0 by
gustaYo
Vue Weather Notifier
A small sample animation app with SVG and Vuex
Nuxt Type
An example Vue project with Nuxt for routing/SSR to demo page transitions
VueBlog
A blog system supporting service side rendering by
wmui
Cinemateka
- An example of SPA made with Vue v1 & Laravel 5. Film & events schedule. Russian comments.
vue-2.x-boilerplate
- A simple and small starter kit for a Vue project Vuex + vue-router
vue-minesweeper
- A deadly simple minesweeper game with vuejs by
rhapsodyn
X-Flowchart-Vue
- A flowchart editor with SVG and Vue by
OXOYO
koa-vue-notes-web
- A fleshed-out SPA using Koa 2.3 on the backend and Vue 2.4 on the frontend. Includes fully featured user-authentication components, CRUD actions for the user's notes, and Vuex store modules.
Vuejs Shopping Cart
- Shopping cart example using Vuejs and Firebase
PokedexVueJs
by @rchung95
vuefire-auth
A Vuefire Vue2-Auth-Email Verification with Firebase
vuefire-realtimedatabase
A Vuefire Vue2-RealtimeDatabaseCRUD with Firebase
vuefire-storage
A Vuefire Vue2-Storage with Firebase
Vue2-PWA-Blog
by @deepak-singh
vue-firebase-auth-vuex
A Vue2 Firebase Authentication with Vuex and support Progressive Web Apps
vue-chart-stater-kit
Quick starter using Vue Router, Vue Chart, Element-UI
vue2.0-demos
using mint-ui, Element-UI,And have Some demos(select city and so on)
conway
Conway's Game of Life in Vue.
vuex-feature-scoped-structure
An example application of the feature scoped vuex application structure
vuex-examples
- Simple Examples on using Vuex to build Real World Apps
vue-vuex-todomvc
- Example TodoMVC Vue.js app with Vuex store and server backend via REST and full set of E2E tests using
Cypress.io
test runner.
vuejs-sqljs-boilerplate
- This is a boilerplate to use both Vue.js and sql.js together
X-WebDesktop-Vue
- The WebDesktop system based on Vue by
OXOYO
vuejs-music-player
- A Vue.js lite music player
Vue.js Best Practices Example Project
- A best practices example project using Vue.js + Vue Router + Vuex + Vuelidate
Vue.js [ONE] client
- [ONE] client written with Vue2.5
Vue.js 2.5 with vue-cli v3 including authentication with auth0
by Dominik Angerer, Storyblok
Skeleton Vue+TypeScript
- TypeScript, VueJS, ElementUI, Vue Router, Vuex, Material Icons, BrowserSync, Dockerfile
PENV Starter
by
@jesalg
- A basic example of how to use VueJS, Express and PostgreSQL in conjunction.
vue-relay-examples
- A collection of example applications using vue-relay.
laravel-vue-boilerplate
- A Laravel 5.5 SPA boilerplate with a users CRUD using Vue.js 2.5, Bootstrap 4, TypeScript, Sass, Pug and Jest.
Vue Design System
- An open source boilerplate for building UI Design Systems with Vue.js.
Vue Bulma Demo
- A simple demo website to check out Bulma / Vue JS & express in conjunction.
Starter application ready for production with TypeScript, vuex, vue-router, HMR and more
vue.js与laravel结合的前后端分离开发模板
- A template website to laravel passport / Vue.JS & Element UI.
Hands-On Web Development with Vue.js
by Roman Kuba, Packt. (May 2018)
Vue Online Shopping Mall
- A online shopping mall SPA demo, 基于VUE开发的前后端分离电子商城前端项目
FUE
- Admin SPA client and server side boilerplate with Vue.js + Vue Router + Vuex + Vuetify + FeathersJS
Vue + TypeScript Cookbook
- A small cookbook covering some less-than-obvious solutions for people getting started with Vue + TypeScript
Vuejs Examples
ASP.NET Core Vue Starter CLI 3.0
A Vue starter template using Vue CLI 3.0 with custom configuration (default TypeScript, Vue, Router, Vuex, Vuetify) integrated with ASP.NET Core by
@SoftwareAteliers
(September 2018)
vue-soundcloud
A Soundcloud client built with Vue.js 2, by
Soroush Chehresa
vue-cart
A simple shop cart made with vue, vuex and vue router. by
crisgon
Nuxt + Apollo + Element
A Vue.js SSR boilerplate with Nuxt, Element (custom theme) and Vue Apollo.
vue-daily-zhihu
a simple demo build with Vue 2.0 & vue-router & vuex by
walleeeee
charcoal
A starter template using the Vue CLI 3.0 and styled with Bulma by
Seth Davis
Multi-page ASP.NET Core Vue with TypeScript
- Multi-page ASP.NET Core Vue, Typescript, Vuex, Vue router, Bulma, Sass and Jest application. Template/starting point on how to use Vue.js as a multi page(multiple mini spa's) application in .NET Core MVC.
CION
- Design system boilerplate for Vue.js
- A design system build primarily for Vue.js applications. It utilizes design tokens, a living styleguide with integrated code playgrounds and reusable components for common UI tasks.
Vue websockets example
- A basic example of Websockets usage with Vue.js 2 + Node project for full working example.
Vue(2.0) + Node.js: A blog
by @FatDong1
vue-todo-list
ToDo List sample app based on Vue + Vuex + Vuetify + Vee-Validate
Vue.js and Ionic v4 examples
- A set of examples of how to use Ionic v4 with Vue.js
Personal Website that use Vue, Vuex and Vue-Router
- A simple website example that made with vue, vuex and vue-router by
Muratcan Şentürk
Client-Side Vue.js
-
Demo
- Vue.js client-side for tiny, quick-loading, node.js-less Single Page Apps by
Justin Wash
Large scale Vue.js application boilerplate + Vuex
Snake game on Vue.js without Canvas
Build a Vue chat app with CometChat
Books
The Majesty Of Vue.js
by Alex Kyriakidis & Kostas Maniatis, Packt. (Nov 2016)
Learning Vue.js 2
by Olga Filipova, Packt. (Dec 2016)
The Majesty Of Vue.js 2
by Alex Kyriakidis and Kostas Maniatis, Leanpub. (Mar 2017)
Vue.js 2 Cookbook
by Andrea Passaglia, Packt. (May 2017)
Vue.js in Action
by Erik Hanchett and Benjamin Listwon (Spring 2018)
Testing Vue.js Applications
by Edd Yerburgh (Summer 2018)
Vue.js 2 and Bootstrap 4 Web Development
by Olga Filipova, Packt. (September 2017)
Front-end com Vue.js
by Leonardo Vilarinho, Casa do Código. (November 2017)
Vue.js 2 Web Development Projects
by Guillaume Chau, Packt. (November 2017)
Full-Stack Vue.js 2 and Laravel 5
by Anthony Gore, Packt. (December 2017)
Vue.js 2.x by Example
by Mike Street, Packt. (December 2017)
Mastering Vue.js
by Oleksandr Kocherhin. (January 2018)
Fullstack Vue: The Complete Guide to Vue.js
by Hassan Djirdeh, Nate Murray, & Ari Lerner. (March 2018)
Vue.js 2 Design Patterns and Best Practices
by Paul Halliday, Packt. (March 2018)
Vuex Quick Start Guide
by Andrea Koutifaris, Packt. (April 2018)
Full-Stack Web Development with Vue.js and Node
by Aneeta Sharma, Packt. (May 2018)
The Vue Handbook
by Flavio Copes. (July 2018)
ASP.NET Core 2 and Vue.js
by Stuart Ratcliffe, Packt. (July 2018)
Vue.js: Construa aplicações incríveis
by Caio Incau, Casa do Código. (September 2017)
Getting to Know Vue.js
by Brett Nelson, Apress. (August 2018)
Vue: Build & Deploy
by Daniel Schmitz, Leanpub. (September 2018)
Building Applications with Spring 5 and Vue.js 2
by James J. Ye, Packt. (October 2018)
Vue.js Quick Start Guide
by Ajdin Imsirovic, Packt. (October 2018)
Vue.js Component Patterns Course
by Frederik Dietz (April 2019)
Blog Posts
Vue x Hasura GraphQL
Using GraphQL Mutations in Vue.js
Learn How To Build A Data-Driven Search UI with Vue.JS
Using GitLab CI/CD to auto-deploy your Vue.js application to AWS S3
Dockerizing a Vue App
Deploying a Flask and Vue App to Heroku with Docker and Gitlab CI
Large-scale Vuex application structures
by
Kevin Peters
Composing computed properties in Vue.js
by
Kevin Peters
Learn how to refactor Vue.js Single File Components with a real-world example
by
Kevin Peters
Projects Using Vue.js
Open Source
PageKit
- Modular and lightweight CMS built with Symfony components and Vue.js.
npmcharts.com
- Compare npm packages and spot download trends.
Koel
- A personal music streaming server that works.
Raven Reader
- Simple RSS Reader made using atom electron and vue.js.
Gokotta
- A simple music player built by electron and vue.
CoPilot
- An admin portal based on AdminLTE with vue.js integration.
Retrospectify
- A simple tool for doing collaborative retrospectives in agile teams.
jade-press
- Cms based on mongodb, nodejs, koa, vue and more.
astralapp
- Organize Your GitHub Stars With Ease.
EME
- An Elegant Markdown Editor.
Github-explorer
- A spa which can help you check your github in a better way.
Hotel
- Start your dev servers from your browser and get local domains in seconds.
Surfbird
- A Twitter client written with modern web technologies.
Approach0
- A math-aware search engine.
Flox
- Self Hosted Movie, Series and Anime Watch List.
JavaScript Guessing Game
- A game for identifying JavaScript tools and libraries.
vue-ghpages-blog
- A blog based on GitHub pages by Vue.js 2 + Webpack 2.
Vuedo
- Blog platform, built with Laravel and Vue.js.
vue-music163
- A Vue.js project for music.
Tomato5
- Real-time collaboration tool, it combines Pomodoro Technique with a team status share board.
Web Learn
- A service which provides simple access to thousands of video tutorials on web developing and programming.
ExcelJSON
- A tool to convert CSV, TSV to/from JSON.
Materialize-blog
- A material blog built with Laravel5.3 and Vue2.x.
VueCompomnentGenerator
- Generate vue single file component on browser.
SDR News
- News for web designers and developers aggregated from multiple sources (Reddit, Hacker News and Prominent Blogs).
PJ Blog
- Open source blog built with Laravel and Vue.js.
Lulumi-browser
- Lulumi-browser is a light weight browser coded with Vue.js 2 and Electron.
vue-wordpress-pwa
OpenAPI 3 viewer
- Browse and test a REST API described with the OpenAPI 3.0 Specification
Stacer
- Linux System Optimizer and Monitoring
Distrochooser.de
- An orientation guide for Linux beginners
Buka
- EBook Management
Docute
- A framework for writing documentation without build process
pm86
- Production process manager for Node.js apps Websites
vms
- A Vue.js 2.0 Management System
nativescript-vue
- A Vue.js implementation of the NativeScript renderer.
piper
- A drag-and-drop mobile website builder base on Vue.
mmf-blog-vue2
- A blog based on Vue2(Vue-router, Vuex) and Webpack2.
Media Manager
- Web File Manager.
dyu/bookmarks
- A self-contained, self-hosted bookmarking app powered by leveldb, built with Vue2.1.x.
JSON Schema Editor
- An intuitive editor for JSON schema. Develop with Vue.js 2 and Firebase.
npm-stats
- npm package download statistics dashboard
vue2-admin-lte
- a project that converts AdminLTE to work with Vuejs (v2.x).
Dockeron
- A project built on Electron + Vue.js for Docker on desktop.
Flamme
- An open source Tinder desktop client built with electron and Vue.js for educational purposes
Goldfish
- A HashiCorp Vault UI built with VueJS, Golang, and Bulma CSS
Adminify
- An Admin dashboard based on
Vuetify
, check the
Online Demo
promptie
- A framework written in Vue.js for creating command-line like interfaces in web browsers.
Hare
- ? Application boilerplate based on Vue.js 2.x, Koa 2.x, Element-UI and Nuxt.js
Paper-Dashboard
-Creative Tim Paper Dashboard made for Vue
AdminLTE-VueJS2
- An open source project that implements VueJS (v2.x) on AdminLTE.
Material Dashboard
- Creative Tim Material Dashboard made for Vue
Explore-Github
- VueJS 2 Github Explorer Using API v3
CoreUI
- Open Source Admin Template powered by Vue.js
ChuckNorris
- Chuck Norris Jokes Generator built with VueJS + api.chucknorris.io
LeafPlayer
- A simple and fast, privately hosted music streaming server.
JSON Editor
- A schema-aware JSON editor. Develop with Vue2.
Voten
- A Reddit-like platform built with Vue2 and Laravel.
News Weaver
- A web based RSS Reader/Aggregator made using VueJS and VuetifyJS
Wake Up Billie Joe!
- A web site countdown to October, based on Green Day's song Wake me up when September Ends. Created using Vue and Firebase.
Astrum
- A lightweight pattern library designed to be included with any web project.
vue2-pwa-vision
- A Face Detection Google Cloud Vision with Vue2 + Vuetify + Progressive Web App
vue2-pwa-rekognition
- A Face Detection Amazon Rekognition with Vue2 + Vuetify + Progressive Web App
AmmoBin.ca
- meta search site for online ammo prices across Canada
SPA-asp.net-api-vuejs-
- A Vue.js single page application for basic task Management & messaging using ASP .NET Webapi 2 and SQL server
Book-Trading-Club
- Trade or loan books with other book readers in your area. Built using nodejs and vuejs2
vuejs-extension-pack vscode
- An extension packf or vscode with popular VS Code extensions for Vue.js development.
Wiki.js
- A modern, lightweight and powerful wiki app built on NodeJS, Git and Markdown
vue-pwa-speech
- A Speech to text With Google Cloud Speech on Vue2 + Vuetify + Progressive Web App
vue-speech-streaming
- A Performing Streaming Speech Recognition results in real time Speech To Text with Google Cloud Speech + socket.io on Progressive Web App
My Animation List
- A tool to easy get css animation code
vue-input-streaming
- A TextInput Streaming RealTime And Two Way Data Binding Broadcasting with Pusher
TidyTab
- A Chrome extension for tidying up those tabs.
peregrine-cms
- A Vue.js and Apache Sling based head-optional CMS
concept-to-clinic
- Lung cancer prediction project with Vue.js interface
grid-awesome
- Generate boilerplate css for grid layouts using the css display: grid; property.
Light Bootstrap Dashboard
- Creative Tim Light Bootstrap Dashboard made for Vue
Hubaga
- A free and lightweight WordPress eCommerce plugin for developers and other digital shops.
vue-webpack-buefy
- Vue.js starter with full-featured Webpack and Buefy
Coypu
- Text-editor-like weekly planner
core-server
- Highly scalable VueJs framework with an integrated API system, and multiple advanced features.
discord-logo
- A Vue.js animated discord logo generator based on SVGs. (
Github Page
)
node-vue-template
- A starter template for building complete application using Node.js (API) and Vue.js (SPA) with some included packages and configurations to help start the development quickly.
vue-storefront
- Vue.js Storefront - PWA for eCommerce. 100% offline, platform agnostic, headless, Magento2 supported.
fd-vue
- Vue.js client for an IoT framework
wildfire
- A drop-in replacement for other comment plug-ins.
Ride Receipts
- Simple automation desktop app to download and organize your tax invoices from Uber and Lyft.
vue-chrome-extension-boilerplate
- Boilerplate for Chrome extension using Vue.js and Webpack
TimeMark
- A Time manager which will can record your time and some more function will be developed.
Laravel Enso
- SPA Admin Panel built with Bulma, VueJS and Laravel, packing lots of features out of the box.
Code Notes
- A simple code snippet manager for developers built with Electron & Vue.js.
Pomotroid
- Simple, visually-pleasing and customizable Pomodoro timer.
XMR Miner
- Cryptocurrency (XMR) mining app, built with Vue.js and visualized with D3
XMR Paper
- Monero wallet generator, built with Vue.js
JoyProxy
- Chrome extension for handling proxy settings
activity-automation
- Manage daily activities and get reports on timely basis.
jsettlers-web
Popular German board game to build hexes, settlements, cities, roads with earned resources
Tamiat CMS
- Tamiat is a front-end focused CMS, uses Vue.JS as the frontend and integrates with Firebase for the backend functionality.
vuegg
- vue GUI generator: Create mockups and code in one go! It leverages the creation of pages, components and styles with its visual editor. Generate all scaffolding code for your next vuejs project.
Podlove Web Player
- Podcast-optimized, HTML5-based audio player featuring chapters, transcripts and embedding.
Leo Vue
- Use the open source Leo outlining editor/IDE to create webapps with nested menus, with support for Vue components in content.
Justine
- A configurable HTML documentation generator (currently supports JSDoc) using Vue components for the documentation template
Deezer-Vue
- Deezer client built with Vue\Vuex
Vuep.run
- Online SFC editor for Vue
V·oogle
- Google.com, reVued
Pomidorus
- Pomodoro time tracker build using Vue and D3 ?
Hubble
- ? Travel through GitHub Stars' history.
Vuepress
- Minimalistic Vue-powered static site generator
Socialhome
- A federated rich profile builder with social networking features
GenVue
- a hostable, web application that lets confidential users upload and share private files build on Vue.js, Vuetifyjs and NetCore WebAPI stack
vue-array
- Array object operation under Vue, Array object operation under Vue Use this package to manipulate the array. Vue can monitor the changes in the array
Laqu-l
- A complete App starter kit with Quasar Framework, GraphQL API backend with OAUTH 2.0 authentication, Firebase ready, multilanguage capability and more.
Protovue
- A prototyping component library that helps designers and developers quicky scaffold an abstracted app layout.
Chattier
- SPA social network built with Laravel 5.6, Vue.js 2, and Bulma (Buefy components + Bulmaswatch themes). Also uses JWT authentication.
chrome-ribbon-reminder
- A Chrome extension written using Vue and Async/Await. Uses a popup display and changes badge counts.
Faviator
- A simple easy favicon generator.
Modular Genealogy
- Genealogy / family tree management system using Laravel 5.7, Vue.js 2.5 and various components. Work in progress.
Minimal Notes
- Web app build with Vue.js
Roast
an app built to help coffee enthusiasts find their next cup of coffee while learning about Laravel + Vue.js.
Stack Edit
- In-browser Markdown editor
Bael Blog Template
- A static generated blog template that uses Netlify CMS for the backend and Netlify for hosting. Features a brutalist aesthetic, fuzzy search, serverless email signup, and more.
Buefy Shop
Sample shop, open source, built with Nuxt, Stripe, Firebase, Bulma and Serverless Functions.
sysmon
A B/S mode system monitor for Linux. You can remotely watch the usage of your system resources via web browser everywhere.
eth-vue
A Truffle Box that provides everything you need to quickly build Ethereum dApps that have authentication features with Vue.js, including configuration for easy deployment to the Ropsten Network. It's also Gravatar-enabled.
Nippon-color
Inspired by nipponcolors dot com. This is a nippon-color PWA build with vue-cli 3.
Saleina CMS
A static site content management system built with vue using git as a backend.
Vuido
A framework for creating native desktop applications. It can run on Windows, OS X and Linux, using native GUI components.
YouGet
YouTube Video/Audio/Subtitle Downloader + Cutter
Vue Pug Stylus
Vue + Pug + Stylus boilerplate ? ? ?
Crypto News
allows you to convert cryptocurrencies, view latest news and exchange rates for each ICO – all the data from the world of cryptocurrencies in one place.
Epiboard
A new tab page extension with material design and useful features ? ?
zhudyos/duic
Distributed configuration center ?
Vuemmerce
Free ecommerce template built with Vue.js and Bulma framework ?
Nucleus
Layered architecture ASP.NET Core API and Vuejs client application startup template
Carpoolear
The open source Vue.js frontend (mobile and cordova app) for the argentinian carpooling application:
Carpoolear
Statusfy
: Statusfy is a Status Page System, easy to use and completely Open Source.
DynamoDb-GUI-Client
: Cross-platform GUI client for DynamoDb
RosterWebApp
Open source rostering web application which allows the rostering of employees/teams to work sessions and other features.
Vue E-Store Templet
- An e-commerce templet build with vue/vuex/vue-router and bootstrap4.
Kitty Ipsum
- Generate lorem ipsum composed of "meow" in different languages.
Git Superstar
- Count your git stars and top repositories.
Twill
- An open source CMS toolkit for Laravel that helps developers rapidly create a custom admin console that is intuitive, powerful and flexible.
MATH_BOT
- Learn math by programming a robot.
Vue Crossword
- A Vue.js based crossword puzzle builder and filler front-end application. Built with
CodeSandbox
.
Vue Org Chart
- Manage and publish your interactive organization chart (orgchart), free and no webserver required.
Beep
- Account Security Scanner built with Vue.js and Ionic 4
Vue CRUD
- Vue.js based REST-ful CRUD system. Vue CRUD allows you to easily create fast applications such as CMS or CRM.
Vue HQ Admin Dashboard
– A modern admin dashboard powered by Vue, Sass, Firestore, and Netlify.
MToDo
- Mini To Do Lists with simple auth built with Vue.js and JSON Server as data mock. Great as reference for anyone that finding reference about real world Vue.js
FireX Proxy
- FireX Proxy is the user's trusted Chrome and Firefox browser extension that allows you to unblock any website and browse the web privately and securely. ?
VueSolitaire
- Solitaire (spider,klondike) imlemented in Vue.js.
Thermal
- One stop to all Git repository.
QMK Configurator
- QMK Firmware Keyboard Configuration UI in Vue.js.
Eplee
Sweet, simple epub reader made with Vue.js and Electron.js.
vue-realworld-example-app
- Exemplary fullstack Medium.com clone
Daily
- Curated dev news delivered to your new tab ???
Laravel File Manager
- Powerful file manager for Laravel
Vue Crypto Dashboard
- Cryptocurrency Dashboard made with Vue.js
Commercial Products
Wijmo
- A collection of UI controls with VueJS support.
Collate Notes
Formester
- Form, email marketing automation made easy
ChatWoot
- Livechat and agent collaboration over Facebook messenger.
VueA
- VueJS Admin template with multiple layouts and laravel version.
Teleo
- Team collab-app moving effortlessly between talking, planning & doing
Cover
- A high quality Component Library built on Vue.js
EducationLink
- CRM and sales automation for education agents and colleges.
Pragmatic v2.0
- Responsive and configurable admin template built with Vue.js and Element.
Seat
- Simple and modern team communication and collaboration solution.
Moonitor
- Cryptocurrency tracker for Desktop.
Deskree
- Online collaboration platform that combines Ideas, Tasks, and Issues in one place.
OSHCExpress
- A comparison and ecommerce for OSHC (Overseas Student Health Cover) insurance (Australia's insurance for international students).
Agiloo
- Project Management app for Scrum and Kanban
ScaffoldHub
- Online Web App Generator for VueJS with NodeJS, and MongoDB or SQL.
Commandeer
- Could Management Reimagined. A Desktop cloud management app built with Vue.js and Electron.
SA Email Builder
- Email template builder responsive made with VueJS and Quasar Framework
Apps/Websites
Laravel Spark
Vice Video
Formlets
Laracasts
esa.io
Prague Airport
Portfolio Site
Laravist
Atiiv
- An app aimed for personal trainers and their clients.
Statamic
Embalses!
- A tool to report water dam level using the U.S. Geological Survey database.
TravelMap
- A simple way for travelers to create a blog based on a Map.
Proper Cloth Shirt Builder
- Custom shirt builder.
CheckIt
Reddit News
- A browser extension which show notifications and news from reddit.
Powerpuff Yourself by Cartoon Networks
cloudradioo
- Web app that plays randomly all top 50 songs from the soundcloud charts
vNotes
- Simple and beautiful notepad to Markdown with Vue.js and Local Storage API.
Open Function Computers
Dermail
- A webmail client written in Vue.js for Dermail, a mail system written in node.js.
octimine
- A patent search engine.
Draxed
- A web based MySQL and PostgreSQL data browser and dashboard manager.
Leapspotleap
- A simple way to look up wikipedia articles near you. Or simply navigate to a place and find interesting wikipedia information. Responsive web app.
X-SONGTAO
- A Personal blog. FE and CMS are in same vue SPA.
Jobinja
- A Job Board and career platform operating in Iran.
滚蛋吧!莆田系
- Show all Putian hospital information
Jobi : Recruiting Platform
The Spice House
- Ecommerce website for high quality spices. Checkout, cart, the product detail page, and search are built using Vue. Checkout is a single page app written with Vue & Vuex.
Livestorm
- Webinar / Live events app.
Metric Loop
- A technology services and solutions website.
Holden
Global-Exam
- Online Training for Language Proficiency Tests
SlugSurvival
- A webapp that helps student better plan their courses (hobby project, not in affiliation with UCSC).
FreePoll.Online
- A group decision making tool built using Vue.js, vue-sortable, Semantic UI and Zappa.
GitRelease
- Track github project's new release on mac menubar using vue.js with electron.
12BAY.VN
- Applications online flight bookings.
PLAYCODE.IO
- Playground for Rapid Frontend Experiments.
The Void Radio
- Underground House Music Online Radio.
Bitly Vue
- Shorten URLs with VueJS & Bitly API.
Storyblok
- API Based/Decoupled CMS using VueJS for its frontend.
WizzAir
Moving to HTTPS
- Guide to moving different platform/hosting sites to HTTPS
Booknshelf
- Discover great books and bookshelves on different topics.
Top HN
- A real time display of top news activity on Hacker News
Euronews
- Euronews is a multilingual news media service, headquartered in Lyon, France.
Roozame روزامه�
- Roozame is a Persian smart news media service.
Koumoul
NinjaCalc
- A suite of embedded engineering related calculators, built as an open-source single-page app with vue.js.
Vue.js Feed
- The latest Vue.js news, tutorials, plugins, and more. Made with Vue.js and Laravel, based on
Vuedo
.
蒜瓣
- A web app developed with Vue2.0 and Douban API
Guess Right
- A 'guess the word' game - Written with Vue/vuex/vue-router (front-end) and Laravel/MySQL (back-end). Code is
Open Source on GitHub
(although not the live files that run the game at kdcinfo).
GRAP
- Business communication service
Easy Mock
mmf-blog-vue2-ssr
A blog built with Vue 2.0, vue-router & vuex, with server-side rendering
JSON Schema Editor
- An intuitive editor for JSON schema built with Vue.js and Firebase.
Winsome Trivia
- A single or multiplayer trivia game featuring over 2,000 unique questions built with Vue.js and powered by the Open Trivia Database.
Moon Organizer
- Lunar calendar app
Flash-Vue
- ‘Flashcards of the Future’ bring learning everywhere ?
Kinderbesteck
- A full Online Shop SPA with Vue2.0, Vuex, Vue Router
n2ex
- A vue ssr(nust) website, use v2ex API
Power Thesaurus
- A crowdsourced online thesaurus
Chattanosy
- A community-powered database of new things and places in Chattanooga, TN.
PAIXIN
- A genuine picture sale website
CodeBottle
- Drag-and-drop snippets to your projects
1XBET
- A betting company operating since 2007
MyOwnTV
- A streaming website for creating internet television
CrowdCircus
- Europe’s biggest crowdfunding- and crowdinvesting-aggregator
Talk to Someone
- Free, anonymous and confidential online text chat with strangers around the world.
轮子工厂
- A ui components and libraries sharing website
ابیات ناب پارسی
- A collection of Persian poems
Ripplectron
- Ripple(Blockchain coin) Wallet Desktop client for vue-electron
PingBreak
A free and simple website monitoring service using vuejs for real-time dashboard
Todoist Tribute
- Todoist clone, written in Rails + Vue
JSON Editor
- A schema-aware JSON editor built with Vue2 and firebase.
Develteam
- A social network for indie game developers.
Mixsii
- A free video chat room site for teens, adults, family, and friends.
PipQuest
- A retro-style puzzle game built in Vue
Matryx
- A decentralized collaboration platform.
iPrevYou - YouTube™ Player
- A chrome app for watching youtube videos on your desktop.
Item Manager
- An application to transfer items for Destiny 2 game.
Frontend Masters Intro to Vue
- Frontend Masters full day course
TR-101
- A drum synth / sequencer.
Bazaar
- Media sharing platform.
WynnStats
- A unofficial WynnCraft statistics.
Vectr
- A free vector graphics software
brain bits
- A P300 online spelling mechanism for Emotiv headsets
Coin Dashboard
- The fully client-side cryptocurrency asset dashboard.
Habitica
- online task management application in the form of a role-playing game.
MadeWithVueJs
- A Gallery of Projects made with Vue.js (also the Site itself uses Vue.js)
CodeDependencyScanner
- A C# dektop application that display .Net assembly code dependencies build with Vue, Neutronium and D3.js.
Thousand Ether Homepage
- The Million Dollar Homepage reimagined as an Ethereum DApp. Build on Vue.js and open source.
Let's Enchance
- free online image upscale and enhancement with neural networks.
Pi.TEAM - Online Invoicing and Accounting
- Simple to use online accounting and invoicing, free for single users and freelancers.
Vuethwallet
- A simple app generate ethereum wallet with vuejs.
Tipe
- Next Generation API-first CMS. Create your content with powerful editing tools and access it from anywhere with a GraphQL or REST API. Stop letting your CMS decide how you build your apps.
Vuethexplore
- A simple app explore ethereum blockchain with vuejs.
Fintechers
- Fintech focused job board.
Devjournal
- Collaborative todo list for projects and ideas.
Bubbleflat
- Online platform that helps students and young Professionals find their perfect roommates by searching for people with similar lifestyles, interests, or schools. Laravel & Vuejs
TeaQuinox Tea Co
-- ecommerce site that specializes in loose leaf tea.
blip
- Test websites for speed, mobile-friendliness, security and the HTML5 doctype. Find businesses around a location and test their websites en masse, or just test your own URL.
sunpos
- Sun position, elevation, azimuth, ecliptic/equatorial coordinates and sunrise/sunset time (Julian day) calculation and conversion utilities. Web site is programmed using pure JS, Vuejs and i18n Vuejs localization plugin. Visualization is created using D3.js.
U3xyz
- A personal blog base on vue ssr.
27.ua
- Ukraine-based internet hypermarket
Chess Guardian
- Answer chess positional questions from your own games.
Blackjack Break
- A quick game of blackjack
MECHANICAL
- Reddit mod for Firefox that surfaces contextual data insights.
GameVix
- Swap your used video game discs with others, hassle free. PWA with Material Design.
VivifyScrum
- Agile project management app for teams that deliver. Customizable Scrum and Kanban boards.
9GAG
- Popular online platform and social media website
CryptoVue
- Real-time cryptocurrency dashboard
Kitchen Stories
- Cooking platform
MailRabbit
- Create, A/B test, and monitor transactional emails without a developer.
Vue资源精选
- great Vue components list, category, inline demo show and brief
Cronhub
- Painless Cron Monitoring Tool
wrkprty
- Pop-up coworking events for freelancers, remote workers, and professionals looking to get out of the office.
Made with love
- The Made with Love ❤️ around the world, initiative is a movement to celebrate ?, promote ? and build a brand ?. It feed Tech news, design inspiration and trends from over ? sources including Dribbble, ProductHunt, Behance and Techcrunch. ?
Path to Product
- Discover over 1,000 product jobs at startups and tech companies.
V·oogle
- Google.com, reVued. A joke-project. :)
Broker Notes
- 'Study to become a Real Estate Agent' ?
SyncLounge
- SyncLounge is a tool to sync Plex content across multiple players in multiple locations.
HCE.it
- The website of an Italian agency, entirely made with Vue using a Laravel-based headless CMS.
Pages
- Web design inspiration
Scrumpy
- A Beautiful Project Management Tool for Agile Teams
Spektrum
- The website of Spektrum Media Agency
SPK
The website of SPK Ecosystem
IDDEF
☪️ The Federation of the Associations that Value Humanity's webpage, CMS, CRM and Donation and all e-commerce pages are designed with Vue.js, Vuex and pure JavaScript ?
Configuration File Management
- A simple way to manage your configuration files
Roast
an app built to help coffee enthusiasts find their next cup of coffee while learning about Laravel + Vue.js.
YBR
- Centralized YBS Public eComplaint Management System. (Full SPA)
Regex Fiddler
Myanpwel
- The website of event ticketing platform.
CryptoArte
- An Ethereum art collection, non-fungible token, and Dapp.
Muuviez
- A movie discovery and tracking website with stylish design
NAGA VIRTUAL
- NAGA VIRTUAL is the first independent virtual goods market.
Scroll.in
- Scroll.in is an independent news, information, and entertainment venture.
Akunyi
- Charity Website
What Would Mark Ruffalo Do?
- Motivational website based on the story that Mark Ruffalo failed at several hundred auditions before finding success.
Brandy
- brand assets manager for your menu bar.
Ruster社区
- Rust fullstack community forum for CN.
NBC Sports
- NBC Sports is a sports news website.
WITHIN
- Extraordinary stories in Virtual Reality.
plottr.io
- Plan your running and cycling routes
beCamp
- A community-organized tech conference in Charlottesville, VA. Website code is open-source.
Trustpilot
- a free and open to all review platform.
Lagom
- Simple, intuitive and fully responsive WHMCS theme
ScoutMyTrip - Roadtrip Planner
- Road trip planning app for India which helps travelers to build their itinerary, discover points of interest, find hotels, gas stations, food joints etc along the route.
Podflix
- Podcast app.
GamersClub
- Biggest company of eSport community development in Brazil
MIT
- Official Website of Massachusetts Institute of Technology.
Elvenar
- Elvenar is a browser based fantasy city builder game.
Beacon
- ? A service that allows you to share your content across multiple websites.
Artfinder
- Artfinder is a website for buying & selling art paintings.
Rolodromo
- A spanish website dedicated to tabletop RPG.
GitHubExplorer
- Pure static page webapp for exploring GitHub. Using
Vuejs
and
GitHub GraphQL API v4
.
Keynote
- Present with Vue.
HappyPlants
- A progressive web app for organizing your plants ?.
Pocket Lists
- World's friendliest to-do list app.
Padlet
- Collaborative bulletin boards
Glovo
- On-demand delivery
MySigMail
- MySigMail is a free, in browser, email signature generator without creating account
Wordguru
- A simple verbal game where you split into teams and try to guess as many keywords as you can.
ApiFlash
- A Chrome based screenshot API built on top of AWS Lambda for Developers
Kitty Ipsum
- Generate lorem ipsum composed of "meow" in different languages.
Git Superstar
- Count your git stars and top repositories.
DECS
- The decentralised all-in-one workspace to manage code snippets and to protect sensitive data.
Careup
- Business management tool for dentists ?.
Asciiur
- Internet's ascii art collection
Tapestri Designer
- Free tool to design PCR primers for genome sequencing experiments (NGS)
Remote-Access-SSH
- Web based remote host access with node-ssh
Map Marker Generator
- A Free Online Tool To Generate Custom Map Icons On The Fly
Monocle Reader
- Follow feeds, Twitter, YouTube, Blogs and everything else, all in one place.
前站导航
- 前端社区、文档收录.
Geenes
- Generate and apply color palettes to your UI, then export it to sketch or code.
Blurrish
- Encrypted Morning Pages journal for Mac/Windows, built with Vue and Electron. Blurs as you write so you can journal in public workspaces.
ExifShot
- What and how on photography, beautifully.
Studolog
- Online file sharing platform for students, including tester and reviews. Currently in Czech ?? only.
sum.cumo
– Digital business models (with Vue as a tech stack centerpiece).
Gamebrary
- Open source tool to organize video game collections.
Guds
- Compare prices across supermarkets. Only available in México ??.
Premium Poker Tools
- What poker players use to study.
QMK Configurator
- Configure, Build, and Download Custom QMK Firmware from your browser.
Worksome
- Marketplace/platform for qualified it professionals and freelancers and companies looking to hire them.
Translator-vuejs
- Translation App built with Vuejs, Yandex API & ResponsiveVoice.js API.
Big Timer
- Fullscreen countdown timer for workshops, meetings and presentations. Big Timer helps workshop facilitators, meeting chairs, design sprinters, presenters and aspiring game show hosts stick to their program.
Wirenook
- Free online app for building responsive website wireframes. Hi- and Lo- Fidelity, project sharing and svg download.
Kvalitetskontroll
- Norwegian management system tailored for the construction industry.
Poolside FM
- A retro-style music player
Interactive Experiences
Jean-Pierre Morin | 1700 LAPOSTE
Facebook NewsFeed
YouTube AdBlitz 2016
Omnisense Experience
Louis Ansa Website (portfolio)
Djeco.com
Tolks.io
Meet Graham
NOIZE original
TR-101 Synth Drum Machine
Bootstrap 4 Editor
Subtletab - Browser Extension
web-riimote
- Turn your smartphone into a 3D controller (
source code
)
CSS ColorVars
- Interactive tool code generation (
source code
)
Enterprise Usage
Alibaba
Baidu
Sina Weibo
Xiaomi
Ele.me
Optimizely
Expedia
UCWeb
Nintendo
Celtra
Sainsbury's
Octimine GmbH
Hunliji
GitLab
Clemenger BBDO Melbourne
ZenMate
Codeship
Storyblok
Monito
- Building the Booking.com for international money transfers
Hypefactors
- Software for data-driven PR professionals
Adobe
Cotabox
Aromajoin
- Develop the finest digital scent products based on the harmony of hardware, software and material technology.
Carrefour
Vue A11y project
- Vue.js community project to improve web accessibility.
vue-skip-to
- It helps people who only use the keyboard to jump to what matters most.
vue-axe
- Accessibility auditing for Vue.js applications.
vue-announcer
- A simple way with Vue to announce any useful information for screen readers.
eslint-plugin-vue-a11y
- Static AST checker for accessibility rules on elements in .vue
vue-focus-lock
- It is a trap! A lock for a Focus. A11y util for scoping a focus.
vue-a11y-calendar
- Accessible, internationalized Vue calendar.
Components & Libraries
UI Components
Table
Tables / data grids
vuetable-2
- Data table simplify.
vue-tables-2
- Vue.js 2 grid components.
vue-datasource
- A vue.js server side component to create dynamic tables.
ag-grid-vue
- Vue adaptor for ag-Grid.
vue-data-tables
- Vue2.0 DataTables, based on element-ui.
vue-floatThead
- Vue 2.0 component for floatThead, a floating & sticky table header plugin.
vuetiful-datatable
- Datatable component with sorting, filtering, pagination, grouping and aggregation.
vue-materialize-datatable
- VueJS datatable for Materialize CSS
vue-good-table
- An easy to use, VueJS (2.x) table plugin with sorting, column filtering, pagination etc.
vue-grid
- A flexible grid component for Vue.js
vue-easytable
- A powerful table components based on Vue2.x
vue2-datatable-component
- The best Datatable for Vue.js 2.x which never sucks
vue-js-grid
- Vue.js 2.x responsive grid system with smooth sorting, drag-n-drop and reordering
vue-handsontable-official
A Vue.js wrapper for the Handsontable spreadsheet component
vue-grid
- A powerful flexbox grid system for Vue.js 2.x, built with inline-styles
vue-data-tablee
- Based on vue-good-table, a simple and pretty table component
vue-scrolling-table
- Simple table component with flexbox sizing, scrolled table body (horizontal and vertical), slots for all tr/th/td rendering.
el-search-table-pagination
- Combines Form, Table and Pagination components of Element UI together. Based on Vue 2.x.(
Detail
)
vue-crud-x
- Extensible crud component using Vuetify layout, other than the usual page, sort, filter, it is able to do nested CRUD, custom forms, filters, operations.
Vue Datatable
- VueJS powered Datatable with Laravel server-side loading and JSON template setup
v2-table
- A simple table component based Vue 2.x.
vue-cheetah-grid
- A high-performance grid engine that work on a canvas for Vue.js.
vue-table-component
- A straight to the point Vue component to display tables.
@lossendae/vue-table
- Simple table component for Vue.js 2.x with pagination and sortable columns.
el-data-table
- base on element-ui, makes crud easily
DevExtreme Vue Grid
- High-performance plugin-based Vue data grid for Bootstrap.
vue-ads-table-tree
- A vue Table component, with filtering, sorting and pagination. Rows can have child rows, so a tree structure can be build. It also supports async calls to load rows from the backend. It's built with the css framework
tailwindcss
Syncfusion Data Grid for Vue
- Displays and manipulates tabular data with features such as paging, sorting, filtering, editing, and grouping.
@marketconnect/vue-pivot-table
- A vue component for pivot table
vue-teible
- Lightweight and flexible table component for the web ⚡️
vue-jqxgrid
- Vue data grid with filtering, sorting, editing, grouping, data export and other features.
vue-jqxpivotgrid
- Vue pivot data grid with pivot designer, drill through cells, pivot functions.
toast-ui.vue-grid
- Vue Wrapper for
TOAST UI Grid
.
vueye-datatable
- Vueye data table is a responsive data table component based on Vue.js 2, it organizes your data per pages in order to navigate easily.
vue-sorted-table
- A plugin to turn tables into sorted tables. Supports nested object keys, custom icons and reusable components.
vue-bootstrap4-table
- An advanced data table based on Vue 2 and Bootstrap 4, which includes Multi column filtering, Multi column sorting, Pagination & Info, Checkbox rows and Highly customizable slot options.
vuejs-smart-table
- Straight Forward Table Component using the vanilla HTML Table Structure with Sorting, Filtering, Pagination and Selection out of the box.
@myena/vue-table
- Table Components for Client/Server data handling. Filter, sort, paginate, group, expanding details row. Highly customizible via slots for filter, headers, column, pagination, details row.
vue-jd-table
- Advanced and flexible data table component for Vue 2. Feature Rich: search, filtering, exporting, pagination (traditional and virtual scroll) and so much more!
vue-grd
- Simple, Light-weight and Flexible Vue.js component for grid layout.
iview-table-page
- Combines Table and Page components of iview UI together. Based on Vue 2.x. And Hear are some examples to use iview-table-page.
Notification
Toaster / snackbar — Notify the user with a modeless temporary little popup
vue-notifications
- Vue.js agnostic non-blocking notifications library.
vue-easy-toast
- A toast plugin for vue/vue2.
vue-toasted
- Responsive Touch Compatible Toast plugin for VueJS.
vue-notifikation
- Vue.js notification plugin.
vue-notification
- Vue.js 2+ notification plugin using
Velocity
for animations.
vs-notify
- Tiny but powerful notification component with no dependencies.
vue2-notify
- Vue.js 2+ notification plugin.
vue-notifyjs
- Minimalist, 3kb themable notification plugin
vueup
- Simple, lightweight and elegant global notification popup for Vue.js
vuex-flash
- Flash message component for VueJS 2.x within Vuex 2.x.
vue-snotify
- Vue.js 2 Notification Center
vue-notify-me
- Stackable notification Alert for Vue
vue-noty
- A Vue.js 2 wrapper around Noty
vue-notice
- Vue.js 2 wrapper around Noty.js with native API
vue-flash-message
- Simple yet flexible notification plugin
@voerro/vue-notifications
- Simple Vue.js 2 notifications plugin with HTML and styling support.
vue-awesome-notifications
- Lightweight Vue.js notification library with advanced async support.
vue-izitoast
- A Vue.js 2 wrapper around IziToast.
vue-toastr-2
- Simple toast notifications for Vue.js built on
toastr
vue-snack
- A Vue.JS plugin for Snackbars based on Google Material.
vue-m-message
- A message plugin for vue.
vue-notification-bell
- A Vue UI component for showing notifications.
v-tostini
- Really plain toast notifications mechanism for Vue.js 2.x. No CSS included.
vue-toast-notification
- Yet another Vue.js Toast notification plugin.
Loader
Loaders / spinners / progress bars — Let the user know that something is loading
vue-radial-progress
- Radial progress bar component for Vue.js.
vue-simple-spinner
- A simple, flexible spinner for Vue.js
vue-wait
- Complex Loader Management for Vue/Vuex and Nuxt applications.
vue-progress-path
- Customizable progress indicators and spinners that support any custom SVG path.
vue-blockui
- BlockUI for vue 2, similar to jquery blockUI, can be used for loading screen.
epic-spinners
- Easy to use css spinners collection with vue.js integration.
svg-progress-bar
- A simple progress bar for Vue.js.
vue-loading-overlay
- Tiny full screen loading indicator
vue-loaders
- vue wrappers for
loaders.css
vue-promise-btn
- Tiny and powerful tool for asynchronous buttons(or any other tag) lock with fancy built-in spinner
vue-spinkit
- ? A collection of loading indicators animated with CSS for VueJS
vue2-form-loading
- A VueJS directive can be used with forms in order to disable submit button while the next page is loading
vue-element-loading
- ⏳ Loading inside a container or full screen for Vue.js
tb-skeleton
- A skeleton screen loading for Vue.js
vue-spinners
- ? A collection of loading spinner components for Vuejs
vue-progress-bar
- This is a cascading progress bar plugin based on vue
vue-loading-button
- ? Straightforward button with slideout loading indicator
Progress Bar
A slim progress bar at the top of the page
vue-progressbar
- A lightweight progress bar for vue.
vue2-loading-bar
- Simplest Youtube Like Loading Bar Component For Vue 2.
vue-top-progress
- Yet another top progress loading bar component for Vue.js.
vue-nprogress
- Progress bars is based on nprogress for Vue.
vue-progress-button
- Vue.js 2.x animated button component.
vue-simple-progress
- A simple, flexible progress bar for Vue.js
vue-component-loading
- Manage a loading state inside each component and display the global loading state with a progressbar.
vue-scroll-progress
- Simple Vue.js plugin for page scroll progress bar
vue-read-progress
- Customizable progress bar at the top of the page that shows the scroll progress
easy-circular-progress
- Easy circular progress component with counting effect
Tooltip
Tooltips / popovers
v-tooltip
- Easy tooltips with Vue 2.x.
vue-popper-component
- Popper.js directive for Vue.js.
vue-directive-tooltip
- Simple, flexible tooltip directive (based on Popper.js)
vue-popperjs
- VueJS 2.x popover component based
popper.js
vue-tooltipster
- VueJS 2.x tooltip component based
tooltipster.js
. Support html content, hover and hover+click events.
k-pop
- Simple popover component based on
popper.js
. Highly customizable. Comes with themes. Supports custom triggers and can listen to any event.
Overlay
Overlay / modal / alert / dialog / lightbox / popup
vuedals
- A VueJS (2.x) Plugin for multiple modals windows with a single component instance.
sweet-modal-vue
- The sweetest library to happen to modals. Now available for Vue.js.
vue-js-modal
- Simple to use, highly customizable, mobile friendly Vue.js 2.0+ modal with 0 dependencies.
vudal
- Modal window for vue.js
vodal
- A vue modal with animations.
vue-image-lightbox
- A Vue image lightbox/gallery to display images nicely.
vue2-simplert
- Vue 2 Simple Alert Component (SweetAlert Inspired) By Irfan Maulana
Vue-Semantic-Modal
- Vue 2 Semantic-UI modal component without jQuery dependency
v-img
- Easy to install image gallery.
vue-dialog-drag
- Draggable dialog
vue-ya-semantic-modal
- Yet another semantic-ui modal component for Vue2 without Jquery but with Vue transition
vue-pure-lightbox
- Very simple lightbox plugin without any dependencies - only Vue! ?
v-viewer
- Image viewer component for vue, supports rotation, scale, zoom and so on, based on
viewer.js
vue-messagebox
- Easy and made-to-order messagebox component on Vue.
vuejs-dialog
- A lightweight, promise based alert, prompt and confirm dialog.
@hscmap/vue-window
- Window UI Component for vue2.
vue-gallery
- VueJS responsive and customizable image and video gallery, carousel and lightbox, optimized for both mobile and desktop web browsers. Based on blueimp-gallery
vue-swal
- A small wrapper for integrating SweetAlert to Vuejs. (Compatible with SSR)
vue-modal-dialogs
- ✨ Promisify your own dialogs!
vue-img-view
- a plugin for Vue.js, you can drag / view / rotate pictures anywhere
vue-modaltor
- most advance configurable modal component for vuejs
v-modal-backdrop
- A simple generic backdrop component for vue
vue-cute-modal
- A simple and easy to use Modal component for Vue applications.
v-dialogs
- A simple and powerful dialog, including Modal, Alert, Mask and Toast modes, based on Vue2.x
vue-gallery-slideshow
- Responsive gallery component for VueJS
vue-a11y-dialog
- A Vue.js component wrapper for the accessible dialog
a11y-dialog
.
vue-slideout-panel
- Stackable panel component for VueJS
v-gallery
- A Vue2 plugin for images show in
gallery
or
carousel
vue2-image-loader
- A image lazyLoad loader component for vue2
vue-my-photos
- A simple dependency-free image lightbox component with filtering capabilities
vue-img-orientation-changer
- A Vue.js
directive
that automatically adjust your
img
to correct
orientation
.
vue-topmodal
- A fully customisable, easy to use, Vue.js modal component. (Responsive, Stackable, Scrollable, Animated)
vue-modal ?
- Feed your objects array for multiple switchable modal content or quickly inline your content. A fully customisable vue modal component .
@innologica/vue-stackable-modal
- Library for modal dialogs which can be stacked. Fully customizable and very easy to use.
vue-sweetalert2
- wrapper for sweatlaert2 with support for TypeScript, Nuxt and SSR
Parallax
vue-parallax
- Scrolls an image slower than the window to create a neat optical effect.
vue-parallaxy
- Vue.js component for parallax image scroll effects.
vue-mouse-parallax
- A simple to use Mouse Parallax Component - Made with Vue.js
vue-parallax-js
- Tiny vue component that adds a directive for parallax effect on elements.
Icons
vue-awesome
- Font Awesome component for Vue.js, using inline SVG.
vue-material-design-icons
- A collection of SVG Material Design icons as single file components.
vue-icon-font
- A iconfont plugin for Vuejs (support Font-class and Symbol).
vue-ionicons
- Vue Icon Set Components from Ionic Team.
vue-ico
- Dead easy icons for Vue with drop-in browser support & selective bundling
mdi-vue
- Material Design Icon components for Vuejs
vue-fontawesome
- Font Awesome 5 Vue component
g-icon
- Simple icon component for your svg icons (compatible with Font Awesome-like font toolkits)
vue-simple-line-icons
- Simple Line Icons component for Vuejs
vue-country-flag
- Vue component for country flag icons -
vicon
- Vicon is an simple iconfont component for vue.
md-svg-vue
- Material Design Icons by Google for Vue.js & Nuxt.js (server side support (with caching), inline svg rendering, official icon names)
vue-lang-code-flags
- Vue component which shows the flag of the country from which the language comes from
vue-zondicons
- Vue component for the beautiful
Zondicon
svg icons
vue-eva-icons
- Simply beautiful open source eva icons as Vue components.
vue-unicons
- 1000+ Pixel-perfect svg unicons for your next project as Vue components.
vue-fa
- Simple FontAwesome 5 Vue.js 2 component.
vue-cryptoicon
- Beautiful pixel perfect 400+ cryptocurrency and 10+ Fiat currency icon.
vue-accordion
- Simple accordion nav menu component for Vue.js.
vue-js-dropdown
- Vue.js 2 dropdown menu component. Light, easy to use and extend, no external deps.
vue-slideout
- Vue implementation of the popular library
slideout
vue-quick-menu
- This is web navigation component base on vue.js2.
@hscmap/vue-menu
- Menu / Context Menu component for vue2.
vue-router-nav
- Minimalistic responsive navigation bar that renders routes of vue-router.
vue-drawer-layout
- A simple DrawerLayout component like Android has for Vue.js.
vue-simple-menu
- Simple menu component with a set of basic functionality, which is enought in 80% of cases
vue-tree-navigation
- Vue.js 2 tree navigation with vue-router support
bp-vuejs-dropdown
- Vuejs => 2 dropdown. Easy to use, no external, optional.
vue-bulma-accordion
- Simple, easily configurable accordion or collapsible styled with Bulma custom or built in icons available
v-selectmenu
- A simple, easier and highly customized menu solution for Vue2.
vue-burger-menu
- An off-canvas sidebar Menu component with different CSS animations.
vue-dynamic-dropdown
- A Highly Customizable, easy-to-use elegant dropdown component
vue-navigation-bar
- A simple, pretty navbar for your Vue projects.
vue-simple-search-dropdown
- A simple searchable input dropdown component with no external dependency
@innologica/vue-dropdown-menu
- Dropdown menu component for Vue. Any element can be dropdown trigger and anything can be dropded down content.
vue-menu-aim
- Menu triangle select, aka Amazon
Minus Plus Input
minus-plus-input
- A number input with plus minus; included for Vue.js v1 and v2.
vue-integer-plusminus
- Integer input with increment and decrement buttons for vue 2.
vue-numeric-input
- Number input component with controls.
vue-number-smarty
- Number input that can change value on scrolling when field is focused.
vuetify-number-smarty
- Number input that can change value on scrolling when field is focused (Vuetify.js implementation).
Carousel
vue-easy-slider
- Slider Component of Vue.js.
vue-l-carousel
- A responsive carousel(namely slider or swiper) component for Vue.js v2.x+.
vue-awesome-swiper
- Swiper(slide) component for Vue.js(1.x ~ 2.x).
vue-lory
- Vue Slider Component based on lory.
vue-slick
- Vue component for Slick-carousel.
vue-flickity
- A Vue Component for Flickity.js.
vue-carousel-3d
- Vue Carousel 3D - Beautiful, flexible and touch supported 3D Carousel for Vue.js.
vue-carousel
- A flexible, responsive, touch-friendly carousel for Vue.js.
vue-coverflow
- A vue2.x coverflow component.
vue-agile
– A carousel component inspired by Slick, written in Vue.js and vanilla JS only.
vue-tiny-slider
– A carousel component created by ganlanyuan, written in Vue.js. No jQuery. Works in IE8+.
vue2-text-swimlane
- A Text Swimlane plugin for Vue.js
vue-picture-swipe
- Vue Picture Swipe Gallery (a gallery of image with thumbnails, lazy-load and swipe) backed by photoswipe.
vue2-siema
- Plugin wrapper for the very tiny Siema carousel/slider library.
vue-flux
- Image slider which comes with 20 cool transitions.
vue-glide
- Vue slider & carousel component on top of the
Glide.js
vue-owl-carousel
- Vue component for
Owl Carousel 2
vueper-slides
- A touch ready and responsive slideshow / carousel for Vue JS.
vue-canvas-carousel
- Vue canvas component for
vuc-carousel
Hooper
- Customizable accessible carousel slider optimized for Vue
Lingallery
- Simple image gallery component for Vue which displays a large image with thumbnails below
vue-piece-slider
- Animated slides in a fragmented look
vue2-photo-carousel
- A photo carousel component for Vue2
Charts
vue-morris
- VueJS component wrapping Morris.js.
vue-charts
- Google Charts plugin for Vue.js.
vue-chartjs
- Vue.js wrapper for Chart.js.
hchs-vue-charts
- Based on Vue2.0 wrapper for ChartJs.
vue-echarts
- ECharts component for Vue.js.
vuetrend
- Simple, elegant spark lines for Vue.js.
vue-highcharts
- Highcharts component for Vue.
vue-echarts-v3
- Vue.js(v2.x+) component wrap for ECharts.js(v3.x+).
vue-chartist
- Vue.js 2.0 component wrap for Chartist.
g2-vue
- Factory wrapper for using G2 easily in a Vue Component.
vuebars
- Simple, elegant spark bars for Vue.js.
vue-d3-network
- Vue component to graph networks using d3-force
vue2vis
- Vue2 wrapper for
Visjs
.
vue-c3
- A reusable vue component for c3 charts
vue-d2b
- Vue components for d2b charts. (Including axis, pie, sankey, and sunburst charts)
VueChart
- A very simple Vue wrapper for Chart.
vue-chartkick
- Create beautiful JavaScript charts with one line of Vue
d3vue
- A D3 Plugin for Creating Reactive Data Visualizations in VueJS
vue2-frappe
- A simple wrapper around Frappe Charts for VueJS
vue-google-charts
- Reactive Vue.js wrapper for Google Charts lib
vue-graph
- Data visualization library for dashboard implementation in Vue.js
vue.d3.sunburst
- Reactive sunburst component based on D3.js
v-chart-plugin
- A customizable component for adding D3 charts that binds to your components data.
vue-jqxchart
- Charting component with Pie, Bubble, Donut, Line, Bar, Column, Area, Waterfall, Polar & Spider series.
toast-ui.vue-chart
- Vue Wrapper for
TOAST UI Chart
.
vue-apexcharts
- Vue.js component for
ApexCharts
.
vue-doughnut-chart
- Doughnut chart component for Vue.js.
v-charts
- Chart components based on Vue2.x and Echarts.
vue-css-donut-chart
- Lightweight Vue component for drawing pure CSS donut charts.
vue-trend-chart
- Simple trend charts for Vue.js
vueplotlib
- Declarative, interactive, linked plot components
vgauge
- A Vue Wrapper to GaugeJS - Create beautiful gauges
vue-plotly
- Wrapper for
plotly.js
declarative charting library that ships with 20 chart types, including 3D charts, statistical graphs, and SVG maps.
vue-funnel-graph-js
- Funnel graph drawing library for Vue.js. Create vertical and horizontal animated SVG funnel charts and add labels, values, legend and other info.
pure-vue-chart
- Lightweight vue charts implemented without any chart library dependencies
Display time / date / age
vue-timeago
- A tiny timeago component for Vue.
vue-moment-jalaali
- Jalaali Moment.js filters for your Vue.js project.
vue-countdown-timer
- Added timezone conversion support.
vue-analog-clock-range
- Analog clock range to show time difference.
vue-moment-lib
- A simple Vue.js 2.0 MomentJS library (filters & globals) using the same momentjs API.
vuejs-countdown
- A simple countdown timer component for vue js 2.0
vue2-flip-countdown
- A countdown timer with flip effect for Vue 2.x
timeline-vuejs
- A minimalist timeline for Vue
vue-awesome-countdown
- Countdown plug-in with high performance and high accuracy for Vue 2.5.0+. Official site:
https://vac.js.org
vue-clock2
- Display clock component for Vue.
vuemodoro
- Pomodoro timer as single file Vue component.
Calendar
Display non-editable events in a Calendar
vue-fullcalendar
- Vue calendar fullCalendar. No jQuery required. Schedule events management.
vue-event-calendar
- A simple events calendar for Vue2, no dependencies except Vue2.
vue-calendar-picker
- Lightweight calendar component for events display, period selection and date picker.
vue-lunar-calendar
- A vue component for lunar calendar. Uses Moment.js for date operations.
vue-simple-calendar
- Flexbox-based Vue month calendar compenent; supports multi-day events, localization, holiday emoji, drag/drop. No dependencies.
vue2-calendar
- A simple full calendar component aimed at being flexibile and lightweight.
vue-jlunar-datepicker
- A Chinese lunar datepicker component with festivals and solar terms.
vue-full-calendar
- A complete
fullcalendar.io
wrapper for both Vue 1 and 2
v-calendar
- Animated calendar/datepicker that displays regions, indicators and day popovers for simple & recurring dates.
vue-infinite-calendar
- A simple infinite calendar implementation for Vue 2
vue-calendar
- A simple calendar components for Vue 2.1.5+, support custom content. No dependencies.
vue2-event-calendar
- An events calendar for Vue2, support customize event items and calendar header.
vue2-datePicker-infinite
- An infinite datePicker for Vue2, easy to use and no dependencies.
vue2-slot-calendar
- A vue 2 calendar, datepicker component which supported lunar or date event, bootstrap style.
quasar-calendar
- A vue.js calendar using the Quasar framework that implements monthly, multi-day and agenda views.
vue2-datepicker
- A beautiful datepicker / datetimepicker component for Vue2
vue-pikaday
- VueJS wrapper component for
Pikaday
datepicker
vue-tuicalendar
- VueJS wrapper component for
tui.calendar
calendar
vue-jqxscheduler
- VueJS Scheduler component.
toast-ui.vue-calendar
- Vue Wrapper for
TOAST UI Calendar
.
vue-functional-calendar
- Lightweight, high performance calendar component(Date Picker, Date Range) based on Vue.
vue-cal
- A Vue JS full calendar, no dependency, no BS. ?.
vue-draggableCal
- Not your ordinary datepicker. A Vuejs draggable date selector with a fresh responsive design, mobile ready and 0 dependencies, 17kb gzipped
vue-material-year-calendar
- A full year (12 months on a page) calendar for Vue2. Uses dayjs.
vuelendar
- Simple and clean calendar written in VueJS
vue2-google-maps
- Google maps component for vue with 2-way data binding.
vue2-leaflet
- Vue 2 components for Leaflet maps.
vue-mapbox-gl
- Vue 2.x component for Mapbox GL JS
vue-yandex-maps
- Vue 2.x component for Yandex Maps
vue-baidu-map
- Vue 2.x component for Baidu Maps.
vue-choropleth
- Vue 2.x component to display a choropleth map.
vuelayers
- Vue 2 components to work with OpenLayers.
vue-googlemaps
- Vue 2.x components to integrate Google Maps.
vue-static-map
- Vue 2.x simple component to generate an static google map
vue-mapbox
- Vue 2.x wrapper around Mapbox GL JS library that provides vueish-way to interact with the map.
Audio / Video
Vue-APlayer
- ? Easy-to-config music player for Vue 2.x.
vue-audio
- audio-tag wrapper; sound player component for Vue 2.x
vue-dplayer
- A Vue 2.x video player component based on DPlayer.
vue-canvasvideo
- A Vue 2.x component for video backgrounds and autoplay video on iOS/Safari.
vue-music
- A Vue component base on html5
<audio>
.
vue-audio-visual
- Vue HTML5 audio visualization components.
vue-plyr
- A set of Vue components for the plyr video & audio player.
v-playback
- A Vue2 plugin to make video play easier.
vue-audio-recorder
- Audio recorder for Vue.js. It allows to create, play, download and store records on a server
vue-video-section
- A simple video header/section component for Vue. Good for video backgrounds and overlaying content on them.
Infinite Scroll
vue-infinite-loading
- An infinite scroll plugin for Vue.js 1.0 & Vue.js 2.0.
vue-mugen-scroll
- Infinite scroll component for Vue.js 2.
vue-infinite-scroll
- An infinite scroll directive for vue.js.
vue-loop
- An infinite content loop component for Vue.js 2.
vue-scroller
- An infinite content loop component for Vue.js 2, including functionalities such as 'pull-to-refresh', 'infinite-loading', 'snaping-scroll'.
vue-infinite-list
- An infinite list mixin can recycle dom for Vue.js 2
vue-infinite-slide-bar
- ∞ Infinite slide bar component.
vue-virtual-infinite-scroll
- A vue2 component based on Iscroll, supports big data list with high performance scroll, infinite load and pull refresh.
Pull-to-refresh
vue-pull-refresh
- A pull to refresh component for Vue.js 2.0.
vue-pull-to
- A pull-down refresh and pull-up load more and infinite scroll for Vue.js component.
vue-data-loading
- Another component for infinite scroll and pull down/up to load data.
vue-quick-loadmore
- A pull-down refresh and pull-up infinite scroll plugin for Vue.
Markdown
vue-markdown
- A Powerful and Highspeed Markdown Parser for Vue.
vue-mavonEditor
- A markdown editor based on Vue that supports a variety of personalized features.
vue-simple-markdown
- A Simple and Highspeed Markdown Parser for Vue.
vue-simplemde
- A wrapper around
simplemde
. Delightful editing for beginners and experts alike. Features built-in autosaving and spell checking.
toast-ui.vue-editor
- Vue Wrapper for
TOAST UI Editor
.
vue-pdf
- A pdf viewer based on mozilla's PDF.js
pdfvuer
- A PDF viewer for Vue using Mozilla's PDF.js with text support.
Demo
Vue.D3.tree
- A Tree View based on
D3.js
vue-json-tree-view
- A JSON Tree View Component for Vue.js.
vue-tree
- A Tree Component for Vue.js 2.X.
liquor-tree
- Amazing Vue Tree component
vue-trees-ui
- A Tree Ui Base On Vue.
Bosket
- Collection of tree view components for front-end frameworks (Vue, React, Angular and Riot).
plantain-00/tree-component
- A reactjs, angular and vuejs tree component.
sl-vue-tree
- A simple customizable draggable tree component for Vue.js
vue-draggable-nested-tree
- A powerful customizable draggable tree view component for Vuejs2
@phphe
vuejs-tree
- A highly customizable VueJs tree viewer
vue-jstree
- A Tree Plugin For Vue2 with beautiful icons and drag&drop
vue-vtree
- Universal and flexible tree component for Vue.js
vue-json-component
- JSON tree view with no dependencies, TypeScript support, and easy customization.
vue-tree-list
- A vue component for tree structure
Social Sharing
vue-social-sharing
- A Vue.js component for sharing links to social networks, work with Vue.js 1.X or 2.X.
vue-goodshare
- Vue.js component for social share with beautiful button design. Simple install, extensive documentation, developer support, SEO friendly, clean code without scripts tracking user activity on the page, high speed. Work with Vue.js 2.x.
vue-socialmedia-share
- A Vue.js component for sharing links to social networks, with Vue 2.X
vue-picture-sharesheet
- A Vue Picture Sharesheet Component heavily inspired by the Image Sharesheet in Apple's Newsroom
vue-twitter
- A Vue.js component for embed twitter widgets (e.g timeline, buttons)
vue-share-buttons
- Vue.js component for placing buttons in your project using which you can share anything
QR Code
vue-qriously
- A Vue.js 2 component to draw QR codes on an HTML Canvas using qrious.
vue-qart
- The directive of vue 2.x for qart.js.
vue-qrcode-reader
- A Vue.js 2 component which detects and decodes QR codes from a camera stream.
Search
vue-fuse
- A lightweight plugin for fuzzy search library, Fuse.js
vue-instantsearch
- The ultimate toolbox for creating instant-search experiences using
Algolia
.
vue-innersearch
- A Vue.js wrapper for Elasticsearch
reactivesearch-vue
- UI components for building data-driven apps with Elasticsearch
Miscellaneous
vue-avatar
- An avatar component for vue.js.
vue-touch-ripple
- Touch ripple component for Vue.js(1.x ~ 2.x).
vue-typer
- Vue component that simulates a user typing, selecting, and erasing text.
vue-keyboard
- Vue 2 virtual keyboard component.
vue-twentytwenty
- Image comparison component, works with Vue.js 2.x
vue-cookie-law
- Cookie info plugin for Vue.js 2.x
vue-gravatar
- A dead-simple gravatar component for Vue.js 2.x
vue-clipboard2
- An easy to use clipboard.js binding for Vue.js 2.x
vue-flashcard
- FLashcard component with animation for Vue.js 2.x ?
vue-truncate-collapsed
- A simple component that truncates your text and adds a 'Read More/Show Less' clickable for Vue.js 2.x
vue-kanban
- A flexible drag and drop kanban board component
vue-letter-avatar
- A simple and elegant letter avatar component for vue.js
vue-highlightjs
- Syntax highlighting with highlight.js
v-clipboard
- Simple, tiny and easy to use directive to save your models to clipboard (less than 2kb minified, no dependencies)
vue-invisible-recaptcha
- Super easy integration for Google's Invisible reCAPTCHA
vue-embed
- Embed component is based on embed.js for Vue 2.x, a component that embeds emojis, media, maps, tweets, gists, code, services and markdown.
vue-particles
- Vue.js component for particles backgrounds
vue-uniq-ids
- Vue.js 2.x plugin that helps to use id-related attributes with no side-effect
vue-multivue
- Use multiple vue apps of the same class on the same page.
vue-affix
- A Vue.js 2.x plugin that affixes an element in the window while you scroll, similar to Bootstrap Affix but much simpler and smarter
X-Browser-Update-Vue
- A Vue.js browser-update plugin.
vue-query-builder
- A UI component for building complex queries with nested conditionals.
vue-info-card
- A simple and beautiful card component with an elegant spark line and CSS3 flip animation.
v-offline
- Simple, tiny and easy to use detection of offline & online events for your Vue app (less than 390b minified)
vue-word-cloud
- A word cloud generator.
vue-flat-surface-shader
- A Vue component for
flat surface shader
vue-easteregg
- Easey add an easteregg to your vue app (default with konami code)
vue-barcode-scanner
vue-heatmapjs
- A Vue directive for tracking and visualising mouse activity
vue-maze
- An itty-bitty maze game made as Vue.js component
vue-drag-verify
- This is a vue component, which is sliding to unlock for login or sign up.
vue-balloon
- Vue components for creating fixed, zoomable containers in the corner of a page. Similar to the mail composition wrapper used in gmail.
vue-sticker
- Sticker effect to any directions
v-rating
- ⭐️ Rating component in Semantic-UI made with VueJS (< 500B gzipped, blazing fast)
vue-content-placeholders
- Composable components for rendering fake (progressive) content like facebook in vue
vue-page-designer
- Vue component for drag-and-drop to design and build mobile website.
vue-creativecommons
- CreativeCommons.org Vue.js components library.
vue-status-indicator
- A Vue.js component to show status indicator as colored dots.
vue-google-adsense
- Vue.js Google Adsense Component with InFeed and InArticle Ads support
emoji-vue
- Emoji ??? dropdown for Vue.js project
vue-chessboard
- Chessboard vue component to load positions, create positions and see threats.
vue-mindmap
- Vue component for mindnode maps.
v-currency
- Vue component for formatting currency.
vue-emoji-picker
- Highly customizable unicode emoji picker ??
vue-8-puzzle
- An itty-bitty slide puzzle game made as Vue.js component
vue-e164
- Customizable phone formatter with E.164 standart support
vue-pgn
- Vue.js component for viewing chess games in pgn format
vue-avatar-editor
- Resize, rotate and crop your uploaded avatar using a clear user interface.
vue-connection-listener
- Vue event bus plugin listening for online/offline changes.
vue-sauce
- "View source" directive for Vue.
vue-prom
- Vue promise wrapper component.
numeric-keyboard
- Numeric keyboard for mobile browsers.
vue-zoom-on-hover
- Image zoom on mouse hover
vue-responsive-image
- A Vue component that lets you quickly create responsive image tags with an optimal number of image sources for all devices.
vue-highlight-text
- Vue component for highlight multiple instances of a word
vue-cast-props
- Provides a convenient way of converting props to common data types.
vue2-heropatterns
- A Vue2 implementation allowing you to add the popular Hero Patterns onto any Div
vue-link
- One component to link them all ? (treat external and internal links same)
vue-identify-network
- ⚡️Identify what kinda internet your users are using!
vue-cloneya
- A vue component to clone DOM elements
vue-survey-builder
- Survey builder for vue.js applications
vue-if-bot
- A lightweight component to hide/show content to clients based on the user agent
vue-clampy
- Vue.js (2+) directive that clamps the content of an element by adding an ellipsis to it if the content inside is too long.
vue-cookie-accept-decline
- Show a banner with text, a decline button, and an accept button on your page. Remembers selection using cookies. Emits an event with current selection on creation. Good for GDPR requirements.
@lossendae/vue-avatar
- An avatar component for VueJS 2.0.
vue-text-highlight
- Text highlighter library for Vue.js ?
vue2-hammer
Hammer.js wrapper for Vue 2.x to support mobile touch..
vue-countable
- Vue binding for countable.js. Provides real-time paragraph, sentence, word, and character counting.
v-show-slide
- A Vue.js directive for animating an element to and from height: auto in a sliding motion.
vue-swipe-actions
- iOS style swipe actions for Vue.js
vue-friendly-iframe
- A Vue js component for creating super fast loading, non-blocking iframes.
vue-beautiful-chat
- A simple and beautiful Vue chat component backend agnostic, fully customizable and extendable.
vue-magnifier
- A simple image zooming / magnifying component for Vue.js 2.x.
vue-highlight-words
- Vue component to highlight words within a larger body of text. Ported from
react-highlight-words
vue-tags-ball
- Create a beautiful and spherical tag with this plugin
vue-rippler
- Simple Vue.js plugin for custom ripple effect
vue-contacts
- Mobile contacts component for Vue
basic-vue-chat
- Easy to use Vue.js chat
vue-resize-text
- A vue directive which automatically resize font size based on element width.
vue-github-profile
- A vue component to view the profile and repos of determined user
vue-niege
- ? ? Single File Vue component to add a snow storm through a canvas.
vue-dynamic-star-rating
- A highly dynamic vue stars rating component, like google play rating ⭐️ ⭐️ ⭐️ ⭐️ ⭐️
vue-katex
- Simple plugin for math typsetting using KaTeX in Vue.js
vue-canvas-identify
- Vue canvas component for
vuc-identify
vue-canvas-material
- Vue canvas component for
vuc-material
vue-baberrage
- A simple Barrage plugin Base on Vue.js?
vue-terminal-ui
- ?Terminal UI emulator Vue: custom and basic commands
vue-command
- A fully working Vue.js terminal emulator
vue-ribbon
- Vue component for GitHub ribbons
avatio-avatar
- Vue component for illustrated avatars - used by
Avatio
vue-jazzicon
- A dead-simple Jazzicon component for Vue.
vue-star-rating
- A simple, highly customisable star rating component ⭐️ ⭐️ ⭐️
vue-fixed-header
- Simple and cross-browser friendly fixed header component for Vue.js written by TypeScript.
vue-particle-effect-buttons
A bursting particles effects buttons component.
vue-insomnia
- Prevent display screen from sleeping (wake lock).
vue-car-plate-keyboard
- A car license plate number keyboard for VueJS 2.x.(车牌号输入键盘,支持新能源车牌???)
vue-dataflow-editor
- Vue2 dataflow graph editor
cool-emoji-picker
- A fast plug-n-play [Tw]emoji Picker (+textarea for Twemoji rendering) component for Vue.
vue-tabs
- Simple tabs and pills.
vue-swipe-tabs
- A touch swipe tab component for vue.js(vue2).
vue-tabs-component
- An easy way to display tabs with Vue.
vue-k-tabs
- A simple tabs components with Gitlab design.
vue-tabs-with-active-line
- Simple Vue 2 component, that allows you to make tabs with moving bottom line
vue-tabs-chrome
- A Vue component for Chrome-like tabs.
Let the user create & edit data
Phone Number Input Formatter
vue-phone-number-input
- A beautiful input to format & valid phone number with country code ?
Picker
vue-smooth-picker
- A smooth picker component for Vue 2.x, like iOS native datetime picker.
Generator
FormSchema Native
- Generate a form using JSON Schema and Vue.js
vue-awesome-form
- A vue.js component just like json-editor
vue-generator
- Initial router and components for the Vue project.
vue-form-json
- Generate a vue form with validation and bulma style, from json
form-create
- Form builder with dynamic rendering, data collection, validation, and submission capabilities, supporting json data
element-form-builder
- Build element-ui forms with JSON Schema.
ncform
- a very nice configuration generation way to develop form
Laraform
- Advanced form builder for Vue.js with Laravel support
vue-ele-form
- Vue DataForm, based on element-ui
Date Picker
Date / datetime / time Picker
vue-datepicker
-
[unmaintained]
Calendar and datepicker component with material design for Vue.js.
vue2-timepicker
-
[unmaintained]
A dropdown time picker (hour|minute|second) for Vue 2.x, with flexible time format support.
vuejs-datepicker
- A simple Vue.js datepicker component. Supports disabling of dates, inline mode, translations.
vuedt
-
[unmaintained]
Crazy lightweight (5.5kb!) Vuejs Date and Time picker component with nice animations and not too much fuzz.
vue-flatpickr-component
Vue.js component for
flatpickr
datetime picker
vue-bootstrap-datetimepicker
Vue.js component for
eonasdan-bootstrap-datetimepicker
vue-jalaali-datepicker
- Jalaali calendar and datepicker for vue.js 2.
vue-date-picker
- A vue date picker component inspired by material design
vue-monthly-picker
- Vue.js component for month and year picker only
vue-hotel-datepicker
- A responsive date range picker that displays the number of nights selected, allows custom check-in/check-out rules, blocking dates, localization support and more.
vue2-persian-datepicker
- An awesome Persian datepicker component for vue. کامپوننت انتخاب تاریخ برای ویو.
vue-datetime
- Mobile friendly datetime picker for Vue. Supports date, datetime and time modes, i18n and disabling dates.
vue-rangedate-picker
- Range date picker with simple usage
v2-datepicker
- A simple datepicker component based Vue 2.x.
vue-datepicker-local
- A Beautiful Datepicker Component For Vue2.
vue-airbnb-style-datepicker
- A Vue datepicker with a similar look and functionality as the popular AirBnb datepicker. Lightweight, configurable and good browser support!
vue-persian-datetime-picker
Persian material datepicker. Supports datetime, date, time, year, month.
VCalendar
Very customizable and powerful calendar/datepicker component with many features and good documentation.
@owumaro/vue-date-range-picker
- A vue component using Bootstrap 4 styles for date range selection
vue-datepicker-mobile
- A mobile friendly datepicker for vue2. ?? select one day or range of date and custom it that you wish.
vue-draggable-cal
- Not your ordinary datepicker. A Vuejs draggable date selector with a fresh responsive design, mobile ready and 0 dependencies, 17kb gzipped.
vue-vanilla-datetime-picker
- Datetime picker for Vue.
vue2-daterange-picker
- Vue2 date range picker based on bootstrap-daterangepicker (no jQuery dependency)
vue-timeselector
- Fully and simply customizable powerful time picker component for Vue.js.
vue-date-picker
- Lightweight datepicker component for Vue 2.x.
vue-ctk-date-time-picker
- A beautiful VueJS component to pick date & time (with range mode) ?
simple-vue2-datetimepicker
- A simple, easy to use vue.js component for date and time picking. ?
vue-business-hours
- Vue component for selecting business hours in an administration panel or dashboard.
material-vue-daterange-picker
- a daterange picker of Material Design style for Vuejs 2.x, which is compatible with vuetify and friendly for mobile.
vue-datepicker
- A clean & responsive datepicker with Material Design style for Vuejs 2.x. (date/month/quarter && date range picker) ?
Select
vue-select
- A native Vue.js component that provides similar functionality to Select2 without the overhead of jQuery.
vue-multiselect
- Universal select/multiselect/tagging component for Vue.js.
stf-vue-select
- most flexible and customized select Vue2
vue-select-image
- Vue 2 Component for selecting image from list
@riophae/vue-treeselect
- A multi-select component with nested options support for Vue.js.
@k186/pd-select
- A mobile UI component like IOS picker for Vue 2.x,can be wheel pick what ever you defined.
vue-dropdowns
- A minimalistic and adaptable way to display select boxes if using objects for vue2.x
v-cascade
- A lovely component of cascade selector with Vue 2.x (Support both of PC and Mobile)
vue-multi-select
- A custom component to make select/multiselect for Vue2.
v-region
- A simple region selector, provide Chinese administrative division data.
v-selectpage
- A powerful selector for Vue2, list or table view of pagination, use tags for multiple selection, i18n and server side resources supports.
vue-cool-select
- Bootstrap / Material Design theme, support slots, autocomplete, events, validation and more.
@myena/advanced-select
- Single/Multiple Select component with search, controls for (de)select all and a Bootstrap 3 theme
@alfsnd/vue-bootstrap-select
- Vue version of
bootstrap-select
.
Slider
vue-slider-component
- Slider for vue1.x and vue2.x.
vue-circle-slider
- Circle slider component for vue2.x.
vue-netflix-slider
- A Netflix like slider.
vue-slide-bar
- Very simple vue slider bar component.
textra
- Vue js add-on to slide text.
vue-knob-control
- A rotary knob control for Vue.js
Drag and Drop
vuedraggable
- Vue component allowing drag-and-drop sorting in sync with View-Model. Based on Sortable.js.
vue-dragula
- Drag and drop so simple it hurts.
vue2-dragula
- A
vue-dragula
fork for
Vue2
, with a lot of improvements.
awe-dnd
- A sortable list directive with Vue.
vue-draggable-resizable
- Vue2 component for draggable and resizable elements.
vddl
- Vue components for modifying lists with the HTML5 drag & drop API, supports VueJs versions 1 and 2.
vue-drag-drop
- A minimal and lightweight wrapper for the HTML5 Drag and Drop API.
vue-swing
- A swipeable cards interface, as seen in apps like Jelly and Tinder.
vue-slicksort
- A dependency-free set of mixins for animated, touch-friendly, sortable lists
draggable-vue-directive
- A simple directive to handle drag and drop of any Vue component.
vue-smooth-dnd
- Vue wrappers of smooth-dnd library. drag and drop, sortable library covering for many cases.
vue-drag-resize
- A dependency-free Vue component for draggable and resizable elements with aspect ratio, reactive props etc
vue-drag-it-dude
- Vue2 component, that allows you to drag object wherever you want.
vue-draggable
- Vue Drag and Drop library without any dependency. Simple and easy to use.
vue-nestable
- A simple drag & drop hierarchical list made as a vue component.
vue-draggable-nested-tree
- A powerful customizable draggable tree view component for Vuejs2
@phphe
Autocomplete
Autosuggest / autocomplete / typeahead
vue-instant
- Vue instant allows you to easily create custom search controls with auto suggestions for your vue 2 applications.
v-autocomplete
- Autocomplete component for Vue.js
vue-awesomplete
- Vue wrapper for Awesomplete
vue-auto-complete
- Autocomplete for Vue2. Works with objects or api calls.
vue-autosuggest
- WAI-ARIA complete Autosuggest component with full customization over rendering and styling.
v-autosuggest
- A simple modular Vuejs component that autosuggest input from a dynamic or static data querying.
autocomplete
- Simple Autocomplete component for Vue.js 2.*
vue-infinite-autocomplete
- Vue infinite-autocomplete wrapper for Vue.js 2.*
vue-simple-suggest
- Simple yet feature-rich autocomplete component for Vue.js
v-suggest
- A Vue2 plugin for input content suggestions, support keyboard to quick pick.
vue-bootstrap-typeahead
- An typeahead/autocomplete component for Vue2 using Bootstrap 4 CSS.
Type Select
Let the user select a tag / something while typing
vue-input-tag
- Vue.js 2.0 Input Tag Component.
v-distpicker
A flexible, highly available district picker for picking provinces, cities and districts of China for Vue.js 2.x.
vue-img-inputer
A graceful, highly customizable img type input for Vue 2
vue-img-preview
An image input preview component in vue 2
v-image
? Tiny little component for input type=file (< 1kb, gzipped)
@voerro/vue-tagsinput
A simple tags input Vue.js 2 component with typeahead/autocomplete
vue-tag-selector
- Tag-like input. Light, customizable and handles REGEX validation!
Color Picker
vue-color
- Vue Color Pickers for Sketch, Photoshop, Chrome & more.
vue-swatches
- Help the user picking beautiful colors!
radial-color-picker
- Minimalistic color picker with a focus on size, accessibility and performance.
vue-color-picker-board
- Vue Color Picker component designed for humans!
verte
- A Complete Vue.js Color Picker Component.
Switch
Switch / on/off toggle / checkbox
vue-switches
- An on/off switch component for Vue.js with theme support.
vue-js-toggle-button
- Vue.js 2.0+ toggle / switch button - simple, pretty, customizable.
vue-checkbox-radio
- A Vue component to easily styling checkbox and radio inputs.
vue-enhanced-check
- Vue component to redesign/labelize checkbox/radio, including toggle/switch button.
pretty-checkbox-vue
- Implementation of
pretty checkbox 3
(A pure CSS library to beautify checkbox and radio buttons) components for Vue.js 2.2+.
vue2-collapse
- Vue Collapse is a flexible content toggling plugin for the accordion lists or any other conditional content rendering.
vue-badger-accordion
- A wrapping Component for Badger Accordion for Vue.js 2.0+
vue-loading-checkbox
- A highly customizable Vue.js checkbox UI component with loading state
vue-rocker-switch
- A customizable rocker switch component for Vue.js.
vue-toggle-btn
- A Highly Customizable, easy-to-use elegant toggle/switch button component
Masked Input
vue-masked-input
- Masked input component for Vue.js.
vue-text-mask
- Input mask for React, Angular, Ember, Vue, & plain JavaScript.
vue-ip-input
- An ip input implemented by vuejs.
vue-numeric
- Input field component to display currency value based on Vue.
awesome-mask
- Mask directive based on a pure and simply VanillaJS implementation
v-money
- Tiny (<2k gzipped) input/directive mask for currency
vue-autonumeric
- A Vue.js component that wraps the awesome
AutoNumeric
input formatter library
vue-inputmask
- Vue.js directive to add Robin Herbots' inputmask library to your inputs (vanilla javascript).
vue-input-number
- A custom input number component for Vue.js 2.
v-unicode
- Vue directive to restrict an input by unicode values.
vue-cleave-component
- Vue.js component for
cleave.js
vue-ip
- An ip address input with port and material design support
vue-r-mask
- Directive with template similar to javascript regular expression.
vue-input-code
- Base on Vue.js 2.0+ verification code input component.
label-edit
- Inspired by Trello. Click to show editable input and return the value changes. This is a Vue Component.
vue-jquery-mask
- Vue.js v2.x component for
jQuery Mask Plugin
vue-the-mask
- Tiny (<2k gzipped) and dependency free mask input for Vue.js
vue-canvas-input
- Vue canvas component for
vuc-input
vue-currency-input
- Easy input of currency formatted numbers for Vue.js.
Rich Text Editing
vue-quill-editor
- Quill editor component for Vue2.
vue-mobiledoc-editor
- A mobiledoc editor component toolkit for Vuejs.
vue2-medium-editor
- A MediumEditor component for Vue 2.
vue-froala
- VueJS wrapper for Froala Editor.
vue-froala-wysiwyg
- Official VueJS plugin for Froala WYSIWIG HTML Editor.
vue-at
- At.js for Vue.
vue-wysiwyg
Lightweight, fast & extensible WYSIWYG editor
vue-trumbowyg
Vue.js component for
Trumbowyg
WYSIWYG editor
vue-pell-editor
Vue.js component for
Pell
WYSIWYG editor
vue-tinymce-editor
Tinymce editor component for Vue2.
vue-mce
- tinymce editor component for VueJS.
Vue2-Editor
- HTML Editor using Vue.js and Quilljs
vue-codemirror
- A Codemirror component for Vue2.
vue-easy-tinymce
- A simple and powerful package for easy usage of tinymce in Vue.js project.
vue-highlightable-input
- Highlight and style text as you're typing
vue-trix
- Simple and lightweight Trix rich-text editor for Vue.js
tiptap
- A renderless and extendable rich-text editor for Vue.js
toast-ui.vue-editor
- Vue Wrapper for
TOAST UI Editor
.
ckeditor5-vue
- An official CKEditor 5 rich text editor component for Vue.js.
yimo-vue-editor
- A wangEditor2 component for Vue2.
vue-mathlive
A MathLive math editor (mathfield) for Vue.hjs
Image Manipulation
Edit images
vue-core-image-upload
- A vue plugin for image to crop and upload.
vue-croppa
- A simple straightforward customizable lightweight mobile-friendly image cropper for Vue 2.0.
vue-cropper
- A picture clipping plugin for vue2.0
toast-ui.vue-image-editor
- Vue Wrapper for
TOAST UI Image Editor
.
vue-quick-cropper
- Vue mobile avatar upload cropping plugin can choose cropping area and zoom.
vue-canvas-image
- Vue canvas component for
vuc-image
vue-croppie
- Yet another image cropper
vue-slim-cropper
- ? A simple and elegant mobile image crop upload component for Vue 2.x.
vue-advanced-cropper
- An advanced cropper that gives you opportunity to create almost any cropper that you desire
Display images
vue-cloudinary
- A vue (2.0) plugin that offers a reusable directive to get images from Cloudinary (
https://cloudinary.com
) with dynamic manipulation (resizing/cropping/effects/watermarking/scaling/formatting) and optimization (webp/png/auto quality/auto retina).
img-Vuer
- An Mobile-First image viewer/gallery for Vue2
vue-image-loader
- A vue loader/progressive image plugin like Medium.
vue-load-image
- display loader during image loading, as well as by display alternate content when the image fails to load.
vue-image-painter
- ? Image magic animation drawing effect component for Vue 2.x.
Video Manipulation
vue-playlist
- A lightweight vue (2.0) component with no dependancies that offers truly seamless html5 video playback. The one and only working solution for seamless video play done with vanilla JS. It takes an array of videos and stitches them together into a single video.
File Upload
vue-clip
- Simple and hackable file uploader for VueJs. Supports Vue >= 2.1.
vue-simple-upload
- Simple File upload component for Vue.js.
vue2-multi-uploader
- A drag and drop multiple file uploader component that uses Vue.js v2 and Axios. Uploader shows file names, sizes and total size of files added. It also allows setting a minimum required number of files to upload.
vue-dropzone
- A Vue.js (vue2) component for Dropzone.js - a drag’n’drop file uploads utility with image previews.
vue-transmit
- A purely Vue.js drag & drop uploader component based on Dropzone.js for Vue 2.0
vue-upload-component
- Vue upload component, Multi-file upload, Upload directory, Drag upload, Drag the directory. Supports Vue >= 2.0
vue-uploader
- A Vue.js upload component powered by simple-uploader.js
ic-firebase-uploader
- A clean multi-file upload component for Firebase storage.
vuejs-uploader
- A resumable multipart file uploader for HUGE file uploads.
vue-filepond
- A Vue.js component for FilePond - a file upload library that can upload anything you throw at it.
v-uploader
- A Vue2 plugin to make files upload simple and easier, you can drag files or select file in dialog to upload
Context Menu
vue-context-menu
- A context menu component for vue js.
vue-lil-context-menu
- A flexible lil context menu component for Vue.
vue-mouse-menu
- A mouse-menu component for vue 2+.
@hscmap/vue-menu
- Menu / Context Menu component for vue2.
vue-context
- A simple but flexible context menu for vue js.
vue-simple-context-menu
- Simple context-menu component built for Vue. Works well with both left and right clicks.
vue-context-menu-popup
- Context Menu popup for Vue 2. Works on right click or can be triggered programatically.
@kiyoaki_w/vue-context
- A customizable context menu component built for Vue2, supporting fontawesome icons.
Miscellaneous
vue-gmaps
- Search places and address using Google Maps API.
vuep
- A component for rendering Vue components with live editor and preview.
vue-places
- Places component is based on places.js for Vue 2.x. Turn any input into an address autocomplete.
vue-password-strength-meter
- Password strength meter based on zxcvbn in vue.js.
vue-float-label
- Float label pattern for Vue.js.
vue-longpress
- A VueJS (2.x) button component that requires you to keep pressing to confirm a given action.
vue-google-autocomplete
- A Vue.js (2.x) autosuggest component for the Google Maps Places API.
vue-ip-input
- An ip input component for Vue.js 2.x
vue-default-value
- Vue.js 2.x directive to set a default value for editable elements with no affect to the model state
vue-model-autoset
- A Vue.js plugin to workaround Vue limitation in observing dynamically added properties with v-model directive
vue-submit
- Simple implementation of Ladda (
1
,
2
) in less than 90 lines of code with no dependencies.
vue-rate
- Rate component for Vue
vuetify-google-autocomplete
- A Vuetify ready Vue.js (2.x) autosuggest component for the Google Maps Places API.
vue-ripple-directive
- Material Ripple Effect as Vue Directive.
vue-fab
- Vue Floating Action Button.
vue-complexify
- Vuejs porting library from jquery.complexify.js.
vue-mc
- Models and Collections for Vue.js
vue-stars
- Highly customizable rating control (using stars or other characters)
vue-confirmation-button
- Customizable confirmation button that requires users to read messages before performing an action
vue-poll
- A Vue.js component for voting
vue-diagrams
- Diagram component for vue.js, inspired by react-diagrams
vue-easy-polls
- A Vue.js component for creating polls, voting and showing results. It’s easy to implement and easy to customize.
vue-m-button
- A beautiful button component for vue.
vue-long-click
- Long click (long press) directive library for vue, support mobile and desktop.
vue-ui-predicate
- A rules editor, generic filtering UI, predicates component for Vue JS.
vue-mobile-detection
- Vue.js prototype function
this.$isMobile()
that returns a Boolean value depending on whether or not the user is browsing with a mobile.
vue-input-contenteditable
- A Vue component wrapper for
contenteditable
with all the features you normally expect. Make beautiful inputs without the restrictions of
input[type='text']
.
Wizard
vue-form-wizard
- Tab based component which can replace classic bootstrap & jQuery form wizards
vue-stepper
- A simple stepper with simple actions such as next, back and end to perform simple forms.
vue-stepper-component
- A fully customizable Stepper component with Vuex support and Zero dependencies.
vuecsv
- A Simple CSV Downloader from json with option modal panel component.
Comment System
vue-comment-grid
- ? Responsive Vue.js comment system plugin that built with CSS Grid and Firebase REST API + Authentication.
Canvas
vue-easeljs
- Data-driven control over an HTML5 canvas element.
vue-canvas-effect
- A simple, canvas effect collection for Vue.js.
vue-konva
- Vue & Canvas - JavaScript library for drawing complex canvas graphics using Vue.
vue-html2canvas
- Vue mixin to capture html and convert it to an image using Html2Canvas.
vue-canvas-nest
- A Vue.js component for canvas-nest.
vue-signature-pad
- ? A Vue Signature Pad Component
Link Preview
link-prevue
- Flexible component for generate a link preview.
vue-tour
- Lightweight and customizable tour plugin
vue-page-guide
- Page tour / guide plugin with directive
UI Layout
Layout for the overall / main view
vue-waterfall
- A waterfall layout component for Vue.js.
vueisotope
- Vue component for isotope filter & sort magical layouts.
vue-grid-layout
- A draggable and resizable grid layout, for Vue.js.
vue-drag-zone
- Drag Zone component for Vue.js(2.x).
vue-masonry
- Vue.js directive for masonry blocks layouting.
vue-fraction-grid
- Flexbox based responsive fraction grid system for Vue.js.
vue-virtual-scroll-list
- A vue (2.x) component support big data by using virtual scroll list.
vue-virtual-scroller
- Component to scroll a large amount of elements efficiently (Vue 2.x).
vue-virtualscroll
- [Vue 2.x] component to virtual scroll things.
vue-inview
- [Vue 2.x] Viewport, get notification when DOM element is entered or leave.
dnd-grid
- A vuejs grid with draggable and resizable boxes
vue-extend-layout
- Extend the default layout or create custom layouts for the pages of your Vue.js SPA
vue-masonry-css
- Vue.js Masonry layout component powered by CSS, dependency free
vue-fullpage.js
- Official fullPage.js component for Vue.js.
vue-virtual-collection
- Vue component for efficiently rendering large collection data.
autoresponsive-vue
- Auto responsive grid layout library for Vue.
VueFlex
- A flexbox grid system.
v-chacheli
- A Vue.js component to create and display custom dashboard-like grid layouts.
vue-grid-styled
- A lightweight set of functional grid components, ported from React's
grid-styled
simple-grid
- Vue component for grid layout,support flex.
vue-container-component
- Simple container component inspired on Bootstrap Container
vue-colcade
- A small wrapper for integrating Colcade grid layout to Vuejs.
vue-ads-layout
- A small library of Vue components to quickly generate a responsive web application layout with toolbar, left/right drawers and a footer. All components can be positioned fixed or relative.
vue-magic-grid
- A tiny port of Magic Grid for Vue.js 2.
vue-splitter-pane
- A Vuejs component which renders two slots in a adjustable split arrangement (vetical or horizontal).
splitpanes
- A Vue JS reliable, simple and touch-ready panes splitter / resizer.
vue-mock-layout
- Easily mock the layout of your Vue apps.
vue-simple-drawer
- A tiny drawer panel with bounced animation, nest supported and theme customized. directions: left/right/up/down
vue-grd
- Simple, Light-weight and Flexible Vue.js component for grid layout.
Frameworks
Responsive
Set of components + responsive layout system
quasar-framework
- Quasar Framework. Build responsive websites, hybrid mobile Apps (that look native on Android and iOS) and Electron apps using same code, with VueJs 2.
vue-material
- Material design for Vue.js.
vuetify
- Material Component Framework for Vue.js 2.
muse-ui
- Material Component library for Vue.js 2.
buefy
- Components based on Bulma framework.
element-ui
- A Vue.js 2.0 UI Toolkit for Web.
vue-bulma-components
- Easily use bulma class syntax with vue components.
iview-ui
- A Vue.js 2.0 UI Framework for web.
AT-UI
- A fresh and flat UI-Kit specially for desktop application, made with ♥ by Vue.js 2.0
v-semantic
- Implementation of
semantic-ui
for Vue
bootstrap-vue
- Implementation of
bootstrap-4
grid and components for Vue.js 2.
fish-ui
- A Vue.js 2.0 UI Toolkit for Web
zircle-ui
- A frontend library to develop zoomable user interfaces.
vue-mdc-adapter
- Material Components integration for Vue.js as per MDC Team's
guidelines
.
Material Components Vue
- wrapper around
material-components-web
for Vue.js
VueFace
- A Vue.js 2.0 UI Component library for Web
vuesax
- Frontend vue Components for Vue.js.
vuecidity
- UI component framework for Vue.js 2.0
ant-design-vue
- An enterprise-class UI components based on Ant Design and Vue 2.5.0
heyui
- (
https://www.heyui.top/en
) - A Vue.js 2.0 UI Toolkit for Web.
Carvue.js
- IBM's Carbon Design System for Vue.js
BalmUI
- Next Generation Material UI for Vue.js
Osiris UI
- ? A Vue.js 2.0 universal responsive UI component library
N3-components
- Beautiful Web Components built with Vue 2
Shards Vue
- ✨ Sleek & UI Components Library based on the Bootstrap 4 Framework.
Fundamental Vue
- Components based on SAP Fiori Fundamentals.
Framevuerk
- ? Fast, Responsive, Without Dependencies, Both Direction Support and Configurable UI Framework based on Vue.js.
@Carbon/vue
- Carbon Design System components from the @carbon team.
NutUI
- A Vue.js 2.0 UI Toolkit for Mobile Web
Inkline
- Inkline is a modern UI/UX Framework for Vue.js designed for creating flawless responsive web applications.
vue-awesome-mui
- A Vue.js 2.0 MUI Component for Web
MDBootstrap
- Powerful UI toolkit based on the latest Bootstrap 4 and Vue 2.6.10, providing a set of slick, responsive page templates, layouts, components and widgets to rapidly build responsive, mobile-first websites and apps.
Mobile
UI frameworks for mobile
Framework7-Vue
- Build full featured iOS & Android apps using Framework7 & Vue.
vux
- [Chinese] Vue UI Components based on WeUI.
vue-onsenui
- Mobile app development framework and SDK using HTML5 and JavaScript. Create beautiful and performant cross-platform mobile apps. Based on Web Components, and provides bindings for Angular 1, 2, React and Vue.js.
Weex
- Weex provides the ability to publish cross platform, so web, Android, and IOS apps can use the same API development functions.
weex-eros
- [Chinese] Eros is a app solution based on Weex and Vue, which enables you to use API of Vue, simple and quick development of small and medium app.
Set of components for mobile
mint-ui
- Mobile UI elements for Vue.js.
vant
- A Vue.js 2.0 Mobile UI From YouZan.
cube-ui
- A fantastic mobile ui lib implement by Vue.js 2.
mand-mobile
- A mobile UI toolkit, based on Vue.js 2, designed for financial scenes.
Component Collections
Set of components without layout system
vue-mdc
- Material Components Web for Vue.js.
keen-ui
- A lightweight collection of essential UI components written with Vue and inspired by Material Design.
vue-admin
- Vue Admin Panel Framework, Powered by Vue 2.0 and Bulma 0.3.
vuikit
- UIkit with all the power of Vue.
uiv
Bootstrap3 components implemented by Vue2.
wffranco/vue-strap
- Bootstrap 3 components built with Vue.js 2
jsmod-vue-pc
- Highly scalable web components for vue 2.0
guilhermewaess/SemVue
- Semantic-ui Modules implemented with Vue 2
office-ui-fabric-vue
- Office UI Fabric implementation for Vue.js
vuestic-admin
- Vue Admin Dashboard with collection of custom components. Built with Vue 2 and Bootstrap 4
Semantic UI Vue
- Semantic UI integration for Vue
vuesax
- Frontend vue Components for Vue.js.
Essential JS 2 for Vue
- Full featured 45+ Vue.js components which includes Data Grid, Chart, Scheduler and Diagram components etc.
Banshee
- A mostly renderless Vue UI component and utility framework that ships with no CSS.
vue-atlas
- A library of beautiful Vue components.
DevExtreme Vue Components
- 65+ responsive and feature-complete Vue UI components with customizable Material Design and Bootstrap compliant themes.
jqwidgets
- 70+ Vue.js 2.0 UI Components with Material Design themes.
vue-uix
- UI collection for web page implementation in Vue.js
vuedarkmode
- A Minimalist Dark Design System for Vue.js ?
Kendo UI for Vue
– Over 70 UI components, including a Grid, built for business applications. Fully responsive with support for several Design Languages including Material Design and Bootstrap.
Vuent
- Vue.js components implementing Microsoft Fluent Design
bpit/vue
- Vue components lib which is focused on effects
vue-tailwind
- Vue components with customizable classes ready for TailwindCSS, but compatible with any framework.
Admin Template
Set of admin template
iView Vue Admin
- iView Vue Admin / An admin portal template based on iView 2.x
element Vue Admin
- element Vue Admin / An admin portal template based on Element UI 2.x
vue-element-admin
- A magical vue admin based on Element UI 2.x
D2 Admin
- An elegant backstage template build by vue
Online Demo
rest-admin
- Restful Admin Panel Based on Vue and Bootstrap 4
Online Demo
Shards Dashboard Lite Vue
- ✨ Modern admin template featuring dozens of custom components and templates.
Vue Material Admin
- A vue material design admin template
element-admin
- A dead simple but powerful vue admin with Vue CLI 3 and element-ui.
Server-side rendering
Nuxt.js
- Versatile Vue.js Framework.
Ream
- A minimalistic framework for building server-rendered and static websites.
Universal vue
- Vue CLI plugin to create universal Vue applications with ease
Static website generator
VuePress
- Minimalistic Vue-powered static site generator.
Peco
- A static website generator for humans.
UNMAINTAINED
Saber
- A static website generator for building blazing fast websites with Vue.js.
Gridsome
- Build super fast, modern websites with Vue.js
Other
app-framework
- IOS and Android Apps with HTML & JavaScript - develop, build and deploy - free and open source.
Myfirebase
- A decoupled Single page application Framework which is highly compatible with google firebase.
Vue-Access-Control
Frontend access control framework based Vue.js 2.
Basys
Toolbox for building full-stack Vue.js apps
CabloyJS
The Ultimate NodeJS Full Stack Business Development Platform, based on KoaJS & EggJS & VueJS & Framework7
UI Utilities
Event Handling
Handling of user events (scroll, click, key strike, ...)
vue-shortkey
- Vue-ShortKey - plugin for Vue.js.
vue-throttle-event
- Throttle events based on requestAnimationFrame.
vue-waypoint
- Waypoint component for Vue, this is the easiest way to trigger a function when you scroll.
vue-clickaway
- Reusable clickaway directive for reusable Vue.js components.
vue-scrollfire
- Fires an event on a specific scroll position.
vue-resize-directive
- Vue directive to detect resize events with deboucing and throttling capacity.
v-click-outside
- Vue directive to react on clicks outside of an element without stopping the event propagation.
vue-outside-events
- Vue 2.x directive to help a specified element listen for specific events occurring outside of itself.
vue-selectable
- Vue 1.x/2.x directive to make items selectable by mouse.
vue-click-helper
- Vue2.x directive to handle click event and dblclick event on same element.
v-hotkey
- Vue 2.x directive for binding hotkeys to components.
vue-resize
- Vue 2.x component to detect DOM elements resizing (event based/no window.onresize)
vue-observe-visibility
- Vue 2.x directive using Intersection Observer API that detects if the element is visible (in the viewport and not hidden by CSS).
v-dragged
- Vue 2.x directive plugin for drag event detection.
vue-esc
- Vue.js directive to add a document event listener on escape keyup.
vue-global-events
– A component to handle global events (like shortcuts) using Vue’s event modifiers
vue-edge-check
– Check browser edge to prevent transition effect triggered oddly when swipe edge with
vue-router
vue-mutation-observer
– A simple and tiny directive to observe changes in DOM use MutationObserver API
vue-scroll-show
– Showing the element if the user reached it after scroll
vue-tabevents
– Easy communication between other opened tabs
vue-visibility-trigger
- ? Declaratively trigger methods when scrolled into view
Responsive Design
vue-viewports
- Define your custom viewports and use them in your components.
vue-responsive
: Vue.js(2.x) directive to hide/show HTML-elements with the Bootstrap 4, 3 or self defined breakpoints.
vue-match-media
- Vue 2.x-compatible plugin that offers a consistent, semantic approach to making components media query-aware.
vue-media-query-mixin
- Vue 2 media query mixin that can be used in both component js and component template. Compatible with bootstrap and vuetify viewports.
wXS
returns if screen width is xs,
wSM
returns true if screen width is sm, etc...
vue-breakpoints
- Vue 2 minimal components to show and hide elements based on breakpoints. Inspired by Airbnb.
vue-mq
- Offer some useful tools to quickly setup responsive design with a semantic and mobile-first API (Vue 2.x)
VueResizeSensor
- A container that supports resize event.
vue-breakpoint-component
- A render-less component for composing CSS breakpoint state.
fine-mq
- A fine API to manage media queries in JS with ease and first-class integration with VueJS as a plugin.
vue-responsive-components
- Create responsive components with
ResizeObserver
.
vue-screen-size
- Get easy and reactive access to the width and height of your screen.
vue-formly
- JavaScript powered forms for Vue.js.
vue-focus
- A reusable focus directive for reusable Vue.js components.
vue-form-generator
- A schema-based form generator component for Vue.js.
FormSchema Native
- Generate a form using JSON Schema and Vue.js
ic-formly
- Simple form component powered by vue-formly.
Form Builder
- Json template based form builder, based on Vue and Laravel.
vue-autofocus-directive
- Vue autofocus directive.
vue-awesome-form
- A vue.js component just like json-editor
vue-form-components
- Clean & minimal vue form elements with validation
ncform
- a very nice configuration generation way to develop form
Validation
vee-validate
- Simple Vue.js input validation plugin.
vue-rawmodel
- RawModel.js plugin for Vue.js v2. Form validation has never been easier.
vuelidate
- Simple, lightweight model-based validation for Vue.js.
simple-vue-validator
- A simple yet flexible validator library for vue.js.
vue-vform
- Vue.js 2 form component that integrates jQuery Validation and Axios.
vue-form
- Comprehensive form validation for Vue.js.
vuelidation
- simple, powerful, vuejs validation.
laravel-vue-validator
- Display errors from laravel validation rules
vue-daval
- Super vue data validator. Easiness, simplicity, accurate.
willvalidate
- Validation Forms for Vue.js.
vue-m-validator
- Model data validation library, for VueJs.
vue-isyourpasswordsafe
- A small utility written in Vue that checks if the given password has been leaked against the Have I Been Pwned API.
vue-form-send
- A Vue.js directive for sending data from form and primitive validation
FormVuelar
- Vue form components with server side validation in mind
vue-final-validate
- Vue validation solution from my development experience, support nested, async.
vform
- A simple way to handle Laravel back-end validation in Vue.
Resize
vue-not-visible
- Vue directive for removing from dom (like v-if) element on screen smaller than breakpoints.
vue-window-size
- Provides reactivity window size properties.
vue-responsive-text
- ↔ Component that scales its child node in relation to its parent node's width
Scroll
Set window scroll position
vue-chat-scroll
- Automatic scroll-to-bottom directive for Vue.js 2.0.
vue-scrollto
- Adds a directive that listens for click events and scrolls to elements.
vue-next-level-scroll
- A component based and SSR ready approach to smooth scrolling using the modern Scroll behavior API
vue-scroll-sync
- A component that synchronizes containers’ scroll positions
v-scroll-lock
- A Vue.js directive for body scroll locking without breaking scrolling of a target element
vue2-perfect-scrollbar
- PerfectScrollbar minimalistic wrapper
vue-scroll-to
- Adds a directive that listens for click events and scrolls to elements.
vue-scroll-progressbar
- A customizable component that indicates the scroll relative position in a progressbar.
vue-backtotop
- A Back-to-top component for Vue.js, which scroll page to the top when clicked.
Virtual scrollbar
VBar
- The virtual responsive cross-browser scrollbar component for Vue.js 2x.
Vuebar
- Vue 2 directive for custom scrollbar that uses native scroll behavior. Lightweight, performant, customizable and without dependencies.
vue-detached-scrollbar
- A simple scrollbar that can be detached from the container it is scrolling.
vuescroll
- A scrolling plugin based on Vue.js for uniforming the scrolling in PC and mobile.
vue-simplebar
- Vue.js wrapper for simplebar plugin.
smooth-vuebar
- Vue directive wrapper for smooth-scrollbar
Detect when components enter viewport
vue-scrollview
- A component utilizing scoped slots to detect when a vue component enters and leaves the viewport.
vue-scrollactive
- Adds an active class in a menu item based on the current section in viewport, also scrolling to the section when clicking the menu item.
vue-intersect
- A Vue component to add intersection-observer to a Vue component or HTML element.
vue-scrollmonitor
- A Vue plugin to watch visibility state of elements inside viewport with a wide range of browsers supported (use provide/inject so compat
vue@2.2.x
)
vue-stroll
- An Awesome CSS3 list scroll effects component for Vue.js 2.x.
navscroll-js
- Highlights menu items as you scroll, and also scrolls to a section when a menu item clicked. Use as a vue component, a vue directive or with vanilla js.
vue-scrollwatch
- A light plugin detecting scroll event,customize callback when element enter viewport,expose 'scrollTo' api to scroll to specific element .Using vue directive.
vue-check-view
- A plugin that checks if element is in viewport. Fast, small, has no dependencies, live demo.
vue-stickto
- A vue directive that support multiple DOM nodes stick to top automatically
vue2-scrollspy
- A scrollspy plugin and animated scroll-to.
Customize the scroll behavior
vue-scroll-behavior
- Customize the scroll behavior on route navigation. Especially hash mode.
vue-scroll-stop
- Stops propagation scroll when edge reached.
Seamless scrolling
vue-seamless-scroll
- A simple, Seamless scrolling for Vue.js.
Routing
vue-router
- The official router for Vue.js.
vue-router-storage
- Router storage & resolve solution for Vue.js 2 & vue-router 2
vue-tidyroutes
- Decentralized vue-router routes definitions
vue-routisan
- Elegant route definitions for Vue Router based on Laravel routing system
vue-error-page
- Provides a wrapper for router-view that allows you to show error pages without changing the URL
vue-router-sitemap
- Generate sitemap.xml by vue-router configuration
vue-smart-route
- Smart route directive to make intelligent looking apps with Vue.js.
vue-router-lite
- A component-based, declarative router for Vue.js 2.
Lazy Load
vue-lazyload
- A Vue.js plugin for lazyload your Image or Component in your application.
vue-lazy-background-images
- Lazy load background images for Vue 2.
vue-progressive-image
- Vue progressive image loading plugin.
vue-l-lazyload
- A lazyload plugin for Vue.js v2.x+.
vue-lazyload-img
- Especially optimized for mobile browser. support V2 & v1.
vue-lazy-images
- A plugin of lazyload images for Vue 2.x.
v-lazy-img
- Tiny (<0.6kb) directive for progressive image loading for Vue 2.
vue-clazy-load
- Lightweight transitionable image lazy loading component using IntersecionObserver for Vue 2.
vue-lazy-this
- Lazyloading component using Intersection Observer API.
v2-lazy-list
- A simple lazy-load list component based Vue 2.x
pimg
- A Simple Progressive Image Component used for lazy loading images.
vue-tiny-lazyload-img
- A small size Vue.js v.2+ directive for lazy loading images
vue-lazy-youtube-video
- A simple Vue.js component for lazy loading YouTube videos.
lazyload-vue
- Vue Plugin for vanilla-lazyload.
Pagination
vue-paginate
- A simple vue.js plugin to paginate data.
vue-pagination-2
- Vue.js 2 pagination component.
vuejs-uib-pagination
- Best and complete pagination plugin for Vue.js. Inspired in Angular Bootstrap Pagination.
vuejs-paginate
- A Vue.js(v2.x+) component for creating pagination.
vue-pagination-bootstrap
- A Vue.js (1.x & 2.x) server-side paging component with a template based on Bootstrap
laravel-vue-semantic-ui-pagination
- A Vue.js 2.x pagination used with Laravel & Semantic-UI.
vue-paginate-al
- Vue paginate with return your data.
vue-tiny-pagination
- A Vue component for create a tiny pagination.
laravel-vue-pagination
- A Vue.js pagination component for Laravel paginators that works with Bootstrap.
vue-lpage
- Low-level Vue pagination component.
v-page
- A simple pagination bar, including length Menu, i18n support, based on Vue2.x.
vue-smart-pagination
- Smart pagination of any data with a lot of nice settings.
vue-paginatron
- Pagination component built with scoped-slot props for maximum flexibility.
vue-ads-pagination
- A vue pagination component build with the css framework
tailwindcss
Animation
vue2-animate
- A Vue.js 2.0 port of Animate.css. For use with Vue's built-in transitions.
animated-vue
- A Vue.js 2.x plugin to easily use Animate.css animations as transitions. As easy as
<animated-tada>
!
vue-lottie
- A Vue.js 2.x plugin to render after effects animations based on bodymovin
Vueg
- Make vue-router have a transition effect / 为 webApp 提供转场特效的开源 Vue 插件
v-animate-css
- The easiest to implement Vue 2 directive for Animate.css
vue-mixin-tween
- Mixin factory that adds tweened values to component context for animations
v-odometer
- Smoothly transitions numbers with ease. Use this library to give your application a smooth animation, only applicable on numbers.
vue2-transitions
✨ Reusable Vue 2 transition components
vue-overdrive
Super easy magic-move transitions for Vue apps ?
animated-number-vue
Super easy way to animate numbers.
vue-typed-js
Typed.js integration to easily create typying animations.
vue-parent-change-transition
Enable a child components to animate when it changes the parent.
vue-smooth-reflow
Transition an elements reflow in response to data changes.
VueTween
Allows components to tween their properties.
vue-slide-up-down
Like jQuery's
slideUp
/
slideDown
, but for Vue!
vue-animejs
Simple
anime.js
directives for Vue.
Eagle.js
Eagle.js is a web-based slideshow framework for Vue.js.
vue-pose
Pose for Vue is a declarative motion system that combines the simplicity of CSS transitions with the power and flexibility of JavaScript.
vue-slide-up-down-component
It is a simple interface but realizes very flexible and powerful slide animation, for Vue!
femtoTween
A minimalistic (zero-dep, less than 1k) tweening library with first-class Vue support
vue-sequential-entrance
Plugin for creating elegant sequential animation entrances with a list of elements of your page. Zero effort. Simple and lightweight
vue-animate-scroll
Super lightweight way to add CSS animations to elements as they scroll into view.
vue-svg-transition
Create 2-state, SVG-powered transitions
vue-page-transition
Easy route / page transitions for Vue.js
Meta Tags
Manage meta information in the document head
vue-head
- Manage the meta information of the head tag, a simple and easy way.
vue-meta
- Manage page meta info in Vue 2.0 components. SSR + Streaming supported.
vue-headful
- Set document
<title>
and meta tags from within your views.
vue-simple-headful
- Easily set meta-tags with vue.js - a simpler
vue-headful
alternative with TypeScript support.
Portal
Move a DOM node to a target DOM node
vue-dom-portal
- An escape hatch for DOM Elements in Vue.js components.
portal-vue
- A Vue Plugin to render your component's template anywhere in the DOM (Works on the virtualDOM level, doesn't move nodes within the DOM)
Filters
vue2-filters
- A collection of standard filters Vue 1.* adapted for use in Vue 2.*.
vue-morphling
- A collection of standard and custom filters for Vue 2.
vue-currency-filter
- Lightweight and Customizeable Vue 2 Currency Filter.
vue-trans
- A simple filter to provide a similar way of translating to the Symfony trans.
vue-string-filter
- Lightweight Vue 2 String Manipulation Filter.
vue-units
- A collection of handy unit conversion filters for use in Vue 2.
vue-numeral-filter
- A collection of filters that allows Numeral.js to be used inline in the template section of a component.
vue-filter-date-format
- Simple datetime filter for Vue 2.
vue-filter-pluralize
- Simple pluralize filter for Vue 2.
vue-filter-date-parse
- Simple parsing datetime filter for Vue 2.
vue-svgicon
- A tool to create svg icon components. (vue 2.x).
vue-content-loading
- Vue component to easily build (or use presets) SVG loading cards Facebook like.
vue-annotator
- Annotate page using any SVG Element (
rect
,
polygon
, and many more, even HTML Element like
canvas
if wrapped in
foreignObject
)
vue-svg-sprite
- A directive to simply use SVG sprite (vue 2.x).
vue-svg-filler
- Vue component for custom your svg file ? ? (vue 2.x).
Miscellaneous
vue-resource-progressbar-interceptor
- Interceptor that ties a progressbar to all requests, that it is clear that something is loading.
vue-images-loaded
- Vue.js 2.0 directive to detect images loading.
vue-visible
- A v-visible directive for VueJS (2.x), like v-show but for visibility.
vue-resize-sensor
- Component to detect container resizing (event-based)
v-blur
- Vue directive to blur an element dynamically
vue-async-methods
- Helper utilities for promise based methods
vue-openseadragon
- OpenSeaDragon component for Vue.js (zoom and pan)
vue-match-heights
- Directive to set heights of elements to be the same.
vue-conditional-attrs
- A Vue.js component for conditional rendering attributes and directives
vue-cbsc
- A Vue.js 2.x component for programmatically blender, shader and convert colors.
vue-spatialnavigation
- Vue directive (Vue.js 2.x) for spatial navigation (keyboard navigation)
vue-lifecycle
- A Vue.js lifecycle directives.
vue-aspect-ratio
- Aspect ratio directive for vue.
@kooljay82/vue-m-camera
- To avoid changing orientation of photo automatically which taken via camera of user's device.
WebGL
vue-3d-model
- A 3D model viewer in Vue component.
vue-pano
- A panorama viewer in Vue component.
vue-threejs
- Vue bindings for Three.js.
VueGL
- Vue.js components rendering 3D graphics reactively via three.js
vue-vr
- A framework for building VR applications with Vue based on
threejs
and
Panolens
, inspired by
react-vr
vue-displacement-slideshow
- A Vue.js component that makes Webgl image displacement transitions easier.
Fullscreen
vue-fullscreen
- A simple Vue component for fullscreen.
Page visibility
vue-page-visibility-awesome
- A Vue 2.x component of easy-to-config page visibility api.
vue-authplugin
- an elegant view auth control plugin, support directive and prototype methods.
Printing
vue-html-to-paper
- Vue mixin for paper printing html elements to paper.
Utilities
Utilities not directly related to the UI
vue-underscore
- simple vue plugin to implement underscore
vue-lazy-calc
- A simple calculation plugin in lazy && chaining way with strong typed.
Typescript
vue-typed
- Sets of ECMAScript / Typescript decorators that helps you write Vue component easily.
vue-typescript
- Typescript decorators to make vue feel more typescripty.
vue-property-decorator
- Vue.js and Property Decorator.
vue-typescript-component
- Decorators to use TypeScript classes as Vue.js 2.0 components.
vue-typescript-import-dts
- TypeScript declaration file that allows using 'import' with .vue files.
vue-ts-loader
- Type-check your script in your vue-loader.
vue-mixin-decorator
- Typescript decorator for strongly typed Mixins.
vue-ts-component-generator
- A simple cli tool for generating vue typescript components.
vue-local-storage-decorator
- Persist data by using local stoarge in decorator format
vuex-module-decorators
- Typescript/ES7 Decorators to make Vuex modules a breeze
vuex-class-modules
- Introduce a simple type-safe class style syntax for your vuex modules, inspired by vue-class-component.
HTTP Requests
Retrieve data over HTTP
vue-resource
- The HTTP client for Vue.js.
vue-async-computed
- Async computed properties for Vue.js.
vue-jsonp
- A tiny library for handling JSONP request.
v-model
- V-Model is a model plugin for Vue.js, like ng-resource.
vue-resource-mock
- A helper to mock your http response, based on vue-resource's interceptor.
vue-async-data-2
- Async data loading plugin for Vue.js.
vue-api-request
- A plugin that provides full control on your APIs, making your request simple, fast and easy to implement.
vue-fast-axios
- Make requests with validations in a simple and beautiful way.
vue-async-properties
- An
asyncData
and
asyncComputed
plugin with support for debouncing, transforming results, error handlers, loading/pending flags, lazy/eager requests.
vue-axios-plugin
- A plugin that combines axios with Vuejs, making http request more easier.
vuex-api
- A vuex plugin for effortlessly handle api calls.
zipkin-instrumentation-vue-resource
- An interceptor for
vue-resource
that instruments outgoing HTTP requests with
Zipkin
vue-api-query
- Elegant and simple way to build requests for REST API.
vue-chimera
- A full-featured RESTful resource based client, compatible with Nuxt.js and allows server side fetch.
vue-google-api
- A wrapper for easy integration of the Google's APIs client in any vue.js 2 project, based on promises, with built-in Oauth2 "Sign In with Google" facilities.
vue-apis
- A vue plug-in integrated with axios that chain-builds API instances. Available from the context of a vue instance (eg: this.$apis.apiName()).
Internationalization / L10n / localization / translation
vue-i18n
- Internationalization plugin for Vue.js.
vue-translate-plugin
- VueJS plugin for translations.
vuex-i18n
- Localization plugin for vue.js 2.0 using vuex as store.
vue-gettext
- Translate your Vue.js applications with gettext.
vue-i18n
- A small plugin for implementing translations in Vue.js.
vue-multilanguage
- Support many languages in Vue.js 2.
vue-ts-locale
- A plugin for implementing translations using Intl in Vue.js 2 with typescript support.
vue-i18next
- A i18next wrapper to support translations in Vue.js 2.
vue-polyglot
- Basic translation plugin for Vue.js 2 with async loading.
v-localize
- Simple localization plugin for the amazing Vue.js.
vue-simple-i18n
- Probably the thinnest library to end all Vue i18n solutions within 1kb
template-string-i18n
- I18n using template strings with auto save/load translate documents.
vue-translations
- Translate your vuejs application easy with it.
vue-i18n-service
- Export and import
@kazupon/vue-i18n
's SFC translations simply using
npx vue-i18n-service export|import
.
vue-i18n-filter
- Vue filter extend for Vue-i18n, simply using
{{ hello world | t }}
.
vue-translation-manager
- Interactively find and translate strings in your Vue.js application. Works well with vue-18n and vuex-i18n.
vue-t9n
- Simplest way to translate your applications
vue-simple-inline-translation
- A Vue component that simplifies the way text is translated: by translating it inline.
vue-i18n-extract
- Manage vue-i18n localization with static analysis. Make reports about missing and unused i18n entries.
vscode-vue-i18n-ally
- VSCode extension for better Vue-i18n experiences.
Custom Events
vue-events
- Simple event handling for Vue.js.
vue-event-handler
- Event handling plugin for VueJS.
vue-event-manager
- The global event manager for Vue.js.
vue-geb
- A global event bus using Observables.
vue-bus
- Tiny simple central event bus plugin for Vue.js 2.
vue-simple-events
- Yet another event management plugin, but WITHOUT Vue instance
vue-option-events
- Bring Vue.js 1 events option and $emit to Vue.js 2.
Persistence
LocalStorage etc.
vue-localstorage
- Vue.js localStorage plugin with types support.
vue-ls
- Vue plugin for work with LocalStorage from Vue context.
vue-pouch
- Live and reactive bindings for PouchDB. Persist data in IndexedDB and sync with CouchDB.
vue-idb
- Lists and huge lists management with IndexedDB (Dexie.js) only or automatically created and extendible vuex modules
vuejs-storage
- Vue.js and vuex plugin to persistence data with localStorage/sessionStorage.
vue-browserstore
- Browser storage wrapper.
VueStorage
- Allows components to save and load their data across browser sessions.
vue-web-storage
Another Vue.js plugin for localStorage and sessionStorage
vue-universal-cookies
Isomorphic cookies plugin for Vue.js / Nuxt.js supports Browser, Express, http (node).
vue2-storage
Browser storage for Vue.js app
vue-warehouse
A Cross-browser storage for Vue.js and Nuxt.js, with plugins support and easy extensibility based on Store.js.
vue-storage-watcher
- A reactive localStorage/sessionStorage plugin for Vue.js with strong typed.
State Management
vuex
- Centralized State Management for Vue.js.
vue-sync
- Synchronize Vue State with the Browser URL, Server Backend, and other endpoints.
vuelm
- Lightweight state management inspired by Elm architecture.
vuez
- A simple but powerful State Management for Vue.js, with only 2 APIs.
vuet
- Vue.js state management model for Agile Development
vue-ya-stash
- Yet Another stash storage with update/patch event emitters simillar with v-bind.sync
vue-assign-model
- Automatically assign elements value to model for Vue.js.
vue-stash
- Easily share reactive data between your Vue components.
vue-mc
- Models and Collections for Vue.js
vue-model
- Model component for Vue.js
tuex
- A mostly reasonable alternative to Vuex.
revuejs
- A tiny, light and handy state management for vuejs 2, writing less verbose code.
lue
- Vue and vuex based library, writing less verbose code.
vuex-lite
- A 1KB Vuex with just state and mutations.
Vuenut
- is a component to develop faster and more fluently.
vue-shared
- A light and simple alternative to vuex
vuex-module-generator
- It allows you to create a vuex module easily.
vuex-declaration
- Declare state like props, make state inject to vuex dynamically when component created.
vuex-up
- Brings mixing and services injector features to module vuex.
effector
— Fast and powerful reactive state manager. Effector lets you write simple, fast and type safe code and manage reactive state with ease.
nano-state-vue
- Efficient, effective, and extensible state management: less is more
Redux
vuedeux
- Binding Solutions for Vue & Redux.
redux-store-mixin
- Mixin for integrate action creators in methods of vue-component
vue-redux-prepare-props
- Helper for use props of
Redux
with
Vue.js
using
Vuex
and
Vuedeux
vuejs-redux
- High order component facilities for Vue and Redux.
vuex-coolstory
- Plugin for vuex to run redux-saga.
movue
- Mobx integration for Vue.js.
vue-mobx
- Mobx binding for Vuejs 2.x.
Authentication/Authorization
vue-kindergarten
vue-authenticate
- Simple Vue.js authentication library for login/register and OAuth (1.0/2.0) authentication
vue-facebook-account-kit
- Simple vue wrapper to the fb account kit library.
casl-vue
- Restricts what resources a given user is allowed to access
vue-google-api
- A wrapper for easy integration of the Google's APIs client in any vue.js 2 project, based on promises, with built-in Oauth2 "Sign In with Google" facilities.
vue-auth
- A simple light-weight authentication library for Vue.js
vue-auth-plugin
- A simple authentication and authorization library for Vue.js using typescript
vue-google-signin-button
- A simple Vue plugin to include a Google sign-in button into your web app
vue-facebook-signin-button
- A simple plugin to include a custom Facebook sign-in button into your web app
vue-auth-href
- A VueJS directive for downloading files that are under a protected route schema
Vuex Utilities
vuex-persistedstate
- Persist Vuex state with localStorage.
vuex-plugin-jsdata
- A plugin for syncing Vuex store with js-data.
vuex-local
- Local state management within Vuex.
vuex-action
- Utilities for vuex to easily create and manage actions.
vuex-rest-api
- A Helper utility to simplify the usage of REST APIs with Vuex. Based on axios.
vuex-cache
- A Vuex plugin utility to cache action those will make remote request.
vuex-persist
- A Typescript-ready Vuex plugin to help save the store to localStorage or any custom Storage (that you can configure).
vuex-local-state
- Add 'localState/sessionState' options to vuex. Keep the Vuex state with localStorage.
vuex-cli-scaffold
- Scaffold vuex actions, mutations, getters and the state.
vuex-action-reload
- A vuex plugin that reloads actions when a condition is met.
vuejs-storage
- Vue.js and vuex plugin to persistence data with localStorage/sessionStorage.
vuex-orm
- The Vuex plugin to enable Object-Relational Mapping access to the Vuex Store.
vuex-async-module
- Reduce async boilerplate code generating Vuex modules. Compatible with Vue 2.x.
vuex-api
- A vuex plugin for effortlessly handle api calls.
vuex-queries
- Vuex-Queries helps you write query functions in Vuex
vuex-microservice
- Define microservice URLs at a dedicated place and use them inside your Vuex actions.
vuex-iframe-sync
- Vuex state synchronization between iframe/window.
vuex-aspect
- Bind remote data of any kind to the vuex store.
Vuenut
- is a component to develop faster and more fluently.
vuex-map-fields
- Enable two-way data binding for form fields.
vuex-search
- Vuex binding for client-side search with indexers and Web Workers.
vuex-dry
- helps keep your vuex codes DRY.
vuex-pathify
- provides a unified path syntax to Vuex stores (such as
foo/bar@a.b.c
)
vuex-loading
- Simplify vuex loading state management
vuex-module-builder
- Vuex module builder is a wrapper for writing vuex stores efficiently with some common methods built-in.
vuex-pagination
- Easily work with paginated resources in your Vue/Vuex application. Works well with most of the Vue pagination components.
vuex-easy-firestore
- Easy coupling of Firebase Cloud Firestore and Vuex. 2-way sync with 0 boilerplate!
vuex-listener
- A global Vuex action and mutation listener plugin
jsonapi-vuex
- Use a JSONAPI api with a Vuex store, with client-side restructuring/normalization of records.
Sync Between Tabs
vuex-basement
- Vuex state persistence and synchronization between tabs/windows.
vuex-shared-mutations
- Share vuex mutations between tabs/windows.
GraphQL
vue-apollo
- Apollo/GraphQL integration for VueJS.
vue-relay
- A framework for building GraphQL-driven Vue.js applications.
vuex-orm-apollo
- Apollo/GraphQL integration for Vuex-ORM.
Concurrency Management
vuency
- Concurrency management for Vue.js.
Code Style
Improve readability of code
vue-types
- Vue Prop Types definitions.
vue-factory
- A simple factory/provider extension for Vue.js, like services in Angular.
eslint-plugin-vue
- Eslint plugin for Vue.js projects.
vue-decorators
- Decorators for Vue.js (beta).
vue-computed-helpers
- Computed helpers for Vue.js apps
vert
- Library to build Vue applications in OOP.
vue-slot-checker
- Provide the function to check slot like checking props.
vue-bem-cn
- Simple BEM class name generator for Vue.JS.
vue-css
- Vue.js plugin that allows you to bundle CSS with your components.
vue-mods-names
- Adding modificators to class names for all components in app.
vue-styler
- Simple, performant styler for vue.
vue-css-modules
- Seamless mapping of class names to CSS Modules inside of Vue components.
vue-simple-bem
- Directive with succint syntax for adding BEM class names to elements.
fela-vue
- CSS-IN-JS mixin for Vue designed for flexibility yet team-oriented.
j-vue
Asset Management
Utilities for building / compiling / bundling / loading assets
vue-script2
- Standardized, designer-friendly script tag behavior for your Single Page App.
vue-loader
- Webpack loader for Vue.js components.
vueify
- Browserify transform for single-file Vue components.
vue-compiler
- A simple cli wrapper around the vue-component-compiler.
vue-brunch
- Adds support to Brunch for pre-compiling single file Vue components.
poi
- Start writing an app with a single .js file, Poi could handle all the development setups for you, no more configuration hell.
http-vue-loader
- Load .vue files directly from your html/js without node.js environment nor build step.
vue-jsx-hot-loader
- Enable HMR for Vue.js components with JSX render functions.
VueInBrowserLoader
- Loads a .vue file from the given URL and compiles it to a component directly in the browser.
vue-separate-files-webpack-loader
- Webpack loader for separated Vue components parts
vue-svg-loader
- webpack loader that lets you use SVG files as Vue components
vue-registrar
- ☘️ A package that dynamically registers your components and vuex modules - Makes your code a lot readable!
Page Navigation
vue-navigation
- A page navigation library, record routes and cache pages, like native app navigation. 一个页面导航库,记录路由并缓存页面,像原生APP导航一样。
vue-acl
- Access Control List for VueJS 2.
vue-breadcrumbs
- Implements simple breadcrumb functionality with vue-router for both Vue 1.x and Vue 2.x.
vue-2-breadcrumbs
- breadcrumb together with vue-router for Vue 2.x. and Bootstrap 4
vs-crumbs
- Vue breadcrumbs in 40 lines of code that allows nested paths without child views.
vue-nav
- Page navigation manager, support all navigation function of native mobile app. 页面导航管理器,支持手机原生应用的所有导航功能。
vue-2-crumbs
- Breadcrumbs plugin for Vue.js 2 framework that allows to select parent route in route meta object with no need of sub-routing. Also allows using dynamic data.
vue-pesdk
Vue.js wrapper for the PhotoEditorSDK
vue-resolve
Resolve routes data before entering / rendering the component for that route.
vue-page-stack
- Routing and navigation for your Vue SPA. Vue 单页应用导航管理器
Miscellaneous
vue-container
- A simple dependency injection library for Vue 2.
vue-super
- A simple plugin to call methods on parent components.
@skyrpex/props-to-local
- Vue mixin that maps props to local data.
vue-inject
- Dependency injection for Vue 2.x Components
vue-deepset
- Interact with deeply nested fields in Vue/Vuex objects/state with v-model in Vue 1.x and 2.x
vue-gaspard
- DOM helpers plugin for Vue.js
vue-configuration
- A static configuration object for Vue.js
vue-lodash
- A simple wrapper for integrating lodash to Vue 2.
vue-ramda
- Vue Wrapper for
ramda
vue-router-user-roles
- Protects routes based on user roles. Add your own authentication.
vue-messenger
- A series of useful enhancements to Vue component props: Transform, Enum-type, Numeric-type, Two-way data bindings.
vue-uuid-v4
- Plugin Vue2 to easy get UUIDv4
vue-async-operations
- Managing async operations statuses in your Vue components
vue-direction
- ? Direction aware hover in Vuejs
vue-unique-id
- Generates unique component ids and component-scoped HTML ids.
stfalcon-vue-di
- ⭐️ Lightweight DI for vue components️ ❤️
Web Workers
vue-worker
- A Vue.js plugin to use webworkers in a simply way.
vue-log-worker
- A Vue.js plugin to log error and vuex mutations to your backend through a web worker
jsx-vue-functional
- A Babel plugin that brings syntactic sugar for Vue functional components.
jsx-event-modifiers
- A Babel plugin that adds event modifiers similar to Vue templates to JSX.
jsx-v-model
- A Babel plugin that brings
v-model
to JSX.
vue-jsx-sync
- A Babel plugin that brings vue
sync modifier
to JSX.
Migration
vue-backbone
- Vue.js Plugin to facilitate Backbone integration.
Web Sockets
vue-socket.io
- Socket.io implementation for vuejs.
vue-websocket
- Simple websocket (socket.io) plugin for Vue.js.
vue-echo
- Integrates Laravel Echo into Vue, allows for easy registration of socket events.
vue-socket-cluster
- Web Sockets for vue with uws(Micro web sockets) through socket cluster
vue-native-websocket
- Native websocket implementation for Vuejs 2 and Vuex
vue-socket.io-extended
- Socket.io bindings for Vue.js and Vuex
vue-phoenix
- Elixir Phoenix Web Socket implmentation for vuejs. Also provides typescript decorator for better use.
Payment
Payment utilities.
Stripe
vue-stripe-checkout
A simple vue plugin for Stripe checkout.
vue-stripe-payment
Vue wrapper for jquery.payment by Stripe.
Paypal
vue-paypal-checkout
A simple Vue.js wrapper component for paypal-checkout.
Plaid
vue-plaid-link
Easy to use Vue component for Plaid Link.
Integrations
Integrate with services or other frameworks
vue-disqus
- Vue component to integrate Disqus comments in your application, with support for SPA.
vue-youtube-embed
- Vue.js and YouTube.
vue-add-to-calendar
- A Vue.js component that provides "Add to Calendar" functionality, works with Vue 2.X.
Vue + Meteor
- Vue first-class integration in Meteor.
av-ts
- A modern, type-safe, idiomatic Vue binding library.
Neutronium
- Build .NET desktop applications using HTML, CSS and javascript.
vue-typescript-jest
- Jest preprocessor.js for Vue.js components (supporting html, pug, and babel) and TypeScript.
vue-jest-utils
- Utilities for testing Vue.js components using Jest.
vue-custom-element
- Vue Custom Element - Custom Elements for Vue.js.
vue-cordova
- Vue.js plugin for Cordova.
vue-wamp
- AutobahnJS wrapper library fo Vue.js.
express-vue
- Vue rendering engine for Express.js. Use .Vue files as templates using res.render().
vue-grecaptcha
- Google reCAPTCHA for VueJS 2
vue-recaptcha
- Google reCAPTCHA component for Vue.js
require-vuejs
- RequireJS plugin to async and dynamic load and parse .vue components.
facebook-login-vuejs
- Vue Component for Authenticating your Facebook App and get the benefits of Facebook Login.
vuejs/vuefire
- Official Firebase Integration for VueJS
vuefire
- Firebase for VueJS and Vuex
vue-runkit
- RunKit Embed for Vue.js
vue-youtube
- Provides a simple layer for you to use your imagination while over the
YouTube IFrame Player API
. (Compatible with SSR)
vue-introjs
- Integrates intro.js step-by-step guide and feature introduction with Vue.js
http://introjs.com/
.
vue-loopback
- Loopback and Vue application template
vue-laroute
- Integrate Laravel routes into your VueJS application using laroute.
vue-raven
- Automatically reports uncaught JavaScript exceptions triggered from vue component.
vue-telegram-login
- Vue Component for
Telegram Login
by
@vchaptsev
vuexpress
- Vue + Express.js = VueXpress / A server side rendering engine for Express.js. Use .vue files as your express.js templates.
vue-fixer
- A simple vue component for the
fixer API
.
amazon-cognito-vuex-module
- Vuex module for Amazon Cognito.
vue-web3
- Web3 blockchain bindings for Vue.js (inspired by Vuefire and Drizzle)
sbt-vuefy
- Vue.js integration for Playframework
loopback-vue-starter
- LoopBack and Vue starter template with easy plugin management through
vue-cli
and
vue ui
.
vue.py
- Write Vue.js Components in Python
vue-telegram-passport
- Vue Component for
Telegram Passport
by
@vchaptsev
vue-facebook-login-component
- A fully customizable component for integrating Facebook login.
vue-programmatic-invisible-google-recaptcha
- A simple invisible Google reCAPTCHA component focused solely on programmatic invocation.
vbuild
- Its main purpose is to let you use components (.vue files) in your vuejs app, without a full nodejs stack. Since 0.6 versions : you can create
your component in pure python
!
feathers-vuex
- is a first class integration of the Feathers Client and Vuex. It implements many Redux best practices under the hood, eliminates a lot of boilerplate code, and still allows you to easily customize the Vuex store.
vue-nocaptcha
- Aliyun noCAPTCHA component for Vue.js
ionic-vue
- Vue.js integration for Ionic v4
vue-0xcert
- Vue.js integration for 0xcert Framework - an open-source library that provides tools for building powerful decentralized applications
vue-zdog
Vue wrapper for zDog - a minimalist 3D engine for the browser
Vue CLI 3 Plugins
vue-cli-plugin-cordova
- Vue CLI 3 Plugin to add Cordova easily to your project
vue-cli-plugin-component
- Vue CLI 3 Plugin to create component
vue-cli-plugin-modular-vuex
- Vue CLI 3 Plugin to create modular Vuex store files
vue-cli-plugin-modular-router
- Vue CLI Plugin to create modular route files
vue-cli-plugin-docker-nginx
- Vue CLI Plugin to add a docker deployment using a minimal nginx server
vue-cli-plugin-element
- Vue CLI 3 Plugin to build an enterprise application with element-ui in seconds
vue-cli-plugin-electron-builder
- Vue CLI 3 Plugin for Electron with no required configuration that uses Electron Builder.
Google Analytics
vue-ua
- Google Universal Analytics support in Vue.js.
vue-analytics
- Vue plugin for Google Analytics.
vue-gtm
- Vue plugin for Google Tag Manager
Yandex Metrika
vue-ya-metrica
- Vue plugin for Yandex.Metrica
vue-yandex-metrika
- Vue plugin for Yandex Metrika with router integration, plugin options by
@vchaptsev
Dev Tools
vue-dev-server
- A small development server for building
vue
components.
vuepack.org
- A simple page that allows you to select Vue components and download them as a single minified JS file.
Storybook
- The UI Development Environment. works with v3.2+ later.
Font Awesome Finder
- Chrome extension to search, preview and choose Font Awesome icons and copy the selected icon HTML code & Unicode to clipboard.
vue-dummy
- Placeholder Text and Dummy Images as a simple
v-dummy
directive.
Bit
- Manage and reuse
vue
components between projects. Easily isolate and share components from any project without changing its source code, organize curated collections and install in different projects.
Vuenut
- is a component to develop faster and more fluently.
ComponentFixture
- is a component design to develop and test other components, automatically binding their props.
vue-cli-template-dev-server
- A development server for building vue-cli custom templates.
Inspect
Inspecting & debugging
Vue.js devtools
- Chrome devtools extension for debugging Vue.js applications.
DejaVue
- Visualization and debugging tool built for Vue.js.
vue-clicky
- Right click any component to show info about it in the console.
vuejs-logger
- Provides customizable logging functionality for Vue.js.
bugsnag-vue
- Official Vue.js plugin for
bugsnag
error reporting
vue-inspector
- Vue.js Inspector for Mobile Devices
Vue Performance Devtool
- Vue Performance Devtool is a browser extension for inspecting the performance of Vue Components
VueSource
- Global Vue mixin which identifies components in source code by adding HTML comments
NW-Vue-DevTools
- DevDependency for adding Vue DevTools into NW.js
bruit-io
- Collect feedbacks with screenshot and technical data and post them to an API like
bruit.io
.
Create documentation
vue-markdown-loader
- Convert Markdown file to Vue Component.
vue-play
- A minimalistic framework for demonstrating your Vue components.
vue-styleguide-generator
- React inspired style guide generator for Vue.js.
CheatSheet
- Complete Interactive API.
Vuex CheatSheet
- Complete Interactive Vuex API.
vue-styleguidist
- A style guide generator for Vue components with a living style guide.
vue-elucidate
- A component that generates beautiful documentation for your living styleguide / design system.
vue-md-loader
- Markdown files to ALIVE Vue components.
@vuedoc/parser
- Generate a JSON documentation for a Vue file component.
@vuedoc/md
- Generate a Markdown Documentation for a Vue file.
jsdoc-vue-component
- A jsodc3 plugin that extract vue SFC info(name, props, events...) to document.
jsdoc-vuedoc
- A jsdoc3 plugin use
@vuedoc/md
.
vue-storybook
– Add
<story>
blocks to your Vue single file components for tighter integration of Vue +
Storybook
vue-patterns
- Useful Vue patterns, techniques, tips and tricks and helpful curated links.
vuese
- One-stop solution for vue component documentation.
vue-container
- A simple dependency injection library for Vue 2.
vuenit
- Utilities for testing Vue components and directives.
vue-unit
- A library for Vue.js that makes it easier to create and unit test components.
vue-a2b
- A library for Split Testing with Vue.js. Highly configurable and tiny (1.2k gzipped).
vue-test-utils
- Official utilities for testing Vue components.
vue-test-actions
- Unit testing Vuex actions with Jest mocks.
jest-vue-matcher
- Additional jest matchers for vue
vue-hubble
- A better way to select elements for UI testing in Vue.
Vue Testing Library
- Simple and complete testing utilities that encourage good testing practices. Based on DOM Testing Library and built upon the official Vue Test Utils.
Browser-less require
Load Vue components without browser
vuegister
- Vuegister (a portmanteau of vue & register) is a require hook for loading of the Vue.js single-file components (or .vue files).
vue-node
- Load vue components in node.
Source Code Editing
Text editor plugins
language-vue@atom.io
- Vue component file syntax for Atom.
language-vue-component@atom.io
- Adds syntax highlighting to Vue Component files in Atom.
vue-snippets@atom.io
- Atom snippets for Vue component files.
vue-autocompile@atom.io
- Auto compile vue file on save.
lint-sass-vue@atom.io
- Atom.io package to lint Sass/SCSS in
.vue
files.
vuejs2-snippets@atom.io
- Atom snippets for javascript and components, including lifecycle hooks, directives, properties, vuex, vue-router, vue-i18n support.
vue2-autocomplete@atom.io
- Vue.js 2.0+ autocomplete for Atom.
Sublime Text
Vue Syntax Highlight
- Sublime Text syntax highlighting for single-file Vue components.
VUEFormatter
- Sublime Text code format
vuejs-sublime-complete
- Sublime Text code complete
Vue Next Formatter
- Sublime Text Vue formatter, Supported ES5/6/7, Less/Sass and Pug/Html template.
Vim Vue
- Syntax Highlight for Vue.js components.
vim-vue-plugin
- Vim syntax and indent plugin for .vue files.
Visual Studio Code
Vetur
- Vue tooling for VSCode.
Visual Studio
VuePack
- Contains HTML Intellisense and code snippets for the Vue.js JavaScript library.
Brackets
Brackets Vue
- Brackets extension for Vue.js.
Intellij
Vue.js support for WebStorm
, IntelliJ IDEA, PhpStorm, PyCharm & RubyMine – official Vue.js support by JetBrains
Emacs
Vue Mode
- Emacs major mode for vue.js.
Kate Syntax Files
- Syntax files (modified or original) for katepart (kate, kwrite, kdevelop).
Scaffold
Scaffold / boilerplate / seed / starter kits / stack ensemble / Yeoman generator
vue-cli
- Simple CLI for scaffolding Vue.js projects.
Vue-Django
- A boilerplate to set you up in bringing the awesomeness of VueJS into a Django (Python) app.
python-vuejs
- Gluing Python web frameworks and Vue.js with a set of scripts. Basically a
vue-cli
wrapper.
generator-vue-plugin
- Yeoman generator generating vue plugin.
vue-seed
- vue-seed is minimal seed for those looking to get up-and-running with Vue
nuxt-seed
- nuxt-seed is minimal seed for those looking to get up-and-running with Vue and Nuxt
rails_vue_melt
- Rails view with webpack=vue optimizer.
vue-starter
- A Vue.js starter kit that lets you focus on more programming and less configuration.
vue-standalone-component
- A standalone component generator with documentation support using jsdoc and vue-styleguidist
vuejs-wordpress-theme-starter
- A WordPress theme with the guts ripped out and replaced with Vue
Cordovue
- A sample Apache Cordova application using Vue.
Cookiecutter-Django-Vue
- Django+VueJS+Docker customizable project generator with a large number of settings/integrations by
@vchaptsev
iBiu
A visual CLI for scaffolding large Vue projects in 2 seconds.
wp-vue
- A simple Vue blog template that displays posts from a WordPress REST API endpoint.
vue-cli-template-nativescript
- Template for starting new nativescript+vue projects with rollup+babel+eslint
vue-element-ui-scaffold
- Online and visual Vue 2 with Element-UI CRUD scaffold/generator.
vue-firebase-element-ui-scaffold
- Online and visual Vue 2, Element-UI and Firebase scaffold/generator with CRUDs, authentication, file/image upload, activity log and more.
vuesion
- The most complete boilerplate for production-ready PWAs. With focus on performance, development speed, and best practices
vue-vuex-typescript-webpack-seed
- A seed project with Vue, Vuex, Typescript, Scss & Webpack with hot reloading
VueCharged Template
- A highly opinionated, feature-first Vue 2 template with CLI scaffolding. Uses Vue 2, Vuex, Vue Router and Vue I18n.
Huncwot
- Vue.js boilerplate with Node.js for building modern JavaScript applications with « batteries included » approach.
wemake-vue-template
- Bleeding edge vue template focused on code quality and developer happiness. Featuring: nuxt, flow, and jest.
vue-lib-template
- ? A simple template for building and publishing Vue component/library as a opensource.
Awesome Vue Boilerplate
- ? Awesome Vue, ? Vuex, Vuex-pathify, element-ui, tailwindcss
ScaffoldHub.io
- Generate full Vue applications with SQL, MongoDB or Firebase Firestore databases.
VuePlay
- Generate disposable Vue playgrounds in seconds. Allows you to test things quickly.
Mevn-CLI
- Light speed setup for MEVN stack based apps.
vue-cli-template-registry
- A solution for installing vue-cli custom templates hosted on private/enterprise repositories.
vue-enterprise-boilerplate
- An ever-evolving, very opinionated architecture and dev environment for new Vue SPA projects using Vue CLI 3.
Client
Render Vue application in the browser only
Vue Plugin Boilerplate
- Boilerplate for Vue.js plugin.
Bourgeon
- Bourgeon is an opinionated-featured VueJS 2.0 setup for Webpack.
VuePack
- A modern starter which uses Vue 2, Vuex, Vue-router and Webpack 2 (and even Electron).
Vue Settler
- An opinionated Vue 2.0 SPA Starter.
vue-build
- Ultra Simple, Development, Testing and Production Build Cli.
Vue Element Starter
- Robust Vue 2 starter with Element-UI.
vue-multiple-pages
- A modern Vue.js multiple pages starter which uses Vue 2, Webpack2, and Element-UI
vue-typescript-boilerplate
- A Vue.js typescript SPA starter with Vue 2, Vue Typed, Vuex, Vue Router and localization
vue-tachyons-template
- A Vue 2 project starter template w/ Tachyons, Webpack, and ESLint
Vuets
- A Vue, TypeScript ready boilerplate using class-style components, vue plugin options, webpack & vue-cli.
MMF-FE/vue-typescript
- A vue2.x typescript template.
Friendly Vue Starter
- A full featured Vue.js starter project with GraphQL support via Apollo-client (Vuex, Vue-router, Vue-i18n, Webpack 3, Eslint, Prettier, ...)
vue-webpack-typescript
- A Vue 2.2 Webpack 2 and Typescript 2 setup with hot reload, unit testing, code coverage, sass and bundling/minification.
vue-ts-amd
- A full-featured Vue.js 2 boilerplate using AMD pattern (RequireJS) and Typescript.
vue-2-boilerplate
- Vue 2 boilerplate for developing medium to large single page applications by
petervmeijgaard
layout
- A full-featured Webpack + Vue Extend layout
layout-simple
- A simple Webpack + Vue Extend layout
vue-cli-template-library
- Template for developing open-source vue.js libraries with Rollup + Jest + Babel + Storybook + TravisCI + SemanticRelease.
vue-cli-template-github-pages
- A full-featured Webpack + vue-loader setup for Github Pages Deployment with travisCI.
vue-webpack-chrome-extension-template
- Template for quick creation of Chrome extension on Vuejs hot reloading when developing.
buildless-vue
- Quickly use Vue without a build step.
vue-component-template
- Webpack setup for building & publishing a Vue component/library (with docs/demo site).
vue-auth-boilerplate
- Vue SPA boilerplate with Router/Vuex/CLI3 and auth functions (cool looking register and login). Works with minimal setup out of the box with
laravel-api-boilerplate-jwt
.
vue-atomic-design
- Vue front-end boilerplate based on atomic design methodology.
Universal
Render Vue application to HTML on the server and to the DOM in the browser
SPA Starter Kit
- A highly opinionated starter kit for building Single Page Applications with Laravel and Vue.js.
SSR Boilerplate
- Vue.js Server Side Rendering Boilerplate without Polluting Vuex.
neutrino-preset-vue-static
- A minimalistic starter kit for building static sites using Vue.js.
Vueniverse
- A fully featured, universal Vue template for user-based applications, powered by Nuxt.js and Express.
vue-preload
- A plugin Vue for adding
<link rel="preload"
capabilities
Vue.js/Nuxt.js full featured boilerplate
professional agency frontend template for building fast, robust, and adaptable web apps or sites by vuejs/nuxtjs.
Server
Includes a backend boilerplate
Vuetober
- Single page apps with Laravel, Vue.js, and October CMS.
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.
vue-server-demo
- Writing koa server in Vue.
vue-apollo-connector-kit
- JWT authentication with 2 different strategies (localStorage and httpOnly cookies). Authorization using custom directives (apollo).
DotVue
- Implement .vue file handler in .NET with server ViewModel postback. Single-file components with server-side ViewModel. Use all power of VueJS with simple C# server side data access.
isomor-vue-app
- Setup a working environment with Vue and isomor, to unify the frontend and the backend by generating automatically the API.
Electron
Electron Vue
- An Electron & Vue.js quick start boilerplate with vue-cli scaffolding, common Vue plugins, electron-packager/electron-builder, unit/e2e testing, vue-devtools, and webpack.
VuePack
- A modern starter which uses Vue 2, Vuex, Vue-router and Webpack 2 (and even Electron).
vue-flexible-link
- Tiny Vue component for Electron to open links in a browser. Ideal for cross environment apps (Web & Native)
vuelectron
- electronjs starter kits for vue.
vue-design
- the best website visualization builder with Vue and Electron.
vue-cli-plugin-electron-builder
- A Vue Cli 3 plugin for Electron with no required configuration that uses
Electron Builder
and
Electron Webpack
.
dapp
- Boilerplate for stack of Vue/Parcel/Electron.
vue-electron-template
- An Electron & Vue.js boilerplate with Hot-reloading enabled and common Vue plugins, dev and build scripts configured using webpack-4
Parts
Scaffold parts of the app
vue-generator
- A CLI generator for Vue components, views and store modules.
vue-component-generator
- A generator for vue component, supports Vue1.X and Vue2.X.
rapydml_cmp
- Vue-component pythonic generator, built on top of RapydML & RapydScript.
vue-authoring-template
- Template for authoring also publishing Vue component and their use case in story-scenario (storybook) format in easy way.
vue-component-boilerplate
- Template for generating the boilerplate code for a VueJS components, with build scripts and testing pre-installed.
vue-generate-component-typescript
- A typescript code generator for vue, it can generate components, directives, filters.
Runtime
Command Line / Terminal
blessed-vue
- A VueJS runtime to let you write command line UI in Vue Edit
Prerendering
react-snap
- A zero-configuration static pre-renderer for SPA
prerender-plugin
- A Node.js/ webpack plugin to prerender static HTML in a single-page application (SPA).
vue-prerender
- A Vue.js tailored plugin which implements three strategies for prerendering Vue.js pages using headless chrome.
Rendora
- dynamic SSR (server-side rendering) using headless Chrome to effortlessly solve the SEO problem for modern javascript websites
Airflow
- Python-based platform for running directed acyclic graphs (DAGs) of tasks
Argo
- Open source container-native workflow engine for getting work done on Kubernetes
Azkaban
- Batch workflow job scheduler created at LinkedIn to run Hadoop jobs.
Brigade
- Brigade is a tool for running scriptable, automated tasks in the cloud — as part of your Kubernetes cluster.
Cadence
- An orchestration engine to execute asynchronous long-running business logic developed by Uber Engineering.
CloudSlang
- Workflow engine to automate your DevOps use cases.
Conductor
- Netflix's Conductor is an orchestration engine that runs in the cloud.
Copper
- A high performance Java workflow engine.
Cromwell
- Workflow engine written in Scala and designed for simplicity and scalability. Executes workflows written in
WDL
or
CWL
.
Cylc
- Workflow engine that orchestrates complex distributed workflows with cyclic or acyclic graphs. It was originally designed to automate weather forecasting systems at NIWA.
DigDag
- Digdag is a simple tool that helps you to build, run, schedule, and monitor complex pipelines of tasks.
Fission Workflows
- A high-perfomant workflow engine for serverless functions on Kubernetes.
Flor
- A workflow engine written in Ruby.
Imixs-Workflow
- A powerful human-centric Workflow Engine based on the BPMN 2.0 standard.
Kiba
- Data processing & ETL framework for Ruby
Mistral
- Workflow service, in OpenStack foundation.
Oozie
- Workflow Scheduler for Hadoop.
Pegasus
- Automate, recover, and debug scientific computations.
Pinball
- scalable workflow manager by Pinterest
Piper
- A distributed Java workflow engine designed to be dead simple.
RunDeck
- Job Scheduler and Runbook Automation.
Titanoboa
- Titanoboa is a platform for creating complex workflows on JVM.
Wexflow
- A high-performance, extensible, modular and cross-platform workflow engine.
Workflow Core
- Workflow Core is a light weight workflow engine targeting .NET Standard.
Workflow Engine
- A lightweight .NET and Java workflow engine.
Zeebe
- A workflow engine for microservices orchestration that's capable of executing BPMN models, developed by the team at Camunda
BPM Suite
Activiti
- Activiti is a leading lightweight, java-centric open-source BPMN engine supporting real-world process automation needs.
Activiti Cloud
- is now the new generation of business automation platform offering a set of cloud native building blocks designed to run on distributed infrastructures.
Flowable
- The Flowable project provides a core set of open source business process engines that are compact and highly efficient. They provide a workflow and Business Process Management (BPM) platform for developers, system admins and business users.
jBPM
- The core of jBPM is a light-weight, extensible workflow engine written in pure Java that allows you to execute business processes using the latest BPMN 2.0 specification.
Bip.io
- Web Automation For People And Robots.
Zenaton
- Workflow engine for data processes and background jobs available in PHP, Node.js, Python and Ruby.
Library (embedded usage)
Camunda
- Both a java library and optionally a full fledged product on top of it.
Captain
- Distributed, light-weight java workflow engine for a microservice architecture.
Luigi
- Python module that helps you build complex pipelines of batch jobs.
Viewflow
- Reusable workflow library that helps organize people collaboration business logic in django applications.
Workflow Core
- Lightweight workflow engine for .NET Standard
原文:
https://github.com/meirwah/awesome-workflow-engines
本文:
https://pub.intelligentx.net/curated-list-awesome-open-source-workflow-engines
讨论:请加入知识星球或者小红圈【首席架构师圈】
如果您是 Web 开发人员,很有可能正在使用 VS Code。毕竟,它是最流行的代码编辑器。在很大程度上,它的受欢迎程度主要归功于开源、高度可配置和可扩展性。
在本文中,我们将看看一些专门针对 Vue 的最佳 VS Code 扩展。随着Vue 3的采用,生态系统发生了很多变化,相关工具也不例外。这是您需要了解的有关正在进行的更改以及 2022 年要使用的扩展程序的所有信息!
随着 Vue 3 + TypeScript 组合越来越受欢迎,Vue 的官方 VS Code 扩展 — Vetur — 开始出现问题,例如将 Vue 与 TypeScript 一起使用时 CPU 使用率高,或者缺乏对 Vue 3 的新 <script setup> 语法的支持。
这就是创建 Volar 的原因——解决 Vetur 的问题,并为 Vue 3 + TypeScript 用户提供可能的最佳开发体验。它为 Vue 3 提供完整的语言支持——包括标准的单文件组件 (SFC) 语法及其最新添加的内容,如 <script setup>。
如果你正在使用 Vue 3——尤其是 TypeScript——你应该看看 Volar。它是 Vue 的创建者推荐的,也是 Vite 开发的推荐扩展。
尽管 Volar 是 Vue 3 的当前推荐,但 Vetur 不会很快消失。它仍然是目前最流行的 Vue 相关 VS Code 扩展,并且许多生态系统仍在 Vue 2 上运行,对于那些没有升级的人来说,它是最好的选择。
与 Volar 一样,Vetur 提供了完整的语言支持,虽然更加成熟和功能丰富,但在 Vue 3 和 TS 支持方面有所欠缺。您仍然可以在 Vue 3 和 TS 中使用它就好了,但您应该意识到可能缺乏经验。
已经有人讨论在 Vetur 下再次结合现代 Vue 工具;但是,目前,您仍然必须选择哪个用于您的工作流程。
想要使用 Vetur 的一些附加功能(Snippets、ESLint 和 Prettier 集成)但希望拥有良好的 Vue 3 + TS 体验的开发人员还有一个解决方案 - VueDX。
VueDX(又名 Vue 开发者体验)是一组工具,旨在改善 Vue 的开发体验——特别是对于那些将它与 TypeScript 一起使用的人。它与 Vetur 集成得非常好,填补了它的许多功能漏洞。
主要扩展 - VueDX - 扩展 TS 以提供 .vue SFC 的类型检查、完成、重命名和重构。此外,还有一个 SFC 语法高亮扩展和一个独特的预览——VueDX 扩展,用于在 VS Code 中实时预览 Vue 组件。
Vue VSCode 片段(Vue VSCode Snippets)
代码段一直是提高编码效率的好方法,在 Vue 中也不例外。
Vue VSCode Snippets 提供了一组很棒的代码段,可用于 Vue 2 和 Vue 3。有用于常见导入的代码段、Vue 3 的组合 API、选项 API、生命周期钩子等等。
这个扩展将很棒的 ESLint linter 直接集成到 VS Code 中,直接在你的代码中向你展示所有的 linting 问题。虽然不是特定于 Vue 的,但 Vue 为 ESLint 提供了官方插件,以确保您的 Vue 代码中的最佳实践的正确性和使用。
要正确配置您的设置,请确保遵循官方文档。该插件提供了许多 linting 规则,您可以通过提供的预设之一或一对一地使用它们。如果您使用的是 TypeScript — 您还应该查看 TypeScript ESLint 工具。
现在,除了上述所有内容之外,VS Code 市场充满了我认为无论您在做什么类型的 Web 开发都必不可少的扩展。以下是我个人的一些首选。
Prettier 是一种自以为是的代码格式,可以在任何配置的操作(例如文件保存)上快速格式化您的代码。支持开箱即用的 Vue SFC 语法。
GitLens 是一个功能丰富的扩展,可满足您所有的 Git 需求。我最喜欢的功能是 Git 修订导航、Git 代码镜头和丰富的 Git 侧边栏视图。
GitHub 存储库
谈到 Git,GitHub Repositories 是一个相当新的扩展(目前处于预览阶段),它允许您在舒适的 VS Code 编辑器中搜索、获取和浏览任何可访问的 GitHub 存储库的代码。将它与 GitLens 结合起来,在任何开源 Vue 项目上工作都将是一场爆炸!
值得注意的是,此扩展可能会在不久的将来成为内置功能。
代码拼写检查器(Code Spell Checker)
Code Spell Checker 鼓励您提高代码的可读性和语法正确性。它会根据任何已安装的字典检查您代码中的单词,以确保它首先是正确的和人类可读的。如果您想完善您的命名游戏 - 这是必不可少的。
TODO 亮点(TODO Highlight)
如果您习惯于在代码中留下大量 TODO 类型的注释,以便您将来应该做的事情,TODO Highlight 正适合您。它不仅会突出显示带有 // TODO: 或 // FIXME: 等标签的评论,还会向您展示所有 TODO 的摘要!
就是这样了!希望您发现这篇文章很有见地,现在知道应该为 Vue 开发考虑哪些扩展。现在 Vue 生态系统发生了很多变化,我希望你和我一样兴奋地看到 2022 年的未来。
原文:
https://medium.com/@epicprogrammer/top-5-vs-code-extensions-for-vue-dev…
本文:
https://jiagoushi.pro/node/1646
Flutter
is a mobile app SDK for building high-performance, high-fidelity, apps for iOS and Android, from a single codebase.
If you appreciate the content ?, support projects visibility, give ?| ⭐| ?
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
.
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
[114⭐] – Step by step tutorial how to build Todo List with Flutter by
Andrei Lesnitsky
Beginner
Zero to One Animation
[??] - Focus on animation by
Mikkel Ravn
.
Animations in Flutter
[??] - Commonly used animation examples by
Muhammed Salih Güler
.
Layout Cheat Sheet
- Extensive examples of layout widgets by
Tomek Polański
.
Pooja's Guide to Flutterverse
[??] - Step by step guide for learning Flutter for super beginners by
Pooja Bhaumik
.
Advanced
Rendering Pipeline
[358?] - 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
.
Videos
Boring Show
- Exploration with the Flutter Team.
Tensor Programming
[81?] - Very rich content by
Tensor Programming
.
Mtechviral
[151?] - [Hindi/English] Mtechviral Series By
Pawan Kumar
.
Flutter in Practice
- Free video course for beginners & non-programmers by
Zaiste
.
Whatsupcoders
[81?] - Free video series on Flutter Widgets by
Kamal
.
Fluttery
- High-production value and in-depth challenges.
Components
Demonstrations
Official Gallery
- Demo for the material design widgets provided by Flutter Team.
Flutter Examples
[3443⭐] - Simple basic isolated apps for devs by
Nishant Srivastava
.
Flutter Catalog
[702⭐] - An app showcasing Flutter components, with side-by-side source code view, by
X-Wei
.
Web Demonstration
Flutter Widget Live Book
- Live web preview of widgets by
JianyingLi
.
Contact Picker
[42⭐] - Picking contact from the address book by
Michael Goderbauer
.
StaggeredGridView
[960⭐] - GridView with tiles of variable sizes by
Romain Rastel
.
Radial Menu
[243⭐] - Animated Radial Menu by
Victor Choueiri
.
Tinder Cards
[322⭐] - Tinder like cards swipe effect by
Ivascu Adrian
.
Login Animation
[651⭐] - Smooth animation from login to home by
Ruchika Gupta
.
Flip Panel
[240⭐] - Flip panel with built-in animation by
HungHD
.
Facebook Reactions
[134⭐] - Facebook reactions widget by
Duy Tran
.
Flushbar
[369⭐] - Highly configurable Snackbar by
Andre Haueisen
.
Stepper Touch
[127⭐] - Lateral value stepper nicely animated by
Raouf Rahiche
.
Typeahead
[236⭐] - Display overlay suggestions to users as they type by
Abdul Rahman Al Hamali
.
Snaplist
[193⭐] - Create snappable list views by
David Leibovych
.
Pin Code
[71⭐] - Animated & customisable Pin code for login and OTP by
Liew Jun Tung
.
Folding Cell
[170⭐] - Fold your widget by
Faob
.
Liquid Pull To Refresh
[407⭐] - A beautiful and custom refresh indicator by
Ayush Agarwal
.
Slide Container
Slide vertically and horizontally with a smooth dampened motion by
Quentin Le Guennec
.
Rubber Bottom Sheet
[189⭐] - Elastic material bottom sheet by
Mattia Crovero
.
Direct Select
- Selection widget with an ethereal, full-screen modal popup by
Ivan Yatsouba
.
Before After
[226⭐] - Beautiful slider which makes it easier to display the difference between two images, by
Sahil Kumar
.
Sticky Headers
Sticky Infinite List
[30⭐] - Highly configurable multi directional infinite list with Sticky Headers by
TatsuUkraine
.
Sticky Header
[341⭐] - Sliver based sticky headers by
Romain Rastel
.
Sticky Headers
[367⭐] - Configurable sticky headers by
Simon Lightfoot
.
Drawers
Hidden Drawer Menu
[90⭐] - Beautiful drawer mode menu feature with perspective animations by
Rafael Almeida Barbosa
.
Flutter Inner Drawer
[74⭐] - 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
[234⭐] - Animated bottom navigation by
Tony Owen
.
Circular Bottom Navigation
[198⭐] - Beautiful animated bottom navigation bar by
Iman Khoshabi
.
Bottom Navy Bar
[215⭐] - Beautiful and colorful animated bottom navigation bar by
Pedro Massango
.
Sliders
RangeSlider
[178⭐] - 2-thumb configurable RangeSlider by
Didier Boelens
.
Fluid Slider
[151⭐] - A slider with a minimal design and fluid like animation by
Vamsi Krishna
.
Flutter Xlider
[99⭐] - A material design slider and range slider, horizontal and vertical, with RTL support by
Ali-Azmoud
.
UI Helpers
Reorderables
[134⭐] - Drag&Drop Table, Row, Column, Wrap(Grid) and SliverList elements by
Hansheng Chiu
.
Liquid Pull To Refresh
[407⭐] - A beautiful and custom refresh indicator by
Ayush Agarwal
.
Infinite Listview
[70⭐] - Infinite scroll in both directions by
Simon Lightfoot
.
Offline
[338⭐] - Tidy utility to handle offline/online connectivity by
Jeremiah Ogbomo
.
Scroll To Index
[72⭐] - 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
.
Snap
[31⭐] - Tool/Widget for extensive snap management & snapping between widgets by
Ali Yigit Bireroglu
.
Flick
[4⭐] - Tool/Widget for extensive flick management. Work flawlessly with the snap lib or standalone by
Ali Yigit Bireroglu
.
Material Design
Material Color Picker
[70⭐] - Based on the Google Docs color picker by
Lung Razvan
.
Unicorn Speed Dial
[165⭐] - Floating Action Button with Speed Dial by
Tiago Martins
.
Slidable
[872⭐] - Slidable list item with left and right slide actions by
Romain Rastel
.
Cupertino Design
Peek & Pop
[29⭐] - Peek & Pop implementation based on the iOS functionality by
Ali Yigit Bireroglu
.
Effect
Frosted Glass
- Render effect by
Collin Jackson
.
Parallax
[467⭐] - ViewPager by
Iiro Krankka
.
Shimmer
[575⭐] - Shimmer effect while content is loading by
HungHD
.
Wave
[281⭐] - Displaying some waves with custom color, duration, floating and blur effects by
RockerFlower
.
Liquid Swipe
- A plugin to provide a Liquid swipe to your stacked containers by
Sahdeep Singh
.
Calendar
Calendar Widget
[86⭐] - Calendar widget by
David Bennett
.
Calendar Carousel Widget
- Calendar carousel by
dooboolab
Date range picker
- Date range picker modified based on Flutter date picker by
An Doan
Table Calendar
[255⭐] - Calendar organized neatly into a Table, with vertical autosizing by
Aleksander Woźniak
.
Backend-Driven
Dynamic Widget
[239⭐] - Build your dynamic UI with json, and the json format is very similar with flutter widget code by
Denny Deng
.
Image
Image Picker
- Images Selection by
Collin Jackson
.
Carousel Slider
[448⭐] - Carousel slider widget, support infinite scroll and custom child widget by
serenader
.
Parallax Image
[160⭐] - Image parallax by
Anatoly Pulyaevskiy
.
Photo View
[595⭐] - Scalable image view with loading placeholder by
Renan C. Araújo
.
SVG
[507⭐] - SVG parsing, rendering, and widget library by
Dan Field
.
Image Cropper
[382⭐] - Crop your images support ratio, rotation, zoom by
HungHD
.
Cached Network Image
[745⭐] - Show images from the internet and keep them in the cache directory by.
Multi Image Picker
[416⭐] - Display multi image picker by
Radoslav Vitanov
.
Lottie
[79⭐] - Use airbnb's popular
After Effects Animation library
by
Cameron Smith
.
Google Map View
[386⭐] - Displaying google map plugin by
AppTree Software
.
GeoCoder
[73⭐] - Forward and reverse geocoding by
Aloïs Deniel
.
Map
[14⭐] - Solution based on
Leaflet
and customizable by
AppTree Software
.
Mapbox GL
[213⭐] - Interactive, customizable vector maps by Mapbox.
AMap
[473⭐] - Access to AMap services(高德地图) by
OpenFlutter
.
Charts
Circular Chart
[244⭐] - Animated radial and pie charts by
Victor Choueiri
.
Charts
[167⭐] - LineChart and VerticalBarChart Library by
Milan Zimmermann
.
Sparkline
[164⭐] - Sparkline by
Victor Choueiri
.
Charts
[1054⭐] - By Google Charts Team.
Flutter Plot
[23⭐] - Pretty plots by
R. C. Howell
.
Candlesticks
[195⭐] - OHLC and Trade Volume Charts by
Trent Piercy
.
FCharts
[287⭐] - Beautiful, responsive, animated charts by
Keenan Thompson
.
FL Chart
[668⭐] - Draw fantastic charts in Flutter by
Iman Khoshabi
.
Bezier Chart
[169⭐] - Beautiful bezier line chart widget for flutter that is highly interactive and configurable by
Diego Velasquez
.
Navigation
Fluro
[1716⭐] - The brightest, hippest, coolest router for Flutter with Navigation, wildcard, query, transitions by
Posse
.
PageView Indicator
[68⭐] - Build page indicators for the PageView by
Leo Cavalcante
.
Swiper
[39⭐] - Horizontal, Vertical, Partial swipe with indicator by
Xueliang Ren
.
Local Auth
- Touch ID, lock code, fingerprint auth on iOS and Android.
Login
[377⭐] - FaceID, TouchID, and Fingerprint Reader by
Rody Davis
.
Google Sign-In
- Google OAuth.
Firebase Auth
- Firebase OAuth.
Facebook Login
[232⭐] - Authenticate with native Android & iOS Facebook login SDKs by
Iiro Krankka
.
Apple Sign-In
[39⭐] - Apple sign in by
Tom Gilder
.
OAuth
[121⭐] - Buffer, Strava, Unsplash, Github OAuth by
Joe Birch
.
Firebase Phone Auth
[??] - Phone number auth via SMS by
Gildásio Filho
.
SimpleAuth
[153⭐] - Azure Active Directory, Amazon, Dropbox, Facebook, Github, Google, Instagram, Linked In, Microsoft Live Connect, Github, OAuth, Basic Auth by
James Clancey
.
Flutter AppAuth
[38⭐] - Plugin for displaying local notifications by
Michael Bui
.
Text & Rich Content
Markdown
[351⭐] - Markdown renderer for Flutter. It supports the original format, but no inline html.
Masked Text
[123⭐] - Masked text with custom and monetary formatting by
Ben-hur Santos Ott
.
Zefyr
[787⭐] - Soft and gentle rich text editing by
Memspace
.
AutoSizeText
[530⭐] - Automatically resizes text to fit perfectly within its bounds by
Simon Leier
.
Parsed Text
[44⭐] - Interactive text based on content recognition, also supports Regex by
Fayeed Pawaskar
.
Analytics
Usage
[63⭐] - Google Analytics wrapper for command-line, web, and Flutter apps.
Firebase Analytics
- Connect to Firebase Analytics API.
Segment.com Analytics
[8⭐] - Make your Segment.com analytics a breeze! by
Faisal Abid
.
Pure Mixpanel
[13⭐] - Analytics for the popular
Mixpanel.com
Nick Manning
.
Build automation
Build solutions
Bitrise for Flutter
- Flutter build, test and deployment automation, free for Open Source and smaller projects.
Code Magic
- Automate the entire flow, build and distribution by
NeverCode
.
Travis CI for Flutter
[61⭐] - Continuous integration by
Yegor Jbanov
.
Build articles
Test on Travis
[??] - Widget testing framework by
Yegor Jbanov
.
Building Apks/Ipas on Travis
[??] - Automated build for Android and IOS by
Yegor Jbanov
.
Automatic code signing for iOS without Mac
by Helina Ariva
Styling
Flutterial
[376⭐] - Flutter Material Theme explorer by
Erick Ghaumez
.
Pigment
[108⭐] - Simple but useful package for use colors in flutter.
Media
Audio
Audio Plugin
[323⭐] - Beta by
Erick Ghaumez
.
Audio Recorder
[102⭐] - Record audio and store it locally by
Jordan Alcaraz
.
Stereo
[55⭐] - Playing music on iOS and Android by
2Find
.
Flutter Sound
[179⭐] - Flutter audio recorder and player at one hand by
dooboolab
.
Video
WebRTC
[681⭐] - WebRTC plugin for iOS/Android by
CloudWebRtc
.
Chewie
[555⭐] - Provides low-level access to video playback by
Brian Egan
.
Voice
Speech Recognition
[184⭐] - Speech to text by
Erick Ghaumez
.
OK Google
- Integrate google assistant by
Marcin Szalek
.
Storage
Firebase Storage
- Firebase as data storage.
Secure Storage
[248⭐] - 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.
Billing
[93⭐] - Enable billing on iOS and Android by
Volodymyr Lykhonis
.
Inapp Purchase
[241⭐] - 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
.
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
[137⭐] - 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
[277⭐] - Movie details page by
Iiro Krankka
.
Mates
[343⭐] - How to load profiles from the randomuser.me API and a nice profile details page by
Iiro Krankka
.
Weather
[119⭐] - Weather app to learn how to use Canvas and Animation by
Alessandro Aime
.
TodoMVC
[3808⭐] - TODO application ready to go with different flavors : Vanilla, Redux, built_redux by
Brian Egan
.
Restaurant Menu
[439⭐] - Restaurant menu by
Braulio Cassule
.
UI Challenges
[858⭐] - Profile, Travel, Food App by
Tomi Alagbe
.
Cupertino Settings
[87⭐] - iOS Settings by
Matthias Rupp
.
Music Player
[134⭐] - music player component by
Tobe O
.
Dashboard
[505⭐] - Dashboard and Shop Items by
Ivascu Adrian
.
Todo
[338⭐] - Todo template from Dribble by
Marc L
.
Card Swipe Animation
[276⭐] - Swipe cards template by
Ruchika Gupta
.
UI Kit
[3544⭐] - Collection of useful UIs in a UIKit by
Pawan Kumar
.
Book
[220⭐] - Bookshelf by
Ardiansyah Putra
.
The Gorgeous Login
[849⭐] - Design and smooth login template by
Hugo Extrat
.
Liquid Pay Payment App
[145⭐] - Liquid Pay App Concept by
Long Hoang
.
DrawApp
[113⭐] - 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
[333⭐] - App Store implementation to learn Bloc, RxDart, Sqflite, Fluro and Dio. by
King Wu
.
Feather
[240⭐] - Beautiful weather application. Application includes RxDart, Dio, BLoC, i18n, unit and widget tests. by
Jakub Homlala
.
Clone UI Challenges
[533⭐] - Collection of useful UIs clones by
Javier González
.
FlutterFoodybite
[389⭐] - A beautiful food app UI template by
JideGuru
.
Tasks
[68⭐] - Google Tasks for the Web by
Rody Davis
.
Clone
GitTouch
[89⭐] - Open source GitHub client by
Rongjian Zhang
.
Machine Learning
MLKit
[217⭐] - Firebase Machine Learning Kit by
Naoya Yoshizawa
.
IBM Watson
[13⭐] Easily integrate with IBM Watson by
Victor Rances
Vision
ML Vision Camera Stream
[64⭐] - ML vision recognitions (QRcode, face, ...) with live camera stream by
Aumard Jimmy
and
Santetis
.
Google Mobile Vision
[259⭐] - Google Mobile Vision by
Eduardo Folly
.
Augmented Reality
ARKit Plugin
[255⭐] - Wrapper for ARKit - Apple's augmented reality platform for iOS by
Olexandr Leuschenko
.
ARCore Plugin
[58⭐] - 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
[844⭐] - Render web content by
Hadrien Lejard
.
Location
[337⭐] - 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
[152⭐] - Fully featured geolocation plugin: current location, location updates, geocode, places and more by
Loup
.
Local Notifications
[555⭐] - Plugin for displaying local notifications by
Michael Bui
.
Device Calendar
- Plugin for modifying calendars on the user's device by
Built to Roam
.
Get Version
[5⭐] - Version Name, Version Code, App ID and Platform with OS Version by
Rody Davis
.
Badger
[103⭐] - Update app badge on the launcher by
Edouard Marquez
.
UDID
[90⭐] - Persistent UDID across app reinstalls by
Leon Kukuk
.
Downloader
[262⭐] - Create and manage download tasks by
HungHD
.
InAppBrowser
[343⭐] - Add inline WebView widgets or open an in-app browser window by
Lorenzo Pichilli
.
AppAvailability
[26⭐] - List, launch and check installed apps by
Lorenzo Pichilli
.
Aeyrium Sensor
[32⭐] - A plugin which provide easy access to the Pitch and Roll on Android and iOS devices by
Diego Velásquez
.
File Picker
[132⭐] - Native file explorer to load absolute file path by
Miguel Ruivo
.
VPN
- Access VPN services by
Jason C.H
.
Scanner
QR Code Reader
[140⭐] - QR Code reader plugin by
Matheus Villela
.
Fast QR Reader View
[171⭐] - Live multicode reader by
Facundo Medica
.
Bluetooth / NFC / Beacon
Blue
[836⭐] - Bluetooth by
Paul DeMarco
.
Beacons
[46⭐] - Flutter beacons plugin by
Loup
.
NFC Reader
[104⭐] - NFC reader plugin for iOS and Android by
Matteo Crippa
.
Beacon broadcast
[29⭐] - Library for turning your phone into a beacon by
Paulina Szklarska
.
Storage
Sqflite
[1152⭐] - SQLite flutter plugin by
Alexandre Roux
.
Hive
[336⭐] - Lightweight and blazing fast key-value store written in pure Dart by
Simon Leier
.
Services
Dialogflow
[95⭐] - Plugin to easily integrate with dialogflow by
Victor Rances
.
Intercom
[22⭐] - Add Intercom integration to your app by
Maido Kaara
.
OneSignal
[237⭐] - Push notification service by
OneSignal
.
Place Dialog
[44⭐] - Places picker dialog returning the places to the app by
David Bennett
.
App Rating
[6⭐] - Requesting and Writing Reviews for the App Store and Google Play by
Rody Davis
.
Log / Tracing
Catcher
[205⭐] - Automatically catches errors and handles them by
Jakub Homlala
.
Logger
[198⭐] - Easy to use and beautiful logs by
Simon Leier
.
Frameworks
State management
Standard
Bloc
[2483⭐] - Collection of packages that help implement the BLoC design pattern by
Felix Angelov
.
MobX
[770⭐] - Supercharge the state-management in your apps with Transparent Functional Reactive Programming (TFRP). Port of MobX from the Js/React land.
Redux / ELM / Dependency Injection
Built redux
[73⭐] - Automatic subscribing to your redux stores. Based on the built pattern by
David Marne
.
Redux.dart
[323⭐] - Port of Redux to Dart with an ecosystem of middleware, Flutter integrations, and time traveling dev tools by
John Ryan
and
Brian Egan
.
Redux
[992⭐] - Built to work with
redux.dart
, utilities that allow you to easily consume a Redux Store to build Widgets.
Inject
[509⭐] - Compile-time dependency injection by Google.
Flux
[321⭐] - Implementation of the Flux framework by Google.
Fish
[5090⭐] - Alibaba Redux implementation.
Async Redux
[43⭐] - Redux without boilerplate. Allows for both sync and async reducers by
Marcelo Glasberg
.
Widgets
Hooks
[685⭐] - Advanced code sharing between widgets by
Remi Rousselet
.
Functional widget
[180⭐] - Code generator writing widgets as functions with annotations by
Remi Rousselet
.
Graphql
[1237⭐] - Implementation of the GraphQL spec by
Zino App B.V.
.
GeoFlutterFire
[75⭐] - Implementation of GeoFirestore for flutter by
Darshan Gowda
.
Animation
Sequence Animation
[215⭐] - Composite staggered animations by
Norbert Kozsir
.
SpinKit
[1094⭐] - Animated loading indicators by
Jeremiah Ogbomo
.
Villains
[229⭐] - Page transition animations by
Norbert Kozsir
.
AnimatedTextKit
[419⭐] - A collection of cool text animations by
Ayush Agarwal
.
Drawing Animation
[160⭐] - 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
[67⭐] - Easy to build an animation set by
efoxTeam
.
Staggered Animations
[199⭐] - Easily add staggered animations to your ListView, GridView, Column and Row by
mobiten
.
Game Engine
Flame
[1630⭐] - Minimalist game engine by
Luan Nico
.
SpriteWidget
[834⭐] - Toolkit for building complex, high performance animations and 2D games by
Viktor Lidholt
.
Cache Manager
[221⭐] - Generic cache manager by
Rene Floor
.
Frideos
- Helpers for streams, BLoC pattern and various widgets (blur, transitions, timed widgets, ...) by
Francesco Mineo
.
Testing
Ozzie
[138⭐] - Ozzie will take an screenshot during integration tests whenever you need by
Jorge Coca
.
Flutter Gherkin
[41⭐] - Fully featured Gherkin parser and UI automated test runner by
Jon Samwell
.
Others
AspectD
[364⭐] - Aspect-oriented programming (AOP) framework for Flutter (Dart) by
Kyle Wong
.
Open Source Apps
Premium
History Of Everything
[3978⭐] - Animated vertical timeline of humanity by
2D, Inc
.
Developer Quest
[1997⭐] - Become a tech lead, slay bugs by
2D, Inc
.
Flutter Team Samples
[4059⭐] - Collection of examples (including maps, json, Material and Cupertino) by the
Flutter team
.
Flutter Common Widgets
[16709⭐] - Collection of official widgets demos & docs in chinese to help developers learn quickly by
Alibaba Auction Frontend Team
.
Meme Chat
[404⭐] - Chat app on Flutter, using Firebase, Google Sign In, and device camera integration by a team of Googlers.
Flitter
[162⭐] - Glitter app by
Hadrien Lejard
and
Kevin Segaud
. It uses Redux and Jaguar.
Lime
[281⭐] - Lime social network by Sebastian Sellmair.
Planets
[505⭐] - Planet exploration that demonstrate rich UI by
Sergi Martínez
.
NewsBuzz
[353⭐] - Firebase backed news reader using News API by
Ankur Kedia
.
DroidKaigi2018-flutter
[435⭐] - Unofficial conference app for DroidKaigi 2018 Tokyo by
konifar
.
Music Player
[740⭐] - Full featured music player by
Pawan Kumar
.
WhatTodo
[609⭐] - Todoist like UI by
Burhanuddin Rashid
.
FlutterGram
[790⭐] - Complete Instagram based on Firestore & Google Functions by
MDanics
.
BookSearch
[346⭐] - Digital BookShelf for your reading progress by
Norbert515
.
Cinematic
[572⭐] - UI for Movie DB Public API by
Aaron Oertel
.
Beer-Me-Up
[264⭐] - Beer tracking nicely designed by
Benoit Letondor
.
Trace
[400⭐] - Modern and powerful crypto portfolio & market explorer by
Trent Piercy
.
Taskist
[328⭐] - Taskist is a ToDo List app for Task Management by
Hugo EXTRAT
.
Tourism
[143⭐] - Tourism app based on redux w/ animations & i18n by
blueMix
.
Trinity Orientation @ Univ Toronto
[301⭐] - Orientation week at Trinity College, U of T by
Matthew Tory
.
Transform Widget
- Image widgets as 3D game engine sprites by
Paul Thomas
.
Deer
[153⭐] - Minimalist Todo Planner built using BLoC pattern by
Aleksander Woźniak
.
TailorMade
[131⭐] - Managing a Fashion designer's daily routine using a mixture of ReBLoC w/ Firebase Cloud Store & Functions by
Jeremiah Ogbomo
.
Instory
[119⭐] - Instgram story downloader with a beautiful UI
Sarath
.
Spacex-Go
[268⭐] - Simple yet powerful, open-source SpaceX launch tracker.
jesusrp98
.
Superhero Interaction
[180⭐] - Cool Superhero interaction animation by
Pinkesh Darji
.
Reply
[373⭐] - '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
.
Games
Flip
[136⭐] - Reversi game by
Andrew Brogdon
.
2048
[95⭐] - 2048 game by
Anuran Barman
.
TRex
[163⭐] - Port of the famous Chrome's Trex game by
Renan C. Araújo
.
Crush
[215⭐] - How to build a Math-3 game, like Candy Crush, Bejeweled by
Didier Boelens
.
Slide Puzzle
[56⭐] - Classic slide (15) puzzle by
Kevin Moore
.
Tetris
[548⭐] - Tetris game by
YangBin
.
Utilities
Mutisya 2
- Online Flutter Studio by
Paul Mutisya
.
Launcher Icons
- Generate your launcher icons easily by
Mark O'Sullivan
and
Franz Silva
.
Redux Starter/Code Generator
[214⭐] - Starter project and code generator with Redux support by
Hillel Coren
.
FlutterIcon
[126⭐] - Icon set generator by
Mike Hoolehan
.
FVM
[52⭐] - Flutter Version Management: A simple cli to manage Flutter SDK versions.
Flutter Debugger
[100⭐] - Standalone app for debugging Flutter apps based on
Flipper
by
JianyingLi
.
genLang
[32⭐] - Code generator for Internationalization by
King Wu
.
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
.
IntelliJ / Android Studio
Enhancement_Suite
[47⭐] - Search for pub.dev libraries, update version, Bloc, Snippet, etc you're covered by
Marius Höfler
.
Desktop
Desktop Embedding
[5738⭐] - Desktop implementations of the Flutter embedding API by Google.
Golang Desktop Embedder
[3084⭐] - Golang embedder for desktop by
Pierre Champion
.
Rust Desktop Embedder
[729⭐] - Rust embedder for desktop by
juju
.
Bonus
It's All Widgets!
- Open list of published apps by
Hillel Coren
,
Thomas Burkhart
,
Simon Lightfoot
and
Scott Stoll
.
The One
[293?]
Hardware
Matrix2
- Sense Hat's LED matrix control game by
bus710
.
Jobs/Interview Questions
Interview Questions
- List of helpful questions you can use to interview potential candidates by
Whatsupcoders
.
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.
React.js Conf 2015 Playlist
ReactEurope Conf 2015 Day 1 Playlist
ReactEurope Conf 2015 Day 2 Playlist
ReactRally Conf 2015 Playlist
React.js Conf 2016 Playlist
ReactRally Conf 2016 Playlist
React.js Amsterdam 2018 Playlist
Video Tutorials
Demos
Example Apps
Real Apps
Contribution
React
JavaScript Library for building User Interfaces
React General Resources
React Official Website
React Documentation
React GitHub
React Community
Reactiflux Discord Channel
React StackOverflow
React Twitter
React Online Playgrounds
CodePen
CodeSandbox
JSFiddle
React Tutorials
React General Tutorials
React Official Tutorial
Using React in Visual Studio Code
Scrimba - Learn React for free interactively
FreeCodeCamp React Challenges
React Cheatsheet
React Patterns
Setup Flow with React
React Hooks
React Hooks
Replacing Redux with React Hooks and Context
React Hooks cheat sheet: Unlock solutions to common problems
How to fetch data with React Hooks?
Easy to understand React Hook recipes
Awesome React Hooks
React and TypeScript
TypeScript, React and Webpack
JSX in TypeScript
React Performance
React Optimizing Performance
Introducing the React Profiler
Optimizing React: Virtual DOM explained
A Definitive Guide to Optimize Major Performance issues in React
Twitter Lite and High Performance React Progressive Web Apps at Scale
Using the React DevTools Profiler to Diagnose React App Performance Issues
Top 5 Practices to Boost React Performance
React is Slow, React is Fast: Optimizing react Apps in Practice
Rendering large lists with react-window
React Internals
Reconciliation
React Fiber Architecture
Build your own React
Inside Fiber: In-depth overview of the new reconciliation algorithm in React
React Interview Questions
13 Essential React Interview Questions
List of React interview Questions and Answers
React Tools
React Development Tools
create-react-app
- Set up a modern Web app by running one command
react-starter-kit
- Isomorphic Web app boilerplate
react-devtools
- Inspection of React component hierarchy in the Chrome and Firefox Developer Tools
react-hot-loader
- Tweak React components in real time
react-loadable
- A higher order component for loading components with promises
loadable-components
- React code splitting made easy
reactotron
- A desktop app for inspecting your React and React Native projects
storybook
- UI component dev & test
react-styleguidist
- Isolated React component development environment with a living style guide
react-cosmos
- Dev tool for creating reusable React components
eslint-plugin-react
- React specific linting rules for ESLint
eslint-plugin-jsx-a11y
- Static AST checker for a11y rules on JSX elements
react-axe
- Accessibility auditing for React applications
React Frameworks
next.js
- The React Framework
gatsby.js
- Free and open source framework based on React
React Styling
styled-components
- Visual primitives for the component age
emotion
- Library designed for writing CSS styles with JavaScript
radium
- A toolchain for React component styling
jss
- Authoring tool for CSS
React Routing
react-router
- Declarative routing for React
navi
- Declarative, asynchronous routing for React
curi
- JavaScript router for single-page applications
React Component Libraries
material-ui
- React components for faster and easier web development
ant-design
- A design system with values of Nature and Determinacy
blueprint
- A React-based UI toolkit for the webs
office-ui-fabric-react
- React components for building Microsoft web experiences
react-bootstrap
- Bootstrap components built with React
reactstrap
- Simple React Bootstrap 4 components
semantic-ui-react
- The official Semantic-UI-React integration
react-fontawesome
- Font Awesome 5 component library for React
Reakit
- Accessible, Composable and Customizable components for React
React Awesome Components
Awesome React Components list
react-select
- The Select Component for React
react-dnd
- Drag and Drop for React
react-grid-layout
- A draggable and resizable grid layout with responsive breakpoints
react-table
- A lightweight, fast and extendable datagrid for React
react-data-grid
- Excel-like grid component built with React
react-draggable
- React draggable component
react-resizable-and-movable
- A resizable and draggable component for React
react-resizable
- A simple React component that is resizable with a handle
react-resizable-box
- A resizable component for React
react-sortable-pane
- A sortable and resizable pane component for React
react-dates
- An easily internationalizable, mobile-friendly datepicker library for the web
react-big-calendar
- Calendar component
react-datepicker
- ReactJS Datepicker
react-list
- A versatile infinite scroll React component
react-intl
- Internationalize React apps
react-i18next
- Internationalization for React done right
react-aria-modal
- A fully accessible React modal
react-hotkeys
- Declarative hotkey and focus area management for React
react-keydown
- Lightweight keydown wrapper for React components
react-joyride
- Create guided tours for your apps
react-virtualized
- React components for efficiently rendering large lists and tabular data
react-window
- React components for efficiently rendering large lists and tabular data
react-text-mask
- Input mask for React
react-loading-skeleton
- Create skeleton screens that automatically adapt to your app
react-spinkit
- A collection of loading indicators animated with CSS for React
rheostat
- Accessible slider component built with React
qrcode.react
- QR component for use with React
React for Command Line
ink
- React for interactive command-line apps
react-blessed
- A React renderer for blessed terminal interface library
React Testing
jest
- Delightful JavaScript Testing Framework
enzyme
- JavaScript Testing utilities for React
react-testing-library
- Simple and complete React DOM testing utilities
react-hooks-testing-library
- React hooks testing utilities that encourage good testing practices
React Libraries
react-border-wrapper - A wrapper for placing elements along div borders in React.
react-magic - Automatically AJAXify plain HTML with the power of React
react-toolbox - A set of React components implementing Google's Material Design specification
tcomb-react - Library allowing you to check all the props of your React components
react-responsive - Media queries in react for responsive design
react-is-responsive - A utility to create responsive components in React
react-cursor - Functional state management abstraction for use with Facebook React
Omniscient.js - Abstracting React components for fast top down render of immutable data
Touchstonejs - React.js powered UI framework for developing beautiful hybrid mobile apps.
Elemental - A UI Toolkit for React.js Websites and Apps
StateTrooper - Centrally manage state for React applications with CSP
Preact: Fast 3kb React alternative with the same ES6 API.
riotjs - A React- like, 3.5KB user interface library
Maple.js - Bringing the concept of web-components to React
react-i13n - A performant, scalable and pluggable approach to instrumenting your React application
react-icons - svg react icons of popular icon packs
Keo - Plain functions for a more functional Deku approach to creating React components, with functional goodies such as pipe, memoize, etc...
Bit - A virtual repository for managing and using react and other web components across applications
AtlasKit - Atlassian's React UI library
ReactiveSearch - UI components library for Elasticsearch
Slate - A completely customizable framework for building rich text editors.
react-animated-transitions - Easy animated transitions in React
react-json-schema - Construct React elements from JSON by mapping JSON definitions to React components that you expose.
compose-state - Compose multiple setState or getDerivedStateFromProps updaters in React
react-with-analytics - Google Analytics for React apps with ease
react-cache-me-outside - OTA data updates for React apps. How bow dat!
PrimeReact - The Most Complete UI Framework for React!
react-lodash - Lodash as React components
react-helmet - A document head manager for React
Stator - Simple, plain JavaScript state management with built-in support for React
ClearX - Fast & Effortless State management for React with zero learning curve. ClearX gives great flexibiility in separation of concerns for your React applicationss
react-snap
- Zero-configuration framework-agnostic static prerendering for SPAs
Draft.js
- A React framework for building text editors
refract
- Harness the power of reactive programming to supercharge your components
react-desktop - OS X and Windows UI components built with React
Reapop - A React & Redux notifications system
react-extras
- Useful components and utilities for working with React
react-instantsearch
- Lightning-fast search for React and React Native applications, by Algolia
uppy
- The next open source file uploader for web browsers
react-motion
- A spring that solves your animation problems
react-esi
- React Edge Side Includes
React Integration
React Rails
ReactJS.NET
React ASP.NET Boilerplate
React Bootstrap Components Playground
om - ClojureScript interface
quiescent - A lightweight ClojureScript abstraction over React
Reagent - A minimalistic ClojureScript interface to React.js
react-haskell - React bindings for Haskell
Express React views
Express Coffee-React views - render coffee-react on the server
React Page Middleware
ngReact - React Components in Angular
React Laravel
coffee-react-transform - Provides React JSX support for Coffeescript
sprockets-coffee-react - Sprockets preprocessor for CJSX
react-kup - A simple, non-intrusive alternative to jsx for coffeescript
turbo-react - Combine Turbolinks and React to apply DOM diffs
react-bacon - A little module for using React with Bacon.js
msx - React's JSX Transformer, tweaked to output calls to Mithril
React.withBackbone - React 16 ready backbone binding
Backbone React Component
react-backbone - Backbone-aware mixins for react
NestedReact - transparent integration with Backbone Views and NestedTypes models
backbone-reaction - React, Backbone and then some
react.backbone - Plugin for React to make Backbone migration easier
reactbone - React extensions for Backbone
backbone-react-ui - React components for use with backbone and backbone paginator
react-events - Declarative managed event bindings for react components
react-mixin-manager - React mixin registration manager
gsap-react-plugin - A GSAP plugin for tweening React.js component state
react-topcoat by @plaxdan - Topcoat CSS components built with the React library
react-topcoat by @arnemart - A collection of React components for Topcoat
reactdown - Write React components using markdown syntax
react-jade - Compile Jade to React JavaScript
jade-react - Compile Jade templates to React.DOM expressions
gulp-jade-react - Compile Jade templates into React de-sugared JSX with Gulp
sbt-reactjs - React SBT Plugin using npm
scalajs-react - A guilty affair between Scala.js and Facebook's React
react-xtags - Using React to implement xtags
jreact - React on server-side Java (with Rhino or Nashorn)
React.hiccup - A complete replacement for JSX written in sweet.js
react-play - Rendering React components in the Play Framework with JDK8's Nashorn
rx-react - Utilities to works with React in a RxJS
react-with-di - A hacked prototype of React.js with DI
reactfire - ReactJS mixin for easy Firebase integration
firedux - Firebase + Redux for ReactJS
react-clickdrag-mixin - ClickDrag mixin for React component
Rewrite the Admin UI of KeystoneJS in React
react-masonry-mixin - Standalone mixin for Masonry (@desandro)
react-packery-mixin - Standalone mixin for Packery (Metafizzy)
react-dropzone - Simple HTML5 drag-drop zone with React.js.
aframe-react - A-Frame VR + React
react-three - React bindings to create and control a 3D scene using three.js
react-three-renderer - Render into a three.js canvas using React
react-threejs - Simplest bindings between React & Three.js
react-masonry-css - Fast Masonry layout powered by CSS, dependency free
react-captcha - A react.js reCAPTCHA for Google
reaptcha - Clean, modern and simple React wrapper for Google reCAPTCHA
react-recaptcha-that-works - A reCAPTCHA bridge for React that works
Forms
React Forms
react-formal - Better form validation and value management for React, Provides minimal wiring
react-forms - Forms library for React
valuelink - full-featured two-way data binding with extended React links
wingspan-forms - A dynamic form library for Facebook React
newforms - Isomorphic form-handling for React
formjs - A form generator for Reactjs
react-form-builder - A Form Builder for React.js
plexus-form - A dynamic form component for react using JSON-Schema
tcomb-form - UI library for developing forms writing less code
formsy-react - A form input builder and validator for React JS
Learn Raw React: Ridiculously Simple Forms
Winterfell - Generate complex, validated and extendable JSON-based forms in React
Redux-Autoform - Create Redux-Forms dynamically out of metadata
uniforms - Bunch of React components and helpers to easily generate and validate forms
formik - Forms in React, without tears
NeoForm – Modular HOCs for form state management and validation
react-jsonschema-form – A React component for building Web forms from JSON Schema
List View Select - A Toggleable select box for React Native with native components
Final Form ?
formland - A simple, super-flexible, extensible config based form generator
react-reactive-form - Angular like reactive forms in React
unform - ReactJS form library to create uncontrolled form structures with nested fields, validations and much more!
Autocomplete
react-autocomplete by @rackt - WAI-ARIA compliant React autocomplete
react-autosuggest by @moroshko - WAI-ARIA compliant React autosuggest component
react-autocomplete by @eliseumds- Just tasting some ReactJS + RxJS
react-autocomplete by @prometheusresearch - Autocomplete widget based on React
instatype by @gragland - Simple react autocomplete component
downshift - ? Primitives to build simple, flexible, WAI-ARIA compliant enhanced input React components
React Bootstrap Typeahead - A React-based typeahead that relies on Bootstrap for styling and was originally inspired by Twitter's typeahead.js.
Graphics
react-art - React Bridge to the ART Drawing Library
react-canvas - High performance rendering for React components
react-famous - Complex 3D animations UI at 60 FPS with Famo.us
react-kinetic - HTML5 Canvas via KineticJS using React
react-svg-morph - morph your svg components one into another
react-hooks-svgdrawing - SVG Drawing with React hooks
Model Libraries
mori - ClojureScript's persistent data structures and supporting API
NestedTypes - fast mutable models with "pure render" support
swarm - JavaScript replicated model (M of MVC) library
caplet - JavaScript models library
Data Managing
Immutable.js - Immutable Data Collections for Javascript
cortex - A javascript library for centrally managing data with React
avers - A modern client-side model abstraction library
imvvm - Immutable Model-View-ViewModel for React
morearty.js - Better state management for React in pure JavaScript
valuable - An immutable data store for React
react-resolver - Isomorphic library to recursively lazy-load data for React components
freezer-js - Lightweight and reactive immutable data structure for React
MobX - Simple, scalable state management
Qaf - Components as stores. Simple state management for React based on context
baobab - JavaScript persistent and optionally immutable data tree with cursors
baobab-react - React integration for Baobab
datascript - Immutable database and Datalog query engine in ClojureScript
immstruct - Immutable data structures with history for top-to-bottom properties in component based libraries like React
seamless-immutable - Immutable data structures for JavaScript which are backwards-compatible with normal JS Arrays and Objects
tydel - Typed Models and Collections, with React bindings
extendable-immutable - Extend any Immutable.js data structure
statty - A tiny and unobtrusive state management library for React and Preact apps
Hydux - An Elm-Like state manager for React with "batteries included"
ReSub - A library for writing better React components and data stores
ProppyJS - A tiny library for functional props composition
WatermelonDB - ? Next-gen database for powerful React and React Native apps that scales to 10,000s of records and remains fast
Effector — Fast and powerful reactive state manager. Lets you write simple, fast and type safe code and manage reactive state with ease.
reactn - React, but with built-in global state management
immer
- Create the next immutable state by mutating the current one
react-googlemaps - React interface to Google maps
react-maps - A map component for React
react-google-maps - React.js Google Maps integration component
react-gmaps - A Google Maps component for React.js
react-map-gl - A React wrapper for MapboxGL-js plus overlay API
google-map-react - Isomorphic google map React component
react-mapbox-gl - A mapbox-gl-js wrapper to make the API react friendly
google-maps-react - A declarative Google Map React component using React, lazy-loading dependencies, current-location finder and a test-driven approach by the Fullstack React team.
react-leaflet - React components for Leaflet maps
react-geo - A set of geo-related components using react, antd, and ol
pigeon-maps - ReactJS maps without external dependencies
Charts
DevExtreme React Chart - High-performance plugin-based React chart for Bootstrap and Material Design
react-chartjs - Common react charting components using chart.js
react-stockcharts - Highly customizable stock charts with ReactJS and d3
Number Picture - Low-level building blocks for constructing animated visualizations with React & D3.
Victory - A collection of composable React components for building interactive data visualizations
Recharts - A charting library built on D3 with an awesome declarative API
React-ApexCharts - React component for ApexCharts (An Interactive SVG Chart Library)
reaviz
- React Data Visualization Library based on D3.js
react-vis - A React visualization library designed with the following principles in mind: React-friendly, high-level and customizable, expressive, and industry-strong.
nivo - It provides a rich set of data visualization components, built on top of the D3 and React libraries.
vx - A collection of reusable low-level visualization components. It combines the power of D3 to generate your visualization with the benefits of React for updating the DOM.
echarts-for-react - A very simple ECharts wrapper for React.
Chartify - React plugin for building charts using CSS.
Semiotic - A data visualization framework combining React and D3.
React Native
Framework for building native apps using React
React Native General Resources
React Native Official Site
React Native GitHub
React Native Newsletter
React Native Playground
React Native Awesome List
React Native StackOverflow
React Native Radio
React Native Tutorials
React Native Tutorial
Introducing React Native: Building Apps with JavaScript
Introduction to React Native: Building iOS Apps with JavaScript
React Native Meets Async Functions
Gesture detection in React Native – fixing unexpected panning
Digital Smart Mirror lab with React Native
The Beauty Of React Native: Building Your First iOS App With JavaScript (Part 1)
The Beauty Of React Native: Building Your First iOS App With JavaScript (Part 2)
A Mini-Course on React Native Flexbox
A Complete Guide to Flexbox
Test driving react native applications
Using React Native With TypeScript
React Native Development Tools
react-native-code-push
- React Native module for CodePush
React Native Sample Apps
HackerNews
Ziliun
FinanceReactNative
SplashWalls
NBAreact
React Native Boilerplates
Create React Native App - Create a React Native app on any OS with no build config, with or without Expo
Snowflake - React Native iOS & Android with Redux, Parse.com, Jest (88% coverage)
Ignite - The hottest CLI for React Native, boilerplates, plugins, generators, and more!
React Native Starter Kit - A powerful starter project that bootstraps development of your mobile application
React Native Awesome Components
Expo
- The Expo platform for making cross-platform mobile apps
react-navigation
- Routing and navigation for your React Native apps
react-native-social-share - Use the iOS and Android native Twitter and Facebook share popup with React Native
react-native-fbsdk - A wrapper around the iOS Facebook SDK
react-native-side-menu - Simple customizable component to create side menu
react-native-mapbox-gl - A Mapbox GL react native module
react-native-icons - Quick and easy icons in React Native
react-native-vector-icons - 3000 Customizable Icons for React Native with support for NavBar/TabBar
react-native-google-signin - Google Signin for React Native
react-native-picker-modal-view
React AR/VR
Usage of React for Augmented and Virtual Reality
React 360
- Create exciting 360 and VR experiences using React
Viro React
- Platform for rapidly building AR/VR applications using React Native
ReasonReact
Reason bindings for ReactJS
ReasonReact Official Website
Application Architecture for Building User Interfaces
Flux General Resources
Flux Official Site
Flux GitHub
Flux Implementations
Flux Comparision
RefluxJS
Fluxxor
Marty
McFly
Fluxible
NuclearJS
Flummox
Coflux
Sinux
Flux Tutorials
Building Applications with React and Flux
Flux: A simple architecture model to build Client-side apps
Isomorphic Flux examples using Dispatchr and Fetchr from Yahoo
Async requests with React.js and Flux
Implementing Flux in CoffeeScript
React: Flux Architecture
Understanding Flux
Yo in Flux
React.js architecture - Flux VS Reflux
Avoiding Event Chains in Single Page Applications
ReactJS and Flux
Deconstructing ReactJS's Flux
Flux Step By Step
Flux in practice
What is the Flux Application Architecture?
React + Flux Backed by Rails API: Part 1
React + Flux Backed by Rails API: Part 2
React + Flux Backed by Rails API: Part 3
Flux solutions compared by example
Flux Cargo-Culting
The Case for Flux
The Evolution of Flux Frameworks
React with Flux by example - a simple Todo List dissected
FOR FLUX SAKE! - a beginners tutorial
Simple Counter App with React and Nuclear JS
LearnCode.academy Flux Tutorial Series
Redux
Predictable State Container for JavaScript Apps
Redux General Resources
Redux GitHub
Redux Official Site
Awesome Redux List
Redux Tools
react-redux - Official React bindings for Redux
redux-devtools - DevTools for Redux with hot reloading, action replay, and customizable UI
react-router-redux - Bindings to keep react-router and redux in sync
redux-form - A Higher Order Component using react-redux to keep form state
redux-thunk - Thunk middleware for redux
redux-logger - Logger middleware for redux
reselect - Selector library for Redux
normalizr - Normalizes nested JSON according to a schema
redux-saga - An alternative side effect model for Redux apps
redux-data-fx - Declarative Side Effects for Redux
redux-observable - RxJS middleware for Redux
redux-analytics - Analytics middleware for Redux
redux-undo - Higher order reducer to add undo/redo functionality to redux state containers
redux-search - Redux bindings for client-side search
redux-mock-store - A mock store for your testing your redux async action creators and middleware
redux-immutable - Create an equivalent function of Redux combineReducers that works with Immutable.js state
redux-react-i18n - An i18n solution for redux/react
R16N - A redux/react I18n solution
redux-actiontyper - Helper to create less verbose action types for Redux
redux-state-validator - A simple redux middleware to validate redux state values and object types using JSON Schema
redux-persist
- Persist and rehydrate a redux store
Redux Tutorials
Building Applications with React and Redux in ES6
Getting Started with Redux
Building React Applications with Idiomatic Redux
Redux Tutorial
Getting Started with React, Redux and Immutable: a Test-Driven Tutorial: Part 1
Getting Started with React, Redux and Immutable: a Test-Driven Tutorial: Part 2
Full-Stack Redux Tutorial
Server-Side Rendering with Redux and React-Router
Deep Introduction to Redux
Unit Testing Redux Apps
Secure Your React and Redux App with JWT Authentication
Build an Image Gallery Using React, Redux and redux-saga
A simplified approach to calling APIs with redux
React Redux based blood donor demo application
LearnCode.academy Redux Tutorials Series
Practical Redux
A Complete React Redux Tutorial for Beginners
Simple, scalable state management for JavaScript Apps
MobX General Resources
MobX GitHub
MobX Official Site
MobX Tools
mobx-react - React component wrapper for combining React with MobX
MobX Tutorials
Ten minute introduction to MobX and React
Manage Complex State in React Apps with MobX
Refactor your application from Redux to MobX
Redux or MobX: An attempt to dissolve the Confusion
GraphQL
Query Language
GraphQL Spec
GraphQL Official Site
GraphQL Specification
GraphQL Specification Repository
GraphQL Tools
GraphCMS - The GraphQL Headless CMS
GraphQL CMS
Mongoose schema To GraphQL
GraphQL bridge to REST API
GraphQL Playground - GraphQL IDE for better development workflows
GraphQL Tutorials
GraphQL Introduction
First Thoughts on GraphQL
Modeling Queries in a GraphQL Like Way
Thin and Graphy
GraphQL Overview - Getting Started with GraphQL and Node.js
Writing a Basic API with GraphQL
Building a GraphQL Server with Node.js and SQL
GraphQL Tour: Variables
How to Graphql - The Fullstack Tutorial for GraphQL
GraphQL Implementations
graphql-js - A reference implementation of GraphQL for
JavaScript
react-transmit - Relay-inspired library based on
JavaScript Promises
graphql-ruby -
Ruby
implementation of Facebook's GraphQL
graphql-java - GraphQL
Java
implementation
sangria -
Scala
GraphQL client and server library
graphql-php - A
PHP
port of GraphQL reference implementation
graphene - GraphQL in
Python
made simple
graphqllib - GraphQL implementation for
Python
graphql-dotnet - GraphQL for
.NET
graphql-go - GraphQL for Go/Golang
Server Integration
express-graphql - Create a GraphQL HTTP server with
Express
graphql-yoga - Easiest way to run a GraphQL server
Database Integration
Hasura
- Instant Realtime GraphQL on Postgres
Prisma - a performant open-source GraphQL ORM-like * layer doing the heavy lifting in your GraphQL server.
graphql-bookshelf - Some help defining GraphQL schema around BookshelfJS models
GraphpostgresQL - GraphQL for
PostgreSQL
graffiti - Node.js GraphQL ORM
sql-to-graphql - Generate a GraphQL API based on your SQL database structure
graphql-sequelize - GraphQL & Relay for MySQL & Postgres via Sequelize
Relay
Data-Driven React Applications
Relay General Resources
Relay Offical Site
Relay GitHub
Relay Tutorials
official Relay Getting Started
Relay for Visual Learners
Getting Started with Relay
Relay and Routing
Relay Tools
graphql-relay-js - A library to help construct a graphql-js server supporting react-relay
react-router-relay - Relay integration for React Router
relay-local-schema - Use Relay without a GraphQL server
relay-codemod - Codemod scripts based for on jsodeshift to update Relay APIs
Apollo
Data stack based on GraphQL
Apollo General Resources
Apollo Official Site
Apollo GitHub
Apollo Blog
Apollo Slack
Apollo Tools
react-apollo-redux - A small wrapper to automatically dispatch actions in response to apollo mutations
Videos
reactjsvideos.com
Important Talks
Pete Hunt: React: Rethinking best practices - JSConf EU 2013
Pete Hunt: React: Rethinking Best Practices (updated) - JSConf.Asia 2013
Tom Occhino and Jordan Walke: JS Apps at Facebook - JSConfUS 2013
Pete Hunt: Be Predictable, Not Correct - Mountain West JavaScript 2014
Hacker Way: Rethinking Web App Development at Facebook
Christopher Chedeau: Why does React Scale? - JSConf2014
Christopher Chedeau: React's Architecture - OSCON 2014
Pete Hunt: React RESTful UI Rendering - Strange Loop 2014
Pete Hunt: How Instagram.com Works - OSCON 2014
Bill Fisher and Jing Chen: React and Flux - NewCircle Training 2014
Sebastian Markbage: Minimal API Surface Area - JSConf EU 2014
Avik Chaudhuri: JavaScript Testing and Static Type Systems at Scale - Scale 2014
React Native & Relay: Bringing Modern Web Techniques to Mobile - f8 2015)
Citrusbyte Presents GraphQL: A Horizontal Platform with Nick Schrock
Laney Kuenzel: Mutations and Subscriptions in Relay - JSConf 2015
React Today and Tomorrow and 90% Cleaner React With Hooks - React Conf 2018
React.js Conf 2015 Playlist
ReactEurope Conf 2015 Day 1 Playlist
ReactEurope Conf 2015 Day 2 Playlist
ReactRally Conf 2015 Playlist
React.js Conf 2016 Playlist
React Amsterdam 2016 Playlist
ReactEurope Conf 2016 Day 1 Playlist
ReactEurope Conf 2016 Day 2 Playlist
ReactRally Conf 2016 Playlist
React.js Amsterdam 2018 Playlist
Video Tutorials
Trying React Hooks for the first time with Dan Abramov
Demos
React and React Native State Museum
react.rocks - Pinterest-style directory of online demos with available code
react-hn - A React & react-router-powered implementation of Hacker News
react-pokemon - A React component for displaying Pokémon
React + Backbone TodoMVC
React + NestedTypes TodoMVC
react-rxjs-todomvc - TodoMVC implementation with React and RxJS
react-mvc - A sample chat application written with React and pure MVC
react-observe-todomvc - TodoMVC implementation built on top of React and Object.observe
react-lights-out - Simple demo of the React framework's power and flexibility
todomvc-swarm - React TodoMVC implementation using Swarm for real-time collaboration
reactodo - Multiple localStorage TODO lists, built with React
lifequote - React port of a life insurance quick quoting application
reactor-demo - Isomorphic Javascript app with React
imgsible - React-based Imgur-like isomorphic demo app
wow-realm-status-react - WoW Realm Status: React Edition
react-json-editor - A generic JSON editor
react-todos - Backbone's example TODO app with React JS for views
github-issues-viewer - A github issues viewer build in react + backbone
wolfenstein3D-react - Wolfenstein with the rendering layer written in React
Flux ImmutableJS TodoList
Hapi+React+Flux user management system
Redux TodoMVC
React/Redux CRUD with persistent state in Local Storage
React Slack clone - comprehensive Slack clone built with React and Chatkit
react-color-wander - Generative art with React
overreacted.io - Personal blog by Dan Abramov
Example Apps
isomorphic500 - Isomorphic JS app built with React and Fluxible
fil - A playground for in-browser interpreters (Redux)
sound-redux - A Soundcloud client built with React / Redux
react-pomodoro - A Pomodoro timer for developers
Do - Notes management application built with React and Redux
soundcloud-react-redux - A SoundCloud Client built with React / Redux
soundcloud-react-mobx - A SoundCloud Client built with React / MobX
A Reimplementation of Winamp 2.9 with React and Redux
ComingOrNot - Event Planner built with react, react-router, redux, graphQL & serverless
React Reduction - Admin Dashboard built with React + Bootstrap4
React Code Splitting Sample - React + React Router + Flux
Responsive React 'The Movie Database' (TMDb) App
CoreUI - Free Admin Panel built with React and Bootstrap 4
react-shopping-cart
- Simple ecommerce cart application built with React and Redux
hackernews-react-graphql
- Hacker News clone rewritten with universal JavaScript, using React and GraphQL
Real apps
Firefox debugger
Remote Retro – Agile retrospectives for distributed teams
Spectrum – Simple, powerful online communities
Mattermost – Open source Slack alternative
原文:
https://github.com/enaqx/awesome-react
本文:
https://pub.intelligentx.net/collection-awesome-things-regarding-react-ecosystem
讨论:请加入知识星球或者小红圈【首席架构师圈】
AnyChart
Proprietary
Free for education and non-profit use.
[4]
Paid for commercial applications.
[5]
ApexCharts
MIT
[6]
C3.js
MIT
[7]
CanvasJS
Proprietary
[8]
Free for Personal, Educational and Non-Commercial Uses
Yes
[9]
canvasXpress
GPLv3, name/email required for source link
[10]
Yes
[11]
Yes
[12]
Chartist
WTFPL
[13]
or MIT
[14]
Chart.js
MIT
[15]
Chart Builder By Livegap
No
[16]
Charts 4 PHP
Proprietary
Free basic edition
[17]
FusionCharts
Proprietary
Free for personal and non-commercial uses.
[55]
Paid for commercial applications.
[56]
Yes
[57]
Yes
[58]
LightningChart JS
Proprietary
Free for personal and non-commercial uses.
[62]
Paid for commercial applications.
[63]
Yes
[64]
Google Charts
Free
[65]
Yes
[65]
Yes
[66]
Yes
[67]
Yes
[68]
Yes
[69]
Yes
[70]
Yes
[71]
Yes
[72]
Yes
[73]
Yes
[73]
Yes
[74]
gRaphael
MIT
[75]
Yes
[76]
Highcharts
, Highstock
Proprietary
Free for personal and non-commercial uses.
[77]
Paid for commercial applications.
[78]
Yes
[79]
Library Name
Supported Chart Types
Supported
Bar Chart
Types
Other Features
Interactivity
Rendering
Technologies
Databinding
License
Timeline
Scatter
Donut
Bullet
Radar
Funnel
Gantt
Network
Grouped
Stacked
Negative
Discrete
Horizontal
Legends
Mouse Over
onClick
HTML5 Canvas
AxisXY
JenScript
BSD-3
[80]
No
[81]
jqPlot
MIT or GPLv2
[82]
Yes
[83]
jqxChart
Proprietary
Free with a link
[84]
or commercial
[85]
JSCharting
Proprietary
[86]
KoolChart
Proprietary
Free with a link
[87]
or commercial
[88]
Yes
[89]
MetricsGraphics
Mozilla Public License Version 2.0
[90]
NextCharts
Apache 2.0
[91]
Apache 2.0
[92]
Yes
[93]
OLAPCharts
Proprietary
Free basic edition
[94]
原文:
https://en.wikipedia.org/wiki/Comparison_of_JavaScript_charting_libraries
本文:
https://pub.intelligentx.net/wikipedia-comparison-javascript-charting-libraries
讨论:请加入知识星球或者小红圈【首席架构师圈】
Graphical/visualization (canvas or SVG related)
See also:
List of JavaScript graphics libraries
Chart.js
D3.js
FusionCharts
Highcharts
JavaScript InfoVis Toolkit
p5.js
Pixi.js
Plotly
Processing.js
Raphaël
SWFObject
Teechart
Three.js
Velocity.js
Verge3D
GUI (Graphical user interface) and widget related
Angular (application platform)
by Google
AngularJS
by Google
Bootstrap
Dojo Widgets
Ext JS
by
Sencha
Foundation
by ZURB
jQuery UI
jQWidgets
OpenUI5
by
SAP
Polymer (library)
by Google
qooxdoo
React.js
SmartClient
Vue.js
Webix
WinJS
No longer actively developed
Lively Kernel
Script.aculo.us
YUI Library
Pure JavaScript/Ajax
Google Closure Library
Joose
JsPHP
Microsoft's Ajax library
MochiKit
PDF.js
Socket.IO
Spry framework
Underscore.js
Template systems
Cascade Framework
jQuery Mobile
Mustache
Jinja-JS
Twig.js
Unit testing
Jasmine
Mocha
QUnit
Unit.js
Web-application related (MVC, MVVM)
Angular (application platform)
by Google
AngularJS
by Google
Backbone.js
Cappuccino
Chaplin.js
Ember.js
Express.js
Ext JS
Google Web Toolkit
JavaScriptMVC
JsRender/JsViews
Knockout
Meteor
Mojito
MooTools
Node.js
OpenUI5
by
SAP
Polymer (library)
by Google
Prototype JavaScript Framework
PureMVC
qooxdoo
React.js
Rialto Toolkit
SproutCore
Vue.js
Wakanda Framework
Other
Modernizr
Cannon.js
MathJax
See also
Ajax framework
Comparison of JavaScript frameworks
External links
JSter, a community-driven catalog of the most useful javascript libraries.
Up-to-date reference guide to JavaScript frameworks.
原文:
https://en.wikipedia.org/wiki/List_of_JavaScript_libraries
本文:
https://pub.intelligentx.net/node/754
讨论:请加入知识星球或者小红圈【首席架构师圈】
awesome-etl
A curated list of notable ETL (extract, transform, load) frameworks, libraries and software.
Awesome ETL
Workflow Management/Engines
Job Scheduling
Python
Talks/Articles
Cloud Services
Big Data (Hadoop Stack)
ETL Tools (GUI)
Airflow
- "Use airflow to author workflows as directed acyclic graphs (DAGs) of tasks. The airflow scheduler executes your tasks on an array of workers while following the specified dependencies. Rich command line utilities make performing complex surgeries on DAGs a snap. The rich user interface makes it easy to visualize pipelines running in production, monitor progress, and troubleshoot issues when needed."
Azkaban
- "a batch workflow job scheduler created at LinkedIn to run Hadoop jobs. Azkaban resolves the ordering through job dependencies and provides an easy to use web user interface to maintain and track your workflows."
Dray.it
- "Docker workflow engine. Allows users to separate a workflow into discrete steps each to be handled by a single container."
Luigi
- "a Python module that helps you build complex pipelines of batch jobs. It handles dependency resolution, workflow management, visualization etc. It also comes with Hadoop support built in."
Mara
- "A lightweight opinionated ETL framework, halfway between plain scripts and Apache Airflow"
Pinball
- "a scalable workflow management platform developed at Pinterest. It is built based on layered approach."
TaskFlow
- "allows the creation of lightweight task objects and/or functions that are combined together into flows (aka: workflows) in a declarative manner. It includes engines for running these flows in a manner that can be stopped, resumed, and safely reverted."
Toil
- Similar to Luigi, jobs are classes with a run method. Supports executing jobs on other machines (workers) which can include AWS spot instances.
Job Scheduling
Chronos
- "a distributed and fault-tolerant scheduler that runs on top of Apache Mesos that can be used for job orchestration."
Dagobah
- "a simple dependency-based job scheduler written in Python. Dagobah allows you to schedule periodic jobs using Cron syntax. Each job then kicks off a series of tasks (subprocesses) in an order defined by a dependency graph you can easily draw with click-and-drag in the web interface."
Jenkins
- "the leading open-source automation server. Built with Java, it provides over 1000 plugins to support automating virtually anything, so that humans can actually spend their time doing things machines cannot."
GETL
- Groovy toolbox for ETL Tasks from practicing architectures
JSR 352
- Java native API for batch processing
Scriptella
- Java-XML ETL toolbox for every day use.
Spring Batch
- ETL on Spring ecosystem
Python
Libraries
BeautifulSoup
- Popular library used to extract data from web pages.
Blaze
- "translates a subset of modified NumPy and Pandas-like syntax to databases and other computing systems."
Bonobo
- Simple, modern and atomic data transformation graphs for Python 3.5+.
Bubbles
- "a Python ETL Framework and set of tools. It can be used for processing, auditing and inspecting data. Focus is on understandability and transparency of the process."
Celery
- "an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well."
Dask
- Ever tried using Pandas to process data that won't fit into memory? Dask makes it easy. Dask also has functionality to make it easy to processing continuous streams of data.
dataset
- A wrapper around SQLAlchemy that simplifies database operations (including upserting).
ijson
- Allows processing JSON iteratively (as a stream) without loading the whole file into memory at once.
Joblib
- "a set of tools to provide lightweight pipelining in Python."
lxml
- Parses XML using C libraries libxml2 and libxslt, so it's very fast. Also supports a "recover" mode that will try its best to use invalid xml or discard it. Great for large XML files and advanced functionality (like using xpaths). IBM also has a great article on high-performance parsing with lxml here:
http://www.ibm.com/developerworks/library/x-hiperfparse/
MrJob
- "lets you write MapReduce jobs in Python 2.6+ and run them on several platforms. The easiest route to writing Python programs that run on Hadoop."
Odo
- Moves data across containers (SQL, CSV, MongoDB, Pandas, etc). Claims to be the easiest and fastest way to load a CSV into your database.
Pandas
- Implements dataframes in Python for easier data processing and includes a number of tools that make it easier to extract data from multiple file formats.
parse
- The opposite of Python's format(). Easier to use than regex, but more limited.
PETL
- "a general purpose Python package for extracting, transforming and loading tables of data." Slower than Pandas and not as good for larger amounts of data, but simpler.
PyQuery
- Extracts data from web pages with a jquery-like syntax.
Retrying
- Allows you to add a decorator to any function/method to retry on an exception.
Requests-HTML
- Combines PyQuery, Requests, parse, and other libraries for a pleasant and intuitive web scraping experience.
riko
- A python stream processing engine modeled after Yahoo! Pipes.
Ruffus
- "The Ruffus module is a lightweight way to add support for running computational pipelines."
SQLAlchemy
- "the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL."
Toolz
- "A functional standard library for python." Includes a
pipe
function that allows you to pipe a value through a sequence of functions. There's also a cython implementation here:
https://github.com/pytoolz/cytoolz
xmltodict
- Makes working with XML as easy as working with JSON. Also allows streaming so you don't run out of memory on large XML files. Great for simple operations on small XML files.
Talks/Articles
https://vimeo.com/73628111
http://www.parsely.com/misc/slides/streamparse/notes/
Kiba
- "Data processing & ETL framework for Ruby"
nokogiri
- an excellent XML parser that "just works"
Square ETL
Sequel
- "The Database Toolkit for Ruby"
Embulk
- "a parallel bulk data loader that helps data transfer between various storages, databases, NoSQL and cloud services."
Crunch
- "A fast to develop, fast to run, Go based toolkit for ETL and feature extraction on Hadoop."
Pachyderm
- A system for running processing pipeline jobs in containers and version controlling all data using a commit-based distributed filesystem.
Javascript
Datapumps
- "Use pumps to import, export, transform or transfer data."
NoFlo
- "a JavaScript implementation of Flow-Based Programming"
Talks/Articles
https://medium.com/@samson_hu/building-analytics-at-500px-92e9a7005c83
http://www.slideshare.net/g33ktalk/data-pipeline-acial-lyceum20140624
http://chairnerd.seatgeek.com/building-out-the-seatgeek-data-pipeline/
http://www.garynissen.com/etl-hand-code-or-tool/
http://www.slideshare.net/CasertaConcepts/big-data-warehousing-meetup-bigetl-trad-tool-vs-pig-vs-hive-vs-python-what-to-use-when-slide-set-2
https://deepfriedcode.com/books/darps/index.html
http://blog.cloudera.com/wp-content/uploads/2010/01/IntroToPig.pdf
http://tech.adroll.com/blog/data/2015/10/15/luigi.html?adrolldev
Cloud Services
Alteryx
- Cloud ETL tool with an interface similar to GUI ETL tools.
AWS Data Pipeline
- "a web service that helps you reliably process and move data between different AWS compute and storage services, as well as on-premise data sources, at specified intervals."
AWS Glue
- AWS Glue generates the code (using Python and Spark) to execute your data transformations and data loading processes.
Amazon Simple Workflow Service (SWF)
- "helps developers build, run, and scale background jobs that have parallel or sequential steps. You can think of Amazon SWF as a fully-managed state tracker and task coordinator in the Cloud."
AWS Batch
- Allows executing jobs as containerized applications running on Amazon ECS. Also includes features for dynamically bidding for Spot Instances, integration with existing workflow engines, scheduling, monitoring, dependency modeling, and dynamic scaling/provisioning based on amount of work.
Google Dataflow
- "Google Cloud Dataflow provides a simple, powerful model for building both batch and streaming parallel data processing pipelines."
Big Data (Hadoop Stack)
Pig
- "a platform for analyzing large data sets that consists of a high-level language for expressing data analysis programs, coupled with infrastructure for evaluating these programs."
Spark
- "a fast and general-purpose cluster computing system. It provides high-level APIs in Scala, Java, and Python that make parallel jobs easy to write, and an optimized engine that supports general computation graphs. It also supports a rich set of higher-level tools including Shark (Hive on Spark), MLlib for machine learning, GraphX for graph processing, and Spark Streaming."
ETL Tools (GUI)
Warning
: If you're already familiar with a scripting language, GUI ETL tools are not a good replacement for a well structured application written with a scripting language. These tools lack flexibility and are a good example of the
"inner-platform effect"
. With a large project, you will most likely run into instances where "the tool doesn't do that" and end up implementing something hacky with a script run by the GUI ETL tool. Also, the GUI can conceal complexity and the files these tools generate are impossible to code review. However, the GUI and out-of-the-box functionality can make some tasks simpler, especially for people not comfortable with writing code.
Apache NiFi
- "a rich, web-based interface for designing, controlling, and monitoring a dataflow."
Informatica PowerCenter
- "a toolset for establishing and maintaining enterprise-wide data warehouses. It has a customer base of over 5,000 companies."
Microsoft SSIS
- "a component of the Microsoft SQL Server database software that can be used to perform a broad range of data migration tasks."
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"
Please add new entries at the bottom.
See also:
https://github.com/pditommaso/awesome-pipeline
Arvados
http://arvados.org
Taverna
http://www.taverna.org.uk/
Galaxy
http://galaxyproject.org/
SHIWA
https://www.shiwa-workflow.eu/
Oozie
https://oozie.apache.org/
DNANexus
https://wiki.dnanexus.com/API-Specification-v1.0.0/IO-and-Run
-Specifications#
https://wiki.dnanexus.com/API-Specification-v1.0.0/Workflows-and
-Analyses#
BioDT
http://www.biodatomics.com/
Agave
http://agaveapi.co/live-docs/
DiscoveryEnvironment
http://www.iplantcollaborative.org/ci/discovery-environment
Wings
http://www.wings-workflows.org/
Knime
https://www.knime.org/
make, rake, drake, ant, scons & many others. Software development relies heavily on tools to manage workflows related to compiling and packaging applications. For the most part these are file based and usually run on a single node, usually supporting parallel steps (make -j) and in some cases able to dispatch build steps to other machines (
https://code.google.com/p/distcc/
)
https://github.com/Factual/drake
Snakemake
https://bitbucket.org/snakemake/snakemake
BPipe
http://bpipe.org
Ruffus
https://code.google.com/p/ruffus/
NextFlow
http://nextflow.io
Luigi
http://github.com/spotify/luigi
https://luigi.readthedocs.io
SciLuigi. Helper library built on top of Luigi to ease development of Scientific workflows in Luigi:
http://github.com/pharmbio/sciluigi
Luigi Analysis Workflow (LAW)
https://github.com/riga/law
GATK Queue
https://www.broadinstitute.org/gatk/guide/topic?name=queue
Yabi
https://ccg.murdoch.edu.au/yabi
seqware Workflows are written in Java and executed using the Oozie Workflow Engine on Hadoop or SGE clusters. Uses Zip64 files to group the workflow definition file, workflow itself, sample settings, and data dependencies in a single file that can be exchanged between SeqWare users or archived.
https://seqware.github.io/
https://seqware.github.io/docs/6-pipeline/
Ketrew
https://github.com/hammerlab/ketrew
Pegasus
http://pegasus.isi.edu/
Apache Airflow
https://github.com/apache/airflow
Cosmos
https://cosmos.hms.harvard.edu/documentation/index.html
http://bioinformatics.oxfordjournals.org/content/early/2014/07/24/bioinformatics.btu385.full
[paper] Cosmos2:
https://github.com/LPM-HMS/COSMOS2
http://cosmos.hms.harvard.edu/COSMOS2/
Pinball
https://github.com/pinterest/pinball
bcbio
https://bcbio-nextgen.readthedocs.org/en/latest/
Chronos
https://github.com/mesos/chronos
Azkaban
https://azkaban.github.io/
Apache NiFi
https://nifi.apache.org/docs/nifi-docs/html/overview.html
flowr (R-based)
http://docs.flowr.space/
https://github.com/sahilseth/flowr
Mistral
https://github.com/arteria-project
https://wiki.openstack.org/wiki/Mistral#What_is_Mistral.3F
https://docs.openstack.org/mistral/latest/user/wf_lang_v2.html
nipype
http://nipy.org/nipype/
End of Day
https://github.com/joestubbs/endofday
BioDSL
https://github.com/maasha/BioDSL
BigDataScript
http://pcingola.github.io/BigDataScript/
Omics Pipe: uses Ruffus
http://sulab.scripps.edu/omicspipe/
Ensembl Hive
https://github.com/Ensembl/ensembl-hive
QuickNGS
http://bifacility.uni-koeln.de/quickngs/web
GenePattern
http://www.broadinstitute.org/cancer/software/genepattern/
Chipster
http://chipster.csc.fi/
The Genome Modeling System
https://github.com/genome/gms
Cuneiform, A Functional Workflow Language
https://github.com/joergen7/cuneiform
http://www.cuneiform-lang.org/
Anvaya
http://www.ncbi.nlm.nih.gov/pubmed/22809419
http://webapp.cabgrid.res.in/biocomp/Anvaya/ANVAYA_Main.html#HOWTO_INSTALL_ANVAYA
Makeflow
http://ccl.cse.nd.edu/software/makeflow/
Airavata
http://airavata.apache.org/
Pyflow
https://github.com/Illumina/pyflow
Cluster Flow
http://clusterflow.io
Unipro UGENE
http://ugene.net/
https://dx.doi.org/10.7717/peerj.644
CloudSlang
http://www.cloudslang.io/
Stacks
http://catchenlab.life.illinois.edu/stacks/
Leaf
http://www.francesconapolitano.it/leaf/index.html
omictools
http://omictools.com/
Job Description Language. The Job Description Language, JDL, is a high-level, user-oriented language based on Condor classified advertisements for describing jobs and aggregates of jobs such as Direct Acyclic Graphs and Collections.
https://edms.cern.ch/ui/file/590869/1/WMS-JDL.pdf
YAWL yet another workflow language
http://dx.doi.org/10.1016/j.is.2004.02.002
http://www.yawlfoundation.org/
Triquetrum
https://projects.eclipse.org/projects/technology.triquetrum
https://github.com/eclipse/triquetrum/
Kronos
https://github.com/jtaghiyar/kronos
qsubsec
http://doi.org/10.1093/bioinformatics/btv698
https://github.com/alastair-droop/qsubsec
YesWorkflow
http://yesworkflow.org
gwf - Grid WorkFlow
https://github.com/gwforg/gwf
http://gwf.readthedocs.io/
Fireworks.
https://pythonhosted.org/FireWorks/
NGLess: NGS with less work
http://ngless.rtfd.io
pypipegraph
https://github.com/TyberiusPrime/pypipegraph
Cromwell
https://github.com/broadinstitute/cromwell
Dagobah - Simple DAG-based job scheduler in Python.
https://github.com/thieman/dagobah
sushi
https://github.com/uzh/sushi
Clinical Trial Processor - A program for processing clinical trials data.
http://mircwiki.rsna.org/index.php?title=MIRC_CTP
Noodles
http://nlesc.github.io/noodles/
Swift & Swift/T
http://swift-lang.org/main/
http://swift-lang.org/Swift-T/
Consonance (runs SeqWare & CWL)
https://github.com/Consonance/consonance/wiki
Dog
https://github.com/dogtools/dog
Produce
https://github.com/texttheater/produce
LONI Pipeline
http://pipeline.loni.usc.edu/
Cpipe
https://github.com/MelbourneGenomics/cpipe
AWE
https://github.com/MG-RAST/AWE
(Py)COMPSs
https://www.bsc.es/research-and-development/software-and-apps/software-list/comp-superscalar/
KLIKO
https://github.com/gijzelaerr/kliko
SoS Workflow
https://github.com/vatlab/SoS
https://vatlab.github.io/sos-docs/
https://doi.org/10.1093/bioinformatics/bty405
https://doi.org/10.1371/journal.pcbi.1006843
XNAT Pipeline Engine
https://wiki.xnat.org/display/XNAT/Pipeline+Engine
https://wiki.xnat.org/display/XNAT/XNAT+Pipeline+Development+Schema
Metapipe
https://github.com/TorkamaniLab/metapipe
OCCAM (Open Curation for Computer Architecture Modeling)
https://occam.cs.pitt.edu/
Copernicus
http://www.copernicus-computing.org
iRODS Rule Language
https://github.com/samuell/irods-cheatsheets/blob/master/irods-rule-lang-full-guide.md
VisTrails
https://www.vistrails.org
Bionode Watermill
https://github.com/bionode/bionode-watermill
BIOVIA Pipeline Pilot Overview
http://accelrys.com/products/collaborative-science/biovia-pipeline-pilot/
Dagman A meta-scheduler for HTCondor
https://research.cs.wisc.edu/htcondor/dagman/dagman.html
UNICORE
https://www.unicore.eu/docstore/workflow-7.6.0/workflow-manual.html#wf_dialect
Toil (A scalable, efficient, cross-platform and easy-to-use workflow engine in pure Python)
https://github.com/BD2KGenomics/toil
Cylc (a workflow engine for cycling systems)
https://cylc.github.io/
Autodesk Cloud Compute Canon
https://github.com/Autodesk/cloud-compute-cannon
Civet
https://github.com/TheJacksonLaboratory/civet
Cumulus
https://github.com/Kitware/cumulus
High-performance integrated virtual environment (HIVE)
https://hive.biochemistry.gwu.edu
Cloudgene
http://cloudgene.uibk.ac.at/cloudgene-yaml
FASTR
https://bitbucket.org/bigr_erasmusmc/fastr/
http://fastr.readthedocs.io/en/stable/
BioMake
https://github.com/evoldoers/biomake
http://dx.doi.org/10.1101/093245
remake
https://github.com/richfitz/remake
SciFloware
http://www-sop.inria.fr/members/Didier.Parigot/pmwiki/Scifloware/
OpenAlea
http://openalea.gforge.inria.fr/dokuwiki/doku.php
https://hal.archives-ouvertes.fr/hal-01166298/file/openalea-PradalCohen-Boulakia.pdf
COMBUSTI/O
https://github.com/jarlebass/combustio
http://hdl.handle.net/10037/9361
BioCloud
https://github.com/ccwang002/biocloud-server-kai
http://doi.org/10.6342/NTU201601295
Triana
http://www.trianacode.org/
(website seems to have been taken over by SEO)
Kepler
https://kepler-project.org/
Anduril
http://anduril.org/site/
dgsh
http://www.dmst.aueb.gr/dds/sw/dgsh/
EDGE bioinformatics: Empowering the Development of Genomics Expertise
https://bioedge.lanl.gov/edge_ui/
http://edge.readthedocs.io/
https://lanl-bioinformatics.github.io/EDGE/
Pachyderm
http://pachyderm.io/
http://pachyderm.readthedocs.io/en/stable/advanced/advanced.html
Digdag
https://www.digdag.io/
Agua / Automated Genomics Utilities Agent
http://aguadev.org
BioDepot Workflow Builder (BwB)
https://github.com/BioDepot/BioDepot-workflow-builder
https://doi.org/10.1101/099010
IMP: a pipeline for reproducible reference-independent integrated metagenomic and metatranscriptomic analyses
http://r3lab.uni.lu/web/imp/
https://doi.org/10.1186/s13059-016-1116-8
Butler
https://github.com/llevar/butler
adage / yadage
https://github.com/diana-hep/adage
https://github.com/diana-hep/yadage
HI-WAY: Execution of Scientific Workflows on Hadoop YARN
https://github.com/marcbux/Hi-WAY
https://openproceedings.org/2017/conf/edbt/paper-248.pdf
OpenMOLE
https://github.com/openmole/openmole
https://www.openmole.org/
https://doi.org/10.3389/fninf.2017.00021
Biopet
https://github.com/biopet/biopet
Nephele
https://nephele.niaid.nih.gov/
TOPPAS
http://doi.org/10.1021/pr300187f
SBpipe
https://pdp10.github.io/sbpipe/
https://github.com/pdp10/sbpipe
https://doi.org/10.1186/s12918-017-0423-3
Dray
http://dray.it/
GenomeVIP
https://github.com/ding-lab/GenomeVIP
https://doi.org/10.1101/gr.211656.116
GridSAM
https://sourceforge.net/projects/gridsam/
Roddy
https://github.com/eilslabs/Roddy
SciFlo (historical; doesn't seem to be maintained anymore)
https://web.archive.org/web/20161118011409/https://sciflo.jpl.nasa.gov/SciFloWiki/FrontPage
GNU Guix Workflow Language
https://git.roelj.com/guix/gwl.git#gnu-guix-workflow-language-extension
https://github.com/UMCUGenetics/guix-workflows/blob/master/umcu/workflows/rnaseq.scm
Porcupine
https://timvanmourik.github.io/Porcupine/
Parsl (a Parallel Scripting Library for Python)
http://parsl-project.org
ECFLOW (Workflow primarily for Meteorological Applications)
https://software.ecmwf.int/wiki/display/ECFLOW/ecflow+home
Ophidia
http://ophidia.cmcc.it/
WebLicht
https://weblicht.sfs.uni-tuebingen.de/
GATE Cloud
https://cloud.gate.ac.uk/
SCIPION
http://scipion.cnb.csic.es/m/home/
https://github.com/I2PC/scipion/wiki/Creating-a-Protocol
Ergatis
http://ergatis.sourceforge.net/
TIGR "Workflow"
https://sourceforge.net/projects/tigr-workflow/
http://tigr-workflow.sourceforge.net/
Archivematica
https://wiki.archivematica.org/Main_Page
(A preservation workflow system that implements the
ISO-OAIS
standard using gearman/MCP)
Martian
http://martian-lang.org/about/
BioMAJ
http://genouest.github.io/biomaj/
Conveyor
http://conveyor.cebitec.uni-bielefeld.de
(retired).
https://academic.oup.com/bioinformatics/article/27/7/903/230562/Conveyor-a-workflow-engine-for-bioinformatic
Biopipe
http://www.biopipe.org
(appears to be defunct)
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC403782/
Wildfire
http://wildfire.bii.a-star.edu.sg/
https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-6-69
BioWBI
http://bioinformatics.hsanmartino.it/bits_library/library/00079.pdf
BioWMS
http://bioinformatics.hsanmartino.it/bits_library/library/00568.pdf
BioMoby
http://biomoby.open-bio.org/
https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-7-523
SIBIOS
http://ieeexplore.ieee.org/document/1309094/
NGSANE
https://github.com/BauerLab/ngsane
https://academic.oup.com/bioinformatics/article/30/10/1471/266879/NGSANE-a-lightweight-production-informatics
Pwrake
https://github.com/misshie/Workflows
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3180464/
Nesoni
https://github.com/Victorian-Bioinformatics-Consortium/nesoni
Skam
http://skam.sourceforge.net/skam-intro.html
TREVA
http://bioinformatics.petermac.org/treva/
http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0095217
EGene
https://www.semanticscholar.org/paper/EGene-a-configurable-pipeline-generation-system-fo-Durham-Kashiwabara/4c0656195b5efcdd3aa7bdcb55fc95a957c150aa
https://academic.oup.com/bioinformatics/article/30/18/2659/2475637/EuGene-PP-a-next-generation-automated-annotation
WEP
https://bioinformatics.cineca.it/wep/
https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-14-S7-S11
Microbase
http://www.microbasecloud.com/
e-Science Central
http://www.esciencecentral.co.uk/
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3538293/
Cyrille2
https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-9-96
PaPy
https://code.google.com/archive/p/papy/
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3051902/
JobCenter
https://github.com/yeastrc/jobcenter
https://scfbm.biomedcentral.com/articles/10.1186/1751-0473-7-8
CoreFlow
https://www.ncbi.nlm.nih.gov/pubmed/24503186
dynamic-pipeline
https://code.google.com/archive/p/dynamic-pipeline/
XiP
http://xip.hgc.jp/wiki/en/Main_Page
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3530915/
Eoulsan
http://www.outils.genomique.biologie.ens.fr/eoulsan/
https://www.ncbi.nlm.nih.gov/pubmed/22492314
CloudDOE
http://clouddoe.iis.sinica.edu.tw/
BioPig
https://github.com/JGI-Bioinformatics/biopig
https://www.ncbi.nlm.nih.gov/pubmed/24021384
SeqPig
https://github.com/HadoopGenomics/SeqPig
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3866557/
zymake
http://www-personal.umich.edu/~ebreck/code/zymake/
JMS
https://github.com/RUBi-ZA/JMS
http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0134273
CLC Genomics Workbench
https://www.qiagenbioinformatics.com/products/clc-genomics-workbench/
NG6
http://ng6.toulouse.inra.fr/
https://www.ncbi.nlm.nih.gov/pubmed/22958229
VIBE
http://www.incogen.com/vibe/
WDL (Workflow Description Language)
https://github.com/broadinstitute/wdl
SciFlow
https://github.com/kaizhang/SciFlow
(not to be confused with SciFloware and SciFlo).
Bioshake
https://github.com/PapenfussLab/bioshake
SciPipe
http://scipipe.org
Kapacitor / TICKscripts
https://docs.influxdata.com/kapacitor/v1.3//tick/
AiiDA: Automated Interactive Infrastructure and Database for Computational Science
http://www.aiida.net/
Reflow: a language and runtime for distributed, integrated data processing in the cloud
https://github.com/grailbio/reflow
Resolwe: an open source dataflow package for Django framework
https://github.com/genialis/resolwe
Yahoo! Pipes (historical)
https://en.wikipedia.org/wiki/Yahoo!_Pipes
Walrus
https://github.com/fjukstad/walrus
Apache Beam
https://beam.apache.org/
CLOSHA
https://closha.kobic.re.kr/
https://www.bioexpress.re.kr/go_tutorial
http://docplayer.net/19700397-Closha-manual-ver1-1-kobic-korean-bioinformation-center-kogun82-kribb-re-kr-2016-05-08-bioinformatics-workflow-management-system-in-bio-express.html
https://doi.org/10.1186/s12859-018-2019-3
WopMars
https://github.com/aitgon/wopmars
http://wopmars.readthedocs.io/
flowing-clj
https://github.com/stain/flowing-clj
Plumbing and Graph
https://github.com/plumatic/plumbing
LabView
http://www.ni.com/en-us/shop/labview.html
MyOpenLab
http://myopenlab.org/
Max/MSP
https://cycling74.com/products/max/
NoFlo
https://noflojs.org/
Flowstone
http://www.dsprobotics.com/flowstone.html
HyperLoom
https://code.it4i.cz/ADAS/loom
https://code.it4i.cz/ADAS/loom
Dask
http://dask.pydata.org/en/latest/
https://github.com/dask/dask
Stimela
https://github.com/SpheMakh/Stimela
https://github.com/SpheMakh/Stimela/wiki
https://www.acru.ukzn.ac.za/~cosmosafari2017/wp-content/uploads/2017/02/makhathini.pdf
JTracker
https://jtracker.io/
https://github.com/jtracker-io
PipelineDog
http://pipeline.dog/
https://github.com/zhouanbo/pipelinedog
https://doi.org/10.1093/bioinformatics/btx759
DALiuGE
https://arxiv.org/abs/1702.07617
https://github.com/ICRAR/daliuge
https://daliuge.readthedocs.io/
Overseer
https://github.com/framed-data/overseer
Squonk
https://squonk.it/
GC3Pie
https://github.com/uzh/gc3pie
Fractalide
https://github.com/fractalide/fractalide
TOGGLe
https://doi.org/10.1101/245480
http://toggle.southgreen.fr/
Askalon
http://www.askalon.org
Eclipse ICE (The Integrated Computational Environment)
https://www.eclipse.org/ice
Sandia Analysis Workbench (SAW)
http://www.sandia.gov/saw/
dispel4py
https://github.com/dispel4py/dispel4py
Jobber
https://pypi.python.org/pypi/Jobber/0.1.4
NeatSeq-Flow
http://neatseq-flow.readthedocs.io/
S4M
https://bitbucket.org/uqokorn/s4m_base/wiki/Home
Loom
http://med.stanford.edu/gbsc/loom.html
https://github.com/StanfordBioinformatics/loom
http://loom.readthedocs.io/en/latest/templates.html
Watchdog
https://doi.org/10.1186/s12859-018-2107-4
https://github.com/klugem/watchdog
phpflo
https://github.com/phpflo/phpflo
BASTet: Berkeley Analysis and Storage Toolkit
https://openmsi.nersc.gov/openmsi/client/bastet.html
https://biorack.github.io/BASTet/
https://doi.org/10.1109/TVCG.2017.2744479
Tavaxy: Pattern based workflow system for the bioinformatics domain
http://www.tavaxy.org/
Ginflow: Decentralised adaptive workflow engine
https://ginflow.inria.fr/
SciApps: A cloud-based platform for reproducible bioinformatics workflows
https://doi.org/10.1093/bioinformatics/bty439
https://www.sciapps.org/
Stoa: Script Tracking for Observational Astronomy
https://github.com/petehague/Stoa
Collective Knowledge (CK) framework
http://cknowledge.org/
QosCosGrid (QCG)
http://www.qoscosgrid.org/
http://www.qoscosgrid.org/trac/qcg-broker/wiki/qcg-advanced-client%20
High-Throughput Binding Affinity Calculator (HTBAC)
https://htbac.readthedocs.io/en/latest/
https://github.com/radical-cybertools/htbac
https://arxiv.org/abs/1801.01174
BioWorkbench (Swift-based)
https://arxiv.org/abs/1801.03915
https://github.com/mmondelli/bioworkbench
ENVI Task Engine
https://gbdxdocs.digitalglobe.com/docs/envi-task-engine
https://www.harrisgeospatial.com/Learn/Whitepapers/TabId/2359/ArtMID/10212/ArticleID/17299/Workflow-Tools-in-ENVI.aspx
https://envi-py-engine.readthedocs.io/en/latest/index.html
Pypeline
https://github.com/cgarciae/pypeln
mpipe
http://vmlaker.github.io/mpipe/
idseq-dag
https://github.com/chanzuckerberg/idseq-dag
Piper (based upon GATK Queue)
https://github.com/NationalGenomicsInfrastructure/piper
Apache Object Oriented Data Technology (OODT)
http://oodt.apache.org/
JX Workflow (DSL for Makeflow)
https://ccl.cse.nd.edu/software/manuals/jx-quick.html
http://ccl.cse.nd.edu/research/papers/jx-escience-2018.pdf
The Adaptable IO System (ADIOS), ADIOS using applications can be the orchestrated into a workflow
http://csmd.ornl.gov/adios
GenPipes
https://doi.org/10.1101/459552
https://bitbucket.org/mugqic/genpipes/src/master/
Argo
https://argoproj.github.io/
https://github.com/argoproj/argo
https://github.com/argoproj/argo/blob/master/examples/README.md
Reana
https://reana.readthedocs.io/en/latest/
https://github.com/reanahub/reana
Cuisine Framework
https://www.astron.nl/~renting/cuisine.html
Niassa
https://github.com/oicr-gsi/niassa
https://oicr-gsi.github.io/niassa-docs/
pypeFLOW
https://github.com/PacificBiosciences/pypeFLOW
Tiny Cloud Engine
http://ka.cb.k.u-tokyo.ac.jp/tce/
Xbowflow
https://github.com/ChrisSuess/Project-Xbow/tree/master/xbowflow
AdaptiveMd
https://github.com/markovmodel/adaptivemd
Meshroom
https://github.com/alicevision/meshroom
LSST Data Management
https://github.com/lsst/pipe_base
CGAT-core
https://github.com/cgat-developers/cgat-core
Prefect
https://docs.prefect.io/
Apache SCXML engine
https://commons.apache.org/proper/commons-scxml/guide/core-engine.html
https://commons.apache.org/proper/commons-scxml/guide/scxml-documents.html
IceProd
https://github.com/WIPACrepo/iceprod
AnADAMA2
http://huttenhower.sph.harvard.edu/anadama2
Luna
https://luna-lang.org/
Passerelle
https://code.google.com/archive/a/eclipselabs.org/p/passerelle
Kurator-Akka
https://github.com/kurator-org/kurator-akka
Jug
http://doi.org/10.5334/jors.161
Node-RED
https://nodered.org/
Databolt Flow
https://github.com/d6t/d6tflow
Frictionless Data Package Pipelines
https://github.com/frictionlessdata/datapackage-pipelines
DataFlows
https://github.com/datahq/dataflows
Volcano
https://github.com/volcano-sh/volcano
DataJoint
https://datajoint.io/
DIRAC3 (LHCb grid software)
https://iopscience.iop.org/article/10.1088/1742-6596/219/6/062029
原文:
https://github.com/common-workflow-language/common-workflow-language/wiki/Existing-Workflow-systems
讨论:请加入知识星球或者小红圈【首席架构师圈】
Awesome Machine Learning
A curated list of awesome machine learning frameworks, libraries and software (by language). Inspired by
awesome-php
.
If you want to contribute to this list (please do), send me a pull request or contact me
@josephmisiti
. Also, a listed repository should be deprecated if:
Repository's owner explicitly say that "this library is not maintained".
Not committed for long time (2~3 years).
Further resources:
For a list of free machine learning books available for download, go
here
.
For a list of (mostly) free machine learning courses available online, go
here
.
For a list of blogs and newsletters on data science and machine learning, go
here
.
For a list of free-to-attend meetups and local events, go
here
.
Table of Contents
Frameworks and Libraries
General-Purpose Machine Learning
General-Purpose Machine Learning
Computer Vision
Computer Vision
General-Purpose Machine Learning
Natural Language Processing
Speech Recognition
Sequence Analysis
Gesture Recognition
Common Lisp
General-Purpose Machine Learning
Clojure
Natural Language Processing
General-Purpose Machine Learning
Data Analysis / Data Visualization
Crystal
General-Purpose Machine Learning
Elixir
General-Purpose Machine Learning
Natural Language Processing
Erlang
General-Purpose Machine Learning
Natural Language Processing
General-Purpose Machine Learning
Data Analysis / Data Visualization
Geometry / Spatial Analysis
Computer Vision
Haskell
General-Purpose Machine Learning
Natural Language Processing
General-Purpose Machine Learning
Speech Recognition
Data Analysis / Data Visualization
Deep Learning
Javascript
Natural Language Processing
Data Analysis / Data Visualization
General-Purpose Machine Learning
Demos and Scripts
Julia
General-Purpose Machine Learning
Natural Language Processing
Data Analysis / Data Visualization
Misc Stuff / Presentations
General-Purpose Machine Learning
Demos and Scripts
Matlab
Computer Vision
Natural Language Processing
General-Purpose Machine Learning
Data Analysis / Data Visualization
Microsoft ML.NET
Computer Vision
Natural Language Processing
General-Purpose Machine Learning
Data Analysis / Data Visualization
Objective C
General-Purpose Machine Learning
OCaml
General-Purpose Machine Learning
Data Analysis / Data Visualization
General-Purpose Machine Learning
Perl 6
Natural Language Processing
General-Purpose Machine Learning
Python
Computer Vision
Natural Language Processing
General-Purpose Machine Learning
Data Analysis / Data Visualization
Misc Scripts / iPython Notebooks / Codebases
Kaggle Competition Source Code
Neural Networks
Reinforcement Learning
Natural Language Processing
General-Purpose Machine Learning
Data Analysis / Data Visualization
General-Purpose Machine Learning
General-Purpose Machine Learning
Data Analysis / Data Visualization
General-Purpose Machine Learning
Data Analysis / Data Visualization
Natural Language Processing
写个脚本把它们爬下来 -
Demos and Scripts
Scala
Natural Language Processing
Data Analysis / Data Visualization
General-Purpose Machine Learning
Scheme
Neural Networks
Swift
General-Purpose Machine Learning
TensorFlow
General-Purpose Machine Learning
Darknet
- Darknet is an open source neural network framework written in C and CUDA. It is fast, easy to install, and supports CPU and GPU computation.
Recommender
- A C library for product recommendations/suggestions using collaborative filtering (CF).
Hybrid Recommender System
- A hybrid recommender system based upon scikit-learn algorithms.
[Deprecated]
neonrvm
- neonrvm is an open source machine learning library based on RVM technique. It's written in C programming language and comes with Python programming language bindings.
DLib
- DLib has C++ and Python interfaces for face detection and training general object detectors.
EBLearn
- Eblearn is an object-oriented C++ library that implements various machine learning models
[Deprecated]
OpenCV
- OpenCV has C++, C, Python, Java and MATLAB interfaces and supports Windows, Linux, Android and Mac OS.
VIGRA
- VIGRA is a generic cross-platform C++ computer vision and machine learning library for volumes of arbitrary dimensionality with Python bindings.
BanditLib
- A simple Multi-armed Bandit library.
[Deprecated]
Caffe
- A deep learning framework developed with cleanliness, readability, and speed in mind. [DEEP LEARNING]
CatBoost
- General purpose gradient boosting on decision trees library with categorical features support out of the box. It is easy to install, contains fast inference implementation and supports CPU and GPU (even multi-GPU) computation.
CNTK
- The Computational Network Toolkit (CNTK) by Microsoft Research, is a unified deep-learning toolkit that describes neural networks as a series of computational steps via a directed graph.
CUDA
- This is a fast C++/CUDA implementation of convolutional [DEEP LEARNING]
DeepDetect
- A machine learning API and server written in C++11. It makes state of the art machine learning easy to work with and integrate into existing applications.
Distributed Machine learning Tool Kit (DMTK)
- A distributed machine learning (parameter server) framework by Microsoft. Enables training models on large data sets across multiple machines. Current tools bundled with it include: LightLDA and Distributed (Multisense) Word Embedding.
DLib
- A suite of ML tools designed to be easy to imbed in other applications.
DSSTNE
- A software library created by Amazon for training and deploying deep neural networks using GPUs which emphasizes speed and scale over experimental flexibility.
DyNet
- A dynamic neural network library working well with networks that have dynamic structures that change for every training instance. Written in C++ with bindings in Python.
Fido
- A highly-modular C++ machine learning library for embedded electronics and robotics.
igraph
- General purpose graph library.
Intel(R) DAAL
- A high performance software library developed by Intel and optimized for Intel's architectures. Library provides algorithmic building blocks for all stages of data analytics and allows to process data in batch, online and distributed modes.
LightGBM
- Microsoft's fast, distributed, high performance gradient boosting (GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks.
libfm
- A generic approach that allows to mimic most factorization models by feature engineering.
MLDB
- The Machine Learning Database is a database designed for machine learning. Send it commands over a RESTful API to store data, explore it using SQL, then train machine learning models and expose them as APIs.
mlpack
- A scalable C++ machine learning library.
MXNet
- Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, Javascript and more.
proNet-core
- A general-purpose network embedding framework: pair-wise representations optimization Network Edit.
PyCUDA
- Python interface to CUDA
ROOT
- A modular scientific software framework. It provides all the functionalities needed to deal with big data processing, statistical analysis, visualization and storage.
shark
- A fast, modular, feature-rich open-source C++ machine learning library.
Shogun
- The Shogun Machine Learning Toolbox.
sofia-ml
- Suite of fast incremental algorithms.
Stan
- A probabilistic programming language implementing full Bayesian statistical inference with Hamiltonian Monte Carlo sampling.
Timbl
- A software package/C++ library implementing several memory-based learning algorithms, among which IB1-IG, an implementation of k-nearest neighbor classification, and IGTree, a decision-tree approximation of IB1-IG. Commonly used for NLP.
Vowpal Wabbit (VW)
- A fast out-of-core learning system.
Warp-CTC
- A fast parallel implementation of Connectionist Temporal Classification (CTC), on both CPU and GPU.
XGBoost
- A parallelized optimized general purpose gradient boosting library.
ThunderGBM
- A fast library for GBDTs and Random Forests on GPUs.
ThunderSVM
- A fast SVM library on GPUs and CPUs.
LKYDeepNN
- A header-only C++11 Neural Network library. Low dependency, native traditional chinese document.
xLearn
- A high performance, easy-to-use, and scalable machine learning package, which can be used to solve large-scale machine learning problems. xLearn is especially useful for solving machine learning problems on large-scale sparse data, which is very common in Internet services such as online advertisement and recommender systems.
Featuretools
- A library for automated feature engineering. It excels at transforming transactional and relational datasets into feature matrices for machine learning using reusable feature engineering "primitives".
skynet
- A library for learning neural network, has C-interface, net set in JSON. Written in C++ with bindings in Python, C++ and C#.
Feast
- A feature store for the management, discovery, and access of machine learning features. Feast provides a consistent view of feature data for both model training and model serving.
Polyaxon
- A platform for reproducible and scalable machine learning and deep learning.
BLLIP Parser
- BLLIP Natural Language Parser (also known as the Charniak-Johnson parser).
colibri-core
- C++ library, command line tools, and Python binding for extracting and working with basic linguistic constructions such as n-grams and skipgrams in a quick and memory-efficient way.
CRF++
- Open source implementation of Conditional Random Fields (CRFs) for segmenting/labeling sequential data & other Natural Language Processing tasks.
[Deprecated]
CRFsuite
- CRFsuite is an implementation of Conditional Random Fields (CRFs) for labeling sequential data.
[Deprecated]
frog
- Memory-based NLP suite developed for Dutch: PoS tagger, lemmatiser, dependency parser, NER, shallow parser, morphological analyzer.
libfolia
- C++ library for the
FoLiA format
MeTA
-
MeTA : ModErn Text Analysis
is a C++ Data Sciences Toolkit that facilitates mining big text data.
MIT Information Extraction Toolkit
- C, C++, and Python tools for named entity recognition and relation extraction
ucto
- Unicode-aware regular-expression based tokenizer for various languages. Tool and C++ library. Supports FoLiA format.
mgl
- Neural networks (boltzmann machines, feed-forward and recurrent nets), Gaussian Processes.
mgl-gpr
- Evolutionary algorithms.
[Deprecated]
cl-libsvm
- Wrapper for the libsvm support vector machine library.
[Deprecated]
cl-online-learning
- Online learning algorithms (Perceptron, AROW, SCW, Logistic Regression).
cl-random-forest
- Implementation of Random Forest in Common Lisp.
Touchstone
- Clojure A/B testing library.
[Deprecated]
Clojush
- The Push programming language and the PushGP genetic programming system implemented in Clojure.
Infer
- Inference and machine learning in Clojure.
[Deprecated]
Clj-ML
- A machine learning library for Clojure built on top of Weka and friends.
[Deprecated]
DL4CLJ
- Clojure wrapper for Deeplearning4j.
Encog
- Clojure wrapper for Encog (v3) (Machine-Learning framework that specializes in neural-nets).
[Deprecated]
Fungp
- A genetic programming library for Clojure.
[Deprecated]
Statistiker
- Basic Machine Learning algorithms in Clojure.
[Deprecated]
clortex
- General Machine Learning library using Numenta’s Cortical Learning Algorithm.
[Deprecated]
comportex
- Functionally composable Machine Learning library using Numenta’s Cortical Learning Algorithm.
[Deprecated]
cortex
- Neural networks, regression and feature learning in Clojure.
lambda-ml
- Simple, concise implementations of machine learning techniques and utilities in Clojure.
Incanter
- Incanter is a Clojure-based, R-like platform for statistical computing and graphics.
PigPen
- Map-Reduce for Clojure.
Envision
- Clojure Data Visualisation library, based on Statistiker and D3.
snowball
- Snowball Stemmer for Go.
word-embedding
- Word Embeddings: the full implementation of word2vec, GloVe in Go.
sentences
- Golang implementation of Punkt sentence tokenizer.
go-ngram
- In-memory n-gram index with compression.
[Deprecated]
paicehusk
- Golang implementation of the Paice/Husk Stemming Algorithm.
[Deprecated]
go-porterstemmer
- A native Go clean room implementation of the Porter Stemming algorithm.
[Deprecated]
birdland
- A recommendation library in Go.
eaopt
- An evolutionary optimization library.
leaves
- A pure Go implementation of the prediction part of GBRTs, including XGBoost and LightGBM.
gobrain
- Neural Networks written in Go.
go-mxnet-predictor
- Go binding for MXNet c_predict_api to do inference with pre-trained model.
go-ml-transpiler
- An open source Go transpiler for machine learning models.
golearn
- Machine learning for Go.
goml
- Machine learning library written in pure Go.
gorgonia
- Deep learning in Go.
therfoo
- An embedded deep learning library for Go.
neat
- Plug-and-play, parallel Go framework for NeuroEvolution of Augmenting Topologies (NEAT).
[Deprecated]
go-pr
- Pattern recognition package in Go lang.
[Deprecated]
go-ml
- Linear / Logistic regression, Neural Networks, Collaborative Filtering and Gaussian Multivariate Distribution.
[Deprecated]
GoNN
- GoNN is an implementation of Neural Network in Go Language, which includes BPNN, RBF, PCN.
[Deprecated]
bayesian
- Naive Bayesian Classification for Golang.
[Deprecated]
go-galib
- Genetic Algorithms library written in Go / Golang.
[Deprecated]
Cloudforest
- Ensembles of decision trees in Go/Golang.
[Deprecated]
gota
- Dataframes.
gonum/mat
- A linear algebra package for Go.
gonum/optimize
- Implementations of optimization algorithms.
gonum/plot
- A plotting library.
gonum/stat
- A statistics library.
SVGo
- The Go Language library for SVG generation.
glot
- Glot is a plotting library for Golang built on top of gnuplot.
globe
- Globe wireframe visualization.
gonum/graph
- General-purpose graph library.
go-graph
- Graph library for Go/Golang language.
[Deprecated]
RF
- Random forests implementation in Go.
[Deprecated]
haskell-ml
- Haskell implementations of various ML algorithms.
[Deprecated]
HLearn
- a suite of libraries for interpreting machine learning models according to their algebraic structure.
[Deprecated]
hnn
- Haskell Neural Network library.
hopfield-networks
- Hopfield Networks for unsupervised learning in Haskell.
[Deprecated]
DNNGraph
- A DSL for deep neural networks.
[Deprecated]
LambdaNet
- Configurable Neural Networks in Haskell.
[Deprecated]
Cortical.io
- Retina: an API performing complex NLP operations (disambiguation, classification, streaming text filtering, etc...) as quickly and intuitively as the brain.
IRIS
-
Cortical.io's
FREE NLP, Retina API Analysis Tool (written in JavaFX!) -
See the Tutorial Video
.
CoreNLP
- Stanford CoreNLP provides a set of natural language analysis tools which can take raw English language text input and give the base forms of words.
Stanford Parser
- A natural language parser is a program that works out the grammatical structure of sentences.
Stanford POS Tagger
- A Part-Of-Speech Tagger (POS Tagger).
Stanford Name Entity Recognizer
- Stanford NER is a Java implementation of a Named Entity Recognizer.
Stanford Word Segmenter
- Tokenization of raw text is a standard pre-processing step for many NLP tasks.
Tregex, Tsurgeon and Semgrex
- Tregex is a utility for matching patterns in trees, based on tree relationships and regular expression matches on nodes (the name is short for "tree regular expressions").
Stanford Phrasal: A Phrase-Based Translation System
Stanford English Tokenizer
- Stanford Phrasal is a state-of-the-art statistical phrase-based machine translation system, written in Java.
Stanford Tokens Regex
- A tokenizer divides text into a sequence of tokens, which roughly correspond to "words".
Stanford Temporal Tagger
- SUTime is a library for recognizing and normalizing time expressions.
Stanford SPIED
- Learning entities from unlabeled text starting with seed sets using patterns in an iterative fashion.
Stanford Topic Modeling Toolbox
- Topic modeling tools to social scientists and others who wish to perform analysis on datasets.
Twitter Text Java
- A Java implementation of Twitter's text processing library.
MALLET
- A Java-based package for statistical natural language processing, document classification, clustering, topic modeling, information extraction, and other machine learning applications to text.
OpenNLP
- a machine learning based toolkit for the processing of natural language text.
LingPipe
- A tool kit for processing text using computational linguistics.
ClearTK
- ClearTK provides a framework for developing statistical natural language processing (NLP) components in Java and is built on top of Apache UIMA.
[Deprecated]
Apache cTAKES
- Apache clinical Text Analysis and Knowledge Extraction System (cTAKES) is an open-source natural language processing system for information extraction from electronic medical record clinical free-text.
NLP4J
- The NLP4J project provides software and resources for natural language processing. The project started at the Center for Computational Language and EducAtion Research, and is currently developed by the Center for Language and Information Research at Emory University.
[Deprecated]
CogcompNLP
- This project collects a number of core libraries for Natural Language Processing (NLP) developed in the University of Illinois' Cognitive Computation Group, for example
illinois-core-utilities
which provides a set of NLP-friendly data structures and a number of NLP-related utilities that support writing NLP applications, running experiments, etc,
illinois-edison
a library for feature extraction from illinois-core-utilities data structures and many other packages.
aerosolve
- A machine learning library by Airbnb designed from the ground up to be human friendly.
AMIDST Toolbox
- A Java Toolbox for Scalable Probabilistic Machine Learning.
Datumbox
- Machine Learning framework for rapid development of Machine Learning and Statistical applications.
ELKI
- Java toolkit for data mining. (unsupervised: clustering, outlier detection etc.)
Encog
- An advanced neural network and machine learning framework. Encog contains classes to create a wide variety of networks, as well as support classes to normalize and process data for these neural networks. Encog trains using multithreaded resilient propagation. Encog can also make use of a GPU to further speed processing time. A GUI based workbench is also provided to help model and train neural networks.
FlinkML in Apache Flink
- Distributed machine learning library in Flink.
H2O
- ML engine that supports distributed learning on Hadoop, Spark or your laptop via APIs in R, Python, Scala, REST/JSON.
htm.java
- General Machine Learning library using Numenta’s Cortical Learning Algorithm.
liblinear-java
- Java version of liblinear.
Mahout
- Distributed machine learning.
Meka
- An open source implementation of methods for multi-label classification and evaluation (extension to Weka).
MLlib in Apache Spark
- Distributed machine learning library in Spark
Hydrosphere Mist
- a service for deployment Apache Spark MLLib machine learning models as realtime, batch or reactive web services.
Neuroph
- Neuroph is lightweight Java neural network framework
ORYX
- Lambda Architecture Framework using Apache Spark and Apache Kafka with a specialization for real-time large-scale machine learning.
Samoa
SAMOA is a framework that includes distributed machine learning for data streams with an interface to plug-in different stream processing platforms.
RankLib
- RankLib is a library of learning to rank algorithms.
[Deprecated]
rapaio
- statistics, data mining and machine learning toolbox in Java.
RapidMiner
- RapidMiner integration into Java code.
Stanford Classifier
- A classifier is a machine learning tool that will take data items and place them into one of k classes.
SmileMiner
- Statistical Machine Intelligence & Learning Engine.
SystemML
- flexible, scalable machine learning (ML) language.
Weka
- Weka is a collection of machine learning algorithms for data mining tasks.
LBJava
- Learning Based Java is a modeling language for the rapid development of software systems, offers a convenient, declarative syntax for classifier and constraint definition directly in terms of the objects in the programmer's application.
Flink
- Open source platform for distributed stream and batch data processing.
Hadoop
- Hadoop/HDFS.
Onyx
- Distributed, masterless, high performance, fault tolerant data processing. Written entirely in Clojure.
Spark
- Spark is a fast and general engine for large-scale data processing.
Storm
- Storm is a distributed realtime computation system.
Impala
- Real-time Query for Hadoop.
DataMelt
- Mathematics software for numeric computation, statistics, symbolic calculations, data analysis and data visualization.
Dr. Michael Thomas Flanagan's Java Scientific Library
[Deprecated]
Twitter-text
- A JavaScript implementation of Twitter's text processing library.
natural
- General natural language facilities for node.
Knwl.js
- A Natural Language Processor in JS.
Retext
- Extensible system for analyzing and manipulating natural language.
NLP Compromise
- Natural Language processing in the browser.
nlp.js
- An NLP library built in node over Natural, with entity extraction, sentiment analysis, automatic language identify, and so more
amCharts
D3xter
- Straight forward plotting built on D3.
[Deprecated]
statkit
- Statistics kit for JavaScript.
[Deprecated]
datakit
- A lightweight framework for data analysis in JavaScript
science.js
- Scientific and statistical computing in JavaScript.
[Deprecated]
Z3d
- Easily make interactive 3d plots built on Three.js
[Deprecated]
Sigma.js
- JavaScript library dedicated to graph drawing.
C3.js
- customizable library based on D3.js for easy chart drawing.
Datamaps
- Customizable SVG map/geo visualizations using D3.js.
[Deprecated]
ZingChart
- library written on Vanilla JS for big data visualization.
cheminfo
- Platform for data visualization and analysis, using the
visualizer
project.
Learn JS Data
AnyChart
FusionCharts
Nivo
- built on top of the awesome d3 and Reactjs libraries
Auto ML
- Automated machine learning, data formatting, ensembling, and hyperparameter optimization for competitions and exploration- just give it a .csv file!
Convnet.js
- ConvNetJS is a Javascript library for training Deep Learning models[DEEP LEARNING]
[Deprecated]
Clusterfck
- Agglomerative hierarchical clustering implemented in Javascript for Node.js and the browser.
[Deprecated]
Clustering.js
- Clustering algorithms implemented in Javascript for Node.js and the browser.
[Deprecated]
Decision Trees
- NodeJS Implementation of Decision Tree using ID3 Algorithm.
[Deprecated]
DN2A
- Digital Neural Networks Architecture.
[Deprecated]
figue
- K-means, fuzzy c-means and agglomerative clustering.
Gaussian Mixture Model
- Unsupervised machine learning with multivariate Gaussian mixture model.
Node-fann
- FANN (Fast Artificial Neural Network Library) bindings for Node.js
[Deprecated]
Keras.js
- Run Keras models in the browser, with GPU support provided by WebGL 2.
Kmeans.js
- Simple Javascript implementation of the k-means algorithm, for node.js and the browser.
[Deprecated]
LDA.js
- LDA topic modeling for Node.js
Learning.js
- Javascript implementation of logistic regression/c4.5 decision tree
[Deprecated]
machinelearn.js
- Machine Learning library for the web, Node.js and developers
mil-tokyo
- List of several machine learning libraries.
Node-SVM
- Support Vector Machine for Node.js
Brain
- Neural networks in JavaScript
[Deprecated]
Brain.js
- Neural networks in JavaScript - continued community fork of
Brain
.
Bayesian-Bandit
- Bayesian bandit implementation for Node and the browser.
[Deprecated]
Synaptic
- Architecture-free neural network library for Node.js and the browser.
kNear
- JavaScript implementation of the k nearest neighbors algorithm for supervised learning.
NeuralN
- C++ Neural Network library for Node.js. It has advantage on large dataset and multi-threaded training.
[Deprecated]
kalman
- Kalman filter for Javascript.
[Deprecated]
shaman
- Node.js library with support for both simple and multiple linear regression.
[Deprecated]
ml.js
- Machine learning and numerical analysis tools for Node.js and the Browser!
ml5
- Friendly machine learning for the web!
Pavlov.js
- Reinforcement learning using Markov Decision Processes.
MXNet
- Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, Javascript and more.
TensorFlow.js
- A WebGL accelerated, browser based JavaScript library for training and deploying ML models.
JSMLT
- Machine learning toolkit with classification and clustering for Node.js; supports visualization (see
visualml.io
).
xgboost-node
- Run XGBoost model and make predictions in Node.js.
Netron
- Visualizer for machine learning models.
WebDNN
- Fast Deep Neural Network Javascript Framework. WebDNN uses next generation JavaScript API, WebGPU for GPU execution, and WebAssembly for CPU execution.
stdlib
- A standard library for JavaScript and Node.js, with an emphasis on numeric computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more.
sylvester
- Vector and Matrix math for JavaScript.
[Deprecated]
simple-statistics
- A JavaScript implementation of descriptive, regression, and inference statistics. Implemented in literate JavaScript with no dependencies, designed to work in all modern browsers (including IE) as well as in Node.js.
regression-js
- A javascript library containing a collection of least squares fitting methods for finding a trend in a set of data.
Lyric
- Linear Regression library.
[Deprecated]
GreatCircle
- Library for calculating great circle distance.
MLPleaseHelp
- MLPleaseHelp is a simple ML resource search engine. You can use this search engine right now at
https://jgreenemi.github.io/MLPleaseHelp/
, provided via Github Pages.
The Bot
- Example of how the neural network learns to predict the angle between two points created with
Synaptic
.
Half Beer
- Beer glass classifier created with
Synaptic
.
MachineLearning
- Julia Machine Learning library.
[Deprecated]
MLBase
- A set of functions to support the development of machine learning algorithms.
PGM
- A Julia framework for probabilistic graphical models.
DA
- Julia package for Regularized Discriminant Analysis.
Regression
- Algorithms for regression analysis (e.g. linear regression and logistic regression).
[Deprecated]
Local Regression
- Local regression, so smooooth!
Naive Bayes
- Simple Naive Bayes implementation in Julia.
[Deprecated]
Mixed Models
- A Julia package for fitting (statistical) mixed-effects models.
Simple MCMC
- basic mcmc sampler implemented in Julia.
[Deprecated]
Distances
- Julia module for Distance evaluation.
Decision Tree
- Decision Tree Classifier and Regressor.
Neural
- A neural network in Julia.
MCMC
- MCMC tools for Julia.
[Deprecated]
Mamba
- Markov chain Monte Carlo (MCMC) for Bayesian analysis in Julia.
GLM
- Generalized linear models in Julia.
Gaussian Processes
- Julia package for Gaussian processes.
Online Learning
[Deprecated]
GLMNet
- Julia wrapper for fitting Lasso/ElasticNet GLM models using glmnet.
Clustering
- Basic functions for clustering data: k-means, dp-means, etc.
SVM
- SVM's for Julia.
[Deprecated]
Kernel Density
- Kernel density estimators for julia.
MultivariateStats
- Methods for dimensionality reduction.
NMF
- A Julia package for non-negative matrix factorization.
ANN
- Julia artificial neural networks.
[Deprecated]
Mocha
- Deep Learning framework for Julia inspired by Caffe.
[Deprecated]
XGBoost
- eXtreme Gradient Boosting Package in Julia.
ManifoldLearning
- A Julia package for manifold learning and nonlinear dimensionality reduction.
MXNet
- Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, Javascript and more.
Merlin
- Flexible Deep Learning Framework in Julia.
ROCAnalysis
- Receiver Operating Characteristics and functions for evaluation probabilistic binary classifiers.
GaussianMixtures
- Large scale Gaussian Mixture Models.
ScikitLearn
- Julia implementation of the scikit-learn API.
Knet
- Koç University Deep Learning Framework.
Flux
- Relax! Flux is the ML library that doesn't make you tensor
Topic Models
- TopicModels for Julia.
[Deprecated]
Text Analysis
- Julia package for text analysis.
Word Tokenizers
- Tokenizers for Natural Language Processing in Julia
Corpus Loaders
- A julia package providing a variety of loaders for various NLP corpora.
Embeddings
- Functions and data dependencies for loading various word embeddings
Languages
- Julia package for working with various human languages
WordNet
- A Julia package for Princeton's WordNet
Graph Layout
- Graph layout algorithms in pure Julia.
LightGraphs
- Graph modeling and analysis.
Data Frames Meta
- Metaprogramming tools for DataFrames.
Julia Data
- library for working with tabular data in Julia.
[Deprecated]
Data Read
- Read files from Stata, SAS, and SPSS.
Hypothesis Tests
- Hypothesis tests for Julia.
Gadfly
- Crafty statistical graphics for Julia.
Stats
- Statistical tests for Julia.
RDataSets
- Julia package for loading many of the data sets available in R.
DataFrames
- library for working with tabular data in Julia.
Distributions
- A Julia package for probability distributions and associated functions.
Data Arrays
- Data structures that allow missing values.
[Deprecated]
Time Series
- Time series toolkit for Julia.
Sampling
- Basic sampling algorithms for Julia.
DSP
- Digital Signal Processing (filtering, periodograms, spectrograms, window functions).
JuliaCon Presentations
- Presentations for JuliaCon.
SignalProcessing
- Signal Processing tools for Julia.
Images
- An image library for Julia.
DataDeps
- Reproducible data setup for reproducible science.
cephes
- Cephes mathematical functions library, wrapped for Torch. Provides and wraps the 180+ special mathematical functions from the Cephes mathematical library, developed by Stephen L. Moshier. It is used, among many other places, at the heart of SciPy.
[Deprecated]
autograd
- Autograd automatically differentiates native Torch code. Inspired by the original Python version.
graph
- Graph package for Torch.
[Deprecated]
randomkit
- Numpy's randomkit, wrapped for Torch.
[Deprecated]
signal
- A signal processing toolbox for Torch-7. FFT, DCT, Hilbert, cepstrums, stft.
nn
- Neural Network package for Torch.
torchnet
- framework for torch which provides a set of abstractions aiming at encouraging code re-use as well as encouraging modular programming.
nngraph
- This package provides graphical computation for nn library in Torch7.
nnx
- A completely unstable and experimental package that extends Torch's builtin nn library.
rnn
- A Recurrent Neural Network library that extends Torch's nn. RNNs, LSTMs, GRUs, BRNNs, BLSTMs, etc.
dpnn
- Many useful features that aren't part of the main nn package.
dp
- A deep learning library designed for streamlining research and development using the Torch7 distribution. It emphasizes flexibility through the elegant use of object-oriented design patterns.
[Deprecated]
optim
- An optimization library for Torch. SGD, Adagrad, Conjugate-Gradient, LBFGS, RProp and more.
unsup
- A package for unsupervised learning in Torch. Provides modules that are compatible with nn (LinearPsd, ConvPsd, AutoEncoder, ...), and self-contained algorithms (k-means, PCA).
[Deprecated]
manifold
- A package to manipulate manifolds.
svm
- Torch-SVM library.
[Deprecated]
lbfgs
- FFI Wrapper for liblbfgs.
[Deprecated]
vowpalwabbit
- An old vowpalwabbit interface to torch.
[Deprecated]
OpenGM
- OpenGM is a C++ library for graphical modeling, and inference. The Lua bindings provide a simple way of describing graphs, from Lua, and then optimizing them with OpenGM.
[Deprecated]
spaghetti
- Spaghetti (sparse linear) module for torch7 by @MichaelMathieu
[Deprecated]
LuaSHKit
- A lua wrapper around the Locality sensitive hashing library SHKit
[Deprecated]
kernel smoothing
- KNN, kernel-weighted average, local linear regression smoothers.
[Deprecated]
cutorch
- Torch CUDA Implementation.
cunn
- Torch CUDA Neural Network Implementation.
imgraph
- An image/graph library for Torch. This package provides routines to construct graphs on images, segment them, build trees out of them, and convert them back to images.
[Deprecated]
videograph
- A video/graph library for Torch. This package provides routines to construct graphs on videos, segment them, build trees out of them, and convert them back to videos.
[Deprecated]
saliency
- code and tools around integral images. A library for finding interest points based on fast integral histograms.
[Deprecated]
stitch
- allows us to use hugin to stitch images and apply same stitching to a video sequence.
[Deprecated]
sfm
- A bundle adjustment/structure from motion package.
[Deprecated]
fex
- A package for feature extraction in Torch. Provides SIFT and dSIFT modules.
[Deprecated]
OverFeat
- A state-of-the-art generic dense feature extractor.
[Deprecated]
wav2letter
- a simple and efficient end-to-end Automatic Speech Recognition (ASR) system from Facebook AI Research.
Numeric Lua
Lunatic Python
SciLua
Lua - Numerical Algorithms
[Deprecated]
Lunum
[Deprecated]
linear-regression, logistic-regression
face detector (training and detection as separate demos)
mst-based-segmenter
train-a-digit-classifier
train-autoencoder
optical flow demo
train-on-housenumbers
train-on-cifar
tracking with deep nets
kinect demo
filter-bank visualization
saliency-networks
Training a Convnet for the Galaxy-Zoo Kaggle challenge(CUDA demo)
Music Tagging
- Music Tagging scripts for torch7.
torch-datasets
- Scripts to load several popular datasets including:
BSR 500
CIFAR-10
Street View House Numbers
MNIST
Atari2600
- Scripts to generate a dataset with static frames from the Arcade Learning Environment.
Contourlets
- MATLAB source code that implements the contourlet transform and its utility functions.
Shearlets
- MATLAB code for shearlet transform.
Curvelets
- The Curvelet transform is a higher dimensional generalization of the Wavelet transform designed to represent images at different scales and different angles.
Bandlets
- MATLAB code for bandlet transform.
mexopencv
- Collection and a development kit of MATLAB mex functions for OpenCV library.
Training a deep autoencoder or a classifier on MNIST digits
- Training a deep autoencoder or a classifier on MNIST digits[DEEP LEARNING].
Convolutional-Recursive Deep Learning for 3D Object Classification
- Convolutional-Recursive Deep Learning for 3D Object Classification[DEEP LEARNING].
Spider
- The spider is intended to be a complete object orientated environment for machine learning in Matlab.
LibSVM
- A Library for Support Vector Machines.
ThunderSVM
- An Open-Source SVM Library on GPUs and CPUs
LibLinear
- A Library for Large Linear Classification.
Machine Learning Module
- Class on machine w/ PDF, lectures, code
Caffe
- A deep learning framework developed with cleanliness, readability, and speed in mind.
Pattern Recognition Toolbox
- A complete object-oriented environment for machine learning in Matlab.
Pattern Recognition and Machine Learning
- This package contains the matlab implementation of the algorithms described in the book Pattern Recognition and Machine Learning by C. Bishop.
Optunity
- A library dedicated to automated hyperparameter optimization with a simple, lightweight API to facilitate drop-in replacement of grid search. Optunity is written in Python but interfaces seamlessly with MATLAB.
MXNet
- Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, Javascript and more.
Machine Learning in MatLab/Octave
- examples of popular machine learning algorithms (neural networks, linear/logistic regressions, K-Means, etc.) with code examples and mathematics behind them being explained.
OpenCVDotNet
- A wrapper for the OpenCV project to be used with .NET applications.
Emgu CV
- Cross platform wrapper of OpenCV which can be compiled in Mono to be run on Windows, Linus, Mac OS X, iOS, and Android.
AForge.NET
- Open source C# framework for developers and researchers in the fields of Computer Vision and Artificial Intelligence. Development has now shifted to GitHub.
Accord.NET
- Together with AForge.NET, this library can provide image processing and computer vision algorithms to Windows, Windows RT and Windows Phone. Some components are also available for Java and Android.
Accord-Framework
-The Accord.NET Framework is a complete framework for building machine learning, computer vision, computer audition, signal processing and statistical applications.
Accord.MachineLearning
- Support Vector Machines, Decision Trees, Naive Bayesian models, K-means, Gaussian Mixture models and general algorithms such as Ransac, Cross-validation and Grid-Search for machine-learning applications. This package is part of the Accord.NET Framework.
DiffSharp
- An automatic differentiation (AD) library providing exact and efficient derivatives (gradients, Hessians, Jacobians, directional derivatives, and matrix-free Hessian- and Jacobian-vector products) for machine learning and optimization applications. Operations can be nested to any level, meaning that you can compute exact higher-order derivatives and differentiate functions that are internally making use of differentiation, for applications such as hyperparameter optimization.
Encog
- An advanced neural network and machine learning framework. Encog contains classes to create a wide variety of networks, as well as support classes to normalize and process data for these neural networks. Encog trains using multithreaded resilient propagation. Encog can also make use of a GPU to further speed processing time. A GUI based workbench is also provided to help model and train neural networks.
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.
Infer.NET
- Infer.NET is a framework for running Bayesian inference in graphical models. One can use Infer.NET to solve many different kinds of machine learning problems, from standard problems like classification, recommendation or clustering through to customised solutions to domain-specific problems. Infer.NET has been used in a wide variety of domains including information retrieval, bioinformatics, epidemiology, vision, and many others.
ML.NET
- ML.NET is a cross-platform open-source machine learning framework which makes machine learning accessible to .NET developers. ML.NET was originally developed in Microsoft Research and evolved into a significant framework over the last decade and is used across many product groups in Microsoft like Windows, Bing, PowerPoint, Excel and more.
Neural Network Designer
- DBMS management system and designer for neural networks. The designer application is developed using WPF, and is a user interface which allows you to design your neural network, query the network, create and configure chat bots that are capable of asking questions and learning from your feed back. The chat bots can even scrape the internet for information to return in their output as well as to use for learning.
Vulpes
- Deep belief and deep learning implementation written in F# and leverages CUDA GPU execution with Alea.cuBase.
numl
- numl is a machine learning library intended to ease the use of using standard modeling techniques for both prediction and clustering.
Math.NET Numerics
- Numerical foundation of the Math.NET project, aiming to provide methods and algorithms for numerical computations in science, engineering and every day use. Supports .Net 4.0, .Net 3.5 and Mono on Windows, Linux and Mac; Silverlight 5, WindowsPhone/SL 8, WindowsPhone 8.1 and Windows 8 with PCL Portable Profiles 47 and 344; Android/iOS with Xamarin.
Sho
- Sho is an interactive environment for data analysis and scientific computing that lets you seamlessly connect scripts (in IronPython) with compiled code (in .NET) to enable fast and flexible prototyping. The environment includes powerful and efficient libraries for linear algebra as well as data visualization that can be used from any .NET language, as well as a feature-rich interactive shell for rapid development.
YCML
- A Machine Learning framework for Objective-C and Swift (OS X / iOS).
MLPNeuralNet
- Fast multilayer perceptron neural network library for iOS and Mac OS X. MLPNeuralNet predicts new examples by trained neural network. It is built on top of the Apple's Accelerate Framework, using vectorized operations and hardware acceleration if available.
[Deprecated]
MAChineLearning
- An Objective-C multilayer perceptron library, with full support for training through backpropagation. Implemented using vDSP and vecLib, it's 20 times faster than its Java equivalent. Includes sample code for use from Swift.
BPN-NeuralNetwork
- It implemented 3 layers neural network ( Input Layer, Hidden Layer and Output Layer ) and it named Back Propagation Neural Network (BPN). This network can be used in products recommendation, user behavior analysis, data mining and data analysis.
[Deprecated]
Multi-Perceptron-NeuralNetwork
- it implemented multi-perceptrons neural network (ニューラルネットワーク) based on Back Propagation Neural Network (BPN) and designed unlimited-hidden-layers.
KRHebbian-Algorithm
- It is a non-supervisor and self-learning algorithm (adjust the weights) in neural network of Machine Learning.
[Deprecated]
KRKmeans-Algorithm
- It implemented K-Means the clustering and classification algorithm. It could be used in data mining and image compression.
[Deprecated]
KRFuzzyCMeans-Algorithm
- It implemented Fuzzy C-Means (FCM) the fuzzy clustering / classification algorithm on Machine Learning. It could be used in data mining and image compression.
[Deprecated]
Oml
- A general statistics and machine learning library.
GPR
- Efficient Gaussian Process Regression in OCaml.
Libra-Tk
- Algorithms for learning and inference with discrete probabilistic models.
TensorFlow
- OCaml bindings for TensorFlow.
MXnet for Deep Learning, in Perl
, also
released in CPAN
.
Perl Data Language
, using AWS machine learning platform from Perl.
Algorithm::SVMLight
, implementation of Support Vector Machines with SVMLight under it.
[Deprecated]
Several machine learning and artificial intelligence models are included in the
AI
namespace. For instance, you can find
Naïve Bayes
.
Perl Data Language
, a pluggable architecture for data and image processing, which can be
used for machine learning
.
General-Purpose Machine Learning
Natural Language Processing
jieba-php
- Chinese Words Segmentation Utilities.
PHP-ML
- Machine Learning library for PHP. Algorithms, Cross Validation, Neural Network, Preprocessing, Feature Extraction and much more in one library.
PredictionBuilder
- A library for machine learning that builds predictions using a linear regression.
Rubix ML
- A high-level machine learning (ML) library that lets you build programs that learn from data using the PHP language.
19 Questions
- A machine learning / bayesian inference assigning attributes to objects.
Scikit-Image
- A collection of algorithms for image processing in Python.
SimpleCV
- An open source computer vision framework that gives access to several high-powered computer vision libraries, such as OpenCV. Written on Python and runs on Mac, Windows, and Ubuntu Linux.
Vigranumpy
- Python bindings for the VIGRA C++ computer vision library.
OpenFace
- Free and open source face recognition with deep neural networks.
PCV
- Open source Python module for computer vision.
[Deprecated]
face_recognition
- Face recognition library that recognize and manipulate faces from Python or from the command line.
dockerface
- Easy to install and use deep learning Faster R-CNN face detection for images and video in a docker container.
Detectron
- FAIR's software system that implements state-of-the-art object detection algorithms, including Mask R-CNN. It is written in Python and powered by the Caffe2 deep learning framework.
albumentations
- А fast and framework agnostic image augmentation library that implements a diverse set of augmentation techniques. Supports classification, segmentation, detection out of the box. Was used to win a number of Deep Learning competitions at Kaggle, Topcoder and those that were a part of the CVPR workshops.
pytessarct
- Python-tesseract is an optical character recognition (OCR) tool for python. That is, it will recognize and "read" the text embedded in images.Python-tesseract is a wrapper for
Google's Tesseract-OCR Engine
>.
imutils
- A library containg Convenience functions to make basic image processing operations such as translation, rotation, resizing, skeletonization, and displaying Matplotlib images easier with OpenCV and Python.
PyTorchCV
- A PyTorch-Based Framework for Deep Learning in Computer Vision.
pkuseg-python
- A better version of Jieba, developed by Peking University.
NLTK
- A leading platform for building Python programs to work with human language data.
Pattern
- A web mining module for the Python programming language. It has tools for natural language processing, machine learning, among others.
Quepy
- A python framework to transform natural language questions to queries in a database query language.
TextBlob
- Providing a consistent API for diving into common natural language processing (NLP) tasks. Stands on the giant shoulders of NLTK and Pattern, and plays nicely with both.
YAlign
- A sentence aligner, a friendly tool for extracting parallel sentences from comparable corpora.
[Deprecated]
jieba
- Chinese Words Segmentation Utilities.
SnowNLP
- A library for processing Chinese text.
spammy
- A library for email Spam filtering built on top of nltk
loso
- Another Chinese segmentation library.
[Deprecated]
genius
- A Chinese segment base on Conditional Random Field.
KoNLPy
- A Python package for Korean natural language processing.
nut
- Natural language Understanding Toolkit.
[Deprecated]
Rosetta
- Text processing tools and wrappers (e.g. Vowpal Wabbit)
BLLIP Parser
- Python bindings for the BLLIP Natural Language Parser (also known as the Charniak-Johnson parser).
[Deprecated]
PyNLPl
- Python Natural Language Processing Library. General purpose NLP library for Python. Also contains some specific modules for parsing common NLP formats, most notably for
FoLiA
, but also ARPA language models, Moses phrasetables, GIZA++ alignments.
python-ucto
- Python binding to ucto (a unicode-aware rule-based tokenizer for various languages).
python-frog
- Python binding to Frog, an NLP suite for Dutch. (pos tagging, lemmatisation, dependency parsing, NER)
python-zpar
- Python bindings for
ZPar
, a statistical part-of-speech-tagger, constiuency parser, and dependency parser for English.
colibri-core
- Python binding to C++ library for extracting and working with with basic linguistic constructions such as n-grams and skipgrams in a quick and memory-efficient way.
spaCy
- Industrial strength NLP with Python and Cython.
PyStanfordDependencies
- Python interface for converting Penn Treebank trees to Stanford Dependencies.
Distance
- Levenshtein and Hamming distance computation.
[Deprecated]
Fuzzy Wuzzy
- Fuzzy String Matching in Python.
jellyfish
- a python library for doing approximate and phonetic matching of strings.
editdistance
- fast implementation of edit distance.
textacy
- higher-level NLP built on Spacy.
stanford-corenlp-python
- Python wrapper for
Stanford CoreNLP
[Deprecated]
CLTK
- The Classical Language Toolkit.
rasa_nlu
- turn natural language into structured data.
yase
- Transcode sentence (or other sequence) to list of word vector .
Polyglot
- Multilingual text (NLP) processing toolkit.
DrQA
- Reading Wikipedia to answer open-domain questions.
Dedupe
- A python library for accurate and scalable fuzzy matching, record deduplication and entity-resolution.
Snips NLU
- Natural Language Understanding library for intent classification and entity extraction
NeuroNER
- Named-entity recognition using neural networks providing state-of-the-art-results
DeepPavlov
- conversational AI library with many pretrained Russian NLP models.
BigARTM
- topic modelling platform.
PyOD
-> Python Outlier Detection, comprehensive and scalable Python toolkit for detecting outlying objects in multivariate data. Featured for Advanced models, including Neural Networks/Deep Learning and Outlier Ensembles.
steppy
-> Lightweight, Python library for fast and reproducible machine learning experimentation. Introduces very simple interface that enables clean machine learning pipeline design.
steppy-toolkit
-> Curated collection of the neural networks, transformers and models that make your machine learning work faster and more effective.
CNTK
- Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. Documentation can be found
here
.
auto_ml
- Automated machine learning for production and analytics. Lets you focus on the fun parts of ML, while outputting production-ready code, and detailed analytics of your dataset and results. Includes support for NLP, XGBoost, CatBoost, LightGBM, and soon, deep learning.
machine learning
- automated build consisting of a
web-interface
, and set of
programmatic-interface
API, for support vector machines. Corresponding dataset(s) are stored into a SQL database, then generated model(s) used for prediction(s), are stored into a NoSQL datastore.
XGBoost
- Python bindings for eXtreme Gradient Boosting (Tree) Library.
Apache SINGA
- An Apache Incubating project for developing an open source machine learning library.
Bayesian Methods for Hackers
- Book/iPython notebooks on Probabilistic Programming in Python.
Featureforge
A set of tools for creating and testing machine learning features, with a scikit-learn compatible API.
MLlib in Apache Spark
- Distributed machine learning library in Spark
Hydrosphere Mist
- a service for deployment Apache Spark MLLib machine learning models as realtime, batch or reactive web services.
scikit-learn
- A Python module for machine learning built on top of SciPy.
metric-learn
- A Python module for metric learning.
SimpleAI
Python implementation of many of the artificial intelligence algorithms described on the book "Artificial Intelligence, a Modern Approach". It focuses on providing an easy to use, well documented and tested library.
astroML
- Machine Learning and Data Mining for Astronomy.
graphlab-create
- A library with various machine learning models (regression, clustering, recommender systems, graph analytics, etc.) implemented on top of a disk-backed DataFrame.
BigML
- A library that contacts external servers.
pattern
- Web mining module for Python.
NuPIC
- Numenta Platform for Intelligent Computing.
Pylearn2
- A Machine Learning library based on
Theano
.
keras
- High-level neural networks frontend for
TensorFlow
,
CNTK
and
Theano
.
Lasagne
- Lightweight library to build and train neural networks in Theano.
hebel
- GPU-Accelerated Deep Learning Library in Python.
[Deprecated]
Chainer
- Flexible neural network framework.
prophet
- Fast and automated time series forecasting framework by Facebook.
gensim
- Topic Modelling for Humans.
topik
- Topic modelling toolkit.
[Deprecated]
PyBrain
- Another Python Machine Learning Library.
Brainstorm
- Fast, flexible and fun neural networks. This is the successor of PyBrain.
Surprise
- A scikit for building and analyzing recommender systems.
Crab
- A flexible, fast recommender engine.
[Deprecated]
python-recsys
- A Python library for implementing a Recommender System.
thinking bayes
- Book on Bayesian Analysis.
Image-to-Image Translation with Conditional Adversarial Networks
- Implementation of image to image (pix2pix) translation from the paper by
isola et al
.[DEEP LEARNING]
Restricted Boltzmann Machines
-Restricted Boltzmann Machines in Python. [DEEP LEARNING]
Bolt
- Bolt Online Learning Toolbox.
[Deprecated]
CoverTree
- Python implementation of cover trees, near-drop-in replacement for scipy.spatial.kdtree
[Deprecated]
nilearn
- Machine learning for NeuroImaging in Python.
neuropredict
- Aimed at novice machine learners and non-expert programmers, this package offers easy (no coding needed) and comprehensive machine learning (evaluation and full report of predictive performance WITHOUT requiring you to code) in Python for NeuroImaging and any other type of features. This is aimed at absorbing the much of the ML workflow, unlike other packages like nilearn and pymvpa, which require you to learn their API and code to produce anything useful.
imbalanced-learn
- Python module to perform under sampling and over sampling with various techniques.
Shogun
- The Shogun Machine Learning Toolbox.
Pyevolve
- Genetic algorithm framework.
[Deprecated]
Caffe
- A deep learning framework developed with cleanliness, readability, and speed in mind.
breze
- Theano based library for deep and recurrent neural networks.
[Deprecated]
pyhsmm
- library for approximate unsupervised inference in Bayesian Hidden Markov Models (HMMs) and explicit-duration Hidden semi-Markov Models (HSMMs), focusing on the Bayesian Nonparametric extensions, the HDP-HMM and HDP-HSMM, mostly with weak-limit approximations.
mrjob
- A library to let Python program run on Hadoop.
SKLL
- A wrapper around scikit-learn that makes it simpler to conduct experiments.
neurolab
Spearmint
- Spearmint is a package to perform Bayesian optimization according to the algorithms outlined in the paper: Practical Bayesian Optimization of Machine Learning Algorithms. Jasper Snoek, Hugo Larochelle and Ryan P. Adams. Advances in Neural Information Processing Systems, 2012.
[Deprecated]
Pebl
- Python Environment for Bayesian Learning.
[Deprecated]
Theano
- Optimizing GPU-meta-programming code generating array oriented optimizing math compiler in Python.
TensorFlow
- Open source software library for numerical computation using data flow graphs.
pomegranate
- Hidden Markov Models for Python, implemented in Cython for speed and efficiency.
python-timbl
- A Python extension module wrapping the full TiMBL C++ programming interface. Timbl is an elaborate k-Nearest Neighbours machine learning toolkit.
deap
- Evolutionary algorithm framework.
pydeep
- Deep Learning In Python.
[Deprecated]
mlxtend
- A library consisting of useful tools for data science and machine learning tasks.
neon
- Nervana's
high-performance
Python-based Deep Learning framework [DEEP LEARNING].
Optunity
- A library dedicated to automated hyperparameter optimization with a simple, lightweight API to facilitate drop-in replacement of grid search.
Neural Networks and Deep Learning
- Code samples for my book "Neural Networks and Deep Learning" [DEEP LEARNING].
Annoy
- Approximate nearest neighbours implementation.
TPOT
- Tool that automatically creates and optimizes machine learning pipelines using genetic programming. Consider it your personal data science assistant, automating a tedious part of machine learning.
pgmpy
A python library for working with Probabilistic Graphical Models.
DIGITS
- The Deep Learning GPU Training System (DIGITS) is a web application for training deep learning models.
Orange
- Open source data visualization and data analysis for novices and experts.
MXNet
- Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, Javascript and more.
milk
- Machine learning toolkit focused on supervised classification.
[Deprecated]
TFLearn
- Deep learning library featuring a higher-level API for TensorFlow.
REP
- an IPython-based environment for conducting data-driven research in a consistent and reproducible way. REP is not trying to substitute scikit-learn, but extends it and provides better user experience.
[Deprecated]
rgf_python
- Python bindings for Regularized Greedy Forest (Tree) Library.
skbayes
- Python package for Bayesian Machine Learning with scikit-learn API.
fuku-ml
- Simple machine learning library, including Perceptron, Regression, Support Vector Machine, Decision Tree and more, it's easy to use and easy to learn for beginners.
Xcessiv
- A web-based application for quick, scalable, and automated hyperparameter tuning and stacked ensembling.
PyTorch
- Tensors and Dynamic neural networks in Python with strong GPU acceleration
ML-From-Scratch
- Implementations of Machine Learning models from scratch in Python with a focus on transparency. Aims to showcase the nuts and bolts of ML in an accessible way.
Edward
- A library for probabilistic modeling, inference, and criticism. Built on top of TensorFlow.
xRBM
- A library for Restricted Boltzmann Machine (RBM) and its conditional variants in Tensorflow.
CatBoost
- General purpose gradient boosting on decision trees library with categorical features support out of the box. It is easy to install, well documented and supports CPU and GPU (even multi-GPU) computation.
stacked_generalization
- Implementation of machine learning stacking technic as handy library in Python.
modAL
- A modular active learning framework for Python, built on top of scikit-learn.
Cogitare
: A Modern, Fast, and Modular Deep Learning and Machine Learning framework for Python.
Parris
- Parris, the automated infrastructure setup tool for machine learning algorithms.
neonrvm
- neonrvm is an open source machine learning library based on RVM technique. It's written in C programming language and comes with Python programming language bindings.
Turi Create
- Machine learning from Apple. Turi Create simplifies the development of custom machine learning models. You don't have to be a machine learning expert to add recommendations, object detection, image classification, image similarity or activity classification to your app.
xLearn
- A high performance, easy-to-use, and scalable machine learning package, which can be used to solve large-scale machine learning problems. xLearn is especially useful for solving machine learning problems on large-scale sparse data, which is very common in Internet services such as online advertisement and recommender systems.
mlens
- A high performance, memory efficient, maximally parallelized ensemble learning, integrated with scikit-learn.
Netron
- Visualizer for machine learning models.
Thampi
- Machine Learning Prediction System on AWS Lambda
MindsDB
- Open Source framework to streamline use of neural networks.
Microsoft Recommenders
: Examples and best practices for building recommendation systems, provided as Jupyter notebooks. The repo contains some of the latest state of the art algorithms from Microsoft Research as well as from other companies and institutions.
StellarGraph
: Machine Learning on Graphs, a Python library for machine learning on graph-structured (network-structured) data.
BentoML
: Toolkit for package and deploy machine learning models for serving in production
MiraiML
: An asynchronous engine for continuous & autonomous machine learning, built for real-time usage.
numpy-ML
: Reference implementations of ML models written in numpy
creme
: A framework for online machine learning.
Neuraxle
: A framework providing the right abstractions to ease research, development, and deployment of your ML pipelines.
SciPy
- A Python-based ecosystem of open-source software for mathematics, science, and engineering.
NumPy
- A fundamental package for scientific computing with Python.
Numba
- Python JIT (just in time) compiler to LLVM aimed at scientific Python by the developers of Cython and NumPy.
Mars
- A tensor-based framework for large-scale data computation which often regarded as a parallel and distributed version of NumPy.
NetworkX
- A high-productivity software for complex networks.
igraph
- binding to igraph library - General purpose graph library.
Pandas
- A library providing high-performance, easy-to-use data structures and data analysis tools.
Open Mining
- Business Intelligence (BI) in Python (Pandas web interface)
[Deprecated]
PyMC
- Markov Chain Monte Carlo sampling toolkit.
zipline
- A Pythonic algorithmic trading library.
PyDy
- Short for Python Dynamics, used to assist with workflow in the modeling of dynamic motion based around NumPy, SciPy, IPython, and matplotlib.
SymPy
- A Python library for symbolic mathematics.
statsmodels
- Statistical modeling and econometrics in Python.
astropy
- A community Python library for Astronomy.
matplotlib
- A Python 2D plotting library.
bokeh
- Interactive Web Plotting for Python.
plotly
- Collaborative web plotting for Python and matplotlib.
altair
- A Python to Vega translator.
d3py
- A plotting library for Python, based on
D3.js
.
PyDexter
- Simple plotting for Python. Wrapper for D3xterjs; easily render charts in-browser.
ggplot
- Same API as ggplot2 for R.
[Deprecated]
ggfortify
- Unified interface to ggplot2 popular R packages.
Kartograph.py
- Rendering beautiful SVG maps in Python.
pygal
- A Python SVG Charts Creator.
PyQtGraph
- A pure-python graphics and GUI library built on PyQt4 / PySide and NumPy.
pycascading
[Deprecated]
Petrel
- Tools for writing, submitting, debugging, and monitoring Storm topologies in pure Python.
Blaze
- NumPy and Pandas interface to Big Data.
emcee
- The Python ensemble sampling toolkit for affine-invariant MCMC.
windML
- A Python Framework for Wind Energy Analysis and Prediction.
vispy
- GPU-based high-performance interactive OpenGL 2D/3D data visualization library.
cerebro2
A web-based visualization and debugging platform for NuPIC.
[Deprecated]
NuPIC Studio
An all-in-one NuPIC Hierarchical Temporal Memory visualization and debugging super-tool!
[Deprecated]
SparklingPandas
Pandas on PySpark (POPS).
Seaborn
- A python visualization library based on matplotlib.
bqplot
- An API for plotting in Jupyter (IPython).
pastalog
- Simple, realtime visualization of neural network training performance.
Superset
- A data exploration platform designed to be visual, intuitive, and interactive.
Dora
- Tools for exploratory data analysis in Python.
Ruffus
- Computation Pipeline library for python.
SOMPY
- Self Organizing Map written in Python (Uses neural networks for data analysis).
somoclu
Massively parallel self-organizing maps: accelerate training on multicore CPUs, GPUs, and clusters, has python API.
HDBScan
- implementation of the hdbscan algorithm in Python - used for clustering
visualize_ML
- A python package for data exploration and data analysis.
[Deprecated]
scikit-plot
- A visualization library for quick and easy generation of common plots in data analysis and machine learning.
Bowtie
- A dashboard library for interactive visualizations using flask socketio and react.
lime
- Lime is about explaining what machine learning classifiers (or models) are doing. It is able to explain any black box classifier, with two or more classes.
PyCM
- PyCM is a multi-class confusion matrix library written in Python that supports both input data vectors and direct matrix, and a proper tool for post-classification model evaluation that supports most classes and overall statistics parameters
Dash
- A framework for creating analytical web applications built on top of Plotly.js, React, and Flask
Lambdo
- A workflow engine for solving machine learning problems by combining in one analysis pipeline (i) feature engineering and machine learning (ii) model training and prediction (iii) table population and column evaluation via user-defined (Python) functions.
TensorWatch
- Debugging and visualization tool for machine learning and data science. It extensively leverages Jupyter Notebook to show real-time visualizations of data in running processes such as machine learning training.
Map/Reduce implementations of common ML algorithms
: Jupyter notebooks that cover how to implement from scratch different ML algorithms (ordinary least squares, gradient descent, k-means, alternating least squares), using Python NumPy, and how to then make these implementations scalable using Map/Reduce and Spark.
BioPy
- Biologically-Inspired and Machine Learning Algorithms in Python.
[Deprecated]
SVM Explorer
- Interactive SVM Explorer, using Dash and scikit-learn
pattern_classification
thinking stats 2
hyperopt
numpic
2012-paper-diginorm
A gallery of interesting IPython notebooks
ipython-notebooks
data-science-ipython-notebooks
- Continually updated Data Science Python Notebooks: Spark, Hadoop MapReduce, HDFS, AWS, Kaggle, scikit-learn, matplotlib, pandas, NumPy, SciPy, and various command lines.
decision-weights
Sarah Palin LDA
- Topic Modeling the Sarah Palin emails.
Diffusion Segmentation
- A collection of image segmentation algorithms based on diffusion methods.
Scipy Tutorials
- SciPy tutorials. This is outdated, check out scipy-lecture-notes.
Crab
- A recommendation engine library for Python.
BayesPy
- Bayesian Inference Tools in Python.
scikit-learn tutorials
- Series of notebooks for learning scikit-learn.
sentiment-analyzer
- Tweets Sentiment Analyzer
sentiment_classifier
- Sentiment classifier using word sense disambiguation.
group-lasso
- Some experiments with the coordinate descent algorithm used in the (Sparse) Group Lasso model.
jProcessing
- Kanji / Hiragana / Katakana to Romaji Converter. Edict Dictionary & parallel sentences Search. Sentence Similarity between two JP Sentences. Sentiment Analysis of Japanese Text. Run Cabocha(ISO--8859-1 configured) in Python.
mne-python-notebooks
- IPython notebooks for EEG/MEG data processing using mne-python.
Neon Course
- IPython notebooks for a complete course around understanding Nervana's Neon.
pandas cookbook
- Recipes for using Python's pandas library.
climin
- Optimization library focused on machine learning, pythonic implementations of gradient descent, LBFGS, rmsprop, adadelta and others.
Allen Downey’s Data Science Course
- Code for Data Science at Olin College, Spring 2014.
Allen Downey’s Think Bayes Code
- Code repository for Think Bayes.
Allen Downey’s Think Complexity Code
- Code for Allen Downey's book Think Complexity.
Allen Downey’s Think OS Code
- Text and supporting code for Think OS: A Brief Introduction to Operating Systems.
Python Programming for the Humanities
- Course for Python programming for the Humanities, assuming no prior knowledge. Heavy focus on text processing / NLP.
GreatCircle
- Library for calculating great circle distance.
Optunity examples
- Examples demonstrating how to use Optunity in synergy with machine learning libraries.
Dive into Machine Learning with Python Jupyter notebook and scikit-learn
- "I learned Python by hacking first, and getting serious
later.
I wanted to do this with Machine Learning. If this is your style, join me in getting a bit ahead of yourself."
TDB
- TensorDebugger (TDB) is a visual debugger for deep learning. It features interactive, node-by-node debugging and visualization for TensorFlow.
Suiron
- Machine Learning for RC Cars.
Introduction to machine learning with scikit-learn
- IPython notebooks from Data School's video tutorials on scikit-learn.
Practical XGBoost in Python
- comprehensive online course about using XGBoost in Python.
Introduction to Machine Learning with Python
- Notebooks and code for the book "Introduction to Machine Learning with Python"
Pydata book
- Materials and IPython notebooks for "Python for Data Analysis" by Wes McKinney, published by O'Reilly Media
Homemade Machine Learning
- Python examples of popular machine learning algorithms with interactive Jupyter demos and math being explained
Prodmodel
- Build tool for data science pipelines.
the-elements-of-statistical-learning
- This repository contains Jupyter notebooks implementing the algorithms found in the book and summary of the textbook.
nn_builder
- nn_builder is a python package that lets you build neural networks in 1 line
NeuralTalk
- NeuralTalk is a Python+numpy project for learning Multimodal Recurrent Neural Networks that describe images with sentences.
Neuron
- Neuron is simple class for time series predictions. It's utilize LNU (Linear Neural Unit), QNU (Quadratic Neural Unit), RBF (Radial Basis Function), MLP (Multi Layer Perceptron), MLP-ELM (Multi Layer Perceptron - Extreme Learning Machine) neural networks learned with Gradient descent or LeLevenberg–Marquardt algorithm. =======
NeuralTalk
- NeuralTalk is a Python+numpy project for learning Multimodal Recurrent Neural Networks that describe images with sentences.
[Deprecated]
Neuron
- Neuron is simple class for time series predictions. It's utilize LNU (Linear Neural Unit), QNU (Quadratic Neural Unit), RBF (Radial Basis Function), MLP (Multi Layer Perceptron), MLP-ELM (Multi Layer Perceptron - Extreme Learning Machine) neural networks learned with Gradient descent or LeLevenberg–Marquardt algorithm.
[Deprecated]
Data Driven Code
- Very simple implementation of neural networks for dummies in python without using any libraries, with detailed comments.
open-solution-home-credit
-> source code and
experiments results
for
Home Credit Default Risk
.
open-solution-googleai-object-detection
-> source code and
experiments results
for
Google AI Open Images - Object Detection Track
.
open-solution-salt-identification
-> source code and
experiments results
for
TGS Salt Identification Challenge
.
open-solution-ship-detection
-> source code and
experiments results
for
Airbus Ship Detection Challenge
.
open-solution-data-science-bowl-2018
-> source code and
experiments results
for
2018 Data Science Bowl
.
open-solution-value-prediction
-> source code and
experiments results
for
Santander Value Prediction Challenge
.
open-solution-toxic-comments
-> source code for
Toxic Comment Classification Challenge
.
wiki challenge
- An implementation of Dell Zhang's solution to Wikipedia's Participation Challenge on Kaggle.
kaggle insults
- Kaggle Submission for "Detecting Insults in Social Commentary".
kaggle_acquire-valued-shoppers-challenge
- Code for the Kaggle acquire valued shoppers challenge.
kaggle-cifar
- Code for the CIFAR-10 competition at Kaggle, uses cuda-convnet.
kaggle-blackbox
- Deep learning made easy.
kaggle-accelerometer
- Code for Accelerometer Biometric Competition at Kaggle.
kaggle-advertised-salaries
- Predicting job salaries from ads - a Kaggle competition.
kaggle amazon
- Amazon access control challenge.
kaggle-bestbuy_big
- Code for the Best Buy competition at Kaggle.
kaggle-bestbuy_small
Kaggle Dogs vs. Cats
- Code for Kaggle Dogs vs. Cats competition.
Kaggle Galaxy Challenge
- Winning solution for the Galaxy Challenge on Kaggle.
Kaggle Gender
- A Kaggle competition: discriminate gender based on handwriting.
Kaggle Merck
- Merck challenge at Kaggle.
Kaggle Stackoverflow
- Predicting closed questions on Stack Overflow.
kaggle_acquire-valued-shoppers-challenge
- Code for the Kaggle acquire valued shoppers challenge.
wine-quality
- Predicting wine quality.
DeepMind Lab
- DeepMind Lab is a 3D learning environment based on id Software's Quake III Arena via ioquake3 and other open source software. Its primary purpose is to act as a testbed for research in artificial intelligence, especially deep reinforcement learning.
Gym
- OpenAI Gym is a toolkit for developing and comparing reinforcement learning algorithms.
Serpent.AI
- Serpent.AI is a game agent framework that allows you to turn any video game you own into a sandbox to develop AI and machine learning experiments. For both researchers and hobbyists.
ViZDoom
- ViZDoom allows developing AI bots that play Doom using only the visual information (the screen buffer). It is primarily intended for research in machine visual learning, and deep reinforcement learning, in particular.
Roboschool
- Open-source software for robot simulation, integrated with OpenAI Gym.
Retro
- Retro Games in Gym
SLM Lab
- Modular Deep Reinforcement Learning framework in PyTorch.
Coach
- Reinforcement Learning Coach by Intel® AI Lab enables easy experimentation with state of the art Reinforcement Learning algorithms
Awesome NLP with Ruby
- Curated link list for practical natural language processing in Ruby.
Treat
- Text REtrieval and Annotation Toolkit, definitely the most comprehensive toolkit I’ve encountered so far for Ruby.
Stemmer
- Expose libstemmer_c to Ruby.
[Deprecated]
Raspel
- raspell is an interface binding for ruby.
[Deprecated]
UEA Stemmer
- Ruby port of UEALite Stemmer - a conservative stemmer for search and indexing.
Twitter-text-rb
- A library that does auto linking and extraction of usernames, lists and hashtags in tweets.
Awesome Machine Learning with Ruby
- Curated list of ML related resources for Ruby.
Ruby Machine Learning
- Some Machine Learning algorithms, implemented in Ruby.
[Deprecated]
Machine Learning Ruby
[Deprecated]
jRuby Mahout
- JRuby Mahout is a gem that unleashes the power of Apache Mahout in the world of JRuby.
[Deprecated]
CardMagic-Classifier
- A general classifier module to allow Bayesian and other types of classifications.
rb-libsvm
- Ruby language bindings for LIBSVM which is a Library for Support Vector Machines.
Scoruby
- Creates Random Forest classifiers from PMML files.
rsruby
- Ruby - R bridge.
data-visualization-ruby
- Source code and supporting content for my Ruby Manor presentation on Data Visualisation with Ruby.
[Deprecated]
ruby-plot
- gnuplot wrapper for Ruby, especially for plotting ROC curves into SVG files.
[Deprecated]
plot-rb
- A plotting library in Ruby built on top of Vega and D3.
[Deprecated]
scruffy
- A beautiful graphing toolkit for Ruby.
SciRuby
Glean
- A data management tool for humans.
[Deprecated]
Bioruby
Arel
[Deprecated]
deeplearn-rs
- deeplearn-rs provides simple networks that use matrix multiplication, addition, and ReLU under the MIT license.
rustlearn
- a machine learning framework featuring logistic regression, support vector machines, decision trees and random forests.
rusty-machine
- a pure-rust machine learning library.
leaf
- open source framework for machine intelligence, sharing concepts from TensorFlow and Caffe. Available under the MIT license.
[Deprecated]
RustNN
- RustNN is a feedforward neural network library.
[Deprecated]
RusticSOM
- A Rust library for Self Organising Maps (SOM).
ahaz
- ahaz: Regularization for semiparametric additive hazards regression.
[Deprecated]
arules
- arules: Mining Association Rules and Frequent Itemsets
biglasso
- biglasso: Extending Lasso Model Fitting to Big Data in R.
bmrm
- bmrm: Bundle Methods for Regularized Risk Minimization Package.
Boruta
- Boruta: A wrapper algorithm for all-relevant feature selection.
bst
- bst: Gradient Boosting.
C50
- C50: C5.0 Decision Trees and Rule-Based Models.
caret
- Classification and Regression Training: Unified interface to ~150 ML algorithms in R.
caretEnsemble
- caretEnsemble: Framework for fitting multiple caret models as well as creating ensembles of such models.
[Deprecated]
CatBoost
- General purpose gradient boosting on decision trees library with categorical features support out of the box for R.
Clever Algorithms For Machine Learning
CORElearn
- CORElearn: Classification, regression, feature evaluation and ordinal evaluation.
CoxBoost
- CoxBoost: Cox models by likelihood based boosting for a single survival endpoint or competing risks
[Deprecated]
Cubist
- Cubist: Rule- and Instance-Based Regression Modeling.
e1071
- e1071: Misc Functions of the Department of Statistics (e1071), TU Wien
earth
- earth: Multivariate Adaptive Regression Spline Models
elasticnet
- elasticnet: Elastic-Net for Sparse Estimation and Sparse PCA.
ElemStatLearn
- ElemStatLearn: Data sets, functions and examples from the book: "The Elements of Statistical Learning, Data Mining, Inference, and Prediction" by Trevor Hastie, Robert Tibshirani and Jerome Friedman Prediction" by Trevor Hastie, Robert Tibshirani and Jerome Friedman.
evtree
- evtree: Evolutionary Learning of Globally Optimal Trees.
forecast
- forecast: Timeseries forecasting using ARIMA, ETS, STLM, TBATS, and neural network models.
forecastHybrid
- forecastHybrid: Automatic ensemble and cross validation of ARIMA, ETS, STLM, TBATS, and neural network models from the "forecast" package.
fpc
- fpc: Flexible procedures for clustering.
frbs
- frbs: Fuzzy Rule-based Systems for Classification and Regression Tasks.
[Deprecated]
GAMBoost
- GAMBoost: Generalized linear and additive models by likelihood based boosting.
[Deprecated]
gamboostLSS
- gamboostLSS: Boosting Methods for GAMLSS.
gbm
- gbm: Generalized Boosted Regression Models.
glmnet
- glmnet: Lasso and elastic-net regularized generalized linear models.
glmpath
- glmpath: L1 Regularization Path for Generalized Linear Models and Cox Proportional Hazards Model.
GMMBoost
- GMMBoost: Likelihood-based Boosting for Generalized mixed models.
[Deprecated]
grplasso
- grplasso: Fitting user specified models with Group Lasso penalty.
grpreg
- grpreg: Regularization paths for regression models with grouped covariates.
h2o
- A framework for fast, parallel, and distributed machine learning algorithms at scale -- Deeplearning, Random forests, GBM, KMeans, PCA, GLM.
hda
- hda: Heteroscedastic Discriminant Analysis.
[Deprecated]
Introduction to Statistical Learning
ipred
- ipred: Improved Predictors.
kernlab
- kernlab: Kernel-based Machine Learning Lab.
klaR
- klaR: Classification and visualization.
L0Learn
- L0Learn: Fast algorithms for best subset selection.
lars
- lars: Least Angle Regression, Lasso and Forward Stagewise.
[Deprecated]
lasso2
- lasso2: L1 constrained estimation aka ‘lasso’.
LiblineaR
- LiblineaR: Linear Predictive Models Based On The Liblinear C/C++ Library.
LogicReg
- LogicReg: Logic Regression.
Machine Learning For Hackers
maptree
- maptree: Mapping, pruning, and graphing tree models.
[Deprecated]
mboost
- mboost: Model-Based Boosting.
medley
- medley: Blending regression models, using a greedy stepwise approach.
mlr
- mlr: Machine Learning in R.
ncvreg
- ncvreg: Regularization paths for SCAD- and MCP-penalized regression models.
nnet
- nnet: Feed-forward Neural Networks and Multinomial Log-Linear Models.
[Deprecated]
pamr
- pamr: Pam: prediction analysis for microarrays.
[Deprecated]
party
- party: A Laboratory for Recursive Partytioning.
partykit
- partykit: A Toolkit for Recursive Partytioning.
penalized
- penalized: L1 (lasso and fused lasso) and L2 (ridge) penalized estimation in GLMs and in the Cox model.
penalizedLDA
- penalizedLDA: Penalized classification using Fisher's linear discriminant.
[Deprecated]
penalizedSVM
- penalizedSVM: Feature Selection SVM using penalty functions.
quantregForest
- quantregForest: Quantile Regression Forests.
randomForest
- randomForest: Breiman and Cutler's random forests for classification and regression.
randomForestSRC
- randomForestSRC: Random Forests for Survival, Regression and Classification (RF-SRC).
rattle
- rattle: Graphical user interface for data mining in R.
rda
- rda: Shrunken Centroids Regularized Discriminant Analysis.
rdetools
- rdetools: Relevant Dimension Estimation (RDE) in Feature Spaces.
[Deprecated]
REEMtree
- REEMtree: Regression Trees with Random Effects for Longitudinal (Panel) Data.
[Deprecated]
relaxo
- relaxo: Relaxed Lasso.
[Deprecated]
rgenoud
- rgenoud: R version of GENetic Optimization Using Derivatives
Rmalschains
- Rmalschains: Continuous Optimization using Memetic Algorithms with Local Search Chains (MA-LS-Chains) in R.
rminer
- rminer: Simpler use of data mining methods (e.g. NN and SVM) in classification and regression.
[Deprecated]
ROCR
- ROCR: Visualizing the performance of scoring classifiers.
[Deprecated]
RoughSets
- RoughSets: Data Analysis Using Rough Set and Fuzzy Rough Set Theories.
[Deprecated]
rpart
- rpart: Recursive Partitioning and Regression Trees.
RPMM
- RPMM: Recursively Partitioned Mixture Model.
RSNNS
- RSNNS: Neural Networks in R using the Stuttgart Neural Network Simulator (SNNS).
RWeka
- RWeka: R/Weka interface.
RXshrink
- RXshrink: Maximum Likelihood Shrinkage via Generalized Ridge or Least Angle Regression.
sda
- sda: Shrinkage Discriminant Analysis and CAT Score Variable Selection.
[Deprecated]
spectralGraphTopology
- spectralGraphTopology: Learning Graphs from Data via Spectral Constraints.
SuperLearner
- Multi-algorithm ensemble learning packages.
svmpath
- svmpath: svmpath: the SVM Path algorithm.
[Deprecated]
tgp
- tgp: Bayesian treed Gaussian process models.
[Deprecated]
tree
- tree: Classification and regression trees.
varSelRF
- varSelRF: Variable selection using random forests.
XGBoost.R
- R binding for eXtreme Gradient Boosting (Tree) Library.
Optunity
- A library dedicated to automated hyperparameter optimization with a simple, lightweight API to facilitate drop-in replacement of grid search. Optunity is written in Python but interfaces seamlessly to R.
igraph
- binding to igraph library - General purpose graph library.
MXNet
- Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, Javascript and more.
TDSP-Utilities
- Two data science utilities in R from Microsoft: 1) Interactive Data Exploration, Analysis, and Reporting (IDEAR) ; 2) Automated Modeling and Reporting (AMR).
ggplot2
- A data visualization package based on the grammar of graphics.
tmap
for visualizing geospatial data with static maps and
leaflet
for interactive maps
tm
and
quanteda
are the main packages for managing, analyzing, and visualizing textual data.
shiny
is the basis for truly interactive displays and dashboards in R. However, some measure of interactivity can be achieved with
htmlwidgets
bringing javascript libraries to R. These include,
plotly
,
dygraphs
,
highcharter
, and several others.
Visual Data Mining and Machine Learning
- Interactive, automated, and programmatic modeling with the latest machine learning algorithms in and end-to-end analytics environment, from data prep to deployment. Free trial available.
Enterprise Miner
- Data mining and machine learning that creates deployable models using a GUI or code.
Factory Miner
- Automatically creates deployable machine learning models across numerous market or customer segments using a GUI.
Contextual Analysis
- Add structure to unstructured text using a GUI.
Sentiment Analysis
- Extract sentiment from text using a GUI.
Text Miner
- Text mining using a GUI or code.
ML_Tables
- Concise cheat sheets containing machine learning best practices.
enlighten-apply
- Example code and materials that illustrate applications of SAS machine learning techniques.
enlighten-integration
- Example code and materials that illustrate techniques for integrating SAS with other analytics technologies in Java, PMML, Python and R.
enlighten-deep
- Example code and materials that illustrate using neural networks with several hidden layers in SAS.
dm-flow
- Library of SAS Enterprise Miner process flow diagrams to help you learn by example about specific data mining topics.
ScalaNLP
- ScalaNLP is a suite of machine learning and numerical computing libraries.
Breeze
- Breeze is a numerical processing library for Scala.
Chalk
- Chalk is a natural language processing library.
[Deprecated]
FACTORIE
- FACTORIE is a toolkit for deployable probabilistic modeling, implemented as a software library in Scala. It provides its users with a succinct language for creating relational factor graphs, estimating parameters and performing inference.
Montague
- Montague is a semantic parsing library for Scala with an easy-to-use DSL.
Spark NLP
- Natural language processing library built on top of Apache Spark ML to provide simple, performant, and accurate NLP annotations for machine learning pipelines, that scale easily in a distributed environment.
MLlib in Apache Spark
- Distributed machine learning library in Spark
Hydrosphere Mist
- a service for deployment Apache Spark MLLib machine learning models as realtime, batch or reactive web services.
Scalding
- A Scala API for Cascading.
Summing Bird
- Streaming MapReduce with Scalding and Storm.
Algebird
- Abstract Algebra for Scala.
xerial
- Data management utilities for Scala.
[Deprecated]
PredictionIO
- PredictionIO, a machine learning server for software developers and data engineers.
BIDMat
- CPU and GPU-accelerated matrix library intended to support large-scale exploratory data analysis.
Flink
- Open source platform for distributed stream and batch data processing.
Spark Notebook
- Interactive and Reactive Data Science using Scala and Spark.
DeepLearning.scala
- Creating statically typed dynamic neural networks from object-oriented & functional programming constructs.
Conjecture
- Scalable Machine Learning in Scalding.
brushfire
- Distributed decision tree ensemble learning in Scala.
ganitha
- Scalding powered machine learning.
[Deprecated]
adam
- A genomics processing engine and specialized file format built using Apache Avro, Apache Spark and Parquet. Apache 2 licensed.
bioscala
- Bioinformatics for the Scala programming language
BIDMach
- CPU and GPU-accelerated Machine Learning Library.
Figaro
- a Scala library for constructing probabilistic models.
H2O Sparkling Water
- H2O and Spark interoperability.
FlinkML in Apache Flink
- Distributed machine learning library in Flink.
DynaML
- Scala Library/REPL for Machine Learning Research.
Saul
- Flexible Declarative Learning-Based Programming.
SwiftLearner
- Simply written algorithms to help study ML or write your own implementations.
Smile
- Statistical Machine Intelligence and Learning Engine.
doddle-model
- An in-memory machine learning library built on top of Breeze. It provides immutable objects and exposes its functionality through a scikit-learn-like API.
TensorFlow Scala
- Strongly-typed Scala API for TensorFlow.
Bender
- Fast Neural Networks framework built on top of Metal. Supports TensorFlow models.
Swift AI
- Highly optimized artificial intelligence and machine learning library written in Swift.
BrainCore
- The iOS and OS X neural network framework.
swix
- A bare bones library that includes a general matrix language and wraps some OpenCV for iOS development.
[Deprecated]
AIToolbox
- A toolbox framework of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians.
MLKit
- A simple Machine Learning Framework written in Swift. Currently features Simple Linear Regression, Polynomial Regression, and Ridge Regression.
Swift Brain
- The first neural network / machine learning library written in Swift. This is a project for AI algorithms in Swift for iOS and OS X development. This project includes algorithms focused on Bayes theorem, neural networks, SVMs, Matrices, etc...
Perfect TensorFlow
- Swift Language Bindings of TensorFlow. Using native TensorFlow models on both macOS / Linux.
PredictionBuilder
- A library for machine learning that builds predictions using a linear regression.
Awesome CoreML
- A curated list of pretrained CoreML models.
Awesome Core ML Models
- A curated list of machine learning models in CoreML format.
ML Workspace
- All-in-one web-based IDE for machine learning and data science. The workspace is deployed as a docker container and is preloaded with a variety of popular data science libraries (e.g., Tensorflow, PyTorch) and dev tools (e.g., Jupyter, VS Code).
Notebooks
- A starter kit for Jupyter notebooks and machine learning. Companion docker images consist of all combinations of python versions, machine learning frameworks (Keras, PyTorch and Tensorflow) and CPU/CUDA versions.
DVC
- Data Science Version Control is an open-source version control system for machine learning projects with pipelines support. It makes ML projects reproducible and shareable.
原文:
https://en.wikipedia.org/wiki/Category:Free_data_visualization_software
本文:
https://pub.intelligentx.net/wikipedia-free-data-visualization-software
讨论:请加入知识星球或者小红圈【首席架构师圈】
Analytica
is a widely used proprietary tool for building and analyzing numerical models. It is a
declarative
and
visual programming language
based on
influence diagrams
.
FlexPro
is a program for data analysis and presentation of measurement data. It provides a rich Excel-like user interface and its built-in vector programming language
FPScript
has a syntax similar to MATLAB.
FreeMat
, an
open-source
MATLAB-like environment with a
GPL license
.
GNU Octave
is a high-level language, primarily intended for numerical computations. It provides a convenient command-line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB. The 4.0 and newer releases of Octave include a GUI. A number of independently developed
Linux
programs (
Cantor
,
KAlgebra
) also offer GUI front-ends to Octave. An active community provides technical support to users.
Jacket
, A proprietary GPU Toolbox for MATLAB, enabling some MATLAB computations to be offloaded to the GPU for acceleration and data visualization purposes.
jLab
, a research platform for building an open-source MATLAB-like environment in pure Java and Groovy. Currently supports interpreted j-Scripts (MATLAB-like) and compiled GroovySci (extension to Groovy) scripts that provides direct interfacing to Java code and scripting access to many popular Java scientific libraries (e.g.
Weka
and
JSci
) and application Wizards.
Julia (programming language)
is a high-level dynamic language with a surface similarity to MATLAB.
LabVIEW
offers both textual and
graphical-programming
approaches to numerical analysis. Its text-based programming language MathScript uses .m-file-script syntax providing some compatibility with
MATLAB
and its clones.
LAPACK
provides Fortran 90 routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems and the associated matrix factorizations (LU, Cholesky, QR, SVD, Schur, and generalized Schur).
MATLAB
is a widely used proprietary software for performing numerical calculations. It comes with its own programming language, in which numerical algorithms can be implemented.
GNU MCSim
a simulation and numerical integration package, with fast Monte Carlo and Markov chain Monte Carlo capabilities.
ML.NET
is a
free-software
machine-learning
library
for the
C#
programming language.
[1]
[2]
NAG Library
is an extensive software library of highly optimized numerical-analysis routines for various programming environments.
O-Matrix
pandas
is an open-source BSD-licensed library providing data structures and data analysis tools for the Python programming language.
Perl Data Language
provides large multidimensional arrays for the Perl programming language, and utilities for image processing and graphical plotting.
Plotly
– Plotting library,
Python
command line, and graphical interface for analyzing data and creating browser-based graphs. Available for
R
,
Python
,
MATLAB
,
Julia
, and
Perl
.
Rlab
is another
free-software
computer program which bears a strong resemblance to MATLAB. Rlab development ceased for several years but it was revived as
RlabPlus
.
ScaLAPACK
is a library of high-performance linear algebra routines for parallel distributed-memory machines that features functionality similar to LAPACK (solvers for dense and banded linear systems, least-squares problems, eigenvalue problems, and singular-value problem).
Scilab
is advanced numerical analysis package similar to MATLAB or Octave. Comes with a complete GUI and Xcos which is alternative to Simulink. (
free software
,
GPL
-compatible
CeCILL
license)
Sysquake
is a computing environment with
interactive
graphics for mathematics, physics and engineering. Like other applications from
Calerga
, it is based on a MATLAB-compatible language.
TK Solver
is a mathematical modeling and problem-solving software system based on a declarative, rule-based language, commercialized by Universal Technical Systems, Inc.
Torch
is a deep-learning library with support for manipulation, statistical analysis and presentation of Tensors.
XLfit
, A plugin to Excel which provides curve-fitting and statistical analysis.
General-purpose computer algebra systems
Main article:
List of computer algebra systems
Macsyma
, a general-purpose computer algebra system, which has a free GPL-licensed version called
Maxima
.
Maple
, a general-purpose commercial mathematics software package.
Mathcad
offers a
WYSIWYG
interface and the ability to generate publication-quality mathematical equations.
Mathematica
offers numerical evaluation, optimization and visualization of a very wide range of numerical functions. It also includes a programming language and computer algebra capabilities.
PARI/GP
is a widely used computer algebra system designed for fast computations in number theory (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers etc., and a lot of transcendental functions. PARI is also available as a C library to allow for faster computations.
SageMath
is an open-source math software, with a unified Python interface which is available as a text interface or a graphical web-based one. Includes interfaces for open-source and proprietary general purpose CAS, and other numerical analysis programs, like PARI/GP, GAP, gnuplot, Magma, and Maple.
Speakeasy
is an interactive numerical environment also featuring an interpreted programming language. Born in the mid '60s for matrix manipulation and still in continuous evolution, it pioneered the most common paradigms of this kind of tools, featuring dynamic typing of the structured data objects, dynamic allocation and garbage collection, operators overloading, dynamic linking of compiled or interpreted additional modules contributed by the community of the users and so on.
Trilinos
is a collection of
open-source
object-oriented
libraries for use in scientific and engineering applications. Trilinos is based on scalable, parallel linear-algebra algorithms.
Interface-oriented
Baudline
is a time-frequency browser for numerical signals analysis and scientific visualization.
COMSOL Multiphysics
is a finite-element analysis, solver and simulation software / FEA Software package for various physics and engineering applications, especially coupled phenomena, or multiphysics.
Dataplot
is provided by
NIST
.
DADiSP
is a commercial program focused on
DSP
that combines the numerical capability of MATLAB with a
spreadsheet
-like interface.
EJS
is an
open-source
software tool, written in Java, for generating simulations.
Euler Mathematical Toolbox
is a powerful numerical laboratory with a programming language that can handle real, complex and interval numbers, vectors and matrices. It can produce 2D/3D plots.
FEATool Multiphysics
is a
Matlab
GUI toolbox for finite element FEM and PDE multiphysics simulations.
FEniCS Project
is a collection of project for automated solutions to
PDEs
.
Hermes
is a C++ library of advanced adaptive finite element algorithms to solve
PDEs
and multiphysics coupled problems.
Fityk
is a curve fitting and data-analysis program. Primarily used for peak fitting and analyzing peak data.
FlexPro
is a commercial program for interactive and automated analysis and presentation of mainly measurement data. It supports many binary instrument data formats and has its own vectorized programming language.
IGOR Pro
, a software package with emphasis on time series, image analysis, and curve fitting. It comes with its own programming language and can be used interactively.
LabPlot
is a data analysis and visualization application built on the KDE Platform.
MFEM
is a free, lightweight, scalable C++ library for
finite element methods
.
Origin
, a software package that is widely used for making scientific graphs. It comes with its own C/C++ compiler that conforms quite closely to ANSI standard.
PAW
is a free
data analysis
package developed at
CERN
.
SPSS
, an application for statistical analysis.
QtiPlot
is a data analysis and scientific visualisation program, similar to Origin.
ROOT
is a free object-oriented multi-purpose
data-analysis
package, developed at
CERN
.
Salome
is a free software that provides a generic platform for pre- and post-processing for numerical simulation.
Shogun
, an
open-source
large-scale
machine-learning
toolbox that provides several SVM implementations (like libSVM, SVMlight) under a common framework and interfaces to Octave, MATLAB, Python, R
Waffles
is a free-software collection of command-line tools designed for scripting machine-learning operations in automated experiments and processes.
Weka
is a suite of
machine learning
software written at the
University of Waikato
.
Language-oriented
acslX
is a software application for modeling and evaluating the performance of continuous systems described by time-dependent, nonlinear differential equations.
ADMB
is a software suite for non-linear statistical modeling based on C++ which uses automatic differentiation.
AMPL
is a mathematical modeling language for describing and solving high complexity problems for large-scale optimization.
Ch
, a commercial C/C++-based interpreted language with computational array for scientific numerical computation and visualization.
[3]
APMonitor
: APMonitor is a mathematical modeling language for describing and solving representations of physical systems in the form of differential and algebraic equations.
Armadillo
is C++ template library for linear algebra; includes various decompositions, factorisations, and statistics functions; its syntax (
API
) is similar to MATLAB.
Clojure
with numeric libraries Neanderthal, ClojureCUDA, and ClojureCL to call optimized matrix and linear algebra functions on CPU and GPU.
Julia
is designed for cloud parallel scientific computing in mind on
LLVM
-based
JIT
as a backend. Lightweight “green” threading (coroutines). Direct calls of C functions from code (no wrappers or special APIs needed), support for Unicode. Powerful shell-like capabilities for managing other processes. Lisp-like macros and other metaprogramming facilities.
ELKI
a
software framework
for development of
data mining
algorithms in
Java
.
GAUSS
, a matrix programming language for mathematics and statistics.
GNU Data Language
, a free compiler designed as a drop-in replacement for IDL.
IDL
, a commercial interpreted language based on FORTRAN with some vectorization. Widely used in the
solar physics
,
fusion
,
atmospheric sciences
and
medical
communities. The
GNU Data Language
is a free alternative.
ILNumerics.Net
, a
C#
math library that brings numeric computing functions for science, engineering and financial analysis to the
.NET Framework
.
KPP
generates
Fortran 90
,
FORTRAN 77
,
C
, or
Matlab
code for the integration of
ordinary differential equations (ODEs)
resulting from chemical reaction mechanisms.
Madagascar
, an open-source software package for multidimensional data analysis and reproducible computational experiments.
mlpack
is an open-source library for machine learning, providing a simple and consistent API, while exploiting C++ language features to provide maximum performance and flexibility
NCAR Command Language
is an interpreted language designed specifically for scientific
data analysis
and visualization.
O-Matrix
- a matrix programming language for mathematics, engineering, science, and financial analysis.
OptimJ
is a mathematical Java-based modeling language for describing and solving high-complexity problems for large-scale optimization.
Perl Data Language
, also known as PDL, an array extension to
Perl
ver.5, used for data manipulation, statistics, numerical simulation and visualization.
Python
with well-known scientific computing packages:
NumPy
,
SymPy
and
SciPy
.
R
is a widely used system with a focus on data manipulation and statistics which implements the
S
language. Many add-on packages are available (
free software
,
GNU
GPL license
).
SAS
, a system of software products for statistics. It includes SAS/IML
[4]
, a matrix programming language.
VisSim
is a visual
block-diagram
language for simulation of nonlinear dynamic systems and model-based embedded development. Its fast ODE engine supports real-time simulation of complex large-scale models. The highly efficient fixed-point code generator allows targeting of low-cost fixed-point embedded processors.
Wolfram Language
which is used within many Wolfram technologies such as
Mathematica
and the Wolfram Cloud
World Programming System (WPS)
, supports mixing
Python
,
R
and
SAS
languages in a single-user program for statistical analysis and data manipulation
Yorick
is an interpreted programming language designed for numerics, graph plotting and simulation.
Historically significant
Expensive Desk Calculator
written for the
TX-0
and
PDP-1
in the late 1950s or early 1960s.
S
is an (array-based) programming language with strong numerical support. R is an implementation of the S language.
See also
Comparison of deep-learning software
Comparison of numerical-analysis software
List of graphing software
List of numerical libraries
List of statistical packages
Lists of software
Mathematical software
Web-based simulation
原文:
https://en.wikipedia.org/wiki/List_of_numerical-analysis_software
本文:
https://pub.intelligentx.net/wikipedia-list-numerical-analysis-software
讨论:请加入知识星球或者小红圈【首席架构师圈】
这是一个著名的数值库列表,这些库用于软件开发中执行数值计算。它不是一个完整的列表,而是一个包含Wikipedia上文章的数字库列表,很少有例外。
典型库的选择取决于一系列不同的需求,例如:期望的特性(例如:大维线性代数、并行计算、偏微分方程)、商业/开源性质、API的可读性、可移植性或平台/编译器依赖性(例如:Linux、Windows、Visual c++、GCC)、速度性能、易用性、开发人员的持续支持、标准遵从性、针对特定应用程序场景的代码的专门优化,甚至要安装的代码库的大小。
由于我们发现很少有全面的调查可用,所以在许多可能的库中几乎总是(至少最初是)有一个艰难的选择。通常情况下,它往往是由用户根据自己的品味和舒适度来决定的,只是因为缺乏适当的信息。
Multi-language
ALGLIB
is an open source numerical analysis library which may be used from C++, C#, FreePascal, Delphi, VBA.
ArrayFire
is a high performance open source software library for parallel computing with an easy-to-use API.
IMSL Numerical Libraries
are libraries of numerical analysis functionality implemented in standard programming languages like C, Java, C# .NET, Fortran, and Python.
The
NAG Library
is a collection of mathematical and statistical routines for multiple programming languages (C, C++, Fortran, Visual Basic, Java, Python and C#) and packages (MATLAB, Excel, R, LabVIEW).
GNU Octave
is an open source high level programming language and library, including a command line interface and GUI, analogous to commercial alternatives such as Maple, MATLAB, Mathematica, etc. APIs, functions and libraries can be called from many platforms, including high level engineering programs, where functions are, in many cases, seamlessly interpreted and integrated in similar fashion to MATLAB. It also can be used with batch orientation.
librsb
is an open source library for high performance sparse matrix computations providing multi-threaded primitives to build iterative solvers (implements also the Sparse
BLAS
standard). It can be used from C, C++, Fortran, and a dedicated
GNU Octave
package.
BLOPEX
(Block Locally Optimal Preconditioned Eigenvalue Xolvers) is an
open-source
library
for the
scalable
(
parallel
) solution of eigenvalue problems.
FFTW
(Fastest Fourier Transform in the West) is a software library for computing Fourier and related transforms.
GNU Scientific Library
, a popular, free numerical analysis library implemented in
C
.
GNU Multi-Precision Library
is a library for doing
arbitrary-precision arithmetic
.
hypre
(High Performance Preconditioners) is an
open-source
library
of
routines
for
scalable
(
parallel
) solution of linear systems and preconditioning.
LabWindows/CVI
is an ANSI C
IDE
that includes built-in libraries for analysis of raw measurement data, signal generation, windowing, filter functions, signal processing, linear algebra, array and complex operations, curve fitting and statistics.
Lis
is a scalable parallel library for solving systems of linear equations and eigenvalue problems using iterative methods.
Intel MKL
, Intel Math Kernel Library (in C), a library of optimized math routines for science, engineering, and financial applications, written in C/C++ and Fortran. Core math functions include BLAS, LAPACK, ScaLAPACK, sparse solvers, fast Fourier transforms, and vector math.
OpenBLAS
is an open source implementation of the BLAS API with many hand-crafted optimizations for specific processor types. It performs similar to Intel MKL on Intel processors and higher on various others.
Portable, Extensible Toolkit for Scientific Computation
(
PETSc
), is a suite of
data structures
and
routines
for the
scalable
(
parallel
) solution of
scientific applications
modeled by
partial differential equations
.
SLEPc
Scalable Library for Eigenvalue Problem Computations
is a
PETSc
-based
open-source
library
for the
scalable
(
parallel
) solution of eigenvalue problems.
Adept
is a combined
automatic differentiation
and
array
library.
Advanced Simulation Library
is free and open source hardware accelerated multiphysics simulation software with an
OpenCL
-based internal computational engine.
ALGLIB
is an open source / commercial numerical analysis library with C++ version
Armadillo
is a C++ linear algebra library (matrix and vector maths), aiming towards a good balance between speed and ease of use. It employs template classes, and has optional links to BLAS and LAPACK. The syntax (
API
) is similar to
MATLAB
.
Blaze is an open-source, high-performance C++ math library for dense and sparse arithmetic.
Blitz++
is a high-performance vector mathematics library written in C++.
Boost.uBLAS
C++ libraries for numerical computation
deal.II
is a library supporting all the finite element solution of partial differential equations.
Dlib
is a modern C++ library with easy to use linear algebra and optimization tools which benefit from optimized BLAS and LAPACK libraries.
Eigen
is a vector mathematics library with performance comparable with Intel's
Math Kernel Library
Hermes Project
: C++/Python library for rapid prototyping of space- and space-time adaptive hp-FEM solvers.
IML++
is a C++ library for solving linear systems of equations, capable of dealing with dense, sparse, and distributed matrices.
IT++
is a C++ library for linear algebra (matrices and vectors), signal processing and communications. Functionality similar to MATLAB and Octave.
LAPACK++
, a C++ wrapper library for
LAPACK
and
BLAS
Intel MKL
, Intel Math Kernel Library (in C and C++), a library of optimized math routines for science, engineering, and financial applications, written in C/C++ and Fortran. Core math functions include BLAS, LAPACK, ScaLAPACK, sparse solvers, fast Fourier transforms, and vector math.
mlpack
is an open-source library for machine learning, exploiting C++ language features to provide maximum performance and flexibility while providing a simple and consistent API
MTL4
is a generic
C++
template library providing sparse and dense BLAS functionality. MTL4 establishes an intuitive interface (similar to
MATLAB
) and broad applicability thanks to
Generic programming
.
The
NAG Library
has C++ API
NTL
is a C++ library for number theory.
Trilinos
is an effort to develop algorithms and enabling technologies for the solution of large-scale, complex multi-physics engineering and scientific problems. It is a collection of
packages
.
Delphi
Analytics & Physics: commercial Delphi libraries for symbolic and numerical calculations (including symbolic derivatives) and working with physical values and units of measurement.
ALGLIB
- an open source numerical analysis library.
.NET Framework languages
C#
,
F#
,
VB.NET
and
PowerShell
[
edit
]
Accord.NET
is a collection of libraries for scientific computing, including numerical linear algebra, optimization, statistics, artificial neural networks, machine learning, signal processing and computer vision. LGPLv3, partly GPLv3.
AForge.NET
is a computer vision and artificial intelligence library. It implements a number of genetic, fuzzy logic and machine learning algorithms with several architectures of artificial neural networks with corresponding training algorithms. LGPLv3 and partly GPLv3.
ALGLIB
is an open source numerical analysis library with C# version. Dual licensed: GPLv2+, commercial license.
ILNumerics.Net
Commercial high performance, typesafe numerical array classes and functions for general math, FFT and linear algebra, aims .NET/mono, 32&64 bit, script-like syntax in C#, 2D & 3D plot controls, efficient memory management.
IMSL Numerical Libraries
have C# version (commercially licensed). IMSL .Net have announced end of life at the end of 2020.
Math.NET Numerics
aims to provide methods and algorithms for numerical computations in science, engineering and every day use. Covered topics include special functions, linear algebra, probability models, random numbers, interpolation, integral transforms and more. Free software under MIT/X11 license.
Measurement Studio
is a commercial integrated suite UI controls and class libraries for use in developing test and measurement applications. The analysis class libraries provide various digital signal processing, signal filtering, signal generation, peak detection, and other general mathematical functionality.
ML.NET
is a
free software
machine learning
library
for the
C#
programming language.
[1]
[2]
The
NAG Library
has C# API. Commercially licensed.
NMath
by
CenterSpace Software
: Commercial numerical component libraries for the .NET platform, including signal processing (FFT) classes, a linear algebra (LAPACK & BLAS) framework, and a statistics package.
Numpy.NET
offers
C#
language bindings for
NumPy
a fundamental library for scientific computing, machine learning and AI.
[3]
Numpy.NET is
free software
under MIT license.
NumSharp
is an
open source
N-D
Tensor
computation
library
for Data Science, Machine Learning and AI, written in pure
C#
.
[4]
NumSharp is
free software
licensed under the Apache 2.0 license.
Fortran
BLAS
(Basic Linear Algebra Subprograms) is a de facto
application programming interface
standard for publishing libraries to perform basic
linear algebra
operations such as
vector
and
matrix multiplication
.
CERNLIB
is a collection of
FORTRAN 77
libraries and modules.
EISPACK
is a
software library
for
numerical computation
of
eigenvalues
and
eigenvectors
of matrices, written in
FORTRAN
. It contains subroutines for calculating the eigenvalues of nine classes of
matrices
: complex general, complex
Hermitian
, real general, real symmetric, real symmetric
banded
, real symmetric tridiagonal, special real tridiagonal, generalized real, and generalized real symmetric matices.
IMSL Numerical Libraries
are cross-platform libraries containing a comprehensive set of mathematical and statistical functions that can be embedded in a users application.
Harwell Subroutine Library
is a collection of
Fortran 77
and 95 codes that address core problems in numerical analysis.
LAPACK
, the
Linear Algebra PACKage
, is a
software library
for
numerical computing
originally written in
FORTRAN 77
and now written in
Fortran 90
.
LINPACK
is a software
library
for performing numerical
linear algebra
on digital computers. It was written in
Fortran
by
Jack Dongarra
, Jim Bunch,
Cleve Moler
, and Pete Stewart, and was intended for use on
supercomputers
in the 1970s and early 1980s. It has been largely superseded by
LAPACK
, which will run more efficiently on modern architectures.
Lis
is a scalable parallel library for solving systems of linear equations and eigenvalue problems using iterative methods.
MINPACK
is a library of
FORTRAN
subroutines for the solving of systems of nonlinear equations, or the
least squares
minimization of the residual of a set of
linear
or nonlinear equations.
The
NAG Fortran Library
is a collection of mathematical and statistical routines for Fortran.
NOVAS
is a software library for astrometry-related numerical computations. Both
Fortran
and
C
versions are available.
Netlib
is a repository of scientific computing software which contains a large number of separate programs and libraries including
BLAS
,
EISPACK
,
LAPACK
and others.
PAW
is a free
data analysis
package developed at
CERN
.
Portable, Extensible Toolkit for Scientific Computation
(
PETSc
), is a suite of
data structures
and
routines
for the
scalable
(
parallel
) solution of
scientific applications
modeled by
partial differential equations
.
QUADPACK
is a
FORTRAN 77
library for
numerical integration
of one-dimensional functions
SLATEC
is a
FORTRAN 77
library of over 1400 general purpose mathematical and statistical routines.
SOFA
is a collection of subroutines that implement official
IAU
algorithms
for
astronomical
computations. Both
Fortran
and
C
versions are available.
ARPACK
is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.
ND4J
is an
open-source
library that supports n-dimensional (ND) arrays, similar to
NumPy
. It runs on distributed
GPUs
or CPUs cross-platform, and leverages Spark for parallel computation. It supports the
deep learning
library
Deeplearning4j
.
Apache Commons
, is an
open-source
for creating reusable Java components. It has numerical packages for linear algebra and non-linear optimization.
Colt
provides a set of Open Source Libraries for High Performance Scientific and Technical Computing.
Efficient Java Matrix Library (EJML)
is an open-source linear algebra library for manipulating dense matrices.
JAMA
, a numerical
linear algebra
toolkit for the
Java programming language
. No active development has taken place since 2005, but it still one of the more popular linear algebra packages in Java.
Jblas: Linear Algebra for Java
, a linear algebra library which is an easy to use wrapper around
BLAS
and
LAPACK
.
Parallel Colt
is an open source library for scientific computing. A parallel extension of
Colt
.
Matrix Toolkit Java
is a linear algebra library based on
BLAS
and
LAPACK
.
ojAlgo
is an open source Java library for mathematics, linear algebra and optimisation.
exp4j
is a small
Java
library for evaluation of mathematical expressions.
Scala
ND4S
is a scientific computing library for Scala that includes support for n-dimensional arrays on the JVM.
Perl Data Language
gives standard Perl the ability to compactly store and speedily manipulate the large
N
-dimensional data arrays.
Python
NumPy
, a BSD-licensed library that adds support for the manipulation of large, multi-dimensional arrays and matrices; it also includes a large collection of high-level mathematical functions. NumPy serves as the backbone for a number of other numerical libraries, notably
SciPy
. De facto standard for matrix/tensor operations in Python.
SageMath
is a large mathematical software application which integrates the work of nearly 100
free software
projects and supports linear algebra, combinatorics, numerical mathematics, calculus, and more.
SciPy
, a large BSD-licensed library of scientific tools. De facto standard for scientific computations in Python.
ScientificPython
, a library with a different set of scientific tools
SymPy
, a library based on New BSD license for symbolic computation. Features of Sympy range from basic symbolic arithmetic to calculus, algebra, discrete mathematics and quantum physics.
Others
XNUMBERS
— Multi Precision Floating Point Computing and Numerical Methods for
Microsoft Excel
.
INTLAB —
Interval arithmetic
library for
MATLAB
.
See also
Comparison of computer algebra systems
Comparison of numerical analysis software
List of graphing software
List of numerical analysis software
List of optimization software
List of statistical packages
原文:
https://en.wikipedia.org/wiki/List_of_numerical_libraries
本文:
https://pub.intelligentx.net/wikipedia-list-numerical-libraries
讨论:请加入知识星球或者小红圈【首席架构师圈】
Amenity Analytics
– develops cloud-based text analytics solutions using
natural language processing
and
machine learning
to draw insights at scale from any source of unstructured data.
Angoss
– Angoss Text Analytics provides
entity
and theme extraction, topic categorization,
sentiment analysis
and
document summarization
capabilities via the embedded
AUTINDEX
- is a commercial text mining software package based on sophisticated linguistics by IAI (Institute for Applied Information Sciences), Saarbrücken.
Autonomy
– text mining, clustering and categorization software
Averbis
– provides text analytics, clustering and categorization software, as well as terminology management and enterprise search
Basis Technology
– provides a suite of text analysis modules to identify language, enable search in more than 20 languages, extract entities, and efficiently search for and translate entities.
Clarabridge
– text analytics (text mining) software, including natural language (NLP), machine learning, clustering and categorization. Provides SaaS, hosted and on-premises text and sentiment analytics that enables companies to collect, listen to, analyze, and act on the Voice of the Customer (VOC) from both external (Twitter, Facebook, Yelp!, product forums, etc.) and internal sources (call center notes, CRM, Enterprise Data Warehouse, BI, surveys, emails, etc.).
DigitalMR
- social media listening & text+image analytics tool for market research
Endeca Technologies
– provides software to analyze and cluster unstructured text.
FICO Score
– leading provider of analytics.
General Sentiment
- Social Intelligence platform that uses
natural language processing
to discover affinities between the fans of brands with the fans of traditional television shows in social media. Stand alone text analytics to capture social knowledge base on billions of topics stored to 2004.
IBM LanguageWare
- the IBM suite for text analytics (tools and Runtime).
IBM
SPSS
- provider of Modeler Premium (previously called IBM SPSS Modeler and IBM SPSS Text Analytics), which contains advanced NLP-based text analysis capabilities (multi-lingual sentiment, event and fact extraction), that can be used in conjunction with Predictive Modeling. Text Analytics for Surveys provides the ability to categorize survey responses using NLP-based capabilities for further analysis or reporting.
Inxight
– provider of text analytics, search, and unstructured visualization technologies. (Inxight was bought by
Business Objects
that was bought by
SAP AG
in 2008).
Language Computer Corporation
– text extraction and analysis tools, available in multiple languages.
Lexalytics
- provider of a text analytics engine used in Social Media Monitoring, Voice of Customer, Survey Analysis, and other applications. Salience Engine. The software provides the unique capability of merging the output of unstructured, text-based analysis with structured data to provide additional predictive variables for improved predictive models and association analysis.
LexisNexis
– provider of business intelligence solutions based on an extensive news and company information content set. LexisNexis acquired DataOps to pursue search
Linguamatics
– provider of
natural language processing
(NLP) based enterprise text mining and text analytics software, I2E, for high-value knowledge discovery and decision support.
Luminoso
– enterprise feedback and text analytics solutions developed over a decade of
natural language processing
(NLP),
machine learning
and
artificial intelligence
research at
MIT Media Lab
. Enables clients to understand, measure and act on large amounts of consumer feedback, across multiple channels.
[1]
[2]
Mathematica
– provides built in tools for text alignment, pattern matching, clustering and semantic analysis. See
Wolfram Language
, the programming language of Mathematica.
MATLAB
offers Text Analytics Toolbox for importing text data, converting it to numeric form for use in machine and deep learning, sentiment analysis and classification tasks.
[3]
MeaningCloud
- formerly known as Textalytics: a set of text analytics APIs offered both in SaaS mode and on-premises that are totally customizable to obtain the highest accuracy and very easy to integrate in any system or environment thanks to its SDKs and plug-ins.
Medallia
- offers one system of record for survey, social, text, written and online feedback.
Megaputer Intelligence
- derives actionable knowledge from large volumes of text and structured data, including
natural language processing
(NLP),
machine learning
, sentiment analysis, entity extraction, clustering, and categorization.
NetOwl
– suite of multilingual text and entity analytics products, including entity extraction, link and event extraction, sentiment analysis, geotagging, name translation, name matching, and identity resolution, among others.
PoolParty Semantic Suite
lets you develop a knowledge graph – thus structure and represent your prioritised knowledge domains. The highly performative PoolParty service extracts entities and terms following a sophisticated text mining algorithm.
RapidMiner
with its Text Processing Extension – data and text mining software.
SAS
– SAS Text Miner and Teragram; commercial text analytics, natural language processing, and taxonomy software used for
Information Management
.
Semantria
- offers its services via API and Excel plugin. It is a spinoff of text-analysis software Lexalytics, but differs in that it is offered via API and Excel plugin, and in that it incorporates a bigger knowledge base and uses deep learning.
Sketch Engine
- a corpus manager and analysis software which providing creating
text corpora
from uploaded texts or the Web including
part-of-speech tagging
and
lemmatization
or detecting a particular website.
[4]
Smartlogic
– Semaphore; Content Intelligence platform containing commercial text analytics, natural language processing, rule-based classification, ontology/taxonomy modelling and information visualization software used for
Information Management
.
StatSoft
– provides
STATISTICA
Text Miner as an optional extension to STATISTICA Data Miner, for Predictive Analytics Solutions.
Sysomos
- provider social media analytics software platform, including text analytics and sentiment analysis on online consumer conversations.
WordStat
- Content analysis and text mining add-on module of
QDA Miner
for analyzing large amounts of text data.
Open source
Carrot2
– text and search results clustering framework.
Coding Analysis Toolkit
– CAT is a free, web-based, and open source text analysis service. Load, code, and annotate text data in teams. Measure inter-rater reliability and adjudicate differences between coders. Report on the accuracy of codes and coders over time. Train better coders through systematic iterations.
GATE
– general Architecture for Text Engineering, an open-source toolbox for natural language processing and language engineering.
Gensim
- large-scale topic modelling and extraction of semantic information from unstructured text (
Python
).
Natural Language Toolkit
(NLTK) – a suite of libraries and programs for symbolic and statistical natural language processing (NLP) for the
Python
programming language.
OpenNLP
- natural language processing.
Orange
with its text mining add-on.
Stanbol
- an open source text mining engine targeted at semantic content management.
The programming language
R
provides a framework for text mining applications in the package
tm
.
[5]
The Natural Language Processing task view contains
tm
and other text mining library packages.
[6]
The
KNIME
Text Processing extension.
The
PLOS
Text Mining Collection.
[7]
Voyant Tools
- a web-based text analysis environment, created as a scholarly project.
spaCy
- open-source Natural Language Processing library for Python
References
^
Alba, Davet (12 February 2015).
"The Startup That Helps You Analyze Twitter Chatter in Real Time"
. Wired. Retrieved 4 March 2015.
^
Lohr, Steve (27 June 2014).
"The U.S.-Germany Match Through a Social Media Lens"
. New York Times. Retrieved 4 March 2015.
^
"Text Analytics Toolbox"
.
www.mathworks.com
. Retrieved 2019-07-10.
^
"Text analysis with Sketch Engine"
.
Sketch Engine
. LEXICAL COMPUTING CZ s.r.o. Retrieved 17 January 2018.
^
Introduction to the tm Package: Text Mining in R
^
CRAN Task View: Natural Language Processing
^
"Table of Contents: Text Mining"
. PLOS.
External links
Text Mining APIs on Mashape
[
permanent dead link
]
Text Mining APIs on Programmable Web
Text Mining APIs at the Text Analysis Portal for Research
原文:
https://en.wikipedia.org/wiki/List_of_text_mining_software
本文:
https://pub.intelligentx.net/wikipedia-list-text-mining-software
讨论:请加入知识星球或者小红圈【首席架构师圈】
Train with Parallel Computing Toolbox and generate CUDA code with GPU Coder
[18]
Yes
[19]
[20]
Yes
[19]
Yes
[19]
With Parallel Computing Toolbox
[21]
Microsoft Cognitive Toolkit
(CNTK)
MIT license
[22]
Windows
,
(
macOS
via Docker
on roadmap)
C++
,
BrainScript
[25]
(
.NET
on
roadmap
[26]
)
Yes
[27]
Yes
[28]
Yes
[29]
Yes
[29]
No
[30]
Yes
[31]
No
[32]
Apache
MXNet
Apache 2.0
Linux
,
macOS
,
AWS
,
iOS
,
Small
library
C++
,
Python
,
Julia
,
Matlab
,
Scala
,
roadmap
[37]
Yes
[38]
Yes
[39]
Yes
[40]
Neural Designer
Proprietary
Linux
,
macOS
,
OpenNN
GNU LGPL
PlaidML
Linux
,
macOS
,
Python
,
C++
,
Python
,
OpenCL
ICDs are
not recognized
PyTorch
Linux
,
macOS
,
Python
,
C++
,
Python
,
Via separately maintained
package
Apache SINGA
Apache 2.0
Linux
,
macOS
,
Python
,
C++
,
Supported
in V1.0
TensorFlow
Apache 2.0
Linux
,
macOS
,
C++
,
Python
,
(
Keras
),
Julia
,
On roadmap
[45]
but
already with
support
Yes
[47]
Yes
[48]
Theano
Python
(
Keras
)
Under develo
pment
[49]
Yes
[50]
[51]
Through Lasagne's model zoo
[52]
Yes
[53]
Torch
Linux
,
macOS
,
C
,
Lua
Lua
,
LuaJIT
,
utility
library for
C++
/
Third
party
implemen
Yes
[60]
[61]
Through
Twitter
's Autograd
[62]
Yes
[63]
Yes
[54]
Wolfram Mathematica
Proprietary
Windows
,
macOS
,
Linux
,
C++
,
Language
,
Wolfram Language
Yes
[64]
Yes
[65]
^
Licenses here are a summary, and are not taken to be complete statements of the licenses. Some libraries may use other libraries internally under different licenses
Related software
Neural Engineering Object
(NENGO) – A graphical and scripting software for simulating large-scale neural systems
Numenta Platform for Intelligent Computing
– Numenta's open source implementation of their
hierarchical temporal memory
model
See also
Comparison of numerical-analysis software
Comparison of statistical packages
List of datasets for machine-learning research
List of numerical-analysis software
给定一个输入和输出值之间的转换,描述一个数学函数f,优化处理生成和选择一个最佳解决方案从一些组可用的替代方案,通过系统地选择输入值在一个允许集,计算的输出功能,录音过程中发现的最好的输出值。许多实际问题都可以用这种方法建模。例如,输入可以是电机的设计参数,输出可以是功耗,或者输入可以是业务选择,输出可以是获得的利润。
优化问题,在本例中是最小化问题,可以用以下方式表示
给定:一个函数f:一个{\displaystyle \to}\to R,从某个集合a到实数
搜索:A中的一个元素x0,使得f(x0)≤f(x)对于A中的所有x。
在连续优化中,A是欧氏空间Rn的某个子集,通常由一组约束、等式或不等式来指定,这些约束、等式或不等式是A的成员必须满足的。在组合优化中,A是离散空间的某个子集,如二进制字符串、排列或整数集。
优化软件的使用要求函数f用合适的编程语言定义,并在编译或运行时连接到优化软件。优化软件将在A中提供输入值,实现f的软件模块将提供计算值f(x),在某些情况下,还将提供关于函数的附加信息,如导数。
这样就得到了一个清晰的关注点分离:不同的优化软件模块可以很容易地在同一个函数f上进行测试,或者给定的优化软件可以用于不同的函数f。
下表提供了根据许可证和业务模型类型组织的值得注意的优化软件列表。
Free and open-source software
Applications
GNU_Octave
a software package featuring a high-level programming language, primarily intended for numerical computations; well recognized free alternative to
MATLAB
.
Scilab
CeCILL
a cross-platform numerical computational package and a high-level, numerically oriented programming language with free numerical optimization framework.
ALGLIB
dual licensed (GPL/commercial) nonlinear optimization library (unconstrained, box, linearly, nonlinearly-constrained, nonlinear and QP problems), optionally using
automatic differentiation
. Cross-language: C++, C#.
COIN-OR SYMPHONY
EPL 1.0
integer programming
Boost Software License
Unconstrained/box-constrained nonlinear/QP optimization library written in
C++
.
GEKKO
MIT License
machine learning and optimization of mixed-integer and differential algebraic equations in Python.
GNU Linear Programming Kit, C API.
IPOPT
a large scale nonlinear optimizer for continuous systems (requires gradient), C++ (formerly
Fortran
and
C
).
J. D. Powell
's
optimization suite
a set of
Fortran 95
algorithms for (derivative-free, DFO) optimization subject to box and linear constraints:
BOBYQA
– DFO, box;
COBYLA
– DFO, nonlinearly constrained;
LINCOA
– DFO, linearly constrained;
NEWUOA
and
UOBYQA
– DFO, unconstrained;
TOLMIN
– linearly constrained.
MIDACO
Dual (Commercial, BY-NC-ND)
a lightweight software tool for single- and multi-objective
optimization
based on
evolutionary computing
. Written in C/C++ and Fortran with gateways to Excel, VBA, Java, Python, Matlab, Octave, R, C# and Julia.
MINUIT
(now MINUIT2)
an unconstrained optimizer internally developed at
CERN
.
OpenMDAO
Apache License
a
Multidisciplinary Design, Analysis, and Optimization (MDAO)
framework, written in
Python
. The development is led out of the
NASA Glenn Research Center
, with support from the
NASA Langley Research Center
.
OptaPlanner
Apache License
a lightweight, embeddable planning engine written in
Java
. It solves constraint satisfaction problems with construction heuristics and
metaheuristic
algorithms.
SciPy
a general numeric package for Python, with some support for optimization.
AIMMS
– optimization modeling system, including GUI building facilities.
ALGLIB
– dual licensed (GPL/commercial) constrained quadratic and nonlinear optimization library with C++ and C# interfaces.
Altair HyperStudy
– design of experiments and multi-disciplinary design optimization.
AMPL
– modelling language for large-scale linear, mixed integer and nonlinear optimization.
ANTIGONE
– a
deterministic global optimization
MINLP solver.
APMonitor
– modeling language and optimization suite for large-scale, nonlinear, mixed integer, differential and algebraic equations with interfaces to MATLAB, Python, and Julia.
Artelys Knitro
– large scale nonlinear optimization for continuous and mixed-integer programming.
ASTOS
– AeroSpace Trajectory Optimization Software for launcher, re-entry and generic aerospace problems.
BARON
– optimization of algebraic nonlinear and mixed-integer nonlinear problems.
COMSOL Multiphysics
– a cross-platform
finite element
analysis, solver and
multiphysics
simulation software
.
CPLEX
– integer, linear and quadratic programming.
FEATool Multiphysics
– FEA GUI Toolbox for MATLAB
FICO Xpress
– integer, linear and quadratic and nonlinear programming.
FortMP
– integer, linear and quadratic programming.
FortSP
– stochastic programming.
GAMS
– General Algebraic Modeling System.
Gurobi
– integer, linear and quadratic programming.
HEEDS MDO
– multidisciplinary design optimization using SHERPA, a hybrid, adaptive optimization algorithm.
IMSL Numerical Libraries
– linear, quadratic, nonlinear, and sparse QP and LP optimization algorithms implemented in standard programming languages C, Java, C# .NET, Fortran, and Python.
IOSO
– (Indirect Optimization on the basis of Self-Organization) a multiobjective, multidimensional nonlinear optimization technology.
Kimeme
– an open platform for multi-objective optimization and multidisciplinary design optimization.
LINDO
- (Linear, Interactive, and Discrete Optimizer) a software package for linear programming, integer programming,
nonlinear programming
, stochastic programming, and global optimization. The "What's Best!" Excel add-in performs linear, integer, and nonlinear optimization using LINDO.
LIONsolver
– an integrated software for
data mining
,
analytics
,
modeling
L
earning and
I
ntelligent
O
ptimizatio
N
and reactive
business intelligence
approach.
modeFRONTIER
– an integration platform for multi-objective and multi-disciplinary optimization, which provides a seamless coupling with third party engineering tools, enables the automation of the design simulation process, and facilitates analytic decision making.
Maple
– linear, quadratic, and nonlinear, continuous and integer optimization. Constrained and unconstrained. Global optimization with add-on toolbox.
MATLAB
– linear, integer, quadratic, and nonlinear problems with
Optimization Toolbox
; multiple maxima, multiple minima, and non-smooth optimization problems; estimation and optimization of model parameters.
MIDACO
a lightweight software tool for single- and multi-objective
optimization
based on
evolutionary computing
. Written in C/C++ and Fortran with gateways to Excel, VBA, Java, Python, Matlab, Octave, R, C# and Julia.
Mathematica
– large-scale multivariate constrained and unconstrained, linear and nonlinear, continuous and integer optimization.
ModelCenter
– a graphical environment for integration, automation, and design optimization.
MOSEK
– linear, quadratic, conic and convex nonlinear, continuous and integer optimization.
NAG
– linear, quadratic, nonlinear, sums of squares of linear or nonlinear functions; linear, sparse linear, nonlinear, bounded or no constraints; local and global optimization; continuous or integer problems.
NMath
– linear, quadratic and nonlinear programming.
OptimJ
– Java-based modeling language. Premium Edition includes support for Gurobi, Mosek and CPLEX solvers.
Optimus platform
– a process integration and design optimization platform developed by Noesis Solutions.
optiSLang
– software solutions for CAE-based sensitivity analysis, optimization and robustness evaluation.
OptiY
- a design environment providing modern optimization strategies and state of the art probabilistic algorithms for uncertainty, reliability, robustness, sensitivity analysis, data-mining and meta-modeling.
OptiStruct
– award-winning CAE technology for conceptual design synthesis and structural optimization.
PottersWheel
– parameter estimation in ordinary differential equations (MATLAB toolbox, free for academic use).
pSeven
— software platform for automation of engineering simulation and analysis, multidisciplinary optimization and data mining, developed by
DATADVANCE
.
SAS
– a software suite developed by SAS Institute for advanced analytics (statistics, forcasting, machine learning, optimization, etc.), business intelligence, customer intelligence, data management, risk management, and many more.
SmartDO
– multidisciplinary global design optimization, specialized in computer-aided engineering (CAE). using the direct global search approaches.
SNOPT
– large-scale optimization problems.
The Unscrambler
X – product formulation and process optimization software.
TOMLAB
– supports global optimization, integer programming, all types of least squares, linear, quadratic and unconstrained programming for
MATLAB
. TOMLAB supports solvers like
Gurobi
,
CPLEX
,
SNOPT
,
KNITRO
and
MIDACO
.
VisSim
– a visual
block diagram
language for simulation and optimization of
dynamical systems
.
WORHP
– a large-scale sparse solver for continuous nonlinear optimization.
Freeware/free for academic use
AIMMS
APMonitor
– free for academic and commercial use alike, with
Julia
,
Python
and
MATLAB
integrations.
ASTOS
CPLEX
Couenne
– An open source solver for the deterministic global optimization of MINLPs licensed under the Eclipse Public License.
FICO Xpress
Galahad library
GEKKO Python
Gurobi
LIONsolver
MIDACO
– a software package for numerical
optimization
based on
evolutionary computing
.
MINTO
–
integer programming
solver using branch and bound algorithm; freeware for personal use.
MOSEK
– a large scale optimization software. Solves linear, quadratic, conic and convex nonlinear, continuous and integer optimization.
OptimJ
– Java-based modeling language; the free edition includes support for lp_solve,
GLPK
and
LP
or
MPS
file formats.
PottersWheel
– parameter estimation in ordinary differential equations (free MATLAB toolbox for academic use).
SCIP
– free to members of non-commercial and academic institutions, for research purposes.
WORHP
See also
Comparison of optimization software
List of computer algebra systems
List of constraint programming languages
List of numerical libraries
List of optimization algorithms
List of SMT solvers
原文:
https://en.wikipedia.org/wiki/Category:Free_data_analysis_software
本文:
https://pub.intelligentx.net/wikipedia-free-data-analysis-software
讨论:请加入知识星球或者小红圈【首席架构师圈】
原文:
https://en.wikipedia.org/wiki/Category:Data_analysis_software
本文:
https://pub.intelligentx.net/wikipedia-data-analysis-software
讨论:请加入知识星球或者小红圈【首席架构师圈】
原文:
https://en.wikipedia.org/wiki/Category:Data_mining_and_machine_learning_software
本文:
https://pub.intelligentx.net/wikipedia-data-mining-and-machine-learning-software
讨论:请加入知识星球或者小红圈【首席架构师圈】
ADaMSoft
– a generalized statistical software with
data mining
algorithms and methods for data management
ADMB
– a software suite for non-linear statistical modeling based on
C++
which uses
automatic differentiation
Bayesian Filtering Library
Chronux
– for neurobiological time series data
DAP
– free replacement for SAS
Environment for DeveLoping KDD-Applications Supported by Index-Structures
(ELKI) a
software framework
for developing
data mining
algorithms in
Java
Fityk
– nonlinear regression software (GUI and command line)
GNU Octave
– programming language very similar to MATLAB with statistical features
gretl
– gnu regression, econometrics and time-series library
intrinsic Noise Analyzer
(iNA) – For analyzing intrinsic fluctuations in biochemical systems
JASP
– A free software alternative to IBM
SPSS
Statistics with additional option for Bayesian methods
Just another Gibbs sampler
(JAGS) – a program for analyzing Bayesian hierarchical models using
Markov chain Monte Carlo
developed by Martyn Plummer. It is similar to WinBUGS
JMulTi
– For
econometric analysis
, specialised in univariate and multivariate
time series
analysis
KNIME
- An open source analytics platform built with
Java
and
Eclipse
using modular data pipeline workflows
LIBSVM
– C++ support vector machine libraries
mlpack
– open-source library for machine learning, exploits C++ language features to provide maximum performance and flexibility while providing a simple and consistent
application programming interface
(API)
Mondrian
– data analysis tool using interactive statistical graphics with a link to
R
Neurophysiological Biomarker Toolbox
– Matlab toolbox for data-mining of neurophysiological biomarkers
OpenBUGS
OpenEpi
– A web-based, open-source, operating-independent series of programs for use in epidemiology and statistics based on JavaScript and HTML
OpenNN
– A
software library
written in the programming language
C++
which implements
neural networks
, a main area of
deep learning
research
OpenMx
– A package for
structural equation modeling
running in
R (programming language)
Orange
, a
data mining
,
machine learning
, and
bioinformatics
software
Pandas
–
High-performance computing
(HPC) data structures and data analysis tools for
Python
in Python and
Cython
(statsmodels, scikit-learn)
Perl Data Language
– Scientific computing with Perl
Ploticus
– software for generating a variety of graphs from raw data
PSPP
– A free software alternative to IBM
SPSS
Statistics
R
–
free
implementation of the
S (programming language)
Programming with Big Data in R
(pbdR) – a series of R packages enhanced by
SPMD
parallelism for
big data
analysis
R Commander
– GUI interface for R
Rattle GUI
– GUI interface for R
Revolution Analytics
– production-grade software for the enterprise big data analytics
RStudio
– GUI interface and development environment for R
ROOT
– an open-source C++ system for data storage, processing and analysis, developed by CERN and used to find the
Higgs boson
Salstat
– menu-driven statistics software
Scilab
– uses GPL-compatible
CeCILL
license
SciPy
–
Python
library for scientific computing that contains the
stats
sub-package which is partly based on the venerable
|STAT
(a.k.a.
PipeStat
, formerly
UNIX|STAT
) software
scikit-learn
– extends SciPy with a host of machine learning models (classification, clustering, regression, etc.)
statsmodels
– extends SciPy with statistical models and tests (regression, plotting, example datasets,
generalized linear model
(GLM),
time series analysis
,
autoregressive–moving-average model
(ARMA),
vector autoregression
(VAR),
non-parametric statistics
,
ANOVA
,
empirical likelihood
)
Shogun (toolbox)
–
open-source
, large-scale machine learning toolbox that provides several SVM (Support Vector Machine) implementations (like libSVM, SVMlight) under a common framework and interfaces to Octave, MATLAB, Python, R
Simfit
– simulation, curve fitting, statistics, and plotting
SOFA Statistics
– desktop GUI program focused on ease of use, learn as you go, and beautiful output
Stan (software)
– open-source package for obtaining Bayesian inference using the No-U-Turn sampler, a variant of
Hamiltonian Monte Carlo
. It is somewhat like BUGS, but with a different language for expressing models and a different sampler for sampling from their posteriors
Statistical Lab
–
R
-based and focusing on educational purposes
Torch (machine learning)
– a
deep learning
software library written in
Lua (programming language)
Weka (machine learning)
– a suite of machine learning software written at the
University of Waikato
Public domain
CSPro
Epi Info
X-12-ARIMA
Freeware
BV4.1
GeoDA
MaxStat Lite
– general statistical software
MINUIT
WinBUGS
–
Bayesian analysis
using
Markov chain Monte Carlo
methods
Winpepi
– package of statistical programs for epidemiologists
Proprietary
Alteryx
- analytics platform with drag and drop statistical models; R and Python integration
Analytica
– visual analytics and statistics package
Angoss
– products KnowledgeSEEKER and KnowledgeSTUDIO incorporate several data mining algorithms
ASReml
– for restricted maximum likelihood analyses
BMDP
– general statistics package
DB Lytix
– 800+ in-database models
EViews
– for
econometric analysis
FAME (database)
– a system for managing
time-series databases
GAUSS
–
programming language
for statistics
Genedata
– software solution for integration and interpretation of experimental data in the life science R&D
GenStat
– general statistics package
GLIM
– early package for fitting
generalized linear models
GraphPad InStat
– very simple with lots of guidance and explanations
GraphPad Prism
– biostatistics and nonlinear regression with clear explanations
IMSL Numerical Libraries
– software library with statistical algorithms
JMP
– visual analysis and statistics package
Lertap 5
- an Excel application used to analyze responses to tests and surveys (free for students)
LIMDEP
– comprehensive statistics and econometrics package
LISREL
– statistics package used in structural equation modeling
Maple
–
programming language
with statistical features
Mathematica
– a software package with statistical particularlyŋ features
MATLAB
–
programming language
with statistical features
MaxStat
Pro – general statistical software
MedCalc
– for biomedical sciences
Microfit
– econometrics package, time series
Minitab
– general statistics package
MLwiN
– multilevel models (free to UK academics)
NAG Numerical Library
– comprehensive math and statistics library
Neural Designer
– commercial
deep learning
package
NCSS
– general statistics package
NLOGIT
– comprehensive statistics and econometrics package
NMath Stats
– statistical package for
.NET Framework
nQuery Sample Size Software
– Sample Size and Power Analysis Software
[1]
O-Matrix
–
programming language
OriginPro
– statistics and graphing, programming access to
NAG library
PASS Sample Size Software
(PASS) – power and sample size software from NCSS
Plotly
– plotting library and styling interface for analyzing data and creating browser-based graphs. Available for
R
,
Python
,
MATLAB
,
Julia
, and
Perl
Primer-E Primer
– environmental and ecological specific
PV-WAVE
–
programming language
comprehensive data analysis and visualization with IMSL statistical package
Qlucore
Omics Explorer – interactive and visual data analysis software
Quantum Programming Language
– part of the SPSS MR product line, mostly for data validation and tabulation in Marketing and Opinion Research
RapidMiner
–
machine learning
toolbox
Regression Analysis of Time Series
(RATS) – comprehensive
econometric analysis
package
SAS (software)
– comprehensive statistical package
SHAZAM (Econometrics and Statistics Software)
– comprehensive econometrics and statistics package
Simul
– econometric tool for multidimensional (multi-sectoral, multi-regional) modeling
SigmaStat
– package for group analysis
SmartPLS
– statistics package used in
partial least squares path modeling
(PLS) and PLS-based
structural equation modeling
SOCR
– online tools for teaching
statistics
and
probability theory
Speakeasy (computational environment)
– numerical computational environment and programming language with many statistical and
econometric analysis
features
SPSS Modeler
– comprehensive data mining and text analytics workbench
SPSS
Statistics – comprehensive statistics package
Stata
– comprehensive statistics package
StatCrunch
– comprehensive statistics package
Statgraphics
– general statistics package to include
cloud computing
and
Six Sigma
for use in
business development
, process improvement,
data visualization
and statistical analysis,
design of experiment
, point processes, geospatial analysis, regression, and time series analysis are all included within this complete statistical package.
Statistica
– comprehensive statistics package
StatsDirect
– statistics package designed for biomedical, public health and general health science uses
StatXact
– package for exact nonparametric and parametric statistics
Systat
– general statistics package
SuperCROSS
– comprehensive statistics package with ad-hoc, cross tabulation analysis
S-PLUS
– general statistics package
Unistat
– general statistics package that can also work as Excel add-in
The Unscrambler
– free-to-try commercial
multivariate analysis
software for Windows
Visallo
- investigative link analysis software
WarpPLS
– statistics package used in
structural equation modeling
Wolfram Language
[2]
– the computer language that evolved from the program
Mathematica
. It has similar statistical capabilities as Mathematica.
World Programming System
(WPS) – statistical package that supports the use of
Python
,
R
and
SAS
languages within in a single user program.
XploRe
Add-ons
Analyse-it
– add-on to
Microsoft Excel
for statistical analysis
NumXL
– add-on to
Microsoft Excel
for statistical and time series analysis
SigmaXL
– add-on to
Microsoft Excel
for statistical and graphical analysis
SPC XL
– add-on to
Microsoft Excel
for general statistics
Statgraphics
Sigma Express – add-on to
Microsoft Excel
for
Six Sigma
statistical analysis
SUDAAN
– add-on to
SAS
and
SPSS
for
statistical surveys
XLfit
add-on to
Microsoft Excel
for curve fitting and statistical analysis
See also
Comparison of statistical packages
Econometric software
Free statistical software
List of computer algebra systems
List of graphing software
List of numerical analysis software
List of numerical libraries
Mathematical software
Psychometric software
原文:
https://en.wikipedia.org/wiki/List_of_statistical_software
本文:
https://pub.intelligentx.net/wikipedia-list-statistical-software
讨论:请加入知识星球或者小红圈【首席架构师圈】
Orange
Bioinformatics Laboratory, Faculty of Computer and Information Science,
University of Ljubljana
10 January 2016
GNU GPL
GUI
/Python
Python, Cython
Python
Origin
OriginLab
28 October 2014
Proprietary
LabTalk
Ox programming language
OxMetrics, J.A. Doornik
August 2011
Proprietary
CLI
,
GUI
[5]
C, Fortran, R
[6]
R language
,
Python
(by
RPy
),
Perl
(by Statistics::R module)
RKWard
RKWard community
0.7.0 (16 April 2018)
[7]
GNU GPL
CLI
,
GUI
C++, ECMAScript
R language
,
Python
(by
RPy
),
Perl
(by Statistics::R module)
Revolution Analytics
Norman Nie
Proprietary
CLI
,
GUI
CLI
&
GUI
SAS language
, CAS Language (CASL), APIs for
R language
,
Python
,
Lua
,
Java
SciPy
Enthought
1.3.1 (9 August 2019)
Python
,
C
,
Fortran
Python
SHAZAM
SHAZAM Analytics Ltd
11.1.4 (April 2015)
Proprietary
CLI
,
GUI
FORTRAN, C++, C
SigmaXL
SigmaXL Inc.
11 March 2019
Proprietary
Comparison of computer algebra systems
Comparison of deep learning software
Comparison of numerical analysis software
Comparison of survey software
List of scientific journals in statistics
List of statistical packages
原文:
https://en.wikipedia.org/wiki/Comparison_of_statistical_packages
本文:
https://pub.intelligentx.net/wikipedia-comparison-statistical-packages
讨论:请加入知识星球或者小红圈【首席架构师圈】
下表提供了计算机代数系统(CAS)的比较。CAS是一个包,包含一组算法,用于对代数对象执行符号操作,一种语言来实现它们,以及使用该语言的环境。CAS可以包括用户界面和图形功能;要想有效,可能需要大量的算法库、高效的数据结构和一个快速的内核
General
CAS designed for
Hewlett-Packard
scientific
graphing calculators
of the
HP 48
/
49
/
40
/
50
series; discontinued in 2009
Fermat
Robert H. Lewis
13 July 2018
$70 if grant money available, otherwise $0
GNU GPL
Specialized CAS for
resultant
computation and
linear algebra
with
polynomial
entries
J.A.M. Vermaseren
6 July 2017
[9]
GNU GPL
CAS designed mainly for
particle physics
FriCAS
Waldek Hebisch
1.3.5
3 February 2019
modified
BSD license
Full-featured general purpose CAS. Especially strong at symbolic integration.
GAP Group
4.9.3
5 September 2018
GNU GPL
[10]
Specialized CAS for
group theory
and
combinatorics
.
GiNaC
Christian Bauer, Alexander Frink, Richard B. Kreckel, et al.
1.7.5
17 February 2019
GNU GPL
Integrate symbolic computation into C++ programs; no high-level interface, but emphasis on interoperability.
KANT/KASH
KANT Group
2005/2008
Free for non-commercial use
own license
Specialized CAS for
algebraic number theory
Macaulay2
Daniel Grayson and
Michael Stillman
GNU GPL
Specialized CAS for
algebraic geometry
and
commutative algebra
Macsyma
MIT Project MAC
and
Symbolics
Proprietary
The oldest general purpose CAS. Still alive as
Maxima
.
Magma
University of Sydney
~1990
2.22-3
20 July 2016
$1,440
Proprietary
General purpose CAS, originally specialized in
group theory
. Works with elements of
algebraic structures
rather than with non typed
mathematical expressions
Magnus
The New York Group Theory Cooperative
GNU GPL
Specialized CAS for
group theory
providing facilities for doing calculations in and about
infinite groups
. Discontinued in 2005.
Maple
Symbolic Computation Group,
University of Waterloo
2019.1
(May 28, 2019; 3 months ago)
[±]
[11]
14 March 2019
$2,390(Commercial), $2,265 (Government), $995 (Academic), $239 (Personal Edition), $99 (Student), $79 (Student, 12-Month term)
[12]
Proprietary
One of the major general purpose CAS
Mathcad
Parametric Technology Corporation
15.0 M045
November 2015
$1,600 (Commercial), $105 (Student), Free (Express Edition)
[13]
Proprietary
Numerical software
with some CAS capabilities
Mathematica
Wolfram Research
12.0.0
(April 16, 2019; 5 months ago)
[±]
[14]
16 April 2019
$2,495 (Professional), $1095 (Education), $295 (Personal),
[15]
$140 (Student), $69.95 (Student annual license),
[16]
free on
Raspberry Pi
hardware
[17]
Proprietary
One of the major general purpose CAS
Mathomatic
George Gesslein II
16.0.5
Discontinued
Elementary algebra
,
calculus
,
complex number
and
polynomial
manipulations.
Maxima
MIT Project MAC
and
Bill Schelter
et al.
5.42.0
22 January 2019
GNU GPL
General purpose CAS. Continuation of
Macsyma
; new releases occur two times a year.
MuMATH
Soft Warehouse
1970s
MuMATH-83
Discontinued
Proprietary
Predecessor of
Derive
MuPAD
SciFace Software
Discontinued
Proprietary
MathWorks
has incorporated MuPAD technology into Symbolic Math Toolbox
OpenAxiom
Gabriel Dos Reis
1.4.2
modified
BSD license
General purpose CAS. A fork of Axiom.
PARI/GP
Henri Cohen
, Karim Belabas, Bill Allombert et al.
2.11.0
18 July 2018
GNU GPL
Specialized CAS for
number theory
.
Reduce
Anthony C. Hearn
1960s
modified
BSD license
Historically important general purpose CAS. Still alive, as open-sourced and freed in December 2008
Scilab
Scilab Enterprises
6.0.2
14 February 2019
CeCILL
(GPL-compatible)
Matlab alternative.
SageMath
William A. Stein
27 June 2019
[18]
GNU GPL
Mathematics software system combining a number of existing packages, including
numerical computation
,
statistics
and
image processing
SINGULAR
University of Kaiserslautern
4-1-2
25 March 2019
GNU GPL
Computer algebra system for polynomial computations, with special emphasis on
commutative
and
non-commutative algebra
,
algebraic geometry
, and
singularity theory
.
SMath Studio
Andrey Ivashov
0.99.6839
22 September 2018
Proprietary
Mathematical notebook program similar to Mathcad.
Symbolic Math Toolbox (
MATLAB
)
MathWorks
9.4(2018a)
$3,150 (Commercial), $99 (Student Suite), $700 (Academic), $194 (Home) including required
Matlab
Proprietary
Provides tools for solving and manipulating symbolic math expressions and performing variable-precision arithmetic.
SymPy
Ondřej Čertík
10 April 2019
modified
BSD license
Python-based
TI-Nspire
CAS (Computer Software)
Texas Instruments
3.1.0.392
Proprietary
Successor to Derive. Based on Derive's engine used in TI-89/Voyage 200 and TI-Nspire handheld
Wolfram Alpha
Wolfram Research
Pro version: $4.99 / month, Pro version for students: $2.99 / month, ioRegular version: free
Proprietary
Online
computer algebra system
with step-by step solutions.
Xcas
/
Giac
Bernard Parisse
1.2.3
January 2017
General CAS, also adapted for the
HP Prime
. Compatible modes for Maple, MuPAD and TI89 syntax. Symbolic spreadsheets, Giac library for use with other programs. ARM ports for some PDAs with Linux or
WinCE
[19]
Yacas
Ayal Pinkus et al.
1998
[20]
1.7.0
26 June 2019
GNU GPL
These computer algebra systems are sometimes combined with "front end" programs that provide a better user interface, such as the general-purpose
GNU TeXmacs
.
Functionality
Below is a summary of significantly developed
symbolic
functionality in each of the systems.
Those which do not "edit equations" may have a
GUI
, plotting, ASCII graphic formulae and math font printing. The ability to generate plaintext files is also a sought-after feature because it allows a work to be understood by people who do not have a computer algebra system installed.
Operating system support
The software can run under their respective
operating systems
natively without
emulation
. Some systems must be compiled first using an appropriate compiler for the source language and target platform. For some platforms, only older releases of the software may be available.
Casio ClassPad 300
,
Casio ClassPad 300 Plus
,
Casio ClassPad 330
,
Casio ClassPad 330 Plus
,
Casio ClassPad fx-CP400
Casio ClassPad Manager
CASIO Computer Co.
3.10.7000
ClassPad Manager is an emulator which runs on a PC.
HP 49G
,
HP 49g+
,
HP 48gII
,
HP 50g
,
HP 40G
,
HP 40gs
Hewlett-Packard
1.??(1999) / 4
2.15 (2006-09-19, 2009-04-21) / 4
Based on
Erable
, which is also available as an add-on for the
HP 48S
,
HP 48SX
,
HP 48G
,
HP 48G+
,
HP 48GX
. Intended for problems which occur in engineering applications. Source code openly available.
HP Prime
Hewlett-Packard
6975 (2014-12-03) / v1.1.0-46 (2014-03-31)
Based on
Xcas
/
Giac
. Source code openly available.
TI-89
Texas Instruments
TI-89 Titanium
Texas Instruments
7/18/2005 v3.10
TI-92
Texas Instruments
TI-92 Plus
Texas Instruments
3/27/2003 v2.09
TI-Nspire CAS
,
TI-Nspire CX CAS
Texas Instruments
2014 v3.6.0.550
Voyage 200
Texas Instruments
7/18/2005 v3.10
Category:Computer algebra systems
Comparison of numerical analysis software
Comparison of statistical packages
List of information graphics software
List of numerical analysis software
List of numerical libraries
List of statistical packages
Mathematical software
Web-based simulation
原文:
https://en.wikipedia.org/wiki/List_of_computer_algebra_systems
本文:
https://pub.intelligentx.net/wikipedia-list-computer-algebra-systems
讨论:请加入知识星球或者小红圈【首席架构师圈】
原文:
https://en.wikipedia.org/wiki/Category:Data_visualization_software
本文:
https://pub.intelligentx.net/wikipedia-data-visualization-software
讨论:请加入知识星球或者小红圈【首席架构师圈】
原文:
https://en.wikipedia.org/wiki/Category:Plotting_software
本文:
https://pub.intelligentx.net/wikipedia-plotting-software
讨论:请加入知识星球或者小红圈【首席架构师圈】
Comparison of statistical packages
List of information graphics software
List of statistical software
ASReml
BLUPF90
CumFreq
Design–Expert
Epidata
Fathom: Dynamic Data Software
Football Live
G*Power
Genstat
Imputation and Variance Estimation Software
LISREL
MaxStat
MedCalc
Minitab
MLwiN
Multifactor design of experiments software
NMath Stats
NQuery Sample Size Software
PottersWheel
Primer-E Primer
PS Power and Sample Size
S-PLUS
SegReg
SigmaStat
Stata
Statcheck
StatCrunch
Statgraphics
Statistica
Statistical Lab
Statistics Online Computational Resource
StatsDirect
StatView
StatXact
SUDAAN
SYSTAT (software)
Table Producing Language
TestU01
Tidyverse
TPL Tables
TWANG
Unistat
The Unscrambler
ViSta, The Visual Statistics system
WinBUGS
WINdows KwikStat
Winpepi
World Programming System
XLispStat
原文:
https://en.wikipedia.org/wiki/Category:Statistical_software
本文:
https://pub.intelligentx.net/wikipedia-statistical-software
讨论:请加入知识星球或者小红圈【首席架构师圈】
Kafka是一个分布式、可扩展、弹性和容错的事件流平台,使您能够实时处理大量数据。Kafka Streams是一个库,通过构建Kafka生产者和消费者库,并利用Kafka的本地功能提供数据并行性、分布式协调、容错性和操作简单性,简化了应用程序开发。
架构
Kafka体系结构由两个主要层组成:
-
存储层
:负责存储和复制应用程序生成和使用的事件。存储层基于分布式提交日志的抽象,分布式提交日志是一种以持久和容错的方式存储记录序列的数据结构。Kafka中的记录是一个键值对,它还包含时间戳和可选的头。记录可以代表任何类型的事件,如客户订单、付款、点击网站或传感器读数
-
计算层
:负责在事件到达或离开系统时处理和转换事件。计算层由四个核心组件组成:生产者API、消费者API、流API和连接器API。这些组件允许您与存储层交互,并对事件执行各种操作
Kafka主题是共享一个共同主题或类别的记录流的逻辑名称。例如,您可以有一个名为“/orders”的主题,其中包含与系统中的订单相关的所有事件。一个主题可以划分为多个分区,这些分区是Kafka中并行性和可扩展性的单位。每个分区都是一个有序且不可变的记录序列,这些记录被分配给集群中的一个或多个代理(服务器)。一个分区可以有一个引导代理和零个或多个从引导代理复制数据以实现容错。
生产者API允许您将事件写入Kafka中的一个或多个主题。您可以指定各种参数,如键、值、分区、时间戳、标头、压缩类型和每个事件的确认级别。生产者API还处理事件的批处理、缓冲、序列化、错误处理和负载平衡。
消费者API允许您读取Kafka中一个或多个主题的事件。您可以指定各种参数,如组ID、偏移量、分区分配策略、反序列化类型、轮询间隔和每个使用者的提交行为。使用者API还处理事件的重新平衡、偏移管理、错误处理和并发控制。
流API允许您对Kafka中的事件执行有状态流处理。您可以使用构建在生产者和消费者API之上的Java库来定义复杂的转换、聚合、联接、窗口、状态存储和对事件的交互式查询。流API还处理流处理应用程序的可扩展性、容错性、一次性语义和应用程序重置。
连接器API允许您将Kafka与数据库、云服务或遗留系统等外部系统集成。您可以使用源连接器将外部系统中的数据摄取到Kafka主题中,也可以使用接收器连接器将Kafka话题中的数据导出到外部系统中。连接器API还处理配置管理。
流
Kafka Streams是对生产者和消费者的抽象,它使您能够专注于处理您的Kafka数据,而不必担心低级细节。您可以用Java或Scala编写代码,创建一个JAR文件,然后启动独立的应用程序,将记录流式传输到Kafka主题。
Kafka Streams为处理数据提供了两个主要的抽象:
KStream和KTable
。
KStream表示一个无限制的记录流,可以使用无状态操作(如映射、过滤、连接和聚合)对其进行转换。KTable表示记录的变更日志流,可以按键查询这些记录,并通过计数、分组、窗口化和联接等有状态操作进行更新。
Kafka Streams还支持交互式查询,允许您从外部客户端或服务查询应用程序的状态。您可以使用交互式查询来公开KTables的最新值或状态存储的内容。
设计可扩展kafka体系结构的最佳实践
需要考虑的主要方面
-
分区
:分区是实现Kafka中可扩展性和并行性的关键。一个主题被划分为一个或多个分区,这些分区分布在多个代理中。每个分区都有一个引导程序和零个或多个跟随程序,它们复制数据以实现容错。生产者根据记录键或自定义分区器将记录写入分区。使用者通过形成使用者组并将分区分配给组成员,并行地从分区中读取记录
-
复制:
复制是Kafka中确保数据可用性和持久性的机制。每个分区都可以有一个复制因子,该因子指定在不同的代理上维护多少个数据副本。分区的引导者处理所有的读写请求,而跟随者被动地复制来自引导者的数据。如果领导者失败,其中一名追随者将自动当选为新的领导者
-
序列化:
序列化是将数据从一种格式转换为另一种格式以进行传输或存储的过程。Kafka使用字节数组作为记录的数据类型,因此您需要在将数据发送到Kafka之前对其进行序列化,并在从Kafka收到数据后对其进行反序列化。Kafka为字符串、整数、字节等常见数据类型提供了内置的序列化器和反序列化器。您还可以为JSON、Avro、Protobuf等复杂数据类型使用自定义序列化器和反串行器。
-
压缩:
压缩是通过消除冗余或使用编码方案来减小数据大小的技术。压缩可以通过减少网络带宽使用、磁盘空间使用和CPU使用来提高Kafka的性能和效率。Kafka支持多种压缩编解码器,如gzip、snappy、lz4、zstd等。您可以在生产者级别或主题级别配置压缩
-
保留:
保留是决定数据在被删除或压缩之前在Kafka中保留多长时间的策略。保留可以基于时间或大小限制。基于时间的保留会删除超过指定持续时间的记录。当分区的总大小超过指定的限制时,基于大小的保留将删除记录。您还可以使用日志压缩只保留每个记录键的最新值
最佳实践
-
有意义的记录键:记录键对于确定如何在Kafka中对数据进行分区和处理非常重要。您应该使用反映数据语义和处理逻辑的有意义的记录键。例如,如果要计算每个客户的订单数量,则应使用客户ID作为记录密钥。避免使用空键或随机键,因为它们可能会导致数据分布不均匀或不必要的重新分区
-
避免创建过多或过少的主题
:过多的主题会增加管理元数据和代理连接的开销。主题过少会导致数据失真和消费者之间的争论。一个好的经验法则是每个逻辑数据类型或域有一个主题
-
选择一个平衡
吞吐量和延迟的分区大小
:更大的分区大小可以通过允许更多记录一起批处理来提高吞吐量。然而,它也会延迟向消费者交付记录,从而增加延迟。较小的分区大小可以通过更快地传递记录来减少延迟。然而,它也可以通过降低批处理效率来降低吞吐量。一个好的经验法则是分区大小在1MB到10MB之间
-
选择与所需并行级别匹配的
分区数
:分区数决定了有多少消费者可以并行使用主题中的数据。如果您的分区比使用者多,则某些分区将处于空闲状态。如果你的消费者比分区多,那么一些消费者就会饿死。一个好的经验法则是至少拥有与预期消费者的最大数量一样多的分区
-
选择一个符合可用性和持久性要求的
复制因子
:复制因子决定了在不同的代理上维护每个分区的副本数量。更高的复制因子可以在一个复制副本出现故障时允许消费者切换到另一个复制复制副本,从而提高可用性。它还可以通过降低代理崩溃时数据丢失的风险来提高耐用性。但是,更高的复制系数也会增加磁盘空间使用率和网络流量。一个好的经验法则是复制因子在2到4之间。
-
选择适当的
状态存储
:状态存储是存储流应用程序状态的本地数据库,如KTables或自定义聚合。Kafka Streams提供两种类型的状态存储:RocksDB和内存。RocksDB是一个持久的键值存储,支持快速高效地访问大量数据。内存中状态存储速度更快,但不那么耐用,而且更占用内存。您应该选择适合您的性能和可靠性要求的状态存储类型
-
调整您的配置参数:Kafka Streams公开了许多配置参数,允许您自定义流应用程序的行为和性能。您应该根据您的用例和环境来调整这些参数。例如,您可以调整缓冲区大小、批处理大小、提交间隔、缓存大小、轮询超时等,以优化应用程序的吞吐量和延迟。您还可以启用度量和日志记录来监视应用程序并对其进行故障排除
-
测试和基准测试您的应用程序:测试和基准是确保流媒体应用程序的质量和性能的重要步骤。您应该使用实际的数据和负载场景来测试您的应用程序,并测量关键指标,如吞吐量、延迟、资源利用率、错误率等。您还应该将结果与您的期望和要求进行比较,并确定需要解决的任何瓶颈或问题
-
保护您的Kafka集群和数据:您应该使用SSL、SASL或Kerberos等机制为您的Kavka集群启用身份验证、授权和加密。您还应该使用ACL、配额、复制和备份等功能来保护您的数据免受未经授权的访问、篡改或丢失
常见问题及解决方案
数据重复
使用Kafka内置的数据冗余和恢复功能,确保数据只存储一次。您还可以使用KafkaConnect将Kafka与其他系统集成,避免数据重复。
数据丢失或群集故障
您可以配置您的Kafka集群进行容错。您可以使用复制来确保您的数据存储在多个代理上。您还可以使用负载均衡器在代理之间分配流量。
数据倾斜
当数据在分区之间分布不均匀时,可能会发生数据偏斜,这会影响Kafka集群的性能。为了解决这个问题,您可以使用分区策略,在分区之间均匀分布数据,例如基于键的分区或循环分区。
缓慢的再平衡时间
您可以利用缓存来减少需要重新平衡的数据量。您还可以监控主题的数据量,以确保Kafka的性能不受影响。
网络拥塞
通过使用高速网络接口优化网络配置,将网络配置为低延迟,并使用压缩来减少传输的数据量。
冗余数据存储
仅将Kafka用于短期存储数据,并根据您的特定需求将数据迁移到关系数据库或非关系数据库。您还可以将Kafka配置为使用HDFS或blob存储以获得额外的永久性。
延迟或无序事件
您可以在Kafka Streams中使用事件时间语义和窗口操作来处理延迟或无序事件。事件时间语义意味着您使用嵌入事件中的时间戳而不是处理时间来确定事件的顺序。通过窗口操作,可以将事件分组为固定或动态时间间隔,并对其应用聚合或联接。您还可以为处理延迟到达或更新的窗口指定宽限期和保留期。
模式演变或数据格式更改
您可以使用模式注册表和序列化框架,如Avro、Protobuf或JSONSchema来处理模式演变或数据格式更改。模式注册表是一种存储和管理数据模式的服务。序列化框架允许您通过架构兼容性检查和转换对数据进行序列化和反序列化。您可以使用自定义序列化程序和反序列化程序将模式注册表和序列化框架与Kafka Streams集成。
安全漏洞
您可以使用加密、身份验证和授权来保护您的Kafka集群。您还可以监视Kafka集群的安全问题,并在必要时采取纠正措施。
监测不足
您可以实施一个全面的监控解决方案,跟踪吞吐量、延迟和错误率等关键指标。您还可以设置警报,以便在出现性能问题时通知您,并在必要时采取纠正措施。
实施不当
它可能导致数据处理效率低下和技术债务。为了避免这种情况,您可以在设计和实现Kafka架构时遵循最佳实践。您还可以监视Kafka集群的性能和可用性问题,并在必要时采取纠正措施。
最后一句话
为高性能流应用程序设计和实现可扩展的Kafka架构需要仔细规划和实现。Kafka事件驱动架构、Kafka Streams和Apache Pulsar分布式消息和流媒体平台是提高Kafka性能的一些解决方案。
在之前的一篇博客文章中,我们介绍了Apache Kafka®的一次语义。这篇文章介绍了各种消息传递语义,介绍了幂等生成器、事务和Kafka流的一次处理语义。现在,我们将继续上一节的内容,深入探讨Apache Kafka中的事务。该文档的目标是让读者熟悉有效使用Apache Kafka中的事务API所需的主要概念。
我们将讨论设计事务API的主要用例、Kafka的事务语义、用于Java客户端的事务API的细节、实现的有趣方面,以及在使用API时的重要注意事项。
这篇博客文章并不是关于使用事务细节的教程,我们也不会深入讨论设计细节。相反,我们将在适当的地方链接到JavaDocs或设计文档,以供希望深入研究的读者使用。
我们希望读者熟悉基本的Kafka概念,比如主题、分区、日志偏移量,以及代理和客户在基于Kafka的应用程序中的角色。熟悉Java的Kafka客户机也会有所帮助。
为什么交易?
我们在Kafka中设计的事务主要用于那些显示“读-进程-写”模式的应用程序,其中的读和写来自于异步数据流,比如Kafka主题。这种应用程序通常称为流处理应用程序。
第一代流处理应用程序可以容忍不准确的处理。例如,使用web页面印象流并生成每个web页面的视图聚合计数的应用程序可以容忍计数中的一些错误。
然而,随着这些应用程序的流行,对具有更强语义的流处理应用程序的需求也在增长。例如,一些金融机构使用流处理应用程序来处理用户帐户上的借方和贷方。在这些情况下,不能容忍处理过程中的错误:我们需要准确地一次处理所有消息,没有例外。
更正式地说,如果流处理应用程序使用消息a并生成消息B,使得B = F(a),那么仅一次处理就意味着如果且仅当成功生成B时才使用a,反之亦然。
使用配置为至少一次传递语义的普通Kafka生产者和消费者,流处理应用程序可能会在以下方面失去一次处理语义:
由于内部重试,生产者.send()可能导致消息B的重复写入。这是由幂等生产者解决的,并不是本文其余部分的重点。
我们可能会重新处理输入消息A,导致将重复的B消息写入输出,这违反了一次处理语义。如果流处理应用程序在写入B之后但在将A标记为已使用之前崩溃,则可能发生重新处理。因此,当它恢复时,它将再次消耗A并再次写入B,从而导致重复。
最后,在分布式环境中,应用程序会崩溃,甚至更糟!-暂时失去与系统其余部分的连接。通常,会自动启动新实例来替换那些被认为丢失的实例。通过这个过程,我们可能会有多个实例处理相同的输入主题,并写入相同的输出主题,从而导致输出重复,并违反一次处理语义。我们称之为“僵尸实例”问题。
我们在Kafka中设计了事务api来解决第二个和第三个问题。事务通过使这些周期成为原子性的,并通过促进僵死的隔离,从而在读写周期中实现精确的一次处理。
事务性语义
原子多分区写道
事务允许对多个Kafka主题和分区进行原子写入。事务中包含的所有消息都将被成功写入,或者一个也不写入。例如,处理过程中的错误可能导致事务中止,在这种情况下,来自事务的任何消息都不会被使用者读取。现在我们来看看它是如何实现原子读写周期的。
首先,让我们考虑原子读写周期的含义。简而言之,这意味着如果一个应用程序使用一个消息的抵消X topic-partition tp0,和写消息B topic-partition tp1在消息上做一些处理,B = F (a),然后read-process-write周期是a和B原子只有在消息被认为成功地消耗和发表在一起,要么一无所有。
现在,只有当消息A的偏移量X标记为已使用时,才会认为它是从主题分区tp0使用的。将偏移量标记为已使用的偏移量称为提交偏移量。在Kafka中,我们通过写入内部Kafka主题offsets主题来记录偏移量提交。仅当消息的偏移量提交到偏移量主题时,才认为该消息已被消耗。
因此从一个偏移量提交只是另一个写一个卡夫卡的话题,因为消息被认为是只有当其抵消消费承诺,原子还写跨多个主题和分区使原子read-process-write周期:提交的抵消X的补偿主题写的消息B tp1将单个事务的一部分,因此原子。
僵尸击剑(Zombie fencing)
我们通过要求为每个事务生产者分配一个称为transaction .id的惟一标识符来解决zombie实例的问题。这用于跨流程重新启动标识相同的生产者实例。
API要求事务生产者的第一个操作应该是显式注册其事务。使用Kafka集群的id。当它这样做时,Kafka代理使用给定的事务检查打开的事务。id并完成它们。它还增加与transaction .id关联的epoch。epoch是存储在每个transaction .id中的内部元数据。
一旦epoch被碰撞,任何具有相同事务的生产者。身份证和旧时代被认为是僵尸,被隔离。来自这些生产者的未来事务写将被拒绝。
读事务消息
现在,让我们将注意力转向在读取作为事务的一部分写入的消息时提供的保证。
Kafka使用者只会在事务被提交时才会向应用程序提交事务消息。换句话说,使用者不会交付作为开放事务一部分的事务性消息,也不会交付作为中止事务一部分的消息。
值得注意的是,上面的保证没有达到原子读取。特别是,当使用Kafka使用者来消费来自主题的消息时,应用程序将不知道这些消息是否作为事务的一部分写入,因此它们不知道事务何时开始或结束。进一步说,一个给定的消费者不保证订阅所有分区事务的一部分,它没有发现这个方法,这就很难保证所有的信息是一个事务的一部分最终会被一个消费者。
简而言之:Kafka保证使用者最终只交付非事务性消息或提交的事务性消息。它将从打开的事务中保留消息,并从中止的事务中过滤出消息。
Java中的事务API
事务特性主要是一个服务器端和协议级特性,任何支持它的客户端库都可以使用它。用Java编写的“读-处理-写”应用程序,使用Kafka的事务API,看起来应该是这样的:
第1-5行通过指定事务设置生产者。配置id并将其注册到initTransactions API。inittransactions()返回后,由具有相同事务的生产者的另一个实例启动的任何事务。id会被关闭和隔离。
第7-10行指定KafkaConsumer应该只读取非事务性消息,或者从它的输入主题中提交事务性消息。流处理应用程序通常在多个读写阶段处理其数据,每个阶段使用前一阶段的输出作为其输入。通过指定read_committed模式,我们可以在所有阶段只执行一次处理。
第14-21行演示了读写循环的核心:我们使用一些记录,启动一个事务,处理使用的记录,将处理过的记录写入输出主题,将使用的偏移量发送到偏移量主题,最后提交事务。根据上面提到的保证,我们知道偏移量和输出记录将作为一个原子单元提交。
事务是如何工作的
在本节中,我们将简要概述上述事务api引入的新组件和新数据流。为了更详尽地讨论这个主题,您可以阅读原始设计文档,或者观看介绍事务的Kafka峰会演讲。
下面内容的目标是在调试使用事务的应用程序时,或者在尝试调优事务以获得更好的性能时,提供一个心智模型。
事务协调器和事务日志
Kafka 0.11.0中的transactions API引入的组件是事务协调器和上图右侧的事务日志。
事务协调器是在每个Kafka代理中运行的模块。事务日志是一个内部kafka主题。每个协调器在事务日志中拥有一些分区子集。其代理为其领导的分区。
每一个事务。id通过一个简单的哈希函数映射到事务日志的特定分区。这意味着只有一个协调器拥有给定的transaction .id。
通过这种方式,我们利用Kafka的rock solid复制协议和leader选择过程来确保事务协调器总是可用的,并且所有事务状态都被持久地存储。
值得注意的是,事务日志只存储事务的最新状态,而不是事务中的实际消息。消息仅存储在实际的主题分区中。事务可以处于“进行中”、“准备提交”和“完成”等不同状态。存储在事务日志中的就是这种状态和相关的元数据。
在较高的层次上,数据流可以分为四种不同的类型。
A:生产者和事务协调者的交互
执行事务时,生产者向事务协调器发出以下请求:
initTransactions API注册一个事务。id与协调器。此时,协调器将使用该事务关闭任何挂起的事务。id和碰撞的时代,以栅栏出僵尸。每个生产者会话只发生一次。
当生产者在事务中第一次将数据发送到一个分区时,该分区首先向协调器注册。
当应用程序调用commitTransaction或abortTransaction时,将向协调器发送一个请求,以开始两阶段提交协议。
B:协调器和事务日志的交互
随着事务的进展,生产者发送上述请求来更新协调器上事务的状态。事务协调器将其拥有的每个事务的状态保存在内存中,并将该状态写入事务日志(以三种方式复制,因此是持久的)。
事务协调器是从事务日志中读写的惟一组件。如果给定的代理失败,则将选出一个新的协调器作为死代理拥有的事务日志分区的leader,它将从传入分区读取消息,以便为这些分区中的事务重建其内存状态。
C:生产者写数据到目标主题分区
在向协调器注册了事务中的新分区之后,生产者将数据正常地发送到实际的分区。这是同一个生产者。发送流,但是要进行一些额外的验证以确保生产者不受保护。
D:主题分区交互的协调器
在生产者发起提交(或中止)之后,协调器开始两阶段提交协议。
在第一阶段,协调器将其内部状态更新为“prepare_commit”,并在事务日志中更新此状态。一旦完成了这一步,就可以保证在任何情况下提交事务。
然后协调器开始第2阶段,将事务提交标记写入作为事务一部分的主题分区。
这些事务标记不公开给应用程序,而是由处于read_committed模式的使用者使用,以过滤掉中止的事务中的消息,并且不返回作为打开事务一部分的消息(即,在日志中但没有与之关联的事务标记的。
一旦写入了标记,事务协调器将事务标记为“完成”,并且生产者可以启动下一个事务。
实践中处理交易
既然我们已经理解了事务的语义以及它们是如何工作的,那么我们就将注意力转向编写利用事务的应用程序的实践方面。
如何选择一个transaction .id
事务。id在保护僵尸方面起着重要作用。但是保持一个标识符在不同的生产者会话之间是一致的,并且适当地隔离僵尸是有点棘手的。
正确隔离“僵尸”的关键是确保对于给定的transaction .id,读写周期中的输入主题和分区总是相同的。如果这不是真的,那么一些消息可能会通过事务提供的围栏泄漏。
例如,在一个分布式流处理应用程序中,假设主题分区tp0最初是由transactional处理的。T0 id。如果在以后的某个时候,它可以映射到另一个具有transactional的生产者。id T1,在T0和T1之间没有栅栏。因此,可以对来自tp0的消息进行重新处理,这违反了一次处理的保证。
实际上,必须存储输入分区和事务之间的映射。外部存储中的id,或者对其进行一些静态编码。Kafka Streams选择后一种方法来解决这个问题。
事务如何执行,以及如何调优它们
事务生产者的性能
让我们将注意力转向事务如何执行。
首先,事务只导致适度的写放大。增加的写是由于:
对于每个事务,我们都有额外的rpc向协调器注册分区。这些是成批的,因此我们的rpc比事务中的分区要少。
在完成事务时,必须将一个事务标记写入参与事务的每个分区。同样,事务协调器在单个RPC中批量处理为同一代理绑定的所有标记,因此我们在那里保存RPC开销。但是我们不能避免对事务中的每个分区进行一次额外的写操作。
最后,我们将状态更改写入事务日志。这包括对添加到事务中的每批分区的写操作、“prepare_commit”状态和“complete_commit”状态。
我们可以看到,开销与作为事务一部分写入的消息的数量无关。因此,提高吞吐量的关键是在每个事务中包含更多的消息。
实际上,对于在最大吞吐量下生成1KB记录的生产者,每100ms提交一条消息只会导致吞吐量降低3%。较小的消息或较短的事务提交间隔将导致更严重的降级。
增加事务持续时间的主要代价是增加了端到端延迟。请记住,读取事务性消息的使用者不会交付作为开放事务一部分的消息。因此,提交间隔的时间越长,应用程序的等待时间就越长,从而增加了端到端延迟。
事务消费者的性能
事务性消费者比生产者简单得多,因为它所需要做的就是:
筛选属于中止的事务的消息。
不返回作为开放事务一部分的事务消息。
因此,当以read_committed模式读取事务消息时,事务使用者的吞吐量没有下降。这样做的主要原因是,我们在读取事务性消息时保持零副本读取。
而且,使用者不需要任何缓冲来等待事务完成。相反,代理不允许它提前进行补偿,其中包括打开的事务。
因此,消费者是极其轻量级和高效的。有兴趣的读者可以在本文档中了解消费者设计的细节。
进一步的阅读
我们刚刚触及了Apache Kafka中事务的皮毛。幸运的是,几乎所有的设计细节都记录在网上。有关文件如下:
最初的Kafka KIP:它提供了关于数据流的详细信息和公共接口的概述,特别是随事务而来的配置选项。
原始设计文档:不适合胆小的人,这是权威的地方——源代码外!-了解如何处理每个事务RPC,如何维护事务日志,如何清除事务数据,等等。
KafkaProducer javadocs:这是一个学习如何使用新api的好地方。页面开头的示例以及send方法的文档都是很好的起点。
在这篇文章中,我们了解了Apache Kafka中事务API的关键设计目标,理解了事务API的语义,并对API的实际工作方式有了更深入的了解。
如果我们考虑一个读-进程-写循环,这篇文章主要讨论了读和写路径,处理本身就是一个黑盒。事实上,在处理阶段可以做很多事情,这使得仅使用事务api无法保证一次处理。例如,如果处理对其他存储系统有副作用,这里介绍的api不足以保证只进行一次处理。
Kafka Streams框架使用这里描述的事务api向上移动价值链,并为各种流处理应用程序提供一次处理,甚至包括那些在处理期间更新某些额外状态存储的应用程序。
将来的一篇博客文章将讨论Kafka流如何提供一次处理语义,以及如何编写利用它的应用程序。
最后,对于那些渴望了解上述api实现细节的人,我们将在另一篇后续博客文章中介绍一些更有趣的解决方案。
原文:
https://www.confluent.io/blog/transactions-apache-kafka/
本文:
https://pub.intelligentx.net/node/829
讨论:请加入知识星球【首席架构师圈】或者飞聊小组【首席架构师智库】