A
web template is a tool used to
separateIn computer science, separation of concerns is the process of separating a computer program into distinct features that overlap in functionality as little as possible. A concern is any piece of interest or focus in a program. Typically, concerns are synonymous with features or behaviors...
content from presentation in
web designWeb design is the skill of creating presentations of content that is delivered to an end-user through the World Wide Web, by way of a Web browser or other Web-enabled software like Internet television clients, microblogging clients and RSS readers.Web design is a kind of graphic design intended...
, and for mass-production of
web documentWeb document is a similar concept to web page, except it is a broader termwith the following distinctions: - Example :A PDF document requested from SFTP or SMTP protocols, for example, is a web document, but not a web page.- Motivations :...
s. It is a basic component of a
web template systemA Web template system describes the software and methodologies used to produce web pages and for deployment on websites and delivery over the Internet. Such systems process web templates, using a template engine...
.
Web templates can be used to set up any type of
websiteA website is a collection of related web pages, images, videos or other digital assets that are addressed with a common domain name or IP address in an Internet Protocol-based network...
. In its simplest sense, a web template operates similarly to a
form letterA form letter is a letter written from a template, rather than being specifically composed for a specific recipient. The most general kind of form letter consists of one or more regions of boilerplate text interspersed with one or more substitution placeholders.Although form letters are generally...
for use in setting up a website.
Web templates can be used by any individual or organization to set up their website.
A
web template is a tool used to
separateIn computer science, separation of concerns is the process of separating a computer program into distinct features that overlap in functionality as little as possible. A concern is any piece of interest or focus in a program. Typically, concerns are synonymous with features or behaviors...
content from presentation in
web designWeb design is the skill of creating presentations of content that is delivered to an end-user through the World Wide Web, by way of a Web browser or other Web-enabled software like Internet television clients, microblogging clients and RSS readers.Web design is a kind of graphic design intended...
, and for mass-production of
web documentWeb document is a similar concept to web page, except it is a broader termwith the following distinctions: - Example :A PDF document requested from SFTP or SMTP protocols, for example, is a web document, but not a web page.- Motivations :...
s. It is a basic component of a
web template systemA Web template system describes the software and methodologies used to produce web pages and for deployment on websites and delivery over the Internet. Such systems process web templates, using a template engine...
.
Web templates can be used to set up any type of
websiteA website is a collection of related web pages, images, videos or other digital assets that are addressed with a common domain name or IP address in an Internet Protocol-based network...
. In its simplest sense, a web template operates similarly to a
form letterA form letter is a letter written from a template, rather than being specifically composed for a specific recipient. The most general kind of form letter consists of one or more regions of boilerplate text interspersed with one or more substitution placeholders.Although form letters are generally...
for use in setting up a website.
Template Uses
Web templates can be used by any individual or organization to set up their website. Once a template is purchased or downloaded, the user will replace all generic information included in the web template with their own personal, organizational or product information. Templates can be used to:
- Display personal information or daily activities as in a blog
A blog is a type of website, usually maintained by an individual with regular entries of commentary, descriptions of events, or other material such as graphics or video. Entries are commonly displayed in reverse-chronological order...
.
- Sell products on-line.
- Display information about a company or organization.
- Display family history.
- Display a gallery of photos.
- Place music files such as mp3 on line for play through a web browser.
- Place videos on-line for public viewing.
- To setup a private login area on-line.
Effective separation
A common goal among experienced web developers is to develop and deploy applications that are flexible and easily maintainable. An important consideration in reaching this goal is the
separationSeparation of presentation and content is a common idiom, a design philosophy, and a methodology applied in the context of various publishing technology disciplines, including information retrieval, template processing, web design, web development, word processing, desktop publishing, and...
of
business logicBusiness logic is a non-technical term generally used to describe the functional algorithms that handle information exchange between a database and a user interface...
from
presentation logicSeparation of business logic from presentation logic is an important concern for software development.One major rationale behind "effective separation" is the need for maximum flexibility in the code and resources dedicated to the presentation logic...
. Developers use
web template systemA Web template system describes the software and methodologies used to produce web pages and for deployment on websites and delivery over the Internet. Such systems process web templates, using a template engine...
s (with varying degrees of success) to maintain this separation.
One difficulty in evaluating this separation is the lack of well-defined formalisms to measure when and how well it is actually met. There are, however, fairly standard heuristics that have been borrowed from the domain of
software engineeringSoftware engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software....
. These include '
inheritanceIn object-oriented programming, inheritance is a way to form new classes using classes that have already been defined. Inheritance is intended to help reuse existing code with little or no modification...
' (based on principles of
object-oriented programmingObject-oriented programming is a programming paradigm that uses "objects" – data structures consisting of datafields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as information hiding, data...
); and the '
TemplatingA template processor is software or a software component that is designed to combine one or moretemplates with a data model to produceone or more result documents....
and Generative programming', (consistent with the principles of
MVC separationModel–View–Controller is an architectural pattern used in software engineering. The pattern isolates business logic from input and presentation, permitting independent development, testing and maintenance of each.-Description:...
). The precise difference between the various guidelines is subject to some debate, and some aspects of the different guidelines share a degree of similarity.
Flexible presentation
One major rationale behind "effective separation" is the need for maximum flexibility in the code and resources dedicated to the presentation logic. Client demands, changing customer preferences and desire to present a "fresh face" for pre-existing content often result in the need to dramatically modify the public appearance of web content while disrupting the underlying infrastructure as little as possible.
The distinction between "presentation" (front end) and "business logic" (infrastructure) is usually an important one, because:
- the presentation source code language may differ from other code assets;
- the production process for the application may require the work to be done at separate times and locations;
- different workers have different skill sets, and presentation skills do not always coincide with skills for coding business logic;
- code assets are easier to maintain and more readable when disparate components are kept separate and loosely coupled
The notion of loose coupling is found in computer systems, and was introduced into organizational studies by Karl Weick. Sub-areas include the coupling of classes, interfaces, data, and services.- Loose object coupling in computing :...
;
Reusability
Not all potential users of web templates have the willingness and ability to hire developers to design a system for their needs. Additionally, some may wish to use the web but have limited or no technical proficiency. For these reasons, a number of developers and vendors have released web templates specifically for reuse by non-technical people. Although web template reusability is also important for even highly-skilled and technically experienced developers, it is
especially critical to those who rely on simplicity and "ready-made" web solutions.
Such "ready-made" web templates are sometimes free, and easily made by an individual domestically. However, specialized web templates are sometimes sold online. Although there are numerous commercial sites that offer web templates for a licensing fee, there are also free and "open-source" sources as well.
Open source templates
The rise of the
open sourceOpen source is an approach to the design, development, and distribution of software, offering practical accessibility to a software's source code. Some consider open source as one of various possible design approaches, while others consider it a critical strategic element of their operations...
design movement has seen a slow but steady rise in the community of open source designers. Some sites offer open source templates in addition to other content.
See also
- Cascading Style Sheets
Cascading Style Sheets is a style sheet language used to describe the presentation semantics of a document written in a markup language...
(CSS)
- Template (word processing)
The term template, when used in the context of word processing software,refers to a sample "fill-in-the-blank" document that can be completed either by handor through an automated iterative process, such as with a software assistant. Once...
- Content management system
A content management system such as a document management system is a computer application used to manage work flow needed to collaboratively create, edit, review, index, search, publish and archive various kinds of digital media and electronic text.CMSs are frequently used for storing,...
- Website Design Process Steps
- Template engine
Examples
- List of implemented web templates and template systems.
External links