| |||||||||||||||||||||||||||
XANA Concept
About XANAHelsinki, October 22, 1999. XANA initiative was announced today.
XANA stands for eXtensible Applications Native Approach. What XANA does exactly mean? In a few words, it is the software applications development approach, which does recognize the fact that there are different platforms with different programming language capabilities. Each platform has its own programming language set best suited and supported on that very platform. Programming language can be selected based on de-facto platform history, an individual programmer's preferences, convenient (RAD) development environment availability, and, not the least at all, the runtime speed, effectiveness and interoperability with native services available on that platform. Almost every platform has its own set of toughly integrated services build-in just on that particular platform (UNIX vs. Windows, etc.). It is not a secret that the competition and manageability trends lead to even worse dispersion in that area (Linux). So we can rise the question here: Why anyone would be willed to write his own infrastructure and common services for applications manageability, security, transaction management, load balancing, etc.? Or why anybody would want to re-write ALL his/her software applications just to accommodate the coolest language available for the moment? Success of any high level programming language depends on its capability to effectively utilize platform APIs, services and other means. With as thin and as fast as possible additional layers to make the job done. It is definitely bad that you are going to have yet another wrapper upon native platform, its API plus possible GUI API extensions. And it is even worse if at the same time you are going to bypass much of usable infrastructure possibly made available for any application on some platform (Windows, BeOS), which is equal to writing/purchasing a lot more of code and bugs in one way or another. Does it make any sense? Why anyone should look itself into single language and/or platform, knowing that totally unified solution to everything is more absurd than utopia? Can't we get the performance with existing high-speed compilers, native APIs and already wrote services? Certainly, we can. The bad solution is forcing everyone to one language that may be obsolete a few years later. Trying to unify native APIs for different platforms seems to be almost impossible. However, this task may be very attractive in the future for the next generation of platforms with somehow standardized OS. Creating additional high level APIs upon native ones almost for everything is not so great either (costs performance). XANA initial goal is providing approach and a base line for implementation of distributed network applications, which have interoperability based on widely accepted standards, on time, on budget, on different languages, with best performance using native platform's means. Discussion about implementation principles of XANA in distributed environment is outside this context. However, even a simple, one-tier application without database access, can benefit from XANA. This program is the little example of XANA approach. Instead of writing complex Web browser component from scratch, the program is using built-in MS Windows native WebBrowser component. Actually, the same WebBrowser component used internally by MS Internet Explorer application and has plenty of features for processing HTML, XML, Java, JavaScript, VBScript, SSL, OLE, Windows Explorer shell, plug-ins etc. Using this component ensures some basic level of compatibility with upcoming versions of MS Windows and Internet Explorer. While WebBrowser can be used with quite broad set of programming languages, the language of choice for implementation of user interface is Borland Delphi. Currently Delphi has one of the best available features set. Its proven component library, clear Object Pascal syntax, good support for native OS API calls, reliable programming environment with very fast and feature rich compiler are main advantages here. Composition of principles above makes the solution quite straightforward.
Please, note that XANA Web Browser is experimental software made by inspiration to proof some technical concepts. Try and use it for free, but don't expect too much. Its GUI is clearly rude and has no drag-drop nor decent bookmarks management support yet. The software is currently in field test stage. It contains many bugs and major problems. Implementation of some parts may be incomplete. The project has been suspended, although some progressing for bug fixing or slow development is possible. Author takes no responsibilities for possible damage or harm caused by installation (which is not even required ;-), evaluation and utilization of this program. While response on users' requests is not promised as such, everyone evaluating the program has the right to ask questions or help to make things better. Moreover, users' feedback can impact on project status, further development and even the program availability for general public.
|
|