I am new to XMPP and after searching on internet I have decided to go with either Prosody or Openfire. I have decent knowledge in Java and my question is,
So should I select openfire because I know Java or Prosody because it's easy to setup and lightweight ?
Is it necessary to know the language on which your XMPP server is written?
Related
Is there any limitation in using a library like stanza.io for communication with an XMPP server like MongooseIM in Nativescript? What other alternatives are there?
If stanza.io supports NativeScript then there should not be any limitations.
On their GitHub main pager they say it's a Modern XMPP in the browser, with a JSON API. So it's mainly for browser env and I'm not sure about NativeScript.
As an alternative way - there is a xmpp.js lib which supports NativeScript. Their doc is a little bit shitty, but using src code there is a way to integrate successfully it.
There is a guide on how to use it for ReactNative, but you can some part from it for NativeScript, especially these part that are connected to the lib itself.
https://medium.com/#connectycube/xmpp-real-time-chat-in-react-native-8d6d5d23dd47
Also you can use some ready XMPP high level platforms for Chat, e.g. https://connectycube.com/2018/12/11/connectycube-textchat-code-sample-for-nativescript/
In this case you do not need to carte about XMPP server installation and monitoring
You will have to find a third party server or host your own one that implements XMPP protocols and connect to same using Websockets or XMPP plugin from your {N} application.
FYI, This XMPP plugin implements the same pod library explained in the MongooseIM docs, but the JavaScript apis are not fully implemented so you might have to access the native apis directly as needed.
You may also refer nativescript-xmpp-client, another exampel for XMPP implementation.
Is it possible to create recursive muc for openfire under default service "conference"? some thing like:
groupchat1
-groupchata
-groupchatb
-groupchatc
Yes, it is possible. Openfire implements XEP-0045: Multi-User Chat, look at http://xmpp.org/extensions/xep-0045.html, Exist many libraries available for many different programming languages to connect the XMPP server(Openfire is a XMPP server) look at http://xmpp.org/xmpp-software/libraries/, I recommend you to use Smack.
Smack is developed by the creators of Openfire.
I am trying to develop the XMPP Gateway which can send/receive from standard XMPP client. This XMPP Gateway should support conversion of XMPP request to Soap and vice-versa. Server which i am trying to integrate support only soap.
I don't want to develop XMPP Gateway from scratch. I have seen Axis Vysper but could not found how to tweak this according to my requirement.
Apache Vysper can be used to do that. Even though Vysper has no built-in support for SOAP (like the standard XMPP extension http://xmpp.org/extensions/xep-0072.html), you can create your own module to capture XMPP messages and issue SOAP calls, just like in a web app you are creating your own Servlets to intercept HTTP request and issue database calls.
One example of how to create a Module and related stuff you can find under
https://svn.apache.org/repos/asf/mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0054_vcardtemp
I am currentlty learning gwt emite for xmpp server communication using the GWT
Should I go ahead with this or any other GWT framework exists ?
Please help.
A google search reveals a couple of libraries
GWT Bindings for the Strophe XMPP library. This project intends to provide GWT bindings to the Strophe.js XMPP library
Atmosphere-GWT project. Although not exactly a general purpose XMPP library, Atmosphere appears to have some kind of support for XMPP.
Can anyone tell me what the differences are between smack, tinder and whack?
Are tinder and whack slim-down versions of smack? Do the 3 libraries serve different purposes?
Smack is a client library. You can use it to log into an XMPP domain and make use of the functionality it provides. Typically, Smack is used to implement a instant messaging client.
Tinder is a low-level XMPP library. It provides Java implementations of basic XMPP entities, such as Stanzas (called 'Packet' in XMPP), JIDs and Components (which typically implement part of the functionality of an XMPP server). Although in theory, Tinder could be used to implement client functionality, it currently is primarily used on the server-side. Both Whack and Openfire (an XMPP server implementation) use Tinder-defined entities. Smack does not use Tinder at all.
Whack is Java library that is used to implement external components. Whack allows a Component (as defined in Tinder) to run as a stand-alone process. Whack allows you to connect this process to an XMPP domain. This way, you can extend the functionality provided by that domain without modifying the implementation of the server software.
I suggest reading this Blog entry
Introducing Tinder, an XMPP object implementation library
Smack -> Cross-platform real-time collaboration client optimized for business and organizations
Whack -> Java XMPP component library
Tinder -> Java based XMPP library, providing an implementation for XMPP stanzas and components
Tinder builds on code from Openfire and Whack. Does not replace Smack but will most likley replace Whack, OpenFire (formerly WildFire)
If you wanna create an application:
Smack will be client side Library
Whack and/or Tinder will be Server side Library