Two Kinds of Web Development
State of Web Development
Web development has set back the way modern development tools function by
nearly 15 years. Developing a web application today is very much like
developing a Windows application 15 years ago. Very little is visually designed,
and what is, is disconnected and not integrated. Very little is componentized,
and the developer is constantly working at the lowest possible level and dealing
directly with raw API's. Only in recent times have web development tools made
strides to close this gap.
Such factors drastically increase development times, costs, and project
complexity. These factors lead to systems that do not meet user
expectations, do not match requirements, have over simplistic
feature sets, and have high defect rates. As the system grows over time,
they become more and more complex and become more difficult to maintain. Instead
of growing an elegant system, each addition often becomes another level on
a fragile house of cards.
Types of Web Development
Web development typically falls into one of two categories:
-
Web Site - A collection of static and dynamic pages. Most pages
can operate independently from each other.
-
Application - A web application or weblication, is
any type of application that is similar to what you would put into an
executable, but instead deployed using a web browser and the Internet.
IntraWeb is the only tool specifically geared towards this type of
development.
Many projects may fall into the gray area and be difficult to
determine which approach is better. Most projects however are readily defined.
For further assistance, please browse some characteristics and
examples of weblications compared to web
site.

Weblications include all forms in one deployment file and are tightly
integrated. Entry and exit points are well defined. Individual forms depend on
each other and cannot operated independently.
IntraWeb Weblication Click for lager view

Pages on the other hand can operate completely on their own. Entry
points are only defined by publishing a URL, but in fact every page has a unique
URL and thus can be an entry point. Pages are loosely linked together by
URL's.
ASP.Net Pages Click for larger view

Let's forget web development for a minute. Imagine that you have been given a
cabinet kit that you must put together. You have been given a pre
fabricated cabinet kit which contains all the necessary parts, including
the wood, nails, and screws. But all you have available in your tool box is a
hammer. The hammer is ideal for assembling the parts of the cabinet that are
fastened using nails. However when you reach a step that requires parts of the
cabinet to be assembled with screws, the hammer will not do a very good job. But
if you only have a hammer, you must make a go of it and use it on the
screws.
This is very much the state of web development today. There is no debating
that there are two types of web development (akin to nails and screws), but web
developers are left in a world full of hammers. IntraWeb in this case,
provides the world with the first and only screwdriver.
IntraWeb
There is very little difference between writing an IntraWeb application and a
normal application. Most developers, even with no prior web development
experience, successfully develop weblications using IntraWeb in under
30 minutes. Developers need not spend months learning how
individual HTML pages interact using HTTP, or learning Javascript to customize
the client interface. Developers can leverage their existing knowledge
immediately.
Users often write us to say "Wow! I just deployed a web application to a
customer and I do not even know HTML!". That is the power of IntraWeb. Just
as your current IDE isolates your developers from the Operating System API with
VCL, JDK or the .net framework, IntraWeb isolates developers from the Web API of
HTML, Javascript, CGI, and HTTP. IntraWeb contains controls that map themselves
to HTML and Javascript equivalents, just as normal visual controls map
themselves to Win API calls. By using these controls on forms, you can build
fully functional weblications without ever writing a line of HTML or Javascript,
or dealing with HTTP.
IntraWeb - An API for the Web
In a typical web application the developer must constantly manage and
interface to many differing low level protocols and standards including HTTP,
Javascript and HTML. In a typical IntraWeb application, the developer needs not
know or interface with any of these.
The .Net framework, VCL (Borland Tools), CLX (Kylix), and JDK (Java) all
provide a higher level of abstraction for developers to use. Collectively we
will refer to these as "class frameworks". Such class frameworks isolate the
developer from the lower level operating system API's. However if there is
something that the API does not implement, the developer can bypass the class
frameworks and interface directly to the lower level raw operating system API's.
By providing for this level of abstraction, the developer has a friendlier
interface and gains much additional functionality.
Layering of Class Frameworks
![[Image]](../images/Frameworks.jpg)
IntraWeb functions in a very similar manner, with HTTP, HTML, and Javascript
playing the role of the low level API's. The IntraWeb class framework sits
between HTTP, HTML, and Javascript and provides the developer with a high level
abstracted interface with additional functionality. However the developer can
also bypass the IntraWeb class framework when necessary if something additional
is required. IntraWeb's goal is to make it nearly unneeded for the developer to
resort to HTTP, HTML, or Javascript, but allow the developer access to such when
desired.
This approach provides for both easy of use, and maximum flexibility.
Layering of IntraWeb Framework
![[Image]](../images/IWFramework.jpg)
The Power of the Translucent Box
IntraWeb achieves its "magic", by putting things in a "translucent box". You
may be familiar with the term black box. But black boxes are typically
completely closed, which is not an accurate representation of how IntraWeb
works. IntraWeb is more like a translucent box, in which things are contained,
but the inner workings can still be seen and influenced. By putting things into
this "box", IntraWeb can tightly integrate differing and often opposing aspects
of web development and expose them to the developer in easy to use methods.
While this approach does put some restrictions on access to low level
control, this does not mean that application mode is not flexible as many people
assume. You can customize your application by emitting raw HTML, using style
sheets, using templates, or even creating custom components for reusability and
ease of use. Templates are a feature that allow your developers to develop, and
your web artists to control the look and feel of an application. Templates
separate the presentation layer from the implementation layer and also provide
for other customizations.
Deployment
IntraWeb is a provider of web user interfaces and thus when deployed is just
one piece that integrates with your other technologies. IntraWeb is an open
architecture and allows you to choose your firewall, web server, and database
independently.
Typical Deployment

|