Web Development

We offer a wide range of web development services, catering to clients of all sizes and budgets. Our in house, UK based web development team code clever web solutions using open source LAMP technologies.

Whether you need a website or an app, you've come to the right place. We can help you with whatever you need built for the Internet, whether it's a small Squarespace brochure site or a large Laravel membership based e-learning site. Some of the typical projects we work on are:

  • Simple Brochure Website - Typically these might contain basic information about the company; who they are, what they do, a portfolio of work, the services they offer, and a contact form. You can read more about our SME websites via our services page. We often suggest WordPress as a good option in this situation although we'd always consider all the options available.
  • Online shop / E-commerce platform - We all know how online shopping works, but getting the right shopping cart solution for your needs can be more complicated than you might think. There are a lot of different shopping cart solutions out there, all with pro's and con's. We can help advise on the best shopping cart solution for your business needs. In the past we've worked with OpenCart, WooCommerce, Shopify, Shopp, CS Cart to name but a few.
  • Bespoke PHP Development - Our favourite type of project is a full custom build based on a client's idea. In the past this has taken the form of niche social networking sites, but more recently we've been building membership based sites with requirements too specific for an off-the-shelf solution, such as WordPress. In situations like this the conversation would initially be quite broad, to enable us to fully understand your aims, objectives and existing working practises. Our aim is to build a system that's intuitive for your existing team or users and helps to make everyone's life easier, saving time and money, rather than presenting them with new technical hurdles to overcome. We would typically make use of an MVC framework such as CodeIgniter or Laravel for an API or custom development project and have extensive experience with both frameworks.
  • API Integration - Sometimes people approach us needing 2 or more systems hooked up and sharing information. Perhaps they have a CRM they currently use offline in the office and they'd like their website to be able to access information from it. These kind of conversations involve a great deal of requirements gathering and things can get rather complicated when you're involving third-parties. We'd initially investigate the use-cases required and check to see if the proposed third-party APIs supports this functionality. More often than not, you need to dig beyond the sales pitch and marketing documents to establish if the available endpoints provide the exact information you need. This is something only a developer with experience of API integration and impementation in the real world would be able to fully confirm.

We're often asked to work in a whole range of different ways. Sometimes projects follow the traditional waterfall model, sometimes we use more of an agile approach. Every project, and every client is different, but you can read more about how we work here.

Every site we produce:

  • Is optmised for screens of all sizes
  • Is built with search engines (SEO) in mind
  • Works as fast as possible
  • Implements the latest security approaches, including CSRF token, security Headers, secure cookies and in some cases a CSP. We have even gone as far as implementing database pseudonymisation for some of our clients to further protect data privacy for more sensitive information.


Code Repository and Version Control

We use something called as 'Git' for our source code version control and to help our team work together effectively and efficiently. It helps us track changes during software development and is really an essential part of the web development process.

We generally either create a private Git repository on your hosting, our hosting, or using a third-party service such as Beanstalkapp.com. This can also really help with ongoing development and deployment of changes as Beanstalkapp in particular have a very intuitive deployment process allowing us to push new changes quickly and easily. It also works very nicely in conjunction with an auto-scaling setup on AWS - something we've setup for several of our clients.

Ensuring your site stays up to date with the latest security and package updates

Open source software development has always relied on software packages and libraries written by helpful people around the world who create handy libraries for others in the community to use. However as bugs and vulnerabilities are discovered in third-party packages, it's vital to update to the latest versions.

To help with this at the PHP application level, we use something called 'Composer'. Composer is a dependency manager for PHP and helps keep the packages used in your application up to date with the latest compatible versions, ensuring everything is compatible and running smoothly. We also often use another dependency management tool called npm to help us manage the Javascript dependencies within projects. If we're helping with your hosting management, 'Yum' or 'Apt' are often used to ensure all packages are kept up to date at the server level. The main difference between Composer and Yum or Apt, is that Composer just handles dependencies on a per-project basis, installing the vendor software in a 'vendor' directory inside your project.

Frequently Asked Questions

What is a Bespoke Build?

A bespoke build means your site is made exactly to your requirements. Once we've had a detailed discussion with you, the process begins with wireframing each interface so everyone is clear on how the site will flow and work.

What is a Framework?

Most of our bespoke builds are based on the MVC frameworks Laravel or CodeIgniter - which just basically means they're based on strong, maintainable foundations and can grow as required. We can (and have) used different frameworks such as CakePHP, but overall we find Laravel and CodeIgniter have the right balance of freedom and control, ensuring code is kept organised, but at the same time the framework doesn't get in the way of what we are trying to achieve.

Whichever framework you choose, using a framework also means, should another developer ever come to work on the project, there's a road map already in place as to how the code is written.

What is a domain name?

A domain name is the address your website runs under, for example 18aproductions.co.uk is our domain name. There are an increasing number of top level domain extensions now available, such as .london, .ninja, .xyz, .holiday, .futbol and loads more. We can either help purchase your domain name for you, and recharge the expense, or you can register your own domain with a domain name registry such as 123-reg.co.uk and then let us know the details.

What is Hosting and do I need it?

The short answer is probably yes. A hosting account is basically space on a computer somewhere in a huge data center where you can host your websites files. Hosting varies hugely, but we host all our websites on Linux based hosting accounts. We can help you decide on the right hosting for your project and get you all set up there.

Glossary of Terms

  • PHP - Our development language of choice, we find PHP to be a versatile and very powerful choice for pretty much any web project.
  • MySQL - Behind most dynamic websites lies a database of information. We love using the MySQL relational database as it's quick, easy, powerful and can scale to vast dimensions.
  • Javascript - Highly popular client side programming language. Allows you to do cool things in people browsers.
  • jQuery - If you want to spice up your site and add interactivity for your vistors, then the jQuery library is our personal favourite, and the most commonly used throughout the web today. We can build upon this incredibly useful framework to make something bespoke to your websites needs.
  • XHTML / HTML / HTML5 - Whatever flavour of HTML floats your boat, we code all our work to meet w3 standards wherever possible. The code behind your site is vital to your websites longevity, scalability, maintainabiliy and speed. All our sites are expertly hand crafted to pixel perfection. HTML 5 just adds a whole world of new HTML tags for the developer to play around with, and now that browsers on the whole support HTML5 it's full steam ahead!
  • CSS/CSS3 - Cascading style sheets are used to transform otherwise dull HTML code into stunning website designs. We love CSS especially all the cool new tricks on offer with CSS3!
  • JSON - JSON is useful when building more complex online applications as it's a standard text based format useful by it's inter-operability between client and server side programming languages.
  • AJAX - Reload bits of your page without loading the whole page. Ajax is the technology rediscovered and made popular by the web 2 movement, but in existence long before then. Sites can be made slick, user-friendly and fast with the good use of Ajax.
  • CodeIgniter - Our MVC framework of choice, CodeIgniter provides an excellent framework upon which medium to large web based applications can be developed. Building on the combined knowledge and experience of the thousands of web folks across the globe.
  • Perl - A slightly older choice for those in the know, Perl is great for backend processing, although has had it's toes well and truly stamped on in recent years by the increasing popularity of the PHP programming language.
  • XML - eXtensible Markup Language is a format for marking up information that is designed to be both human and machine readable. In reality when a client is presented with XML they think their computer is broken :) But it is a great, standardised way of representing information, particularly nested information, and is widely used in web services.
  • SASS - We often build sites (such as the one you're reading), by writing SCSS code first, then running it through the SASS preprocessor to create beautifully tidy CSS. There are lots of good reasons to consider using SASS for your projects such as code maintainability and organisation with the use of nesting and variables so you only have to update commonly used values in a single place - very handy.
  • Git - On larger developments we manage our code in private Git Repositories. Git is a widely-used source code management system for software development. It's revision control system has an emphasis on speed and data integrity and most importantly it allows groups of developers to work seemlessly on the same codebase without overwriting each others work.
  • REST - A software architecture style often used by web services and our preferred approach due to it's simplicity and ease of use.

If acronyms aren't your thing, and reading the list above makes you want to go for a nap, don't worry we've got it covered, and although it might be hard to understand - we love it!

 

So if you're in need of a PHP contactor, Javascript programmer, HTML/CSS frontend coder, or anything else related to web design and development drop us a line, we'd love to hear from you.