Supported Technologies

Syntapse is dedicated to delivery of high quality software using well-established component based frameworks for client, server, mobile, desktop and hybrid applications. With a toolkit built from Angular, Vue, React and strong skills on the server, this section provides an overview of Syntapse supported technologies recommended for any new project. Please contact us if you have specific requirements not met with these tools.

Full stack development bootstrapping 1st class industry standard frameworks delivering data securely between your servers and to responsive displays on any device.

Simplify development and ensure its stays future-proof and secure using best practices and opinionated server frameworks in PHP and/or Javascript for dellivery of SPA (single page applications), SSR (server side rendered applications) and raw data using maintainable standards-based APIs.

Rapid full stack protoyping using a range of high performance SSR, SEO and HMR developer friendly frameworks 

tech stack

Symfony powered servers

All Syntapse's PHP server expertise is based around Symfony components to enable knowledge and skills to be easily transferred between projects

Symfony is fast becoming the de-facto standard for complex server development due to loosely coupled components which work together seamlessly to provide an field-proven framework for most applications.

Reactive, sleek, intuitive client UX design

We can develop software to meet your specific requirements by building on existing software

Full stack isomorphic stack development delivers a single code base rendered on client or server to speed up content delivery to any device.

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.

We Automate Everything

Provisioning, Orchestrating, Automating server environments

This includes your builds, testing, development, linting, rebuilding documentation etc.

Ansible

Ansible is a tool for provisioning and orchestration automation. It can be used to document and execute changes and updates from a single machine to simultaneous secure reliable updates on an entire network. It does so via execution of modules and scripts via playbooks which are essentially recipes for configuring your machine, replacing your command line input. Documentation is excellent and a wide variety of modules exist to cover most configuration scenarios.

Docker

Docker is an open-source project for automating the deployment of applications as portable, self-sufficient containers that can run virtually anywhere on any type of server. Docker serves as a lightweight alternative to full machine which needs its own operating system, but with Docker, applications operate inside a container that resides on a single host operating system that can serve many different containers.

Jenkins (Blue Ocean)

Jenkins and Blue Ocean offers a vastly simplified way to set up a continuous integration or continuous delivery environment for almost any combination of languages and source code repositories using pipelines, as well as automating other routine and monotonous development tasks. While Jenkins doesn’t eliminate the need to create scripts for individual steps, it does give you a faster and more robust way to integrate your entire chain of build, test, and deployment tools than you can easily build yourself.

Vagrant

Vagrant is a tool for building and managing virtual machine environments in a single workflow. With an easy-to-use workflow and focus on automation, Vagrant lowers development environment setup time, increases production parity, and makes the "works on my machine" excuse a relic of the past. Vagrant provides easy to configure, reproducible, and portable work environments built on top of industry-standard technology and controlled by a single consistent workflow to help maximize the productivity and flexibility of you and your team. It is more heavyweight than docker but can be used to host docker containers for a fully portable solution.

Database and file storage management

Picking the right file formats to future-proof your data assets

Mongodb

Mongodb is one of the most popular nosql database solutions available and comes with many advantages over relational SQL databases. When compared against relational databases, NoSQL databases are more scalable and provide superior performance, and their data model addresses several shortcomings of the the relational model. The advantages of NoSQL include being able to handle: large volumes of structured, semi-structured, and unstructured data, agile sprints, quick iteration, and frequent code pushes, object-oriented programming that is easy to use and flexible, and efficient, scale-out architecture instead of expensive, monolithic architecture

Redis

Redis is an ultra fast in memory key-value and data structure store which shines as a session cache, full page cache, data queue, and a full featured high performance pub/sub system with a multitude of uses. Because it stores all of its data in memory, the performance speed of Redis is unmatched. Although MongoDB faster than MysSQL the benchmarks for Redis are clearly faster than other solutions. Best used to speed up your applications running with either mongodb or mysql, or a combination of both. 

mysql and phpmyadmin

MySQL is a free, robust database solution and is usually available on shared hosting packages and can be easily set up in a Linux, Unix or Windows environment. It is also very easy to set up and confiture in a VM or docker environment and scaled accordingly. If a web application requires more than database, requires load balancing or sharding, it is easy to set up maybe instances of the database requiring only the hardware costs, as opposed to commercial databases that would require a single license for each instance.

 

File and data formats

Migrating, transmitting, receiving, importing and exporting data in variety of supported file formats including XML, YAML, JSON, HTTP, REST, GraphQL using a variety of supported tools including. Syntapse management of file data includes session data both on the client and server, server file storage, and transmission across the network using json, yaml, csv, http and REST formats. Contact Syntapse  for a full list of supported data formats for both storage and network transmission

 

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