1. A method comprising: receiving, at a computer system, a document and corresponding metadata from an application server; opening, by the computer system, the document in a native application, wherein the document acts as a user interface for a web-based application that is in communication with the application server; determining, by the computer system, a user interface component to be rendered in the document based on the metadata, wherein the metadata includes information utilized by a client side component of the native application to render the user interface component using at least data from a data model of the web-based application; configuring, by the computer system, the document with columns for the user interface component based on the metadata and the data from the data model; determining, by the computer system, at least one of the columns has a value for starting a column group based on the data from the data model; rendering, by the computer system, an extra table header row for the user interface component based on the determination that at least one of the columns has the value for starting the column group; evaluating, by the computer system, each of the columns based on the data from the data model in order to determine whether each column: includes the value for starting the column group, includes a value for ending the column group, or is positioned between the column that includes the value for starting the column group and the column that includes the value for ending the column group; and rendering, by the computer system, the column group within the document for the user interface component based on the evaluation, wherein the column group is rendered by organizing: (i) the column evaluated to include the value for starting the column group, (ii) the column evaluated to include the value for ending the column group, and (iii) the columns evaluated to be positioned between the column that includes the value for starting the column group and the column that includes the value for ending the column group, into the column group, obtaining a group header label, and inserting the group header label into an extra table header cell of the extra table header row for the column group.