The different types of Web objects provide different approaches to Web development, but they also provide different WebSpeed capabilities. Your choice of Web object depends both on your development approach and on what you want your application to do.
If you feel most comfortable working directly in HTML, you probably want to use embedded SpeedScript Web objects.
If you want to separate user interface from internal logic or gain more programmatic control over internal logic, you might want to use CGI Wrapper or HTML Mapped Web objects. To build state-persistent applications, you must use CGI Wrapper or HTML Mapped Web objects. See for more information about state-persistence.
Note also that each type of Web object uses different mechanisms for merging HTML and program logic. Embedded SpeedScript and CGI Wrapper Web objects merge the HTML with program logic at compile time. HTML Mapped Web objects merge the HTML almost completely at run time.
With compile-time merging, you must code all HTML input and output. Compile-time merging also offers higher run-time performance, but incurs limitations on effective HTML file size. All of the compiled HTML is added to the single text segment that includes SpeedScript character expressions (strings), and this segment is limited in size (60KB).
Alternately, the run-time merging of HTML-mapping provides a cleaner separation between HTML authoring and SpeedScript programming, and much of the HTML input and output is automated for simple merges. However, to generate Web pages with complex dynamic interactions, the programming can be much more complex than in an equivalent embedded SpeedScript Web object.
The sections that follow describe examples of the basic Web object types. They also illustrate some of the basic features of the SpeedScript that you use to build all Web objects.