WebSite Programming
Custom website programming solutions - ColdFusion, AJAX, Web2.0, PHP, JavaScript, SQL.
Server Languages
Server-side scripting is a web server technology in which a user's request is fulfilled by running a script directly on the web server to generate dynamic HTML pages. It is usually used to provide interactive web sites that interface to databases or other data stores. The primary advantage to server-side scripting is the ability to highly customize the response based on the user's requirements, access rights, or queries into data stores.
ColdFusion
ColdFusion is an application server and software development framework used for the development of computer software in general, and dynamic web sites in particular. In this regard, ColdFusion is a similar product to Microsoft ASP.NET or Java Enterprise Edition.
ColdFusion provides a number of value-added services:
- conversion from HTML to PDF of any webpage, in real-time.
- client-side form validation including keystroke masks
- GUI widgets such as datagrids and date pickers
- platform-independent database querying via ODBC or JDBC
- data retrieval from common enterprise systems such as Active Directory, LDAP, POP, HTTP, FTP
- client and server cache management
- session, client, and application management
- file indexing and searching service based on Verity K2 (and vSpider)
- XML parsing, querying, and validation
- Task scheduling
ColdFusion is WebVeteran's platform of choice. WebVeteran.com is running on ColdFusion.
PHP
Hypertext Preprocessor is a reflective programming language originally designed for producing dynamic Web pages. PHP is used mainly in server-side application software, but can be used from a command line interface or in standalone graphical applications.
PHP's principal focus is server-side scripting. While running the PHP parser with a web server and web browser, providing dynamic content to the client from a web server.
PHP is commonly used alongside Linux, Apache and MySQL. PHP can be used with a large number of relational database management systems, runs on all of the most popular web servers and is available for many different operating systems. This flexibility means that PHP has a wide installation base across the Internet; over 18 million Internet domains are currently hosted on servers with PHP installed.
ASP
Active Server Pages is Microsoft's server-side script engine for dynamically-generated web pages. It is marketed as an add-on to Internet Information Services (IIS).
Although I do not build entire projects with ASP, I do support making minor modifications and completing small tasks - such as browser-based "upload file and email as attachement" forms.
Python
Python is an object-oriented high-level programming language with a fully dynamic type system and uses automatic memory management.
The philosophy behind Python is noteworthy among high-level programming languages because it emphasizes the importance of programmer effort over computer effort, and because it rejects more arcane language features, prioritizing readability over speed or expressiveness. Python is often characterised as minimalist, although this only applies to the core language's syntax and semantics; the standard library provides the language with a large number of additional libraries and extensions.
Although I do not build entire projects with Python, I do support making minor modifications and completing small tasks - such as modifying the display of search engine result pages (IE: My modified installation of Ultraseek Server at
MotionControl.com.
Client Languages
Client-side scripting generally refers to the class of computer programs on the web that are executed client-side, by the user's web browser, instead of server-side (on the web server). This type of computer programming is an important part of the Dynamic HTML (DHTML) concept, enabling web pages to be scripted; that is, to have different and changing content depending on user input, environmental conditions (such as the time of day), or other variables.
JavaScript
JavaScript is an implementation of the ECMAScript standard, a scripting language based on the concept of prototype-based programming. The language is best known for its use in websites (as client-side JavaScript), but is also used to enable scripting access to objects embedded in other applications.
Some common examples of this usage follow.
- Opening or popping up a new window with programmatic control over the size, position and 'look' of the new window (i.e. whether or not the menus, toolbars etc are visible).
- validation of web form input values to make sure that they will be accepted before they are submitted to the server.
- Changing images as the mouse cursor moves over them: This effect is often used to draw the user's attention to important links displayed as graphical elements.
- Control Web2.0 behaviors and special effects
- Run Ajax routines
WebVeteran.com in it's current form would not be possible without JavaScript.
XHTML
The
Extensible HyperText Markup Language is a markup language that has the same depth of expression as HTML, but a stricter syntax. A goal for XHTML and XML was to reduce the demands on parsers and user-agents in general. With HTML, user-agents increasingly took on the burden of "correcting" errant documents. Instead XML requires user-agents to fail when encountering malformed XML. This means an XHTML browser can theoretically be faster and made to run more easily on miniaturized devices than a comparable HTML browser. The recommendation for browsers to post an error rather than attempt to render malformed content should help eliminate malformed content. Even when authors do not validate code, and simply test against an XML browser, errors will be revealed.
DHTML
Dynamic HTML is a term used for a collection of technologies, used together to create interactive and animated web sites by using a combination of static markup language (such as HTML), a client-side scripting language (such as JavaScript), the presentation definition language (Cascading Style Sheets), and the Document Object Model. Dynamic HTML is often used to make rollover or drop-down buttons on a web page, but can be use to manipulate just about any element of a web page.
CSS
Cascading Style Sheets is a stylesheet language used to describe the presentation of a document written in a markup language. Its most common application is to style web pages written in HTML and XHTML.
Prior to CSS, nearly all of the presentational attributes of HTML documents were contained within the HTML markup; all font colors, background styles, element alignments, borders and sizes had to be explicitly described, often repeatedly, within the HTML. This leads to lots of inconsistancy over many pages. CSS allows authors to move much of that information to a separate stylesheet resulting in considerably simpler HTML markup, with 100% consistancy across web pages.
Combines with Hybrid Language, below, WebVeteran.com can deliver a rich user experience that runs entirely within a browser window - with no plugins, Flash, or Java.
Hybrid Languages
AJAX
Ajax, shorthand for
Asynchronous JavaScript and XML, is a web development technique for creating interactive web applications. This makes web pages feel more responsive by exchanging small amounts of data with the server behind the scenes, so that the entire web page does not have to be reloaded each time the user requests a change. This is meant to increase the web page's interactivity, speed, and usability.
XML
The
Extensible Markup Language (XML) is a W3C-recommended general-purpose markup language that supports a wide variety of applications. Its primary purpose is to facilitate the sharing of data across different information systems, particularly systems connected via the Internet. Formally defined languages based on XML (such as RSS, MathML, XHTML, Scalable Vector Graphics, MusicXML and thousands of other examples) allow diverse software to reliably understand information formatted and passed in these languages.
Web 2.0
Web 2.0 refers to a perceived or proposed second generation of Internet-based services that emphasize online collaboration and sharing among users. Its exact meaning remains open to debate. The last, compact, definition of Web 2.0, according to Tim O'Reilly is this one: "Web 2.0 is the business revolution in the computer industry caused by the move to the internet as platform, and an attempt to understand the rules for success on that new platform. Chief among those rules is this: Build applications that harness network effects to get better the more people use them. (This is what I've elsewhere called 'harnessing collective intelligence.')".
A Web 2.0 website may typically feature a number of the following techniques:
- Rich Internet application techniques, optionally Ajax-based
- CSS
- Semantically valid XHTML markup
- Syndication and aggregation of data in RSS/Atom
- Clean and meaningful URLs
- Extensive use of tags or tagclouds
- Use of wiki software either completely or partially
- Weblog publishing
- Mashups
- XML Webservice APIs
SOAP
SOAP (originally
Simple Object Access Protocol) is a protocol for exchanging XML-based data over a computer network, normally using HTTP. SOAP forms the foundation of providing a basic messaging framework that more abstract layers can build on.
Database Languages
Query languages are computer languages used to make queries into databases and information systems. Broadly, query languages can be classified according to whether they are database query languages or information retrieval query languages. Storing your information in a database is more secure than in files on yourt website, and allows for dynamic content through any Server Language.
MySQL
A multithreaded, multi-user, SQL Database Management System with more than six million installations. MySQL is popular for web applications and for open-source bug tracking tools like Bugzilla. Its popularity as a web application is closely tied to the popularity of PHP, which is often combined with MySQL and nicknamed the Dynamic Duo.
MS SQL Server
A relational database management system produced by Microsoft. Its primary query language is Transact-SQL, an implementation of the ANSI/ISO standard Structured Query Language (SQL) used by both Microsoft and Sybase. SQL Server is commonly used by businesses for small- to medium-sized databases, but the past five years have seen greater adoption of the product for larger enterprise databases.
MS Access
Microsoft Office Access is a relational database management system from Microsoft, packaged with Microsoft Office Professional which combines the relational Microsoft Jet Database Engine with a graphical user interface.
Microsoft Access can use data stored in Access/Jet, Microsoft SQL Server, Oracle, or any ODBC-compliant data container. Skilled software developers and data architects use it to develop application software. Relatively unskilled programmers and non-programmer "power users" can use it to build simple applications. It supports some object-oriented (OO) techniques but falls short of being a fully OO development tool. Using data stored in an Access MDB makes for easy portability. You can simply download the MDB and open it in Microsoft Office. Howerver I perfer to use MS SQL Server because it's more powerful with better performance.
Copyright
This article uses material from various
Wikipedia articles. For more information on any of the above terms please do a search there.