A distinctive characteristic of VirtualUI web-enabled applications is their ability to be executed from the desktop, as usual, and also be called through a Thinfinity VirtualUI Server to be remotely executed from any modern web browser. This web enabling process, however, will most probably need some testing and debugging. A comparison stage between both the desktop and the web running mode is also often essential in order to fine tune certain details. This is why Thinfinity VirtualUI was prepared to run web-enabled applications from the IDE, working together with the development environment you use when running the application in debug mode.
How do web-enabled applications run from the IDE?
When you run a web-enabled application in debug mode from your favorite integrated development environment (IDE) —Visual Studio, Delphi RAD Studio, etc.—, the VirtualUI object, included in the application, is activated. Once activated, it makes a call to the Thinfinity VirtualUI Development Server and starts it, if it’s not running yet.
This makes the application ready to run in dual mode.
When the development server starts, the VirtualUI tray icon is added to the system tray bar. Also, if you explore the Task Manager, you will find a Thinfinity VirtualUI Server instance running in the Processes list.
The first time from the IDE
The first time you run a web-enabled application from the IDE, you will see the Thinfinity VirtualUI Welcome message. This popup explains how to open the application from the web —you can choose to never show this message again—, and invites you to locally open a browser pointing to the application’s URL.
If you decided to hide the welcome popup, you can start debugging and call the Thinfinity VirtualUI Server address —http://127.0.0.1:6080 by default— from any modern web browser. The VirtualUI Development Server will receive this call, identify the debug mode running in the IDE and show the application in dual mode: in the desktop and in the browser.
Running Mode Differences
The following table shows differences between running VirtualUI web-enabled applications from the Windows shell, from the IDE and from a browser:
|Calling application from…|
|Windows Shell||IDE (without debug)||IDE (with debug)||Browser|
|Uses VirtualUI dll||No||No||Yes||Yes|
|Runs in…||Desktop||Desktop||Desktop and Browser||Browser only|
|Server…||None||None||VirtualUI Development Server||VirtualUI Standard Server|
When you run the application from the Windows shell —calling the application from the command line, by clicking the application icon, etc.— you are running it as usual, and VirtualUI objects are deactivated, without any symptom of web-enabling. The same behavior occurs if you run the application from the IDE without debugging.
But when you run a web-enabled application by calling it from the browser using the VirtualUI Server, everything changes: the VirtualUI object inside the program will be activated and the GUI will be delivered to the browser instead of the desktop environment.
So, the VirtualUI Development mode, enabled when the application runs from the IDE in debug mode only, helps you compare both desktop and web GUI modes, and also allows you to test and debug the application and any VirtualUI special adaption —file upload and download, jsRO messaging, etc.
An additional and last difference between debug and not debug mode is the HTML page loaded by default. When you run the app in debug mode, VirtualUI sends the lab.html page to the browser instead of the app.html page.
Finally, we recommend that you see or review the “Getting Started with VirtualUI” Videos; they are available in our Thinfinity Youtube Channel.