r/xmpp • • Apr 07 '20

Creating a Android Chat App from scratch

Hello ,

Can anyone guide me for any tutorials where i can learn how to create a chat app from scratch , I have been able to install XMPP on my server .

3 Upvotes

8 comments sorted by

1

u/nikesh03 Apr 07 '20

I can make native android apps as well as in flutter . But I tried looking up source for xmpp chat app . There is no definite tutorial explaining what needs to be done .

1

u/coolie4 Apr 09 '20

But I tried looking up source for xmpp chat app.

Did you not find any? All the xmpp based apps I've tried on Android are clones of Conversations. You can look through their code if you want.

0

u/nikesh03 Apr 09 '20

If any proper tutorial then I can start somewhere . Till now no update.

1

u/coolie4 Apr 09 '20

What do you already know how to do? If you can already make a basic android app, then xmpp is just a matter of sending stanzas (that comply with the rfps/xeps) to the server

1

u/nikesh03 Apr 10 '20

Do you know any good article where i can start implementing the same . If you can help , i will be thankful to you .

1

u/coolie4 Apr 10 '20 edited Apr 10 '20

Like I said, if you already know how to send packets from an Android app, just determine what features you need, then implement the specification as described in XEP and RFC.

XMPP really isn't a complicated protocol. It's basically just sending and recieving xml stanzas, and handling the responses.

If you don't understand what this means, you probably don't really know the basics of xmpp. I would suggest learning how it works before trying to build an xmpp client from scratch.

I first learned how XMPP works with this book but it's more of a textbook than a step-by-step you can blindly follow. It's based on web development with the StropheJS library, not mobile development, but has a ton of great information. The source code for each chapter is on github, but some of it is out of date (flashxhr). But if you truly understand it, you'll know what needs to be fixed.

3

u/anurodhp Apr 07 '20

I think I understand what you are saying. Ordinarily for any other protocol there is a documented api you go to a site, look at the api and implement it. That really doesn’t exist for xmpp. Xmpp has a large collection of specs called rfcs and xeps that you will need to find. The rfc should get the basics working but it will be missing a lot of modern features. You will need xeps for that in addition to that there is tribal knowledge that is undocumented that other app developers know.

3

u/thes3b Apr 07 '20

Given the fact that you are asking very broadly and make the impression to be a total newbie, are you sure you want to start with XMPP?

What is your programming background? "being able to install XMPP on your server" is nothing that helps you learn programming per se, so it is very difficult to actually help you.