These companies have been dominating the landscape for decades now, most likely for longer than most app developers have been app developers. As a developer, there's definitely a choice: don't make an iPhone app; don't make an app at all. Make something else.
If you say you want access to the walled garden because that's where the people are, then consider that they are in there because they like the walls. From this point of view, you don't have a right to demand that the walled garden have free entrance.