App Parts suck, so do IFrames, and in general.
Here is why,
- AppPart likes to own querystrings for extensibility, which is a very fragile way of configuring webparts.
- Configurability is limited to what the ClientWebPart schema supports, which is not even close to the EditorPart functionality we are used to with WebParts. You cannot even control the order in which the properties appear. Rich custom editors are impossible to create beyond some basic checkboxes, textboxes, dropdowns etc.
- The IFrame lives in it’s own island, it requires complex workarounds to do basic things such as resizing, app part communication, deep linking etc. Yes I realize some very smart people have built some amazingly impressive and ridiculously complicated workarounds to these issues. I can only describe my feelings about those “solutions” in this video.
- Branding the AppPart presents it’s own set of challenges, as does the navigation. The chrome control is woefully inadequate. The way an App appears inside a site is extremely inflexible.
- It does not understand well accepted standards such as CORS, instead implements a homegrown concoction of AppWebProxy with many limitations.