Clipper Tutorial: a Guide to Open Source Clipper(s)/Web Applications

From Wikibooks, open books for an open world
Jump to navigation Jump to search

What Is a Web Application?[edit | edit source]

A web application is an application which shows its output in a browser ("client") and which interacts with data which are managed by another program, a "web server", which is usually executed on another computer (when we test it we may have both the client and the server on the same machine).

Websites like Google, Yahoo! Mail, Facebook, Twitter, Amazon, and also CMS platforms (such as WordPress, Joomla, Drupal) and online games like "Might & Magic", "Forge of Empires" or "Seafight" all provide web applications.

In their oldest form, web applications were CGI scripts, and Harbour provides a class to use this protocol (see https://github.com/harbour/core/blob/master/contrib/hbtip/cgi.prg) and an example showing how to employ a class to (https://github.com/harbour/core/blob/master/tests/html.prg).

http://www.harbour-project.com.br/samples/testcgi.html and see the side box at http://gnosis.cx/publish/programming/harbour.html

The first six chapters of a book describing CGI programming can be downloaded from http://www.cgi101.com/book/, and a straightforward description of the thing can be read at http://www.whizkidtech.redprince.net/cgi-bin/tutorial.

There is a tentative for providing FastCGI in Harbour, see https://github.com/hernad/harbour-fastcgi.

CGI, however, is old and obsolete and the reasons are explained here: https://www.perl.com/article/perl-and-cgi/#why-not-to-use-cgi. This page is in the Perl website, as CGI and Perl have been strongly (even if improperly) associated.

The web server Apache contains needs mod_cgi or mod_perl to run CGI scripts, likewise we can use mod_harbour from https://github.com/FiveTechSoft/mod_harbour.

blog live demo: https://harbour.fourtech.es/modharbour_samples/blog/index.prg and its Full source code: https://github.com/FiveTechSoft/mod_harbour/tree/master/samples/blog

https://github.com/JoseluisSanchez/MVC_Harbour

An alternative to using Apache is downloading DBFree from http://www.dbfree.org/home.msp?XY=11421849