I’ve spent most of the last 45 years involved with software in one form or another, both as a hobby and a profession. Some of it stuck.
As is the case with most things in life creating an operating system is a balancing act between competing factors. With iOS, Apple chose to put security high on the priority list. The choice to only allow apps to to be installed from the App Store after the code has been verified makes it very difficult for a user to install malicious code. Of course it also means that Apple has total control over what apps can and cannot do and which apps can be installed. Because it’s not practical to validate code that might be generated from any on-board compiler, Apple chooses not to allow them on iOS. This is not the case with Android which does not prevent the user from installing arbitrary code. As a result Android has had several publicized cases of malware. Originally apps had no ability to communicate with each other and only limited abilities to interact with the OS, but that has changed as iOS has evolved and apps now have greater freedom to interact with others and the underlying OS.
As far as walls are concerned, I think Apple has done a lot to make the technology available. Apple’s development environment, the documentation, a wide range of tutorials and other tools needed to develop applications are freely available which is not the case for the Windows OS. I believe they realize that their future depends on independent developers and for the most part they do a good job in supporting them and encouraging new ones.
Originally it was not possible to install an app on iOS other than as a registered developer or from the App Store. As of 2018 that is no longer the case, and it is possible for you to create an app via Xcode and install it on your own device. You can’t distribute the app, but you can run it on your own iOS devices. Of course you still need to be familiar with iOS. It might be possible to develop a framework that would allow someone with limited programming experience to build plug-ins, but it would be a difficult task and would probably have a limited market. If you’re interested there is an open source audio framework called AudioKit that is freely available that makes using audio in iOS much simpler. It was used to build the free Synth One app as well as the Digital D1 app and many others.
If you really want to build your own apps it’s possible to do so without spending a fortune (assuming you have a Mac.) If you can code using Audulus, you can learn to program in other languages.