Welcome to the Application Extensibility Framework community site
The Application Extensibility Framework is designed to make it easier to develop extensible applications using a service-oriented architecture approach. It can be used to create abstract core safely extended by user plugins extensions as application services.
Application Extensibility Framework is a new library in .NET that can gives you a tiny replacement for 170 MB .NET FW 4.0
If you don't need the functionality of whole .NET FW 4.0 features you can download application extensibility framework library called Plugins.
Release Notes 3.07.09 Added
Plugins.State library, implementation of
Object-Oriented State Machine abstraction.
Added
State.UI sample, which shows the construction of state machine, using the
generic classes.
http://www.freeimagehosting.net/uploads/b10aab245e.jpg 29.06.09 Added Pi.Graphics sample. It plays a little with input data, showing the
graphics capabilities of
PluginsGraphicsControl control.
http://www.freeimagehosting.net/uploads/b4cb242c87.jpg Added Pi.Windows sample. This is a complete sample of using
PluginWindowManager for
child windows layout solution, which is able to store child windows state between sessions.
http://plugins.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=29165 http://www.freeimagehosting.net/uploads/4cd9aac3c1.jpg 28.06.09 Added support for Load / Save window settings, added support for window layout settings (window state).
private void PiWindow_Load(object sender, EventArgs e)
{
LoadOptions("options.xml");
LoadWindowState();
}
private void PiWindow_FormClosing(object sender, System.Windows.Forms.FormClosingEventArgs e)
{
UnloadWindowState();
UnloadOptions("options.xml");
}
27.06.09 Samples screenshots:
Pi Sample:
http://www.freeimagehosting.net/uploads/d91fc158df.jpg Pi.UI Sample:
http://www.freeimagehosting.net/uploads/f036ed520a.jpg 24.06.09: Added Pi calculus sample from here:
http://bartdesmet.net/blogs/bart/archive/2008/07/03/parallel-extensions-using-futures-to-calculate-pi-in-hexadecimal.aspx Results on my working machine (
4 CPU, Intel i7 940, 12 GB DDR3, no swap):
Sequential:
00:00:05.5771804Parallel:
00:00:01.2483631Ratio: 4
Give me yours results! Post yours result and ideas about optimisations! Can we eat .NET FW 4.0 Parallel extensions on a breakfast?
23.06.09: Added
Plugins.Threading library as very efficient alternative for .NET FW 4.0
Parallel BCL extensions
This librarry allow to create parallel programms in a clean way:
*define work item data
*define work item algorithm
Other stuff like proper
sync-ing are handled by
Plugins.Threading automatically
For whose of you who are not familiar with parallel development ther is a lightweight version also. See
PluginBaseWorkItem<T> abstract class.
Direct link to a change set 22112 (initial for
Plugins):
http://plugins.codeplex.com/SourceControl/changeset/view/22112 20.03.09: -
GZipStreamHelper has been added to Plugins.Library code (see the downloads page)
it allows us to use GZipStram to safe compressing/decompressing both binary and text data.
Benefits of using this library:
- small executables size
- advanced Object-To-XML and XML-To-Object serialization
- configurable
- extensible
Application Extensibility Framework supports:
- abstract classes as a high-level abstraction of an application
- interfaces as object contracts
- indirect object processing
- indirect service processing
- runtime object activation / deactivstion
- runtime service activation / deactivstion
- runtime host activation / deactivstion
- static and dynamic application configuration
- on-demand runtime serialization
- run-time and design-time serialzation assembly compilation
- run-time serialization object's caching
Application Extensibility Framework is in development. The source available on this site. If you are downloading the source, consider it a preview of where we are at currently. We welcome any feedback you have on your experience.
The inital version 1.0.0 contains library code applied to application extensibility, logging, serialization, isolation and configuration.
Current version release
http://plugins.codeplex.com The version number for the stable current release is 2.0.0.0. It contains major improvements, bug fixes and enchancements, including:
- object-orienterd state machine
- window manager implementation
- window implementation
- abstract storage for any Serializable data types