This is part of a series of blog posts lifting the lid on the different types of projects you could potentially work on as part of the Scott Logic  team.

Here, Andy will talk you through what’s involved in building a web-based application framework for the browser and desktop.

Over the last year, I’ve led a team building an application framework for a large financial organisation. This framework is being used for both internal and external applications, and helps all of the client’s distributed development teams to implement a common feature set with a similar look and feel. Users can access their applications with any of the supported browsers, or download and install a desktop HTML5 application that has a richer native experience than the browser can provide.

Changing business requirements are a fact of life. The vision for the product in this instance changed significantly over the course of the project. But working in an Agile way, and being able to rapidly respond and quickly deliver great software meant the customer was happy, and we as developers also get great job satisfaction.

Modern web application development

Web technologies are moving so quickly that it can be hard to keep up. It’s great to see that large institutions are investing in new platforms, giving us the opportunity to use our expertise to help them on that journey.

The framework we’ve built on this project uses Node.js tools and build process, JavaScript module loading and optimisation, and a data driven user interface with D3. Building a framework for applications has always been challenging because it’s difficult to avoid locking the application developers into certain technical choices. Our developers on this project have a great deal of flexibility with regard to how they implement their applications. Common choices are to use the popular AngularJS or ReactJS libraries, and many simpler data driven applications are implemented as simple D3 components.

Our back end tooling is built around modern build and deployment tools, incorporating plenty of automated testing. It gives us the confidence to deploy new features into production shortly after every two week sprint. For example, we were able to update the application’s visual style in one sprint, and see the new version running in production about a week later.

handing over

With the framework’s main features complete and running successfully in production, other teams of developers can now deploy applications into the framework. Users can run them on the desktop or in a multi-windowed browser environment that handles window layout with a grid system, and persists applications between sessions.

The project will soon be moving into a maintenance and enhancement phase, where we’ll be handing over to a team within the organisation, and looking towards the next big project!

Would you like to be involved with projects similar to this? Why not take a look at our current vacancies? If you want to hear more about our projects take a look at Sam’s insight into building a web-based foreign exchange application where you can find out about his experience of working within a Scott Logic team.