Software engine
{{Short description|Core component of a complex software system}}
A software engine is a core component of a complex software system. The word "engine" is a metaphor of a car's engine. Thus a software engine is a complex subsystem.
There is no formal guideline for what should be called an engine, but the term has become widespread in the software industry.{{cite web |title=10 Types of Software Engines That You Should Know About |url=https://www.spiceworks.com/tech/devops/articles/what-is-software-engine/ |quote=In different contexts, software engines can mean different things. |website=spiceworks.com}}{{Cite web |title=Engine |url=https://www.techopedia.com/definition/24155/engine |access-date=2023-06-29 |website=Techopedia |language=en-US}}{{cite web |title=Definition of engine |url=https://www.pcmag.com/encyclopedia/term/engine |website=pcmag.com}}
Notable examples
{{Columns-list|colwidth=15em|
- Antivirus engine{{cite web |title=How it works |url=https://docs.virustotal.com/docs/how-it-works |website=VirusTotal}}
- Chess engine
- Correlation engine
- Database engine
- Graphics engine
- Layout engine{{cite web |title=layout-engine · GitHub Topics |url=https://github.com/topics/layout-engine |website=GitHub}}
- Physics engine
- Polymorphic engine
- Reasoning engine
- Recommendation engine
- Regular expression engine
- Search engine
- Workflow engine
}}
=Multi-engine systems=
- Mainstream web browsers have both a rendering engine and a JavaScript engine.
- Video games are often based on a game engine. Some of these also have specialized physics or graphics engines.
References
{{Reflist}}