lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew C. Smith" <poeticve...@gmail.com>
Subject Silverlight, Compact Framework Support
Date Tue, 04 Nov 2008 19:43:34 GMT
What do you think about converting lucene.net source code to support,
silverlight and the compact framework.

i looked into the source code to try and get it to work on a window mobile
device, and also tried to get it to compile under a silverlight library.

overall in theory this should work just fine, there are just some changes on
the classes we use.

Heres a small list of the things that i've noticed, althought i can't
remember what framework had a problem with what,
but here are just a list that either one, or both had a problem with.

   - Non-Generic Collections are not supported in silverlight 2 (HashTable,
   ArrayList, ect...)
   - ThreadStatic Attribute does not exist
   - ThreadLocalState does not exist
   - BinaryFormatter, SerializableAttribute, and ISerializable do not exsist
   - Remoting is not available


I think the biggest problem would be the use of the BinaryFormatter,
although it was used in only a few places, it was in some places in the
source code that was very greek to me, so i couldn't come to a conclusion on
how to handle these parts without having a deep understanding how
lucene.networks.

the second biggest change would be the use of non-generic collections. There
are lots of non-generic collections in the source code, some of the biggest
being HastTable, and ArrayList classes. I've come accross an article that
posted a conversion table on non-generic to generic collections. The article
is here<http://blogs.msdn.com/bclteam/archive/2007/06/25/bcl-refresher-converting-the-non-generic-collections-inbar-gazit.aspx>.


for the ThreadStaticAttribute, and the ThreadLocalState, this can be done
easily with a new data structure, i can actually make one that will hold
types that are specifiec to each thread, if intrested.

having made these changes Lucene.Net can be more available to new devices
such as running on a window mobile cell phone, or your pda, or run in a
windows, linux, or mac computer that runs a silverlight application.

Sooo.... what do you think? I'm willing to help work on these changes, like
coverting the non-generic collections, and the thread specific structures.
just need to suguestions on how to go about replacing the binary
serialization, and some suguestions on the remoting parts. but other than
that this should work just fine.

I'm very intrested in this subject, as i am writing a framework that will
run on top of lucene to support indexing POCO objects and searching them,
much like how the compass framwork for java works. I would like to extend
this functionality for mobile devices and silverlight applications as well.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message