Are all web browsers on iOS required to use the WebKit kernel?
It looks as if browsers in iPad & iPhone are all wrappers of native Safari. Is it possible to install Firefox on iPhone & iPad. Are there technical limitations on other browsers?
Technically, the environment can support any browser. Apple, however, requires that any browser that renders content on the device be of the Webkit variety (in order to control execution of downloaded/non-original code).
Note that this is not just a wrapper of native Safari (an important point!) as Safari has some improvements to the Javascript engine that essentially JIT compiles JS to native code and thus has better performance. Due to fact that this compiled code would be native (and thus potentially have security implications, and would be equivalent to downloaded/non-original code in Apple's eye), no other browser receives these enhancements -- only Safari. (Not even applications saved to the home screen receive the enhancements.)
Opera Mini and iSwifter circumvent the issues by essentially rendering the content on their own servers and then send an image to the iDevice. This means no execution of downloaded code on the device, and so no Apple restriction. Of the two, iSwifter is the more interesting in the regard that it is built to render flash, and it appears that it is doing so by rendering the screen of a remote browser based on Gecko (to my eyes, anyway).
Of interest to me, however, is the fact that there doesn't seem to be a viable alternative to Safari/Webkit in the Jailbroken world either. It isn't impossible to port Firefox or some other browser over, just that I've yet to see any such release make it to fruition. Perhaps the value in an alternative browser for iOS isn't seen as "high enough", since it would only work on jailbroken devices and Webkit (as an engine) is more than sufficient to render most pages. (If this were another device with a horrible browser, like older phones had, then it might be more critical.)
There are no alternative rendering engines on iPhone or iPad. They are all based on the built-in Apple browser. Apple places legal hurdles in front of anyone who would attempt to put an alternate browser engine on iOS. There are no technical limitations, just Apple policy and licensing.
Apple's Developer agreements for iOS restrict apps from downloading and executing any script or code on the device that was not included in the original app. This restriction prevents apps from being able to use JavaScript, which would be required of any modern web browser. Opera Mini gets around this restriction by using a proxy server that downloads and interprets web pages (including JavaScript) and then renders the content statically for presentation on the device. You can find more information at http://arstechnica.com/apple/rev...