ACDK 4.13.0

ACDK - Artefaktur Component Development Kit is a platform independent C++-framework similar to Java or C#/.NET.

  Add it to your Download Basket!

 Add it to your Watch List!


Rate it!
send us
an update
LGPL (GNU Lesser General Public License) 
5.0/5 2
Roger Rene Kommer
ROOT \ Programming \ UI (User Interfaces)
ACDK is a development framework with a similar target of Microsoft's .NET or Sun's ONE platform, but instead of using Basic/C# or Java as programming language, it bases C++ as core implementation language.

ACDK implements the standard library packages, including acdk::lang, acdk::lang::reflect, acdk::util, acdk::io, acdk::text (including regexpr), acdk::net, acdk::sql, acdk::xml and more. Today's technologies like flexible Allocator/Garbage Collection, Threading and Unicode are implemented in the core of ACDK.

With the extensions of ACDK C++ objects are available for reflection, serialization, aspect oriented class attributes and [D]ynamic [M]ethod [I]nvocation. This DMI act as an universal object oriented call interface to connect C++ with scripting languages (Java, Perl, Tcl, Python, CfgScript, Lisp, Visual Basic, VBScript) and standard component technologies (CORBA, COM+).

With acdk::wx a rich platform independ GUI-library is available for C++ and Scripting languages.

Here are some key features of "ACDK":

Java like language constructs in C++
· Garbage Collection for Objects
· Java like object modell with classes and interfaces
· Source code is pure C++
Provided for many major plattforms:
· Windows 95 - Windows XP
· Linux
· FreeBSD
· Solaris
Java like core library
· java.lang -> acdk::lang
· java.lang.ref -> acdk::lang::ref
· java.lang.reflect -> acdk::lang::reflect
· -> acdk::io (with limitation)
· java.util -> acdk::util
· java.util.logging -> acdk::util::logging
· java.text -> acdk::text
· -> acdk::net
· java.locale -> acdk::locale (additionally character encodings)
· -> acdk::security
· java.sql -> acdk::sql
· org.xml.sax, org.w3c.dom -> org::xml::sax, org::w3c::dom, org::w3c::dom::xpath.
Standard Java Features
· Unicode support with several character encodings.
· Threads
· Objects with wait and notify/notifyAll
· Synchronization of methods or blocks
· Exceptions with Backtrace
· Java like arrays from classes and basic atomic types (like int)
· Enhancement relative to Java
· Object variables as stack variables with better performance
· Function attribute oneway
· Function argument attributes IN, OUT, INOUT, BYVAL, BYVALIN, BYVALOUT, BYVALINOUT
· Enhanced Allocator concept and customizable Garbage Collection.
· Connectable Information to every language definition part (classes, methods, parameter, and so on) as Attributes.
Runtime Information about:
+ class name, namespace, base classes and public/private
+ Member, static, public/protected/private, Type of member, name of member
+ Constructor with arguments (see methods)
+ Methods, static, public/protected/private, with type of of return value, type and name of argument, throw specifications.
+ Attributes similar to to C# Attributes and Java Annotations.
· Load classes and library by name
Dynamic Method Invocation Interface (DMI).
· create objects by class name
· Read/Write normal and static member variables identified by name
· Invoke normal and static methods, identified by name.
Serialization and Persistenz
· Serialisation of objects
· Save Objects to binary or XML.
· serialized_clone (shallow and deep)
· serialized_equals
· Java compatible serialization of Objects (included in acdk_java).
Further library based features
Enhanced IO library byte and char based
· All IO-Classes implements Reader/Writer CharReader/CharWriter interfaces
· all IO-Classes implements FilterReader/FilterWriter or Storage interface
· Free combination and chaining of Readers/Writers
Enhanced File interface
- Interface to different file systems.
+ Normal OS file system
+ Ressource file system embedded in an executable or library
+ ZIP file system for ZIP archives
+ TAR file system for TAR archives
+ FTP file system for remove internet file access
· Regular Pattern matching.
· Regular Pattern matching
XML Handling
· Parsing using SAX(2) Interfaces
· Parsing to DOM
· Validating XML files
· Selecting XML using XPath
· Building in memory DOM trees
· Serialize/Deserialize ACDK Objects to/from XML
· dom4j like extentions for the standard dom modell.
JDBC like Database connectivity
· ODBC database on Windows
· Oracle
· Postgres
· Configuration - Tests - Debugging
· Plattform neutral make files, generating Makefiles for gmake, bsd make, nmake, Microsoft Visual Studio (.dsw/.dsp).
· Regression tests through a unit test concept.
· Documentation system following JavaDoc convention
· Online Reference and HTML-Help.
· Integrated Tracing and Logging with log4j like framework.
Online Debugger (Alpha)
· view Dump of all ACDK objects in a hierarchical view grouped in static global data and working sets of the threads.
· Modify value while system is running.
· Trace monitor.
· Object Tracer
· Garbage Collector Monitor
· Object Profiler
· Telnet Lisp/CfgScript console to
+ inspect data
+ modify data
+ calling Objects methods
Integration of Scripting
All ACDK object can be invoked with scripting languages without any further stub or interface code using ACDK DMI facility.
· with CfgScript (build in Java/JavaScript like interpreter)
· with Lisp (build in interpreter)
· with Java
· with Perl
· with Tcl
· with Python
· with VBScript (Windows only)
· with JavaScript (Windows only)
· with Visual Basic (Windows only)
Embedding a full featured script interpreter into ACDK:
· with CfgScript
· Lisp
· Perl
· Java
· Tcl
· Python
· JavaScript
· VBScript

Last updated on April 13th, 2005

#C++ framework #platform independent #development kit #ACDK #framework #development

Add your review!