I’m currently using Smack in combination with JAXB. I use the latter for (un)marshalling my custom IQ messages. The reason for this is that for me it increases development time significantly. Creating the wrapper for the XmlPullParser (so that it looks like a javax.xml.stream.XMLStreamReader) was doable and building a IQProvider which can (un)marshall any java object (annotated with @XmlRootElement and some other things related to namespaces) was ok as well. I did have the problem that when I tried to marshall any object which inherits from IQ, JAXB will fail (because it some fields which it can’t marshall). Which is OK, as these fields mustn’t be marshalled in the first place. However since I don’t have access to the IQ class to mark these fields as @XmlTransient, that was a (sort of) dead end. Right now I’m resorting to using a wrapper class which delegates to the generic jaxb / smack bridging code.
All and fine, I’m happy with this all, but I was wondering whether other people couldn’t benefit from this. For any smack developers out there: would there be interest in this? I noticed that the most recent release isn’t that recently actually … is there any development going on?