There isn't necessarily a one-size-fits-all architecture, which means developers have to assess each individual situation.
Elliott suggested a layered application, "where functionality is consistent across platforms, and modular pieces are plugged in underneath. Within those modules, identical business rules and application logic can be retained."
Furthermore, Elliott said functionality and features need to be planned for from the get go. If you have a native application, for example, Elliot said the operating system can notify applications about power levels and so forth. In a scenario where HTML5 is deployed, Elliot said developers have to add features the native application delivers automatically.