1

Can any one suggest me a QT5 cross mobile platform library and APIs of XMPP protocol to develop a mobile cross platform chat client. This is my college project.

I'm stoped for three month and searching for suitable library and now, Not started yet!!!.

I have a few time to present and speack.

I am disappoint now.

Just a QT5 based XMPP Liberary for mobile programming (Android , IOS and maybe etc)

Rancbar
  • 184
  • 12
  • Have you seen QXMPP? It's here : https://github.com/qxmpp-project/qxmpp – Nejat Jan 11 '15 at 04:16
  • Yes, It's seems developed for QT4 not QT5 and win32 , win64 , symbian , linux , macos platforms. Not Android and IOS. If i mistake or You know some version of QXMPP that can work for me please tell me. And i don't know why i have these down votes. – Rancbar Jan 11 '15 at 06:05
  • It seems that it supports Qt 5 and mobile. At least it supports some features in Android and ios not all of them. Have you tried to use it in an Android application to see if it compiles and works? – Nejat Jan 11 '15 at 06:21
  • Thanks a lot. I tried [gloox](http://camaya.net/gloox/) in past because it is ansi C++ and i think it will work but it wouldn't. I'll have a try with QXMPP and hope to work and I will write here the results. I am very grateful of your answer and hope to your more help. – Rancbar Jan 11 '15 at 08:11

2 Answers2

1

Swiften ( http://swift.im/swiften/ ) is not Qt, but is plain old C++ with Boost, and is used in the Swift client, which is Qt. It's cross platform desktop, iOS, Android. Not quite what you asked for, but usable in that environment.

(Bias: I'm responsible for those projects)

Kev
  • 2,234
  • 1
  • 12
  • 6
  • Thanks @Kev . You say it is just used on their platform environments and Not in cross platform environments such QT and to programming we have to develop the platforms special application too? – Rancbar Jan 11 '15 at 15:00
  • Swiften is cross-platform. It works on (at least) Linux, Windows, Mac, Android, iOS. It can be used with Qt. – Kev Jan 11 '15 at 15:40
  • It seems hopefully to me. Can you direct me to a link of how to start with it? all helps from starting even how to include it in QT. – Rancbar Jan 11 '15 at 15:41
  • i find this [tutorial](http://swift.im/swiften/guide/). i just need to know how to include it in QT to develop my application. I am a .net programmer and it is my first try in QT and this type of libraries. – Rancbar Jan 11 '15 at 15:51
  • First build Swiften, using the instructions under Documentation/. Then execute Swiften/Config/swiften-config.exe to list the flags needed when you link to the libSwiften library. – Kev Jan 14 '15 at 12:11
1

QXmpp is quite nice for Qt development.

When using Qt, the advantages in comparison to gloox or Swiften are obviously:

  • No need to convert any types (like QString to std::string)
  • No different signals from different libraries (in case of Swiften: boost signals and Qt signals)
  • No additional dependencies, only Qt, so creating builds for all platforms is easier

Another point that can be positive (but in some cases might also be negative) is that QXmpp's classes are mostly monolithic. This makes the whole architecture very simple and easy to use, but not always that nicely extensible. Extending from outside of the library is however possible.

QXmpp uses DOM trees to parse the XML elements. The serialization is done using an XML stream writer.

(like Kev I'm biased here: I'm responsible for QXmpp)

LNJ
  • 304
  • 2
  • 13
  • Thanks for this, Can you please guide how to use it in qt5 project, later my app will be used on popular distros. Thanks – Shahzain ali Sep 14 '22 at 19:29
  • You can use CMake: `find_package(QXmpp)` and `target_link_libraries(myproject QXmpp::QXmpp)` and it should work. – LNJ Sep 24 '22 at 18:21