3 ms·
It's amazing how versatile the Telegram API is. I think the reason why it's that good is that it's literally the same API that the official apps use. There's n
by miki123211 5y ago
It's amazing how versatile the Telegram API is.
I think the reason why it's that good is that it's literally the same API that the official apps use. There's no separate, restricted API for external developers, your app is treated in the exact same way as the official ones are. Even things like account creation and payments are exposed.
The protocol is very esoteric and hard to understand, though. It wouldn't necessarily have to be that way, it just feels like their documentation is aimed at mathematicians, not developers, especially the parts concerning binary serialization. They definitely suffer from a "reinvent the wheel" syndrome, they have a proprietary client-server encryption layer where plain old HTTPS would do, same for data serialization. Things are reasonably well documented, though, and implementing a fully-featured client with 0 external dependencies is feasible. Voice calls are a notable exception here, the calls API has very little documentation and all it gives you is an opaque blob that you're expected to give to their own voip library.
- tanduv 5y agoThis isn't completely accurate. This client and all other 3rd party clients use tdlib, which is Telegram's open source client library to their servers. tdlib's development is notoriously behind compared to the client library used by their 1st party apps (which isn't tdlib). A good chunk of Telegram's modern features (voice chats, voice calling, chat reactions) aren't available on tdlib.
- anthk 5y agoThis. Compared to XMPP, Telegram is nothing. I say this as a TG user under Bitlbee-libpurple.
- tazjin 5y agoWell, compared to the quality of Telegram clients, XMPP is nothing. This is a matter of perspective. Personally, emoji reactions aren't a big enough draw for me to switch to or from any platform.
- anthk 5y ago>Well, compared to the quality of Telegram clients, XMPP is nothing. PSI-plus >>>>>> Any TG client. And I use Nekogram on the phone. Heck, I could play games and share ideas on a whiteboard with TKabber long ago.
- Klonoar 5y agoAre you sure? The native Cocoa client seems to never lack feature-parity - and in fact is one of the clients to actually support encrypted messaging. Or is that specific client just a unique case of the devs going above and beyond?
- kitsunesoba 5y agoIt’s really nice being able to use a Cocoa client on macOS, a UWP client on Windows, and a Qt client (and possibly soon a GTK client) on Linux. It’s becoming a rare luxury to have apps that do their best to be good citizens of their host desktops instead of throwing their backs into establishing a brand.
- noufalibrahim 5y ago> It's amazing how versatile the Telegram API is. It's rare to read this in a thread about Emacs where something other than Emacs is described at versatile.
- indrora 5y agoSomething I realized early on when I was implementing the basic parts of mtproto for a project is just how Goddamn Fucking Resilient it is to network issues and the like. Networks which are extremely adversarial, such as walled gardens, seen to have no clue what to do with it, but even in a situation where it gets RST flooded, it keeps on chugging.