Skip to main content

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.

RoleHere Core UI platform developerHere Core platform developerHere Core app developer
FocusImplements a Here Core UI platformImplements a platform "from scratch" using Here Core Container APIsImplements an app to run within a Here Core UI platform or a Here Core platform
User interfacesCustomizes the operation of Here Core UI Components using the Workspace API and Workspace Platform APIManages windows, views, layouts, and snapshots with the Here Core Platform APIImplements a webapp UI, as if the app were running in a web browser tab, using HTML, CSS, and JavaScript
InteroperabilityRelies 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 APIEither registers with an FDC3 DesktopAgent or uses the InteropClient class of the Interop API
NotificationsRelies 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 APIDefines 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.

StageEnvironmentDesktop ownerRestrictions
Local developmentThe developer's own local system. This is the only environment where Here™ supports MacOS.Developer/ITDevelopers 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 testingSystems that mimic as much as possible the eventual deployment environmentDevelopment team or DevOps teamDepends on target deployment environment
Internal deploymentThe 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 deploymentThe software is meant for use outside the company that developed it, such as customer or partner companiesIT department of the external companyDevelopers 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.