It totally depends on your app's needs, but for most apps there is no reason at all to create a backend yourself, at least not for your Minimum Viable Product (MVP). There are plenty of readymade backend solutions available.
Most solutions support push notifications, data storage, social sign up and login (sign up or login using your Facebook or Twitter credentials for example) and data synchronization functionality, including offline support for your app.
If you have to program all these things for yourself, it could take up a lot of time and it will probably take even more time to make it error free.
Almost all solutions come as freemium service and most of the time the free options are good enough to build your MVP. Some of them, such as Firebase, come with real-time support, making it a great base for a chat app. Later, we will...