Overview


Publish your Windows applications as cross-browser, cross-device web apps

The only product of its kind, Thinfinity VirtualUI offers the simplest solution to delivering your Windows applications to users on any device, anywhere. With no functional or visual compromises, you can make your Windows applications accessible from any HTML5 compatible web browser running on Windows, Mac, Linux, Chromebook, iOS or Android devices.



Instant web exposure with a single line of code

Releasing your Windows applications to the web has never been so easy. By adding just a single line of code to your existing software, you can enable your Windows applications to have dual-platform functionality.



A comprehensive GUI remoting and web integration solution

Thinfinity® VirtualUI supports a wide range of programming languages including .NET, Delphi and C++, allowing you to enhance the lifetime and capabilities of your legacy software. Use our new Javascript Remote Objects (jsRO) framework to integrate your Windows applications with existing web apps and allow your applications to interact with cloud-based resources.



Save money by slashing IT costs

With Thinfinity® VirtualUI there is no need to maintain multiple source code versions. Less maintenance means simpler administrative tasks, less IT work, and more money in your wallet. Forget about hiring additional IT staff and let Thinfinity VirtualUI handle your desktop-to-web transition.



Download a free trial today

The free Thinfinity VirtualUI license includes full remote GUI capabilities for your Windows application, with 90 days to try out the jsRO framework. Get complete access to the jsRO framework with our PRO Developer license.


Have any questions? Take a look at our User Guide.

Highlights:

Web integration of Windows apps with a single line of code

Enabling Thinfinity VirtualUI in your application’s project is as simple as adding one line of code to your source code.

Web Integration Framework

The new Javascript Remote Objects (jsRO) framework offers developers a full integration of their current Windows-based apps into any kind of web application. Thinfinity VirtualUI provides a Development Lab to test and manage the jsRO created in your application.

Dual platform solutions for Windows/web apps

Thinfinity VirtualUI enables Windows-based apps to be delivered as cross-browser, cross-device web applications, without the need of expensive virtualization or remoting environments. These applications can be run on a Windows environment, or be accessed remotely from any HTML5 Web browser.

Zero client setup

Thinfinity VirtualUI does not require any plugins, add-ons or additional installations on the client side.

Cross-browser, cross-device capability

Use Thinfinity VirtualUI on any HTML5 browser, including Firefox, Google Chrome, Safari, etc. We support remote access from Windows, Mac, Linux, iOS, Android and Chromebook devices.

Scaling and Load Balancing Capabilities

Thinfinity VirtualUI provides components that allow you to distribute the workload across multiple Windows sessions, as well as multiple servers. You can scale the application availability in terms of application instances and failover scenarios in order to achieve optimal resource allocation and avoid system overload.

File System and Registry Virtualization

The File System Virtualization helps developers create a secure environment by giving access permissions to specified application folders and providing private folders based on the application’s authentication system. With a similar approach, Registry Virtualization allows developers to securely store user information in the Windows registry. Registry entries can be redirected to shared or private entries, also based on the application’s authentication system.

Multiple end-user authentication options

Developers can select how end-users will access their applications. Windows Logon, OAuth/2 (Google, Facebook, etc), RADIUS and custom authentication methods can be implemented with the Thinfinity Authentication API.

Rapid Web Enablement

Thinfinity VirtualUI includes a remote user interface solution that publishes your Windows applications as dual-platform Windows/HTML5 apps, simply by adding a single line of code to your software. These Windows applications can keep their standard desktop environment behavior or be remotely accessed from any web browser in a multi-user, multi-instance fashion, if hosted on a Thinfinity VirtualUI Server environment.


Thinfinity VirtualUI Instant GUI Remoting

Any Windows application that uses Microsoft Windows Win32 GDI/GDI+/DirectX calls and can interface with an ActiveX library is suitable for Thinfinity VirtualUI. Supported applications include .NET WinForms apps, old Visual Basic apps, Dephi VCL apps, C/C++ MFC apps, etc.

Powerful Web Integration

Thinfinity VirtualUI paves the way to full integration between Windows-based and web-based applications.  It allows your desktop application to be completely customized, combining it with available web and multimedia resources.

Thinfinity VirtualUI HTML Web Integration

Relying on its newly developed Javascript Remote Objects (jsRO) framework, Thinfinity VirtualUI helps developers create remotable objects with their respective properties, methods and events mirrored on the web as native javascript objects.

Thinfinity VirtualUI Development Lab The brand new VirtualUI Development Lab, a web environment created as a complementary tool for jsRO, lets you inspect and interact with the remotable objects created in your application directly from your browser.



Features & Requirements

Features

  • Supports popular Windows development environments and languages

    Thinfinity VirtualUI integrates with .NET, Delphi, C++ and any programming language supporting Win32 GDI/GDI+ API and ActiveX/COM interfaces. Thinfinity VirtualUI works by redirecting Windows calls and drawing commands to the remote HTML5 canvas.

  • HTML5 cross-browser client

    Thinfinity VirtualUI works with any HTML5 browser, automatically using HTTPS protocol on Android native browsers, Microsoft IE9, and other browsers that don’t support the WebSockets standard protocol.  We support remote access from Windows, Mac, Linux, iOS, Android and Chromebook devices using modern browsers including Firefox, Google Chrome, Safari, etc.

  • Scaling and Load Balancing Capabilities

    Thinfinity VirtualUI provides components that allow you to distribute the workload across multiple Windows sessions, as well as multiple servers. You can scale the application availability in terms of application instances and failover scenarios in order to achieve optimal resource allocation and avoid system overload.

Requirements

  • Development machine

    • Operating Systems:
      • Microsoft Windows 7 32­bit / 64­bit
      • Microsoft Windows 8 32­bit / 64­bit
      • Microsoft Windows 10 32­bit / 64­bit
      • Microsoft Windows Server 2012
    • A development environment
      • Microsoft Visual Studio
      • Delphi 5 to 10.1 Berlin
      • C++ Builder
      • Microsoft Visual Basic
      • PowerBuilder
      • other
    • The application can use .NET WPF, GDI, GDI+ and limited DirectX calls.
  • Server machine

    • Microsoft Windows 8 32­bit / 64­bit
    • Microsoft Windows 10 32­bit / 64­bit
    • Microsoft Windows Server 2012
  • Gateway machine

    • Microsoft Windows 8 32­bit / 64­bit
    • Microsoft Windows 10 32­bit / 64­bit
    • Microsoft Windows Server 2012
  • End-user machine

    • Any operating system and/or device with an HTML5-compliant Web Browser.
    • Any modern Web Browser (HTML5-­compliant) such as IE10/11, Chrome, Safari, Firefox, Opera, etc.

Technology

Architecture

Thinfinity VirtualUI is composed of:

  • Server and Client Software

    1. Thinfinity VirtualUI Server is an http(s)/websockets server that communicates with the Windows app through the Thinfinity VirtualUI SDK libraries, taking the GDI/GDI+ redirection commands to the web browser.

    2. Thinfinity VirtualUI Javascript Client is responsible for the visualization of the application within the browser and interacting with the end-user input events.

  • Server and Client SDK

    3. The Thinfinity VirtualUI Remoting SDK is a set of libraries that integrate with the developer’s programing framework to redirect Windows calls and drawing commands to the remote HTML5 canvas.

    4. Thinfinity VirtualUI JsRO is an object remoting framework used to ease the integration between the windows application and the web.

  • Scaling and Load Balancing Components

    5. Thinfinity VirtualUI Gateway is a component that receives and redirects connections to available servers.

    6. Multiple RDS accounts: each RDS session creates a Server instance which can handle application instances separately. The VirtualUI Broker administrates the server instances and works together with the Gateway to distribute the connections.


Instant GUI Virtualization

By adding the Thinfinity VirtualUI library to the source project and inserting a single line of code into your existing software, your applications will be available for instant remoting from any web browser and device.

While the instance runs in a Thinfinity VirtualUI Server, the virtualized GUI is shown on the web browser, connected through WebSockets with fallback to AJAX.


Windows and Web Integration

Interaction between your Windows and web applications can be increased by sharing your application data with the browser end and vice versa.

This is achieved by using the Javascript Remote Objects framework (jsRO) included in Thinfinity VirtualUI. It allows you to create remotable server objects, with their properties, methods and events mirrored to the web as native javascript objects, enabling two-way interaction and immediate data replication.

Thinfinity VirtualUI jsRO Creating Objects

Object Properties

The jsRO object properties are synchronized in both the Windows application and the browser end. When a property value changes on one end it is relayed to the other end, initiating an event handler that manages input actions.

Thinfinity VirtualUI jsRO Side Binding

Remote methods

When a remote method is called on the browser side, its method handler callback is called from the Windows application. Additionally, the returned result value can be processed by a javascript callback.

Thinfinity VirtualUi jsRO Methods

Remote events

Remote events allow developers to submit non-visual changes from the application to the javascript side. When the application initiates an event, it is transmitted to the browser, enabling the javascript framework to receive and process it.

Thinfinity VirtualUi jsRO Events


Live Demos

  • Fish Facts live demo

    Fishfacts is a simple database application that provides basic information about fish species. This live demo gives an example of how basic GUI virtualization can be integrated with the web browser and external web resources.

  • Easy Money Manager live demo

    Easy Money Manager is an open source .NET application that allows you to manage your personal finances. Here we show a real-life application using VirtualUI’s GUI virtualization capabilities.

  • Zoom Portfolio Manager live demo

    Zoom Investment Portfolio Manager is an open source Delphi application that provides a simple and convenient way to keep track of your stock investments. This is another practical example of VirtualUI’s GUI virtualization capabilities.

  • HTML5 Video live demo

    This demo shows you how to stream a video to a native HTML5 video component. Videos will run in the web browser to full native speed!!!

  • Digital signature demo

    Add HTML5 available resources to your application. This demo shows you how to replace an application control with a Web Component to integrate a HTML5-based digital signature pad.

  • Direct print demo

    This demo shows you how to access a printer connected to the local web browser to generate RAW prints (barcode, labels, etc.) from your application.


Tutorial

Programming with Thinfinity VirtualUI and Javascript Remote Objects

The following five-step tutorial illustrates how to publish a Windows application created with Visual Studio and Delphi using Thinfinity VirtualUI.

This tutorial relies on a simple database application to explain the necessary steps involved in integrating this application with web resources.

It starts with a straightforward, single-line-of-code user interface example and progresses to employing more advanced programming techniques and the new jsRO framework. We analyze the code we use and provide explanations and images to accompany each step of the tutorial.

Download the tutorial in PDF format here:

Thinfinity VirtualUI Demo

Thinfinity® VirtualUI

Product License Download
Thinfinity® VirtualUI™ (32-bit) Free 90-Day Trial EXE ZIP
Thinfinity® VirtualUI™ (64-bit) Free 90-Day Trial EXE ZIP

Thinfinity® VirtualUI™ is free for developers: full GUI remoting capabilities included at no charge. No need to register. Full 90-day trial of the advanced features available.


Download the Thinfinity® VirtualUI v2 Guide


Close