What happens to the various products, frameworks and tools we research or try out in our projects? Some technologies become part of our core stack, others vanish.
See another post about why we publish our Technology Radar.
Following questions from and discussions with both clients and our own staff, we have been thinking about the best way to communicate the broad spectrum of our utilized technologies and methods.
The result is what we call the Technology Radar.
The Technology Radar is a list of technologies on our radar – currently used, tested or under research. The list has four major categories:
This category includes all third party licensed software products and components that constitute major building blocks in our projects’ architecture. For example: content or document management systems, databases and message brokers
Platform is the pre-existing environment that a piece of software is designed to run on while obeying its constraints, such as Windows, Android, or Azure
This section groups reusable software programs or libraries that provide particular functionality as part of a larger software platform such as ASP MVC or AngularJS
The last group is meant for various tools that help improve productivity or software development quality and constitute best practices of software craftsmanship.
All technologies that we look at are categorised in one of the following stages:
In addition, technologies we consider particularly interesting at the moment are marked as Hot topics for potential future use and hence are labeled as red dots.
This category has been fairly stable last years with Episerver CMS keeping it’s dominant position. However, we have observed that new contenders in CMS, eCommerce and enterprise search are gaining momentum.
Enterprise grade content management system that supports automation, personalization, and A/B testing. It is integrated with Episerver Commerce, and can be hosted in public cloud, on premise, or with Episerver DXC (Digital Experience Cloud). It is often the best choice for enterprises with high CMS requirements. Fits well in scenarios with medium sized, cost-effective websites.
This is an open source content management system, that has commercial support plans available. It is well integrated with uCommerce, and also enables building customizable forms with Umbraco Forms. It can be hosted on premise, in public cloud or in Umbraco cloud.
The concept behind this technology has changed how we view content. In the content-as-a-service (CaaS) approach, users can manage content in one place, and have it shared across different applications, often utilizing the cloud. Contentful is a good alternative to traditional CMS-centric solutions.
Elasticsearch/Logstash/Kibana (ELK) is an open source technology stack for search, data processing and data insight. It provides a robust and scalable set of technologies that can act as an architectural cache component and a search engine, as well as a tool for business insight. Elasticsearch is used to create personalized enterprise and site search experiences. It is the core search engine for EPiServer Find and EPiServer Commerce.
With more data being produced and collected in our applications we see increasing demand for online analytics and reporting. Microsoft Power BI provides a powerful suite of business analytics tools for data visualization, which can be used by business users, analysts and IT professionals. Hosted in Azure Cloud, Power BI is integrated with Microsoft toolsets like Excel and SQL. Additionally, visualizations can be embedded in tailor-made applications. Good alternatives for Microsoft Power BI are also Tableau and Qlik.
Big data challenges requires dedicated tools for processing. Hadoop is an open-source software for storing and analyzing massive amounts of structured and unstructured data. It is often used in scenarios with machine learning. Microsoft Azure cloud offers it as part of the HDInsight suite.
It is a public cloud computing service created by Microsoft. Azure, alongside Amazon Web Services and Google Cloud Computing, covers the majority of the public cloud market and provides software as a service (SaaS), platform as a service, and infrastructure as a service, in flexible pay-as-you go model. Recently launched Azure Germany meets strict European Union (EU) requirements by storing all data in Germany and controlling systems by a German data trustee.
Provided ephemeral computing power that comes into existence on request and disappears immediately after use. It’s an alternative to long-running virtual machines and removes the nontrivial effort that traditionally goes into server and OS configuration and orchestration. Pricing is based on the actual amount of resources consumed by an application, rather than on pre-purchased units of capacity. Serverless architecture is supported by major cloud providers like Azure Functions, AWS Lambda and Google Cloud Function
Cognitive Services which provides artificial intelligence (AI) as a service (SaaS model), is a set of tools for developers who can insert AI functions directly into custom applications. It supports image processing, face and object recognition, emotion detection, and natural language processing, with sentiment analysis and speech recognition. This toolset creates a lot of possibilities like building application that can recognize your face, guess your mood and play your favorite music when you tell it to do so – with voice commands obviously.
Azure Bot Service implements concepts of Conversational AI making human and computer interactions more natural. It enables developers to create conversational interfaces on multiple channels. Out of the box it supports integration with custom and existing applications, including Skype, Slack or Facebook Messenger
React Native enables users to build mobile apps using only JavaScript – developers familiar with React can easily start creating mobile applications. It uses the same fundamental UI building blocks as regular iOS and Android apps, but in contrast to native development, supports creating one application for both iOS and Android.
In the Frameworks category we continue to observe rapid expansion and development of various JavaScript libraries. New frameworks arise, others are depreciated. In addition the new ECMAScript specification implies further substantial changes to existing frameworks and libraries.
React.js is a JavaScript framework focusing mainly on the end-user experience. It’s a “framework for creating user interfaces” according to its creator – Facebook. At Making Waves we know that modern JavaScript runs exceptionally fast, both on the server side and on client side (browsers etc.). When utilizing client side JavaScript, the DOM manipulation part however can often cause a bottleneck. Enter React.js and «the Virtual DOM». React lets the developer focus on describing what the end result (the user interface) should look like as a whole, and not worry about how this is applied, thanks to using the DOM api directly. This allows for better performance in the UI and it enables multiple developers to better work together by using a declarative way of programing.
Angular is a complete web application platform used to build well-structured Single Page Applications (SPA). It enables users to build fast interfaces via Web Workers and server-side rendering. Development of Angular I led by the Angular Team at Google and by a community of individuals and corporations. Angular (also known as Angular 2+) is a major upgrade to AngularJS 1.x. Because this upgrade was so major from the previous version, it has required extra effort and knowledge to update applications, in order to support the new platform.
Typescript is a strongly typed language that complies to JavaScript. With static typing enabled and advanced tools such as autocompletion, navigation, and refactoring, Typescript is a good alternative to writing in pure JavaScript. Moreover most of JavaScript libraries and frameworks are compatible with Typescript which makes adoption even easier.
We have observed that increasing usage of mobile devices results in even more focus put on proper presentation of content on websites. Having the same content with different layout (i.e. Responsive Web Design) is not enough – instead Adaptive Content approach is taken. Multitude of devices means also many cases to tests. Cross-platform testing is the area where tools like Browser Stack help by helping front-end developers understand how a page is rendered on specific devices. From an infrastructure perspective, Docker in conjunction with Kubernetes is supported by major cloud providers, which made has this combination the de-facto standard for containerization of application.
This concept is based on the principle of providing meaningful and personalized interactions across all channels. In the Adaptive approach, design adapts not only by responding automatically to screen size and orientation of device, but also by displaying relevant content
Cross platform testing is performed to determine the behavior of an application or a website in different environments. It helps in identifying issues that may vary with platforms or configurations such as consistency, user interface, usability, and performance issues. In Making Waves we also use Open Device Lab that facilitates testing on physical devices. For other scenarios where automation is possible we leverage tools like Browser Stack, Litmus or Xamarin Test Cloud.
Docker and Kubernetes used together make it easier to achieve parity between development and production, which makes for reliable deployments and is a natural fit in a microservices-style application as a packaging mechanism for self-contained services. Recently Docker has become the container orchestration platform of choice for major public cloud platforms, including Microsoft’s Azure Container Service and Google Cloud.
November 8, 2024 / 3 min read
Sustainability is now a key focus for tech companies. In a recent survey at our company, we learned more about how our employees view sustainability and how they approach it. These...
July 26, 2024 / 10 min read
This guide covers how Optimizely Data Platform (ODP) can improve your business with real-time customer insights, personalised campaigns, and simple data integration and will give you...