NetWidgets is a framework for creating interactive web-based applications using C++ and Qt. It
was developed by Dr. Magland for the purpose of sharing data, results, processing
algorithms, and research tools at the University of Pennsylvania.
What is different about NetWidgets?
Web browser-based applications are increasing in popularity as they combine the accessibility of web browsers with the interactive functionality that is traditionally more typical of desktop applications. For example, webmail applications provide web-based access to email, allowing the user to check or send email from virtually any computer on the internet. But in addition to this benefit (of increased accessibility), brower-based applications provide a number of additional advantages.
Advantages of web browser-based applications:
No software installation necessary - everyone has a web browser, and knows how to use it.
Web browser interface is familiar to most users, and the application can directly link to other resources on the internet.
Software can be securely accessed from any computer (with any operating system) on the internet.
Updates to software and bug fixes take immediate effect, no re-installation necessary.
From the scientific perspective there are additional advantages of web-based applications:
Data can be stored on a central server, and accessed by multiple users.
Demanding processing tasks can take place on a central server computer.
However, from the programmers perspective, development and maintenance of web applications is significantly more challenging than for desktop applications. This is because traditional web applications require a variety of programs (on the client and on the server) written in a number of different languages (HTML, JavaScript, CSS, PHP, etc.) all to work together to provide desired functionality. This is in contrast to desktop applications which do not require network communication, only involve a single computer, and are usually programmed in a single programming language.
NetWidgets addresses this problem by providing a framework in which web applications can be created using a desktop-application programming style.
NetWidgets automatically handles all network communication behind the scenes.
The programmer can design the application as though it
will be run on a single local machine.
Applications are created using a single programming
language: C++/Qt.