Full Metal Software considers a range of development technologies to find the best fit for our customers' requirements and even though we can geek out with the best in the business, it is often not relevant what we use, just that it is enterprise class and meets current and future needs of our clients.
Rather than offer every language available (there are hundreds if not thousands) we have concentrated on being an expert in a select range of development languages that are all highly regarded (often backed by large corporations), in common use and have stood the test of time.
Being a full stack web applications company means we have expertise (in house) with all levels of the technical stack. The technical stack, in our case built around the .Net framework, consists of:
Being experts means we are capable of choosing, setting up and using each of these components. Below is a brief overview of the technologies we are expert in:
Although the lines are blurring as technology moves forward, the languages and libraries below are what we use for front end (user facing) part of our web applications.
As it is a standards driven technology it is constantly updated to include new features. The current version is HTML 5.1 and its predecessor HTML 5.0 (both are normally just referred to as HTML5) along with significant updates to the other two parts of the triad (JS and CSS) have made a lot of use cases for proprietary technologies, such as Adobe Flash, redundant.
As HTML is interpreted by the browser it is reliant on the browser suppliers to implement new features as they are added to the released standards. This means that we always have to take care to find what browser versions are being used by our clients and their users to make sure that everyone can use the application.
CSS (Cascading Style Sheets) are used to style markup languages, most commonly HTML. It was introduced to separate out style, which was up until that point was included in the HTML (inline style), from structure (HTML).
Like HTML, CSS is a standards based technology that requires the browser developers to implement standards and therefore, just like modern HTML functionality, we are careful to only implement features our clients and their users' browsers can support.
CSS 3 is the latest standard, although level 4 features have started to gain wide level browser support. In fact, CSS3 and its future iterations are no longer one single standard and are being developed in a modular fashion. CSS3 included media queries, which is how most mobile friendly (responsive) sites are driven today. This largely removed the need to have one user interface for mobile and one for PCs.
Confusingly JS standards are implemented from an underlying scripting language, ECMAScript which is current on version 7, ECMAScript 2016. Browser support is improving but it should be noted that even its predecessor, ECMAScript 2015, still does not have complete browser support.
Bootstrap is most likely the most commonly used Front End frameworks in the world, incorporating all of the 3 Front End technologies above (HTML, CSS, JS). Initially it was developed for internal use at Twitter but in 2011 it was released as an open source framework.
It really helps speed up Front End development and also has the benefit that there are thousands of plugins (free and paid for) that can be used with jQuery to add all sorts of great functionality to web applications.
Angular is a great tool for fast development of single page applications (SPA). In the simplest terms and SPA is an application where the whole web page doesn't have to reload when something has happened on the server side that needs to be presented to the user. A great example of this is if you have ever used webmail (Gmail or Outlook.com). When you get a new email the whole page doesn't reload, just the new message that appears in your inbox
As Angular is predominately run in the browser it can move some of the processing requirement away from the server to the users' PC or phone. Angular is not recommended for every web application, for example Search Engine Optimisation is made much more difficult with SPA.
.Net (often called dotNet) is a powerful server side software framework developed by Microsoft. The framework supports a number of programming languages of which C# (C sharp) and VB (Visual Basic) are the most commonly used. Full Metal Software are expert in both of these languages. Although .Net is a framework, developers often call themselves .Net developers, where in fact they actually mean VB.Net or C#.Net developers (or any of the other supported languages).
.Net is one of only a few truly enterprise class languages for web applications. It has been around for over 15 years (and before that there was Classic ASP which is what our first applications were written in) and is extremely popular. That is no mean feat for a programming language as they rarely are around that long and almost never reach the same level of use. It is therefore mature, here to stay and well understood. All important factors when choosing what language to build your application in. In fact, in our opinion, only Java matches it for business web applications.
As it has matured the .Net framework has adapted to be useable in a wide range of applications. In fact it comes in a number of flavours that have been tweaked to better serve a specific purpose. We use these variations based on our clients' requirements, the most common for a web application is to use the MVC.Net which is designed to follow the modern development pattern of Model, View, Controller.
Most applications require data persistence and we recommend MS SQL Server that comes in a number versions ranging from the Tier 1 Enterprise edition through to SQL Server Express (it is free too!) for smaller applications.
It is a relational database that comes with great end to end security features and memory caching for improved performance. It is used by a lot of the world's leading brands and applications and it works with any server side language and can be installed on a number of different operating systems.
What we really like about MS SQL Server is that you can start at any level and move up and down the versions with ease as your requirements change.
Operating Systems (OS) for web applications typically fall into either Windows or Linux categories. None of the Front End, Server Side or Databases that are in our stack limit you to a choice of which category you choose. Whilst it is tempting to choose one of the free Linux distributions we recommend Windows Server as the operating system of choice
It is designed specifically with web applications in mind, can be found on all of the hardware options that apps would need and is extremely secure.
Choosing the right hardware for the job is complex. You have to balance cost, upgradeability, how the app is to be accessed, how available it needs to be and many other things. The good news is that if you choose to work with Full Metal Software we are here make sure you get it right first time.
We will pick the best option for you from:
Virtual Private Servers are good for smaller application as they tend to be the cheapest.
A full server is spit into smaller parts that share the same system resources.
Also known as Platforms as a Service (PaaS). They tend to be modular in that you take the resources you need for your application right now with a lot of flexibility to upgrade easily as your requirements change
Our preferred PaaS options are Amazon Web Services (AWS) and Microsoft Azure
Those are the basic options but we also work with server clusters, load balancers and hybrids of the above to make sure your application works for you, how you want it to work.