WoW:Ace (AddOn): Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
(Redesign to look better in lower resolutions)
m (Move page script moved page Ace (AddOn) to Ace (AddOn) without leaving a redirect)
 
(16 intermediate revisions by 13 users not shown)
Line 1: Line 1:
{| cellspacing=0 cellpadding=0 style="background-color: transparent;"
{{addon|lib=1|hosted=0}}
|- align=top
|<div style="white-space: nowrap;">http://www.wowace.com/images/layout/logo.jpg<small></small>http://www.wowace.com/images/layout/title.jpg</div>
| width=20 | &nbsp;
|
'''Ace''' is a lightweight and powerful system for building [[World of Warcraft]] [[AddOns]]. It is a new approach to addon development, a rethinking from the ground up.
|}


'''Ace''' is a lightweight and powerful system for building [[w:c:wowwiki:World of Warcraft|World of Warcraft]] [[AddOns]]. It is a new approach to addon development, a rethinking from the ground up.


Ace provides developers with the tools needed by most addons, freeing them from repeating common tasks and allowing them to jump right into the creative part of building their addons. New and experienced addon coders alike can benefit from Ace's features.
Ace provides developers with the tools needed by most AddOns, freeing them from repeating common tasks and allowing them to jump right into the creative part of building their AddOns. New and experienced AddOn coders alike can benefit from Ace's features.


Also see: [[Ace2 (AddOn)|Ace2]], [[Ace3 (AddOn)|Ace3]]


== Brief feature list and component overview==
== Feature list ==
Brief feature list and component overview of Ace2


<div style="margin-left: 3%; max-width: 70em;">
* [//www.wowace.com/index.php/AceLibrary AceLibrary] handles version compatibility of libraries - Ace ones as well as your own. It also helps with error handling
{| cellspacing=0 cellpadding=0 style="background-color: transparent;"
* [//www.wowace.com/index.php/AceOO-2.0 AceOO] provides an object-orientation framework
|- valign=top
* [//www.wowace.com/index.php/AceAddon-2.0 AceAddon] is Ace's main interface to AddOns. Ace components present their functionality through it. It also handles simple initialization events
|
* [//www.wowace.com/index.php/AceConsole-2.0 AceConsole] provides console I/O functionality - slash commands, easy printing, etc
;AceLibrary: <small>[http://wiki.wowace.com/index.php/AceLibrary AceLibrary] handles version compatibility of libraries - Ace ones as well as your own. It also helps with error handling.</small>
* [//www.wowace.com/index.php/AceDB-2.0 AceDB] allows for fast, clean, and featureful saved variable access, including per-class settings and more
* [//www.wowace.com/index.php/AceEvent-2.0 AceEvent] allows for simple event handling, scheduling, and inter-addon communication


;AceOO: <small>[http://wiki.wowace.com/index.php/AceOO-2.0 AceOO] provides an object-orientation framework.</small>
* [//www.wowace.com/index.php/AceDebug-2.0 AceDebug] simplifies AddOn debugging
* [//www.wowace.com/index.php/AceHook-2.0 AceHook] provides safe hooking of functions, methods, and scripts
* [//www.wowace.com/index.php/AceLocale-2.0 AceLocale] makes localization (translation) of your AddOns ridiculously simple
* [//www.wowace.com/index.php/AceModuleCore-2.0 AceModuleCore] helps you split your AddOn into separate "modules" that can easily be turned on and off. Handles enabling/disabling of events, hooks, tooltip scanners


;AceAddon: <small>[http://wiki.wowace.com/index.php/AceAddon-2.0 AceAddon] is Ace's main interface to AddOns. Ace components present their functionality through it. It also handles simple initialization events.</small>


;AceConsole: <small>[http://wiki.wowace.com/index.php/AceConsole-2.0 AceConsole] provides console I/O functionality - slash commands, easy printing, etc.</small>
;AceDB: <small>[http://wiki.wowace.com/index.php/AceDB-2.0 AceDB] allows for fast, clean, and featureful saved variable access, including per-class settings and more.</small>
| width=20 | &nbsp;
|
;AceEvent: <small>[http://wiki.wowace.com/index.php/AceEvent-2.0 AceEvent] allows for simple event handling, scheduling, and inter-addon communication.</small>
;AceDebug: <small>[http://wiki.wowace.com/index.php/AceDebug-2.0 AceDebug] simplifies AddOn debugging.</small>
;AceHook: <small>[http://wiki.wowace.com/index.php/AceHook-2.0 AceHook] provides safe hooking of functions, methods, and scripts.</small>
;AceLocale: <small>[http://wiki.wowace.com/index.php/AceLocale-2.0 AceLocale] makes localization (translation) of your AddOns ridiculously simple.</small>
;AceModuleCore: <small>[http://wiki.wowace.com/index.php/AceModuleCore-2.0 AceModuleCore] helps you split your AddOn into separate "modules" that can easily be turned on and off. Handles enabling/disabling of events, hooks, tooltip scanners, etc for you.</small>
|}
{{spc}}
Ace also has built-in myAddons support.
Ace also has built-in myAddons support.


{{spc}}
[[Ace2 (AddOn)|Ace2]] was a major step up in documentation from Ace, and also allows the library (whichever parts you need) to be fully embedded into your AddOn if you do not want to depend on Ace being installed separately.
At the writing of this article, '''Ace2''' is in the works, which is a major step up in documentation, and also allows the library (whichever parts you need) to be fully embedded into your AddOn if you do not want to depend on Ace being installed separately.


</div>
Ace and Ace2 are at end of life currently and superseded by Ace3.
== Ace's design philosophy ==  <div style="margin-left: 3%;">


The primary design philosophy of Ace is simple: less is more. This means less code, fewer resources used, less effort designing an addon, less stress on the UI. Every aspect of Ace is scrutinized for efficiency, not only in code design but in ensuring that only the necessary amount of memory and processing is used to perform a given task. This means that addons built with Ace are more efficient and can very likely free up memory and reduce game lag compared to an addon not using Ace.
== Ace's design philosophy == 
 
The primary design philosophy of Ace is simple: less is more. This means less code, fewer resources used, less effort designing an addon, less stress on the UI. Every aspect of Ace is scrutinized for efficiency, not only in code design but in ensuring that only the necessary amount of memory and processing is used to perform a given task.
In addition to this, Ace brings a much needed standard to addon development. Blizzard designed the World of Warcraft UI to offer a tremendous amount of flexibility to those with the desire to dig in and tinker with it. However, they didn't provide many tools and virtually no documentation. So addon developers have had to rely on their own ingenuity to dig into the existing code and figure it out. Through trial and error, much has been learned about how the UI works.


Ace seeks to consolidate this knowledge into a central resource, providing developers with a full addon framework that is easy to use, very flexible, and very powerful. This framework provides the most common components addons need, like data management and chat command handling, and it also provides a glue that links addons together and allows them to share system resources smoothly and efficiently.
Ace seeks to consolidate this knowledge into a central resource, providing developers with a full addon framework that is easy to use, very flexible, and very powerful. This framework provides the most common components addons need, like data management and chat command handling, and it also provides a glue that links addons together and allows them to share system resources smoothly and efficiently.


</div>
== Ace Resources ==   
== Ace Resources ==  <div style="margin-left: 3%;">
{{elink|icon=wowace|link=http://www.wowace.com|site=www.wowace.com|desc=&nbsp;- Main Page/Ace Wiki}}
 
* [http://www.wowace.com www.wowace.com] - main page, including download
 
* [http://wiki.wowace.com/ wiki.wowace.com] - Ace wiki, main documentation source


* [http://svn.wowace.com/root/trunk/ svn.wowace.com] - Ace SubVersion source code repository
{{elink|icon=wowace|link=http://files.wowace.com/|site=<s>files.wowace.com</s>|desc=&nbsp;- Downloads now hosted by CurseForge (used to have released Ace addons and non-ace ones)}}


* [http://www.wowinterface.com/downloads/cat47.html wowinterface.com] - Long list of Aced AddOns, by categories!
{{elink|icon=wowace|link=http://svn.wowace.com/root/trunk|site=svn.wowace.com|desc=&nbsp;- Ace SubVersion (SVN) source code repository (read only).}}


{{elink|icon=wowace|link=http://www.wowace.com/forums/|site=www.wowace.com|desc=&nbsp;- Ace forums}}


</div>
{{elink|icon=wowi|site=WoWInterface|link=http://www.wowinterface.com/downloads/cat47.html|desc=Ace AddOns - Long list of Aced AddOns, by categories!}}
[[Category:Function Libraries]]

Latest revision as of 04:44, 15 August 2023

AddOn
WoW AddOn Library Page

Ace is a lightweight and powerful system for building World of Warcraft AddOns. It is a new approach to addon development, a rethinking from the ground up.

Ace provides developers with the tools needed by most AddOns, freeing them from repeating common tasks and allowing them to jump right into the creative part of building their AddOns. New and experienced AddOn coders alike can benefit from Ace's features.

Also see: Ace2, Ace3

Feature list

Brief feature list and component overview of Ace2

  • AceLibrary handles version compatibility of libraries - Ace ones as well as your own. It also helps with error handling
  • AceOO provides an object-orientation framework
  • AceAddon is Ace's main interface to AddOns. Ace components present their functionality through it. It also handles simple initialization events
  • AceConsole provides console I/O functionality - slash commands, easy printing, etc
  • AceDB allows for fast, clean, and featureful saved variable access, including per-class settings and more
  • AceEvent allows for simple event handling, scheduling, and inter-addon communication
  • AceDebug simplifies AddOn debugging
  • AceHook provides safe hooking of functions, methods, and scripts
  • AceLocale makes localization (translation) of your AddOns ridiculously simple
  • AceModuleCore helps you split your AddOn into separate "modules" that can easily be turned on and off. Handles enabling/disabling of events, hooks, tooltip scanners


Ace also has built-in myAddons support.

Ace2 was a major step up in documentation from Ace, and also allows the library (whichever parts you need) to be fully embedded into your AddOn if you do not want to depend on Ace being installed separately.

Ace and Ace2 are at end of life currently and superseded by Ace3.

Ace's design philosophy

The primary design philosophy of Ace is simple: less is more. This means less code, fewer resources used, less effort designing an addon, less stress on the UI. Every aspect of Ace is scrutinized for efficiency, not only in code design but in ensuring that only the necessary amount of memory and processing is used to perform a given task.

Ace seeks to consolidate this knowledge into a central resource, providing developers with a full addon framework that is easy to use, very flexible, and very powerful. This framework provides the most common components addons need, like data management and chat command handling, and it also provides a glue that links addons together and allows them to share system resources smoothly and efficiently.

Ace Resources