- Web template
-
A web template is a tool used to separate content from presentation in web design, and for mass-production of web documents. It is a basic component of a web template system.
Web templates can be used to set up any type of website. In its simplest sense, a web template operates similarly to a form letter for use in setting up a website.
This article is part of the Web Template Systems series. - Web template system
- Web template
- Template engine
Contents
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.
- 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 files 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 separation of business logic from presentation logic.[1] Developers use web template systems (with varying degrees of success) to maintain this separation.[1]
One difficulty in evaluating this separation is the lack of well-defined formalisms to measure when and how well it is actually met.[1] There are, however, fairly standard heuristics that have been borrowed from the domain of software engineering. These include 'inheritance' (based on principles of object-oriented programming); and the 'Templating and Generative programming', (consistent with the principles of MVC separation).[2] The precise difference between the various guidelines is subject to some debate, and some aspects of the different guidelines share a degree of similarity.[3]
Flexible presentation
One major rationale behind "effective separation" is the need for maximum flexibility in the code and resources dedicated to the presentation logic.[2] 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[2]
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.
Notes and references
- ^ a b c Parr, Terence John (2004). Enforcing strict model-view separation in template engines. Proceedings of the 13th international conference on World Wide Web. ISBN 1-58113-844-X.
- ^ a b c Paragon Corporation (2003-07-19). "Separation of Business Logic from Presentation Logic in Web Applications". http://www.paragoncorporation.com/ArticleDetail.aspx?ArticleID=21.
- ^ MVC vs OOP
Categories:- Web design
- Scripting languages
- Template engines
Wikimedia Foundation. 2010.