|
|
|
|
|
Most important about ACDK
|
|
|
ACDK is a free C++ library supporting many Java idioms and functionality.
ACDK has strong support in integration of scripting and distributed technologies.
Please refer to the Downloads
section for the last recent relaeses.
Please refer to Download/Support for more information.
Currently, the following platforms are being supported:
- Windows NT/XP
- Sun Solaris
- Linux
- BSD
- MaxOS (planned)
Additional unix- platforms will be available upon request.
See also Porting ACDK to other platforms.
The following C++ compilers are currently being supported:
- Microsoft Visual C++ 6.0 (SP3)
- Microsoft Visual C++ .NET (aka VC 7.0)
- Microsoft Visual C++ .NET 2005 (aka VC 8.0)
- GCC g++ 2.95.2 - 3.x
Ports on other compilers have been successfully transferred.
- Sun Workshop 6
- Borland C++ 5.5
- Borland C++ 6
- Borland C++ X
ACDK has originally been produced in a pure ANSI C++, so that other ports
should possible without complications.
ACDK is available under the LGPL license.
Please refer to License.
Please refer to Installation.
Please refer to Packages.
This page will be included by acdk_about_features and acdk_hb_onepage
ACDK is a set of class libraries with currently about 56 MB source code
in 3,000 files with about 1,500,000 lines of codes and 5,000 classes.
- Core Features
- 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 2000, Windows XP, Windows 2003
- Linux
- FreeBSD
- Solaris
- Java like core library
- 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)
- Locale support.
- Enhancement relative to Java
- Object variables as stack variables with better performance
- Extensionable string encoding framework in acdk::locale.
- 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.
- Many string Convience methods integrated in the acdk::lang::String.
- Reflection
- 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
- 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 remote internet file access
- HTTP(S) url file system.
- Networking
- TCP client/server Sockets
- UDP client/server Sockets
- SSL Sockets
- HTTP URLs
- HTTPS URLs
- 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
- 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.
- Embedding a full featured script interpreter into ACDK:
- with CfgScript
- Lisp
- Perl
- Java
- Tcl
- Python
- JavaScript
- VBScript
-
- Platform independed GUI programming
- Create rich GUIs for Windows and Unix
- Using ACDK WX to create GUI application in ACDK C++ or CfgScript.
- Integration of Distributed Computing
- CORBA
- Most classes and interfaces can be used as CORBA server object implementation
without any further programming or code generation.
- Embedded Generation of Skeleton and Stub for native simple and powerfull
ACDK language mapping (similar to Java language mapping).
- DII, DSI and IR support for any ACDK class.
- Most CORBA objects can be used in ACDK, without further Skeleton or Stub
- Enhanced CORBA Object communication for ACDK object supporting
function overloading using IIOP.
- COM
- All classes and interfaces can be used as COM/ActiveX component implementation
without any further programming or code generation.
- All ActiveX components can be easely used in ACDK without
any further programming or code generation using a simple and powerfull
language mapping.
- An VBScript or JavaScript-Interpreter can be embedded in your application.
- Planned: Full access to ActiveX components from Linux, Solaris, MacOS X and FreeBSD
without any further programming or code generation.
- Planned: Full access to Server components running Linux, Solaris, MacOS X and FreeBSD
through DCOM from Windows
- Transparent, buildin Remote Method Calls via ACDK RDMI.
- .NET / C-Sharp (Planned)
- Full access to .NET libraries without any programming or code generation.
- All ACDK classes can be called through any .NET language without any
programming or code generation.
- Planned: Integration of .NET application (server or client) on Linux, Solaris,
MacOS X and FreeBSD.
- XML-RPC (Planned)
- Full-Featured remote invokation using XML and TCP/IP
- Enhanced SOAP (Planned)
- Standard SOAP HTTP-Server
- Static methods of ACDK classes can be called via SOAP
- Enhancements for Distributed Computing not addressed in SOAP
- Full interaction between the scripting languages and Distributed Computing technologies
- Steer CORBA objects through ActiveX clients
- Control DCOM application through CORBA clients
- using Perl to control ActiveX applications
- using Visual Basic to use CORBA server application
- Use Scripting to implement C++ Interfaces, derive from
C++ classes.
- Use Script classes to serve as COM/CORBA server objects.
- and many other combinations ....
|
|