I love to hate on Apple, especially the damage they've done to the internet (to chat in particular) but this was definitely the right thing for them to do.
Apple effectively doesn't allow community maintained chat apps. The push server must be run by the same organization that publishes the app, there is no way to sign keys of responsible push relay operators or anything like that.
In certain parts of the world, it's extremely hard to avoid the closed iMessage platform since 95% of users use it. And you have to use their closed software and hardware to participate in the network.