WoW:Ace (AddOn): Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
No edit summary
Line 4: Line 4:




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


<div style="margin-left: 3%; max-width: 70em;">
<div style="margin-left: 3%; max-width: 70em;">
Line 10: Line 10:
|- valign=top
|- valign=top
|
|
;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>
;AceLibrary: <small>[http://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.</small>


;AceOO: <small>[http://wiki.wowace.com/index.php/AceOO-2.0 AceOO] provides an object-orientation framework.</small>
;AceOO: <small>[http://www.wowace.com/index.php/AceOO-2.0 AceOO] provides an object-orientation framework.</small>


;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>
;AceAddon: <small>[http://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.</small>


;AceConsole: <small>[http://wiki.wowace.com/index.php/AceConsole-2.0 AceConsole] provides console I/O functionality - slash commands, easy printing, etc.</small>
;AceConsole: <small>[http://www.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>
;AceDB: <small>[http://www.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;
| 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>
;AceEvent: <small>[http://www.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>
;AceDebug: <small>[http://www.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>
;AceHook: <small>[http://www.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>
;AceLocale: <small>[http://www.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>
;AceModuleCore: <small>[http://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, etc for you.</small>
|}
|}


Line 38: Line 38:
{{spc}}
{{spc}}
At the writing of this article, '''Ace2''' is in public beta.  It 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.
At the writing of this article, '''Ace2''' is in public beta.  It 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>


</div>
== Ace's design philosophy ==   
== Ace's design philosophy ==   
<div style="margin-left: 3%;">
<div style="margin-left: 3%;">
Line 45: Line 46:


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>


</div>
== Ace Resources ==   
== Ace Resources ==   
<div style="margin-left: 3%;">
<div style="margin-left: 3%;">
Line 53: Line 55:
* [http://svn.wowace.com/root/trunk svn.wowace.com] - Ace SubVersion source code repository ''Note: The svn repo is now Dev only, but you can still access the files from the [http://svn.wowace.com/files files page]''
* [http://svn.wowace.com/root/trunk svn.wowace.com] - Ace SubVersion source code repository ''Note: The svn repo is now Dev only, but you can still access the files from the [http://svn.wowace.com/files files page]''


* [http://www.wowinterface.com/downloads/cat47.html wowinterface.com] - Long list of Aced AddOns, by categories!
* [http://www.wowace.com/forums/ www.wowace.com/forums] - Ace forums
 
* [http://www.wowinterface.com/downloads/cat47.html Ace AddOns] on [[WoWInterface]] - Long list of Aced AddOns, by categories!
</div>




</div>
[[Category:Function Libraries]]
[[Category:Function Libraries]]

Revision as of 06:54, 27 September 2006

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.


Brief feature list and component overview of Ace2

AceLibrary
AceLibrary handles version compatibility of libraries - Ace ones as well as your own. It also helps with error handling.
AceOO
AceOO provides an object-orientation framework.
AceAddon
AceAddon is Ace's main interface to AddOns. Ace components present their functionality through it. It also handles simple initialization events.
AceConsole
AceConsole provides console I/O functionality - slash commands, easy printing, etc.
AceDB
AceDB allows for fast, clean, and featureful saved variable access, including per-class settings and more.
 
AceEvent
AceEvent allows for simple event handling, scheduling, and inter-addon communication.
AceDebug
AceDebug simplifies AddOn debugging.
AceHook
AceHook provides safe hooking of functions, methods, and scripts.
AceLocale
AceLocale makes localization (translation) of your AddOns ridiculously simple.
AceModuleCore
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.

Template:Spc Ace also has built-in myAddons support.

Template:Spc At the writing of this article, Ace2 is in public beta. It 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.


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

  • svn.wowace.com - Ace SubVersion source code repository Note: The svn repo is now Dev only, but you can still access the files from the files page