I want to get a field label from metadata. In this usage, it isn't part of data. I just want the label for elsewhere on the page. Getting it from metadata instead of hardcoding it will aid in translatibility.
In Apex, I would code --
SObjectType.MyObject__c.fields.MyField__c.getLabel()
In VisualForce, I'd code --
{!$ObjectType.MyObject__c.Fields.MyField__c.Label}
I'm preferring whatever is analogous to the VisualForce solution as I really don't want to have to go to the Apex controller just to get labels.
I found this thread from four years ago which uses the UI api, I suppose that may be one way but I'm wondering if it's improved since then and there is a more efficient way.