tag, which makes the implementation and the mainte-
nance more difficult than when a specification such as
the CSTL is available.
In addition to solutions based on C++, several
lightweight frameworks have been developed over the
years (Rogowski, 2017). For instances, Vapor and
Kitura (Patel, 2018) (Swift), Ruby on Rails, Django
and Flask (Python) are frameworks that provide de-
velopers with a foundation for the development of
web applications, APIs, or cloud platforms projects.
Such frameworks are also intended to reduce the
complexity of web development by proposing simple
structures that allows developers to focus on writing
the application rather than on configuration files, li-
braries, and so forth. Indeed, these frameworks lever-
age good practices of web development by promot-
ing suitable architectural styles and patterns that pro-
mote the separation of concerns that render appli-
cations more maintainable, such as the Model View
Controller (MVC).
As presented in this paper, the CWF is also in-
tended to make web development easier by allow-
ing developers to focus on coding the business rules
and by extending base classes provided by the web
framework. We did not compare the CWF with those
lightweight web frameworks because it was out of
the scope of our preliminary investigation and be-
cause they use languages interpreted such as Ruby
and Python. While these languages are flexible and
easy to use, they can be up to 300 times slower than
C++ (Game, 2021).
6 CONCLUSIONS
This paper presented a new web framework called
CWF, whose main purpose is to support the devel-
opment of web applications that combine the high
performance of the C++ language and the flexibil-
ity of the Qt framework. This framework requires
only one configuration file, which makes it easier to
create web applications. It also provides a tag li-
brary called CSTL (C++ Server Pages Standard Tag
Library), which generates dynamic web pages and
keeps the presentation and the business layer sepa-
rated.
Preliminary evaluation shows that, at least when
executing simple applications, the CWF outperforms
Java applications in the Tomcat web server. The user
evaluation gives evidence that the CWF is easy to use
and understand since many subjects were able to cre-
ate simple and complex web applications in C++ us-
ing the CWF. The CWF was also used to develop two
real world applications that has been running to sup-
port business activities for several months.
We believe that the CWF is an appealing web
framework for those who want to develop applica-
tions with simplicity and high performance, espe-
cially C++ developers. Nevertheless, the power of the
C++ language combined with the richness of the Qt
framework is promising to provide developers with
an alternative to develop robust complex web appli-
cations, and yet with high performance. The CWF
might also be very useful for researchers that write
C++ code and eventually need to expose operations
online but cannot afford investing time to learn new
languages or web frameworks.
In future work, we intend to further evaluate the
CWF by building larger and more complex applica-
tions and by conducting further evaluation regarding
the CWF usability for both specialized and novel web
application developers. Furthermore, we aim at inves-
tigating the advantages and the drawbacks of evolving
web applications that was built based on the CWF. In
addition, we aim at producing a detailed documen-
tation to provide web developers with guidance on
the development of web applications since it is key
factor for the usability of the framework (Constanzo
and Casas, 2019). Finally, we intend to compare the
CWF with other lightweight frameworks, such as Va-
por, Django, Ruby Rails and Flask.
REFERENCES
Appuswamy, R., Olma, M., and Ailamaki, A. (2015). Scal-
ing the memory power wall with dram-aware data
management. In Proceedings of the 11th Interna-
tional Workshop on Data Management on New Hard-
ware, DaMoN’15, New York, NY, USA. Association
for Computing Machinery.
Barroso, L. and Hoelzle, U. (2009). The datacenter as a
computer: An introduction to the design of warehous-
escale. Morgan Claypool.
Buyya, R., Yeo, C., Venugopal, S., Broberg, J., and Brandic,
I. (2009). Cloud computing and emerging it platforms:
Vision, hype, and reality for delivering computing as
the 5th utility. Future Generation Computer Systems,
25:599–616.
Charland, A. and Leroux., B. (2011). Mobile application
development: Web vs. native. Future Generation
Computer Systems, 9.
Chaubey, R. and Suresh, J. K. (2001). Integration vs. de-
velopment: an engineering approach to building web
applications. IEEE Multimidia, pages 171–181.
Constanzo, M. A. and Casas, S. (2016). Usability evalua-
tion of web support frameworks. In 2016 XLII Latin
American Computing Conference (CLEI), pages 1–6.
Constanzo, M. A. and Casas, S. (2019). Problem identifica-
tion of usability of web frameworks. In 2019 38th In-
ICEIS 2021 - 23rd International Conference on Enterprise Information Systems
86