Learning > frontend > iModel App Edit this page Frontend Administration with IModelApp An instance of IModelApp provides the services needed by the frontend in an interactive iTwin.js app. Services include: Connecting to an IModelHost to access iModels. Management of Views using ViewManager Tools and Drawing aids Access to iModelHub using IModelClient Notifications Localization support User settings using Settings IModelApp Specializations To support the various use cases and platforms for iTwin.js frontends, there are specialized "apps" that should be used where appropriate. For a given frontend, you will pick one class from the following list, and call its startup method. The type of IModelApp should match the type of IModelHost running on your backend. IModelApp: must always be initialized. For RPC, connects to previously-initialized IModelHost(s) through routing. WebViewerApp: frontend of web viewing apps. May only open iModels readonly, and may not use Ipc. WebViewerApp.startup calls IModelApp.startup. IpcApp: for frontends with a dedicated IpcHost backend. IpcApp.startup calls IModelApp.startup. IpcApp is abstract and should not be used directly. WebEditApp: for the frontend of web editing apps connected to a WebEditHost backend. WebEditApp.startup calls IpcApp.startup and must supply the user's credentials. ElectronApp: for the frontend of desktop apps running on Windows, Mac, or Linux connected to an ElectronHost backend. ElectronApp.startup calls IpcApp.startup. MobileApp: for the frontend of mobile apps. MobileApp.startup calls IpcApp.startup. MobileApp is abstract and should not be used directly. IOSApp: for the frontend of iOS apps. IOSApp.startup calls MobileApp.startup. AndroidApp: for the frontend of Android apps. AndroidApp.startup calls MobileApp.startup. Applications may customize the behavior of the IModelApp services by providing IModelAppOptions. Last Updated: 12 June, 2024