WHO IS WEBPROG3 FOR?

WebProg3 is for lay people and for experts alike. Used simply, it is able to produce static web pages for publication on the Internet without any necessary knowledge of HTML scripting or computer programming. On the other hand, for those with a knowledge of HTML, CSS, Javascript, JQuery etc., it is a tool which facilitates not only the speedy production of webpage layouts, but also to include the "intelligence" to respond dynamically to user behaviour without the usual hassle of typing up every detail from scratch.

WHY IS IT CALLED A "SEMI-IDE"?

In the past, "Integrated Development Environments" tended to be what they said they were: comprehensive tools which helped not only with program design and layout, but also with producing correct coding in the right places. However, with regard to browser programming, such IDEs are somewhere between rare and non-existent! There are numerous sophisticated text editors available which help with the coding part - they sometimes even call themselves "IDEs" - but they do not often help very much with the other part of the job which is program design and layout. Or if they do, they are often extremely complicated to use! WebProg3 goes in the other direction. The emphasis is on the WYSIWYG ("What You See Is What You Get") production of web pages without typing up loads of HTML. It does not help you with the Javascript or JQuery scripting of a web page's intelligence, but these things can easily be introduced into webProg3's products. And that's why it is correctly called a "semi" or "half" IDE.

WHAT IS "JQUERY"?

The story goes more or less like this. Many years ago, Javascript was invented to make web pages intelligent. However, it caught on rather slowly because it was a bit complicated and people didn't like it very much as a programming language. It was too clumsy. And then some clever people came along and made Javascript a lot more palatable. These were the inventors of "JQuery". Consequently, browser programming has become a lot more popular, and even people like me can learn how to use it! This was something of a revolution. But really JQuery is just Javascript with different clothes on, and prettier ones at that. In webProg3 you can include coding in either JQuery or pure Javascript. (Some people will want to kill me for that explanation!)


WHAT "GOODIES" DOES WEBPROG3 OFFER?

I'll just mention one or two of the most important ones here. Most web pages do not consist of a single file. They are a whole collection of files that need to be kept together, and it is not always easy to keep them in order. Also, many web pages rely on external sources to make them work, such as libraries on the Internet that need to be downloaded when they are run, or in the HTML part, lots of pictures etc. that need to be kept (usually) in the main or adjacent folder of the script. WebProg3 does away with this complication. The web-page scripts it produces consist of a single file and they are completely "standalone"*. Another interesting characteristic of webProg3 lies in the use of rich text. Its Rich Text Editor makes use of a selected set of Google fonts (you can see them HERE). This means that you can use fonts in your web pages which are in no way tied to the particular operating system (i.e. Linux, Windows, Mac, etc.) you are using. As an example, this very page uses the Google font "Ubuntu", which clearly shows that it came originally from a version of the Linux operating system, and yet you might actually be reading it on a Windows computer.

[* The Google fonts, which are downloaded from the Internet when you run your webpage script, represent a tiny exception to this affirmation about the "standalone" nature of webProg3-produced scripts. If by any chance the Google site is down, your webpage will not be displayed correctly. However, such an occurrence is so rare that it can be practically ignored.]

ANY OTHER PURPOSES?

Well, yes. WebProg3 has a strong didactic purpose. It is presented here as a springboard to further learning, not necessarily for experts, but for ordinary people like myself who would like to know more about browser programming. For this reason, there are 2 important sections of this website under development: "Sample Products" and "Javascript/JQuery Techniques". The first of these aims to demonstrate the kind of things you can make with webProg3, and to provide some tools for you to use in your own programs, with full explanations of course. The second of these explains the techniques used to produce webProg3, many of which you will probably need in your own scripts too.

WHY WEBPROG "3"?

It's historical. I wrote WebProg "1" soon after my youngest son introduced me to JQuery. And it was done with a great deal of his help. It turned out to be an enormous program and it was very complex, but it worked. That was a few years back (in the earlier years of HTML5), and it depended on the tools available at the time such as Adobe Flash etc. Then the WKBB came along and started shouting about "security", banned Flash amongst other things, and generally pulled the carpet from under people's feet. (WKBB refers to the "We Know Best Brigade" in case you didn't know.) Rather than commit suicide, I later decided to get webProg "1" working again in the form of webProg "2". I managed it, but the program remained as a perfect example of "spaghetti code" which was difficult to analyse, let alone maintain. So recently I decided to do something which a good ultra-capitalist would never dream of doing: re-write it from scratch. This version is highly modularised to facilitate analysis and upkeep. If the WKBB pull the carpet from under my feet again, I am much more ready to deal with it. All I have to do is go to the offending module, and replace it (I hope). On top of that, I have been able to introduce a few things I found lacking in the earlier versions, such as being able to change the IDs of widgets, work with multiple classes, and so on. And what's more I managed to achieve it without the significant help of my son who is a much cleverer browser programmer than I could ever be.

PURPOSE