I am trying to get a bit more understanding of the Forge architecture and best practices on app design with regards to custom fields.
I believe back in Jira Server/DC land it was a thing to provide custom fields with your Jira plugin. As I understand your Jira plugin could render any UI for your custom field and there were/are customers with 1000s of custom fields. This resulted in two kinds of performance issues:
- Jira issue view that potentially started to render slowly
- General Jira performance issues because of too many custom fields 
In Atlassian Connect land there was no direct support for custom fields anymore, however, we got issue fields instead. They allowed app vendors to declare only Atlassian-predefined custom field types. Atlassian Connect remote issue fields brought back the “render any UI” approach but those got discontinued before they found their way into apps (because of rendering performance issues of the “old issue view” I assume?). Over time, I got the impression that issue fields (or custom fields for that matter) were not really pushed or encouraged as an app design pattern by Atlassian (maybe I am wrong with this?).
After playing with Forge for a while, I got the feeling custom fields are back in full force including custom rendering options. This made me wonder if the performance concerns with custom fields are now obsolete? What are the reasons custom fields are back? Is it the new issue view that isolates potentially slow rendering app custom fields from the core Jira issue view?
I am trying to understand the general performance implications of Forge custom fields on Jira and how they affect future app design patterns.
I would be happy to hear other’s insights or thoughts on this.