Протокол - это контракт взаимодействия между клиентом и сервером. Он может быть совершенно любым, коль скоро вы пишете и приложение-клиент, и сервер самостоятельно. Можно при желании вообще свой протокол написать. Только, конечно, изобретать велосипед особо смысла, пожалуй нет. Что касается MT Proto от Telegram, он, конечно, достаточно безопасный, но чтобы его использовать нужны определенные требования. Я бы советовал не изобретая велосипед и не гоняясь за модными решениями взять что-то простое, типа HTTP(S) и использовать его. А если что-то на этом протоколе реализовать не получится, тогда уж вы и сможете в полной мере назвать причины перехода на другие протоколы.
Что касается готовых решений для чата - они, несомненно, существуют. Надо просто погуглить.
Что касается среды разработки - она целиком зависит от выбранного вами языка. Xamarin, например, позволит вам и под ios, и под андроид писать на C#. Для C# лучшая среда - Visual Studio. Если будете писать на Java - там свои JetBrains тулзы.
Надо просто хорошо понимать, что конкретно вы хотите сделать, и что вы подразумеваете под масштабированием. Шардинг/репликация базы данных? Количество активных коннекций?