In the software and tech industry, everything goes so fast that you can often feel le1ft behind. Trends change, new methods are used and you always have to try and stay updated. So here’s a short article about a few tech trends in software architecture & development in 2017 and what has had a huge impact on software trends over the past years: data.

Latest tech trends for the year


Big data trends

Big data implies a big volume of data that a business gets on a daily basis, usually online and in the cloud. The volume is usually extremely large and complex to analyse, raw and unstructured. In the past few years, it has become a word on many people’s mouth, one of the most important tech trends 2016. In fact, with the increase of devices we use, the amount of data we have has become incredible and an1alysing it the right way could provide us huge amounts of useful information. Specially for organisations.

  • The IoT data
The Internet of Things has just started and is here to stay. In 2016, around 6,5 billion devices were connected to the internet and more devices will be connected in the years to come, and that, in almost all the industries. This means more data generated and therefore more tools to explore the data and get more insights.

If you’re interested in reading more about IoT projects with a strong impact, here’s an article I recommend to read.  


Business intelligence trends

As the majority has become conscious of the possibilities that big data could provide us, companies have started storing their data but without really knowing what to do with it. And we have fin1ally reached the period where we are trying our best to make good use of it, through analytics. And here comes what we call Business Intelligence or BI.
As mentioned earlier, having a huge amount of data is good but obviously analyzing it is the important part. Business Intelligence has a big variety of tools, apps & methodologies that helps in the analysis of the data. It’s a data-driven decision-making. It’s about generating, analysing, and visualizing of data to inform and facilitate business management. In fact reports, dashboards and data visualizations are done and all of that helps improving the decision making process of companies. Mainly because the processes are optimised, the efficiency is improved and the organisation gets a competitive advantage.
So yes, BI is about making managerial decisions. But when we talk about analytics, it’s more about asking questions: Are certain products selling better in certain locations?

If you’re interest in knowing more about how big data affects your business, here’s a good read.

  • Data discovery/virtualisation
Data discovery is a process where you “visually navigate” data to detect patterns. The idea is to fully take advantage of the data to take better decisions as well as to optimise business processes. To do so, data is getting more accessible, and analysing it is getting much more visual. Visualisation actually makes it easier to see and spot trends and special events. More and more we find ready to use guided advanced analytics functions that provide statistical information regarding the data.
  • Self service BI
People using BI tools are requiring more liberty, flexibility & responsibilities when it comes to reporting and analysis. Self-service BI tools empowers the users, enabling them to edit reports and dashboards, adapting them to their particular needs. Organisations are pushing to enable the BI users to build & design their own insights and to have access to the information at anytime and anywhere. This year, the users will more and more satisfy their own information needs.
  • Master data/data quality management
Data driven decisions are great… if the data used is correct. Organizations are more and more aware that a dashboard that looks great is not enough. If you have errors in the data you use, you won’t get too far. In 2017, data quality has become a must.  

Data mining

What about data mining? Let’s say that it’s finding answers you didn’t even know you were looking for. In fact, when having so much information it’s difficult to get all the conclusions you could get. You can often end up skipping a few key points that would be of great help. Data mining is when we go through it all to try and find what has been overlooked. It’s the practice of searching in big data to find some patterns and trends using algorithms that help segment the data.

Artificial intelligence
When we talk about artificial intelligence, we talk about the machines that are able to execute what we humans, usually execute by complex intelligence. By 2018, it is predicted that more than half of all large organizations will be using advanced analytics and algorithms to be more competitive and the science that will be at the center of those algorithms is artificial intelligence. We are building machines that are more and more able to understand the data and that can do better predictions.


Tech trends: some software development trends


Software industry trends: Programming languages

JavaScript is one of the world’s most popular and powerful programming languages and is often used to make web page more interactive by adding some effects to pages, to create some games, animations, drop down menus and get great control over the web interface. This programming language is basically great for front end. JavaScript is used by 88% of all websites.
This year, TypeScript moved up the GitHub rankings. It is great because it compiles to any browser and any environment easily. It’s also very easy to code & learn because everything is a class or component. As it maintains JavaScript properties, it’s actually quite easy to create large JavaScript applications with TypeScript, while it provides you with some of the benefits of statically-typed languages.

Java 9 will be out soon and we can’t stop hearing about it! Java is an open source language and is considered to be one of the most adopted programming languages, worldwide. One of the reasons why it is so popular is its readability and simplicity. It was also designed to be able to run it on any device. It is therefore for software development for computers, smartphones and even smart TV’s and is specially used to develop native Android apps.

Kotlin is a programming language that was created by the same person that created IntelliJ IDEA and is fully supported by Google as a “first-class” language for Androi1d. In its structure, Kotlin is very similar to Java; is solves the same issues, it’s object oriented and statically typed. But what’s great is that Kotlin has a syntax that is cleaner, it adds many features and has some ideas coming from functional programming.

Swift is a programming language that was developed by Apple. It’s a general-purpose, multi-paradigm, compiled programming language that is mainly used for iOS, macOS, watchOS, tvOS, and Linux. Swift has been growing a lot in the past years, it adopts safe programming patterns and adds modern features which makes programming easy & flexible. Writing code is Swift is very interactive and you can quickly get a grasp of it.

When object-oriented meets functional. Scala gives you this great opportunity to have the best of both worlds. Construct elegant class hierarchies for maximum code reuse and extensibility, implement their behavior using higher-order functions. There are very few Scala experts and the demand for Scala developers is growing! 


Software industry trends: Frameworks    

This JavaScript framework is maintained by Google and is used for building powerful web apps. It is open source and so completely free. It is used in Single Page Application projects and extends HTML DOM, making it more responsive to user actions.
Angular 4 is written with typeScript 2.1 helping many developers when it comes to building smaller applications. The smaller and faster version comes with changes that reduce the size of the code that is generated by more that half!

Although it’s a library, I include React.Js here with the frameworks because I consider it relevant. Quite new, it has become more and more popular. What we love about React is that it creates a virtual version of the web page and when you request to do some changes via that virtual DOM, it compares the new output with the standard one and just updates what needs to be updated! React is mainly for building user interfaces and is very fast and very practical because it refreshes automatically when there is new data available.

Spring is the standard used for building enterprise applications in Java and is actually one of the most mature Java web frameworks. What’s nice also about Spring is that when you use the Spring MVC you end up getting other Spring frameworks that are included.  

Express.js is a very complete, minimal and flexible node.js web application framework. It provides a strong set of features for building big and scalable REST API’s as well as for building single and multi-page, and hybrid web applications.

Software architecture trends

  • Microservices

When we talk about Microservice architecture, we are talking about a particular way of designing software applications; services that are independently deployable and much more scalable. Each one is running in its own process and is built around business capabilities. and independently deployable by fully automated deployment machinery. Each service can be written in different programming languages and use different data storage technologies, it means that they can also be managed by different teams.
There are many advantages to using this type of architecture:
  • Each microservice is small and it is therefore easier for the developer to understand
  • As mentioned before, each service can be deployed independently so it is easier to deploy new versions of services on a regular base
  • It is much more scalable and each service’s management can be assigned to a different team and can be worked on at different times and independently

If you’re interested, you can read about the benefits & few examples of Microservices architecture

Docker is an open source platform for developers to use. The idea is to create, deploy, and run applications, on laptops, data center, or on the cloud, by using containers. Why is using containers great? Because it enable us to package an app with all the parts that is needs and then ship it all as one and this means that the app will run on any Linux machine, even if it has customized settings. Using Docker increases performance and reduces the size of the app. 

You can learn more about the benefits of using docker here

  • Reactive programming

Reactive programming is not new but due to a very poor documentation, it wasn’t well known or used. But more and more, it has been gaining popularity with the growth of scalable & interactive architectures. Reactive programming is basically based on data flows and the propagation of change.

  • Resilient software design

Many confuse resilient systems to failsafe systems. But actually, resilient systems don’t fail, they recover back to the original state they were in. Based on a survey done to developers, we can that resilient software design gained popularity with 60% of the respondents interested in it compared to  54.5% last year.


Those are not the only tech trends in 2018 in the software industry, but they are the main ones we talk about in our environment here at Apiumhub. It’s an environment that changes and grows quite fast and it’s important to stay up to date to not be left behind. If you have any other tech trends you think could be a nice add up to the list don’t hesitate to add it in the comment section!

If you liked this article about tech trends, you might like…

Continue Reading

6 software technologies that will dominate 2018

future technologies

6 software technologies that will dominate 2018

The end of 2017 is coming. It’s time to sum up this year’s achievements – but also think forward. Narrow Artificial intelligence, mixed reality… sounds exotic? Well, they’re closer than you think. Here’s a brief summary of Gartner’s technology trend report combined with our software development experts’ prognosis on which software technologies will dominate in the coming year.

1. Artificial Narrow Intelligence

Gartner’s studies show that only 40% of enterprises have adopted AI-based solutions in their IT systems. The rest is still working on the right data sourcing for their future AI-based applications. In the coming year, we should see a significant boost in AI-driven solutions implemented in working business apps.
That’s why the next year belongs to narrow AI solutions. Businesses don’t use general AI. They want AI apps to target specific tasks with algorithms optimized for that task. Here’s where highly specialized machine learning solutions tailored to particular tasks (like crawling a web page or playing chess) can be implemented.
From our experience, we can see that companies with customer self-service modes based on web applications like web stores or SaaS enterprises are usually the most interested to invest in ANI and implementing machine learning algorithms in their applications. This trend comes from the fact that ANI has a great role in building a positive customer experience. It can be widely used to build dynamic content mechanisms and manage customer experience.
Companies like GoogleFacebook, and Slack are leading the change in AI development. Google particularly stands out here. The corporation announced its plans to base all its algorithms on this technology.
digital twins

2. Digital twins technology driven by IoT

IoT is an area where the so-called Digital Twins concept evolves at the fastest pace. Modern household appliances use a lot of smart components equipped with sensors to gather data about real-time status, working conditions, problems and so on. They’re integrated to cloud-based systems to gather data, then process and analyze it.
And here’s how a digital twin is created. It’s a kind of pairing appliance which reflects its real-life counterpart in the digital environment. This virtual model of a product or service allows for analysis of  huge amount of various data. In effect, we can deal with problems before they even occur, prevent downtime, develop new functionalities and much more.
The digital twin concept has the widest coverage in such projects as smart cities, real time navigable models, or health care  – with virtualization of a hospital systems for work safety and continuity.
As web & mobile developers, we can also observe that digital twin technology is spreading to the user experience field. Service providers try to get clients to attend their events, for example trades or fashion shows, and let customers build their visual twin to become a part of an event. This way they create an extraordinary user experience.

augmented reality


3. Mixed Reality

Building immersive experience is what marketers from different industries have been extensively discussing this year. The technology behind that idea is virtual reality mixed with the user’s presence in the physical world. This ‘Mixed Reality’ involves passing a huge amount of information to the users, which can be beneficial to our daily life and communication.
Mixed Reality has great potential to be used at a larger scale in newly created web and mobile applications. Especially in those where customers’ interactions with product or service is a key success factor.
We can see how fast Google is developing Tango – its augmented reality computing platform. In 2017 we also experienced a boom of Augmented Reality devices like Asus ZenFone AR.
The benefits of Mixed Reality technology are starting to be noticed. For example, online store applications can allow clients to view clothes on virtual mannequins or decorate their houses. 3D mapping and Mixed Reality is also used in educational programs and AR games.
event driven appa

 4. Event-Driven Applications

Gartner predicts that by 2020 a real-time, event-based approach will be a core required demand for 80% of all digital solutions. It’s crucial for business application development companies to apply “event thinking” to their solution strategy.
Event programming is not a type of technology or programming language. It represents an approach that should be implemented in a product development process. An event-driven application responds to actions generated by the user or the system, for example, mouse clicks or loading a program. From a programming point of view, it’s important to separate event-processing logic from the rest of the coding work.
Technologies like AI or IoT speed up event-driven coding as a useful product development strategy. In general, event-driven apps can improve responsiveness, flexibility and give better understanding of user esperience.

5. Blockchain

2017 was the year of blockchain hype. There seems to be an ICO token sale everywhere you look. More and more companies are considering blockchain development. What’s more, it’s likely 2018 will be big for blockchain-related services.
Blockchain can be defined as a network of interconnected peer-to-peer devices. This technology provides for the absence of central computers, as well as the lack of clearly defined locations where all data is stored. Blockchain is naturally linked to cryptocurrencies because it enables large scale non-cash transactions. In the foreseeable future, it’s anticipated that the solution will be transferred to other, broader fields such as administration, healthcare and supply chain, to streamline the processes that are already underway.

web apps

6. Progressive Web Apps

We have to add progressive web applications to Gartner’s software technology trends for 2017. The growth of web-based solutions is a solid trend we could observe during the current year. It’s no reason to think it’s going to change in 2018.
On the contrary, in the long term it’s more probable that web apps will take a significant slice of market cake from the mobile apps, and not vice versa. We believe it even more when we hear Google reps talking about focusing on expanding the features of the current browsers to let web applications achieve the same UX level as mobile apps.
Moreover, progressive web apps are easier to develop and maintain than native applications. They combine the best features of the web and mobile apps. What’s more, they make use of the vast web ecosystem, plugins and community.
Continue Reading