HTML Common Terms
This term was originally used to describe a set of technologies pieced-together to allow client-based code to communicate with a server asynchronously, without a full page refresh.
Since the advent of JQuery and many other tool sets to simplify web application development, and because web developers rarely use XML or the embedded XmlHttpRequest object at the core of the browser technology, the term AJAX is not often used any more. It is usually assumed that these techniques are in play and just how the web works now.
AngularJS, BackboneJS, MarionetteJS, Ember, MeteorJS
Bootstrap (often called Twitter Bootstrap)
CSS (Cascading Stylesheets)
This is a separate language layer that describes styling on top of HTML. For example, a textbox is created with an HTML tag, but the color, size, border style, background, spacing and thousands of other attributes are applied using CSS. Because it is separate from HTML and typically held in separate files, this allows developers to separate the styling from the web application functionality and can add a whole new look and feel by changing the stylesheet.
The most recent accepted specification of HTML, the core language for constructing web pages. The major advancements in HTML5 over previous versions include the canvas specification for drawing and animation, as well as embedded video which are now supported by all modern browsers and no longer requiring plugins.
The canvas specification allows developers to create dynamic drawings and elements such as animated gauges. Embedded video allows developers to more easily embed videos in a web page without requiring Flash players.This was an important advancement since Apple and other device vendors explicitly do not support Flash, and require HTML5 for animation and video.
A commonly-used scripting language that all browsers natively understand. This is used to create client-side functionality, calculations, or any other logic within a web user interface.
This is an open-source library that provides a fast, useful coding interface between script code and UI elements. It is written to be cross-browser compatible, so developers do not need to be concerned with all of the various quirks of each browser’s implementation of the DOM (Document Object Model), describing all UI elements defined in HTML.
JQuery also provides a common communications framework to allow script code to make HTTP calls out to servers, either synchronously or asynchronously. The vast majority of interactive web applications developed today use JQuery in one way or another.
While very powerful, this can also take more time upfront to design, develop, and test each screen since a developer must take into consideration each form factor.
REST or RESTful
This is a technique for building web services upon HTTP actions such as GET, POST, PUT, and DELETE, typically passing JSON data in each request and response.
RESTful APIs are stateless and use URLs to define common object-oriented actions such as create, read, update, delete (often referred to as CRUD). This is advancement over such technologies as SOAP or other XML schema-based web services as the data is more streamlined and the APIs are dramatically less complex.
For example, a REST API may expose a URL such as http://server.com/products, which would return a JSON array describing each product in a catalog.
Furthermore, a URL of http://server.com/product/12345 would return JSON describing a single product with the ID of 12345. Any client could also execute an HTTP POST or DELETE operation with JSON describing the object to request an update or deletion of the record, respectively.
Single Page Applications
The client script and UI elements are loaded upon initially requesting a URL and then script calls are used to dynamically swap out entire screens or individual elements. This creates an extremely quick and responsive user interface, and presents a much better user experience, while also reducing server processing overhead and communications bandwidth. Single Page Applications are becoming the norm, and are typically built-upon frameworks like AngularJS, BackboneJS, MarionetteJS, and MeteorJS.
User Interface / User Experience – there’s a subtle distinction between these today. The former is typically the “Look” and the latter is the “Feel” when one talks about “Look & Feel”. User Interface is the organizational structure of visual elements, and User Experience is the way the elements behave and how the application flows.
WebSockets are a communication protocol that allows web browsers to maintain a persistent, full-duplex connection with a server. Doing so makes it possible for servers to push data down to a client without the browser making an HTTP request. Typical HTTP calls are stateless and require the client to initiate the communications in a Request/Response model. With WebSockets, a server can stream data down to individual browser more efficiently since there is no need to wait for the client to make a request, and also because it eliminates the overhead of communication handshakes after the initial connection. Some web UI frameworks like MeteorJS are built upon WebSockets, but older browsers have limited support for the protocol.