There is nothing wrong with Telegram. The messenger is great with so many great features to benefit from. It is free, fast and distributed letting users keep in touch with other people from any place in the world. On the other hand, they keep telling that the messenger is actually an open source, which some experienced developers may find confusing. Let us look into the code to clarify the situation.
The question arises more and more often today as some try to develop the messenger not knowing how it will affect the operation in future. Developing is possible but no recommended though. Telegram appears to have no open source code. App development enthusiasts will hardly be able to use those codes as an example for their own messaging applications. The reasons are very clear.
Reason 1: Developers are unable using Telegram API for their own applications
Telegram API was hardly designed to let independent developers come with their own messengers. Whenever you want to use it for your own product, you are obliged to create your Telegram account and register a new application right here inside the service. The procedure is rather easy and fast though. After you indicate all necessary data including your telephone number, the password will be sent directly. Use it to enter your account and go to the official website to put your app into the register. You should note that all data is linked to your telephone number as well as messages you have sent in Telegram before.
In other words, you are not allowed working with any other data as well as use separate server for it. You are free to use Telegram data only, which certainly limits your options and abilities when creating a new messaging app. Telegram API also cannot be used separately from any other databases. Summing up, a developer can only develop a messenger that will be 100% linked to telegram without the slightest chance for independent operation. On the other hand, we have numerous examples of other award-winning messaging apps that operate using open APIs. For instance, TweetCaster operates on the same basis.
If it’s OK for developer to store all the data in Telegram, using Telegram API is hardly a bad idea. However, some other issues will barely make you happy about the messenger.
Reason 2: You cannot reuse the source code
Telegram app does not use a library or SDK. Using the source code will turn into nothing more but a waste of time. At least, the development process will appear to be much longer. The code consists mainly of hardcode instead of constants. You can observe such structure not only in the system but also in the application. Check with the list of other confusing code issues fund in the app:
Issue 1 – Unidentified code pieces
You should never be surprised whenever you come across setTextColor(0xff757575) or any other strange code pieces. It is a common thing for Telegram. It means that any changes can lead to inevitable consequences and a developer must be very precise and accurate when making those changes in the source code. Let’s say, you need to change the color. You will probably use color.xml in any location in order to change color in the entire code. However, Telegram is not an easy thing to work with. Here you can change color in particular place only. Moreover, you can spend hours searching for that location i9n the code. Which is certainly a drawback when it comes to optimizing the time and development process in general.
Issue 2 – “If-else” statements
They are very, very, very long featuring even longer methods! Imagine a developer, who writes are 300-line code for only one method. Some of them were certainly amateurs.
Issue 3 – Spaghetti code
You can hardly think of more useless and inefficient code that Spaghetti code. Unpredictable performance is its main problem. Moreover, you are very unlikely to read it no matter how experienced you are. It is nothing more but a mess.
These are only some issues that developers may find confusing when using Telegram source code.
Reason 3: Every Telegram licensed apps must go to GitHub
Publishing a source code is an obligatory part of developing an application based on Telegram. Developers can find this point in the messenger’s license. Of course, this may hardly make you happy. No developer wants to share his code with others.
Summing up all those reasons, Telegram appears to be a bad idea for developing an independent app. You will not have a chance to benefit from a library or SDK code as well as uncustomary elements. Any similar project based on Telegram source code will hardly be a success. Moreover, it will take you much time to complete your project.