I'm not a developer (but I have aspirations :), so the things I say on
this issue should not be given too much weight, but here's my 2 cents
nevertheless. If I say something stupid or uninformed, please correct
me so I know better.
It is possible, but I don't prefer to do so due to the lack of
developers.
Totally agree. At this point, with the number of developers we have,
specialization and not duplicating each others' efforts is extremely
important.
Relying on a single, mature library for each purpose is better in my
point of view.
Some criteria I can think of for how we choose libraries:
- Maturity -- the more mature it is, the fewer likely bugs there will
be
- Popularity -- the more popular it is, the larger the support
network, and the more likely new developers will have already been
exposed to it (lower barrier to entry)
- Development Language -- How much work will we have to do to support
the library? The way we rate a library could be as follows, with the
most favor given to those higher on the list
a) Third-party developed natively in Objective-C
b) C (we would maintain ObjC wrapper)
c) Rewrite from other language (Java, C#, C++) where we need to
maintain all
We just need to choose one.
For example:
Built-in Database: db4, SQLite/SQLDatabase or QDBM ?
Regular expression: regex or OniGuruma/OgreKit ?
Compression: zlib or other choice ?
Definitely zlib, especially if we're interested in using the
OpenDocument (OOo) format as the base document format (I suggested that
previously). The OpenDocument formats use zlib to compress a folder
into a single file/"bundle".
Indexing/Searching: lucene/LuceneKit or QDBM/Odeum ?
I would say Lucene. Even though QDBM might be easier to maintain,
Lucene is having great success in the industry right now and using it
might give Etoile more to leverage for marketing. Of course, I have
really no idea of the technical advantages, but that's my opinion as an
"advertising-guy". Maybe not the best basis for a technology choice...
Flame on!
J.