![]() |
AtOne Application Framework
"A Framework working with you, not against you..." |
||||||||||||||||||||||
|
Features Programming License Downloads Directions Contact
|
AtOne (pronounced "At One") is a unique Application framework built around
the industry standard WIN32 API that manages the messy side of Windows
programming without placing unecessary obstacles in your way. Unlike MFC
AtOne is object oriented programming from the ground up. The richness of
the lower level classes, that are unfortunately absent in MFC, will allow
you to painlessly construct an application using any particular interaction
model you care to think of rather than being landed with Document-View
as your only option. AtOne gives you rich well encapsulated GDI support,
better object life-cycle management through extensive use of reference
counting and a unified view of windows.
Beyond these features AtOne seeks to utilize the strengths of WIN32 and improve upon it weaknesses. We, for example, have chosen to implement dialog creation and management ourselves (utilizing standard WIN32 dialog resources) so that the many weaknesses that stem from treating dialogs differently from windows can be eliminated. This has removed the coupling between message loop and dialog box and simplified the creation and management of dialogs (whether tabbed or otherwise). Indeed, AtOne does not strictly have dialogs, only windows. The controls specified in a dialog template are created on a window and the dialog helper classes in AtOne merely simplify the process of control instantiation. Likewise the distinction between controls and windows in AtOne is rather vague and for good reason. Within AtOne we have made serious attempts to maintain one of the most powerful features of WIN32, namely WIN32 window class identity and class registration. Curiously other frameworks have struggled to maintain this important feature. Consequently many programming tasks are difficult if not impossible to cleanly implement. Take, for example, the case of creating a new control in your application framework. Once developed you cannot simply specify the control class in a dialog resource script and expect it to work, or can you? You certainly can with AtOne! Once you've developed a new control you can specify it in any dialog resource script and have the control instantiated automatically. Absolutely no extra coding is required because AtOne knows about the controls you have built and understands how to create them. But how can I use the control in situ if the dialog box only knows the control as a window? You can because AtOne provides class identity for all window classes allowing you to safely down cast to your control class pointer thus giving you access to the controls' features. But this is just a brief summary of some of the ways AtOne will help, rather than hinder, your application development and best of all, AtOne is free and open. So next time you need to develop a sophisticated and efficient WIN32 application download AtOne and see if we can help you on your way! For further information on AtOne please consult the topics listed below. AtOne FeaturesIf you would like to make a contribution to the AtOne code base please get in touch! We welcome your contributions to AtOne. Why Open Source? Why Free?We chose to make AtOne both open source and free because we would like to encourage better software design and development in the wider software community. We strongly feel that commercial and bundled application frameworks such as Object Windows and MFC are poorly designed and constructed forcing developers into unecessary corners. The wide proliferation of application frameworks such as MFC would in turn make it very difficult to gain any market penentration as a commercial product. Furthermore, having to pay for AtOne would certainly discourage its uptake and therefore have little or no impact on current software development practice. Remember here, that our aim is to show an alternative and hopefully a better way to develop software. Making AtOne free gives us the best chance of making this aim a reality. By making AtOne open source we also gain from the experiences of those who develop with it. All in all it is the only way to achieve our aims and in doing so, we hope to be of benefit to the software development community.
If you are looking for a framework that thoroughly supports ActiveX you are looking in the wrong place. We believe that because of the way in which ActiveX technology has evolved it has created more problems than it solves. This is not to say that the concept is wrong. Indeed, the concept is correct but the implementation is flawed. Having extensive experience in implementing a commercial ActiveX container application (Citect by Ci Technologies), we have given ActiveX a low priority. If we should ever supported ActiveX it shall be a long way down the track. Many other more important features must be developed first. If ActiveX is important to you, you can always attempt to support it yourself and if that wont do you have always got MFC as a fallback position.
"We use Zeus for Windows and Watcom C/C++ 11.0 as our development environment of choice..." Paavo Jumppanen
|
||||||||||||||||||||||