Technology

Introduction

Most of our web development work is carried out using the Microsoft suite of products.  We use industry standards & follow Microsoft's recommended patterns & practice, wherever possible.  In addition, we make pragmatic use of third-party & open-source technologies.

Listed below are the main products & techniques we use.  Most projects require some new or unique technical elements to be addressed, so if you do not see exactly what you want, please ask - we may already be learning about it or know someone we can recommend.

Server-side coding

Whenever we build websites that require interaction with a database, we use Microsoft's ASP.NET.  This includes many different technologies under its umbrella:-
 
All our server-side scripting (programming) is done using C# (sorry VB.NET programmers).

Database access can be done a number of ways. For direct, simple access we use ADO.NET.  Our current favourite for interacting with more complex models is Entity Framework (including LINQ to Entities) or it's simpler cousin LINQ to SQL.

The web application development itself can be done with standard ASP.NET (which is how the Kentico CMS content management system we use is built). 

Alternatively for more demanding applications we may use Microsoft's Model View Controller (MVC) Framework for structuring the application.  This is built with clear separation of concerns between the "M", "V" and "C" giving a clean architecture & the ability to build automated unit tests for the functionality.

Client-side coding

Pages are built using XHTML for layout and CSS for styling.

We use JavaScript or libraries based on it like jQuery to code things that happen under the control of the browser & end-user. 

For rich, interactive web-applications we also make use of AJAX (asynchronous JavaScript and XHTML).

Server (hosting) infrastructure

Our applications typically use Microsoft's IIS (Internet Information Services) and SQL Server.

Where we host websites on behalf of clients, we use a dedicated third-party hosting company for this purpose, and can also arrange TLS (transport layer security) when the secure HTTPS protocol is to be used.

Industry standards

We strive to use industry standards and in particular those published by the World Wide Web Consortium (W3C).  These include the use of XHTML and CSS as well as the Web Content Accessibility Guidelines (WCAG).

Coding principles & practices

When we design and build an application, we typically make use of Microsoft's recommended patterns & practices. For example, data-driven applications will be built in layers (tiers) such as presentation, business logic & data-access, or as model, view, controller, discussed above.