I am very interested in the Apache – Portable Runtime
Project (APR).  Platform independence is an ambitious
goal and I commend you on taking up the challenge. 
The issue of platform independence is becoming an
increasingly important one in much of my work.  I’ve
looked into several efforts that facilitate the
ability to write one application which will run on
multiple platforms and the APR seems to be among the
most advanced.  

I am considering using the APR for a project, but a
number of issues related to platform independence and
the strategy and design goals of the APR have arisen
in some discussions.  I’ve read through the
documentation and some of the mail list archives, but
I still have some questions.  Any answers you can
provide to any of these questions will be greatly
appreciated, and will go a long way in aiding my
decision of whether APR can be of use.

Questions:

•       How does the performance of applications written to
the APR API compare to application written to the
native platform API? In terms of size and speed?
•       Other organizations, such as Netscape, have tried to
build similar platform abstraction systems but have
had mixed results, and concluded that some systems
built to these frameworks are not efficient enough for
use in deployed production systems.  Still other
attempts at a unified platform, such as POSIX, have
achieved limited success, how is APR different?
•       Has anyone looked at similar commercial or open
source products such as QT or ACE?  How does APR
compare to these products?
•       How complete is the platform abstraction is achieved
by APR?  ie. Which interfaces are still native now,
and what is the long term plan?
•       Are only server-side OSs going to be supported, or
are desktop and embedded OS platforms going to be
supported as well?
•       Are there any plans for GUI support -- related to
desktop question above?  If so, will this preserves
the ‘look and feel’ of the particular platform or is
there an APR ‘look and feel’ that will be consistent
for all applications?
•       The web page describes that developers “be assured
of predictable if not identical behaviour”.  What
functionality does not provide identical behavior on
all platforms?  How are these compromises chosen?  Is
support for a particular application the test, i.e.
Apache?
•       How are type and endian platform difference issues
resolved?  Does APR have a preferred representation
for types?  Does this give preference to certain
platforms?  I.E. does APR define a platform
independent representation used by all supported
platforms?  Network Byte Order?
•       Does APR implement the IEEE 754 floating point
standard?
•       Will APR support language bindings other than ‘C’? 
e.g. Java?


Thanks for any answers,
David Viel


       
____________________________________________________________________________________
Need a vacation? Get great deals
to amazing places on Yahoo! Travel.
http://travel.yahoo.com/

Reply via email to