Coding and testing

Multilingual, multiplatform coding

Component based programming in Javascript, PHP, C++, and C#

We understand containers, patterns, modules and components and the languages and tools used to build them. We provide advice on the optimal workflow and tools whether your project is a web application running on a smart phone or multiple C++ running concurrently on a network of servers.

molecules

Why Component Engineering?

We are component driven and focused company. Field tested component frameworks reuse millions of lines of tested code to reduce in-house software development complexity, improve stakeholder communication, and empower businesses to participate in the creative process of creating online digital services.

Component frameworks provide several out-of-the-box business use cases and services and API’s to create additional functionality in highly structured environments using often little more than simple template overrides or component inheritance.

We offer component and service oriented software engineering services incorporating a wide variety of high quality, robust, field tested component frameworks and API’s tailored to specific business use cases.

geodesic hut

Why use component frameworks

Software development is expensive and and a framework provides millions of lines of code and multiple use cases tested for robustness and security. We think a framework is an absolute necessity on any project and represents huge cost savings when considering creating equivalent bespoke functionality. It offers a range of benefits.

  • A framework is a pledge of quality, upgradability and maintainability of applications at lower cost.

  • Applications developed using a framework adopting market standards are interoperable with those standards.

  • A successful framework also normally represents a large developer and user community to enable problems to be quickly fixed when they arise.

Javascript and client frameworks

State of the art reactive user experiences

These frameworks deliver components to deliver optimized javascript and css delivery straight to your users. Any device. Any resolution.

Angular

Not to be confused with the previous incarnation Angular.js this is a full featured component based javascript isomorphic framework offering zero config progressive web application generators for both native mobile and browsers. It rendering engine is very fast and provides a complete robust solution and deeply integrated reactive elements, providing routers, form builders and a wide variety of standalone components. 

It is a complete framework facilitating component templating, template and reactive driven forms, service definitions with dependency injection,  a well defined module and component framework and first class project scaffolding via its ng commandline utility.

It enables the programmer to extend the HTML specification to define and use webcomponents in any HTML code. HTML can be extended with both structural and attribute directives and filters can be easily defined and assigned to all elements using pipes. Angular is relies heavily on ReactiveX (RXJS) and has deep integration with RXJS observables for simplified event stream handling and a variety of PubSub implementations.

 

React

React is a blazingly fast component based render layer for client UI's and uses shadow DOM to achieve its high render speeds. It is a library not a framework and requires agreement of a stack on which to operate. There are a number of established stacks to choose from based around Flux or Redux implementations for state management.

React uses one-way data flow, so only changes to the data result in changes to the UI. By using a Redux library, you change data in a global app store, and the components listen for changes there. The benefits of having all the app state in one place is having one source of truth. Another benefit is it makes it easier to inspect changes in the app and captures the different states of the app. This helps when trying to reproduce errors and enables debug "time travel" to forward and reverse over state changes to see their effect.

Development is on short release cycles with a large number of contributers which can often lead to breakages on larger projects. where development and change management will not be easy to establish as is the case for more complete frameworks such as Angular or Drupal.

Drupal 8 (js)

Drupal 8 is listed here with the Javascript frameworks as it provides deep integration with JQuery and Backbone.js and provides a reliable secure REST server for delivery of data to other frameworks. It also provides advanced asset library resources for injecting javascript libraries into pages. It also has a powerful Ajax framework built into its core that is used to dynamically update parts of a page's HTML based on data from the server. Upon a specified event, such as a button click, a callback function is triggered which performs server-side logic and may return updated markup, which is then replaced on-the-fly with no page refresh necessary. This integration with forms provides a well structured method of delivering pre-rendered cached pages and incrementally updating page contents via AJAX calls based on events generated by user interaction.

Drupal has contributed modules that allow Angular, React and Vue applications to be embedded as blocks directly within a Drupal site and accessed through its standard routing mechanisms. These are known as Progressively Decoupled Blocks and enable a gradual integration of Drupal and market leading client front-end frameworks and libraries. Drupal is evolving fast and future versions will most likely provide full integration with the React Component library.

Vue

Vue is a lightweight framework alternative to angular. It a very simple templating system that's easy to start using and is designed to enable incremental adoption of a full client stack. It can be compared against Angular both offering a complete full stack solution (React is a front end library and requires additional elements to make a complete stack). However as an alternative to those market leaders it provides a rapid switching period from other frameworks to Vue.js because of the similarity with Angular and React in terms of design and architecture. Vue.js is a preferred choice for proof of concepts, prototypes and minimum viable products of for use with new teams due do its ease of use and simplicity.

  • Vue.js can be used for both building single-page applications and more difficult web interfaces of apps. The main thing is that smaller interactive parts can be easily integrated into the existing infrastructure with no negative effect on the entire system.
  • Vue.js can help to develop pretty large reusable templates that can be made with no extra time allocated for that according to its simple structure.
  • Vue.js is tiny weighing in around 20KB keeping its speed and flexibility that allows reaching much better performance in comparison to other frameworks.

PHP frameworks

A collection of design frameworks designed for ease of adoption, extendibility and maintainability

Create only the business logic components you need within a clearly defined and field tested framework.

Software Programming and Development

Syntapse has been producing code for over two decades, with experience in multiple languages heavily influenced by modern practices such as RAD, agile, iterative and peer programming. We can advise (or complete) coding tasks of any size from bug fixing and delivery of bespoke components to management and coordination of agile teams and project schedules. By observing modern practices and conventions we can ensure that your software assets will remain maintainable and accessible in the future.

Coding

Debugging

Testing

Regular expressions

Components

REST APIs

GraphQL API’s

AJAX

Cacheing

Search

Search autocomplete

CDN deployment

SOLID principles

Functional programming

Imperative programming

Data and file persistence

Language Constructs

Transpilers and Linters

IDE remote debugging

Code quality, coverage and statistics

Explore how Syntapse can assist your business and software development. Contact us for further assistance or general enquiries.

We can offer a range of services from half day consultancy, assessment reports, and troubleshooting to long term greenfield project involvement

As your technology partners we are happy to hear from schools and local authorities, communities and charities, engineers and scientists, startups and institutions