Run Web-Enabled Applications from the IDE

Thinfinity VirtualUI Welcome popup

How do web-enabled applications run from the IDE?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.

Thinfinity VirtualUI Welcome popupIf 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: on 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
Default page None None app.html lab.html
Default port None None 6080 6580

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. We recommend that you see or review the “Getting Started with VirtualUI” Videos; they are available on our Thinfinity Youtube Channel.

Would you like to have a private demo? There’s no compromise and no cost. We will be happy to show up our solutions to you and your team. Contact us to get a demo. We will schedule a moment at your earliest convenience.

Got questions? Send us a message at [email protected] or leave a message on this same post.

Leave a comment

Privacy Preferences
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.