Development scenarios
When your organization is implementing a solution based on Here™ software, there are a few distinct roles that typically are involved and situations that typically occur in the course of development and deployment.
The topics in Develop with Here Core apply to any developer who is working with Here Core software.
Developer roles
Depending on the type of Here™ solution, developers might participate in various roles, and therefore use different Here APIs.
Role | Here Core UI platform developer | Here Core platform developer | Here Core app developer |
---|---|---|---|
Focus | Implements a Here Core UI platform | Implements a platform "from scratch" using Here Core Container APIs | Implements an app to run within a Here Core UI platform or a Here Core platform |
User interfaces | Customizes the operation of Here Core UI Components using the Workspace API and Workspace Platform API | Manages windows, views, layouts, and snapshots with the Here Core Platform API | Implements a webapp UI, as if the app were running in a web browser tab, using HTML, CSS, and JavaScript |
Interoperability | Relies on the interop broker built into the Here Core UI Browser component. Minimal programming is required. | Must implement a broker, using either the DesktopAgent interface of the FDC3 API, or the InteropBroker class of the Interop API | Either registers with an FDC3 DesktopAgent or uses the InteropClient class of the Interop API |
Notifications | Relies on the Here Core UI Notification Center component to act as a notifications platform. Minimal programming is required. | Must implement the NotificationsPlatform interface of the Notifications API | Defines notifications that the app can raise and handles interactions from the user |
Stages and environments
Depending on the stage of development of the platform or app, various concerns must be addressed about the system that the software is running on.
The administrative role of desktop owner comes into play. The desktop owner controls the setup and management of the system where the software is running. This role might belong to the same company as the developers, or might be in an external company where the solution based on Here™ software is being deployed.
See Manage Here Core for your company for topics relevant to desktop owners. Developers might want to review those topics as well, especially for local development.
Stage | Environment | Desktop owner | Restrictions |
---|---|---|---|
Local development | The developer's own local system. This is the only environment where Here™ supports MacOS. | Developer/IT | Developers can define desktop owner settings for their system. Depending on organizational policies, they might or might not be able to modify the registry settings. |
Shared environment for testing | Systems that mimic as much as possible the eventual deployment environment | Development team or DevOps team | Depends on target deployment environment |
Internal deployment | The software is meant for internal use within the company that creates it. | IT department that manages desktops and backend systems; typically separate organizationally from the development team. | The desktop owner might or might not allow desktop owner settings files or registry modifications. The desktop owner might want to specify versions of Here™ software, control when it is updated, and host the software on an internal server rather than the Here™ CDN. |
External deployment | The software is meant for use outside the company that developed it, such as customer or partner companies | IT department of the external company | Developers cannot rely on any modification to the system, other than installation of the software itself. Potentially, Here™ software from other sources might be running on the same systems. |
Security is a concern for both developers and desktop owners. See Application security for information about securely using features of Here™ software in applications. See Manage security for information about security for desktop owners.