Web Development Terminology

Glossaries are especially useful for understanding that basics of the core materials that make up a particular discipline and you will be able to have a better understanding of what's going on in your industry, as well as be able to learn faster. However, glossaries can also make a great reference point for your customers to point to in situations where there is a discrepancy.


Long since software development has come into mainstream it has primarily followed sequential development techniques through the development lifecycle. To be very specific, the SDLC (or software development life cycle) has followed waterfall approach most, where each phase of SDLC is completed before the next stage begins. For example, before any coding begins, the requirements gathering and the architecture design are completed. Though this “assembly line” approach to software development was advantageous in early days of software industry it seems to be getting obsolete for the current generation of software development needs.
In today's world, traditional SDLC models such as waterfall model, pose a lot of challenges and limitations. It limits the teams from revisiting the stages of SDLC as the traditional approach allows the teams to finish every stage before beginning the next stage. The teams do not revisit the previous stages. The fast paced technological changes in our markets, the increased use of embedded software in devices and the ever-increasing uncertainty in the market place makes it impossible for the customers to provide all the requirements at the beginning of the SDLC. By the time the software is estimated to be ready, if developed via waterfall SDLC, it is quite likely that the feature/functional requirements of the software become irrelevant for the customer by the time the software is released.

Cite: 10 Advantages Of Agile SDLC new-window

Ajax.org platform is a pure javascript application framework for creating real-time collaborative applications that run in the browser and radically changes the way you write applications. The term Ajax has come to represent a broad group of web technologies that can be used to implement a web application that communicates with a server in the background, without interfering with the current state of the page.
Cite: Ajax.org new-window
Expression Blend
Expression Blend is a full-featured professional design tool for creating engaging and sophisticated user interfaces for Windows Presentation Foundation (WPF) and Microsoft Silverlight applications. Expression Blend lets designers focus on creativity while letting developers focus on programming.

Cite: Expression Blend new-window

JavaScript Object Notation (JSON) is an approach to exchanging data, frequently between a client application such as a web browser that is running JavaScript, and a server. JSON is much less cumbersome than XML for data exchange, especially within JavaScript applications, and is therefore often used as an alternative data format for AJAX applications
In addition, JSON is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language and JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language.

Cite: JavaScript Object Notation (JSON) new-window

Many refer to Linux as a UNIX-like operating system. It is an open source operating system that has many of the same principles and ideals as UNIX, but it is not a true UNIX operating system like Solaris, AIX®, HP-UX, and others. Linux was born out of the desire to create a free software alternative to the commercial UNIX environments. Its history dates back to 1991, or further back to 1983, when the GNU project, whose original aims where to provide a free alternative to UNIX, was introduced. Linux runs on a much wider range of platforms than most UNIX environments, such as the Intel/AMD led x86 platform. Most UNIX variants run on just one architecture.
REST defines a set of architectural principles by which you can design Web services that focus on a system's resources, including how resource states are addressed and transferred over HTTP by a wide range of clients written in different languages. If measured by the number of Web services that use it, REST has emerged in the last few years alone as a predominant Web service design model. In fact, REST has had such a large impact on the Web that it has mostly displaced SOAP- and WSDL-based interface design because it's a considerably simpler style to use.
Cite: RESTful Web services new-window
Selenium automates browsers. That's it. What you do with that power is entirely up to you. Primarily it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) also be automated as well.
Cite: What is Selenium? new-window
UNIX is an operating system which was first developed in the 1960s, and is a suite of programs which make the computer work. It is a stable, multi-user, multi-tasking system for servers, desktops and laptops. UNIX systems also have a graphical user interface (GUI) similar to Microsoft Windows which provides an easy to use environment. However, knowledge of UNIX is required for operations which aren't covered by a graphical program, or for when there is no windows interface available, for example, in a telnet session.
Extensible Application Markup Language, or XAML (pronounced “zammel”), is an XML-based markup language developed by Microsoft. XAML is the language behind the visual presentation of an application that you develop in Microsoft Expression Blend, just as HTML is the language behind the visual presentation of a Web page. Creating an application in Expression Blend means writing XAML code, either by hand or visually by working in the Design view of Expression Blend.
Cite: What is XAML? new-window
Windows Presentation Foundation (WPF) is a unified presentation subsystem for Windows, exposed through WinFX, the managed-code programming model for Windows Vista that extends the Microsoft .NET Framework. WPF consists of a display engine and a managed-code framework. WPF unifies how Windows creates, displays, and manipulates documents, media, and user interface (UI), enabling developers and designers to create visually stunning, differentiated user experiences.
WPF is based on managed code but uses a markup language, Extensible Application Markup Language (XAML), to make building applications much easier for designers. XAML-based applications currently support C# and Microsoft Visual Basic .NET. If you write a WPF application entirely in procedural code, you can use any common language runtime (CLR) language.
Cite: What is WPF? new-window

API Platforms

An application programming interface (API) is a specification intended to be used as an interface by software components to communicate with each other.
Dojo Library
Dojo saves you time and scales with your development process, using web standards as its platform. It’s the toolkit experienced developers turn to for building high quality desktop and mobile web applications. From simple websites to large packaged enterprise applications whether desktop or mobile, Dojo will meet your needs.
Cite: dojo.org new-window
jQuery Library
jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript.
Cite: jquery.com new-window
YUI Library
YUI is a free, open source JavaScript and CSS library for building richly interactive web applications.
Cite: yuilibrary.com new-window

MVC & JavaScript Frameworks

Model–view–controller (MVC) is a software pattern for implementing user interfaces. It divides a given software application into three interconnected parts, so as to separate internal representations of information from the ways that information is presented to or accepted from the user. The central component, the model, consists of application data, business rules, logic, and functions. A view can be any output representation of information, such as a chart or a diagram. Multiple views of the same information are possible, such as a bar chart for management and a tabular view for accountants. The third part, the controller, accepts input and converts it to commands for the model or view.
Cite: Model–view–controller new-window
HTML is great for declaring static documents, but it falters when we try to use it for declaring dynamic views in web-applications. AngularJS lets you extend HTML vocabulary for your application. The resulting environment is extraordinarily expressive, readable, and quick to develop.
AngularJS is an open-source JavaScript framework, maintained by Google, that assists with running single-page applications. Its goal is to augment browser-based applications with model–view–controller (MVC) capability, in an effort to make both development and testing easier.
The library reads in HTML that contains additional custom tag attributes; it then obeys the directives in those custom attributes, and binds input or output parts of the page to a model represented by standard JavaScript variables. The values of those JavaScript variables can be manually set, or retrieved from static or dynamic JSON resources.
Cite: angularjs.org new-window
Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.
Cite: backbonejs.org new-window
A framework for creating ambitious web applications
Cite: emberjs.com new-window
Simplify dynamic JavaScript UIs with the Model-View-View Model (MVVM) Pattern. Knockout is a JavaScript library that helps you to create rich, responsive display and editor user interfaces with a clean underlying data model. Any time you have sections of UI that update dynamically (e.g., changing depending on the user’s actions or when an external data source changes), KO can help you implement it more simply and maintainably.
Cite: knockoutjs.com new-window
Sencha Framework
Sencha Complete gives developers access to the best combination of technology, tools, and support for developing multi-platform web apps based on HTML5.
Combining Sencha Ext JS and Sencha Touch – the industry's leading JavaScript frameworks – with Sencha Architect and other developer tools, Sencha Complete will help you build multi-platform, multi-device business apps that will delight your end users.
Cite: sencha.com new-window

What is the difference between a JavaScript Framework and a JavaScript Library

This describes a given structure of "how" you should present your code. Pretty much like a code-template, along some helpers, constructors etc. to solve/simplify a specific problem or bring your architecture in "order". A framework encapsulates common application functionality, allowing the developer to focus on the parts that are unique to their application. Usually that means the developer writes pieces of code that get called by the framework when various things happen. backbone.js is a framework because it structures your front-end code to match the MVC pattern.
A library is an entire toolkit which highly abstracts different layers, like browsers / DOM models / etc. Also as a good toolkit, it offers a lot of tools and neat stuff to work with, which in general, simplify your coding experience. Libraries are packages of code that typically get called by your application to perform a task, like DOM manipulation or HTTP requests. jQuery is a library because it abstracts a lot of browser incompatibilities but imposes no structure on your code.


Useful Glossaries For Web Designers and Developers new-window