Skysoft13

Skysoft13

Chat server with elixir programing

Hi everyone, as you know whats app using erlang for chat server. If any one decide to develop new chat project like whats app, how they will handle erlang or elixir for server. I saw this website for chat server, but I confused that how we will handle both ejabberd and erlang or elixir altogether for chat server. Ejabberd is only enough for create mobile chat server? Any idea will be appreciated :slight_smile:

Most Liked

pmangalakader

pmangalakader

@Skysoft13 ejabberd.im uses erlang and XMPP protocol as their base for the implementation. It’s very much important to understand what functionalities your chat server needs and XMPP itself has a set of standard features based on the Xmpp Standards Foundation. ejabberd, mongooseim, tigase, etc., are some of the examples of open source implementations of XMPP based chat servers.

You can also implement chat servers using websockets and some example implementations are phoenix channels, socket.io (nodejs), etc.,

Not every functionality or requirements will be satisifed by the servers mentioned above, so if you need to customise you have to use erlang. elixir or any programming language the XMPP or websocket servers are built on.

The below link provides the list of standard XMPP opensource servers which adheres to the XEP standards.

Beware, each implementations have numerous configurations, which are very hard for a beginner to cope with. So, it’s better to start slow with default configurations and then get going deeper.

pmangalakader

pmangalakader

There are numerous opensource or GPL licensed mobile applications for using with XMPP servers.

The link has a list of supported clients, you can take a look at them and decide to use them or you can even build one from scratch ( :sweat_smile: daring move)

https://docs.ejabberd.im/developer/xmpp-clients-bots/

Checkout, the client section for the below link:
https://esl.github.io/MongooseDocs/latest/user-guide/ABCs-of-MongooseIM/

Where Next?

Popular in Discussions Top

sergio
There’s a new TIOBE index report that came out that shows Elixir is still not in the top 50 used languages. It also goes on to call Elix...
New
tmbb
This is a post to discuss the new Phoenix LiveView functionality. From Chris’s talk, it appears that they generate all HTML on the serve...
342 18595 126
New
eteeselink
Hi all, In the last days, two things happened: A blog post titled “They might never tell you it’s broken” made the rounds. It’s about ...
New
mikl
I wanted to capitalize a string, and tried using String.capitalize(). That generally works well, until you try to capitalize a word like...
New
opsb
We’re considering our architecture from a viewpoint of scaling our traffic heavily over the next 6 months. Our current deployment is runn...
New
marciol
Please, let me know if this kind of discussion already took place in another topic . Hi all, how do you consider if is better to build ...
New
saif
Hello everyone, Long time lurker first time poster here. I’ve recently begun working on Elixir full-time again! :raised_hands: It’s been...
New

Other popular topics Top

Qqwy
Update: How to use the Blogs & Podcasts section You can post links to your blog posts or podcasts either in one of the Official Blog...
3271 130579 1222
New
baxterw3b
Hi guys, i’m new in the Elixir world, and i have to say, that i love it! i’m having some problem to understand anonymous functions with ...
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
msaraiva
Surface is an experimental library built on top of Phoenix LiveView and its new LiveComponent API that aims to provide a more declarative...
564 44167 214
New
AstonJ
Posting this to see if we can make things easier for people to get into Neovim. If you use Neovim and have a favourite distro please let ...
New

We're in Beta

About us Mission Statement