This is a different article than what I usually do. Today, I want to address this issue because if you ever try to learn how to make games, you probably heard about the greatest rivalry of all time; Unity vs. Unreal Engine. That’s like the El Classico of game development world. It’s like the NBA play-offs. They’re like the Coca Cola and Pepsi. Well, you get the point. Unfortunately, that rivalry can confuse beginners on which engine they should choose when they want to learn game development and that is really important because if you are a complete beginner, you…


The topic of this article is Web Services. Web services are a set of technologies and rules that enable two or more components on the web to talk to each other. By components, I mean anything that exists on the web, anything that could operate on the web is a component. A web server is a component. A web browser is a component. Basically, any web program is a component.

Now, let’s talk about the first web service. The first web service used WSDL (which stands for Web Services Description Language) which is actually the rules in the previous definition…


Are you building a mobile application and unsure whether it should be a Progressive Web App, a Native App or a Responsive Website? I’m going to be talking about all of these things in this article.

Let’s focus on what is a Progressive Web App? You might have heard this which is a very trendy word. Essentially, a progressive web app is a website which just has all of the same features of a normal website. You can create that as an application that can be saved on your mobile phone or your tablet. Now, the thing that makes a…


In this article, I’m going to talk about APIs, REST, RESTful Web Services and everything you need to know about this topic.

Let’s talk about APIs first. In this section, I’ll give a brief overview of what an API is, and how it fits into the big picture. I’m going to answer three questions; What is API? How does it relate to web services? And what is a REST API? Okay, let’s start by answering the first question. API stands for Application Programming Interface, and it is a way to let software components talk to each other. …


In this article, I will talk about URIs, URLs and URNs because I see a lot of confusion between this three. In fact, I used to confuse between them, and they caused me a lot of headache, and I don’t want you to go through that. Learning about these three terms and the difference between them can be quite useful on the long run. So, what do these three acronyms stand for? What do they mean? What is the difference between them? And why does it matter? Let’s start by defining each one of them.

The URI stands for “Uniform…


In this article, I’m going to talk about ServerLess. That’s fact that everyone is talking about serverless, so why shouldn’t I. The first thing I want to say about this new buzzword is that serverless doesn’t mean no servers. Before I go deeper into this, I want to remind you of how we got to where we are today.


Why not to use one single supercomputer that could do everything we want and save ourselves from the trouble? Why to use that several computers and add the overhead of managing and maintaining them? That’s actually a good question and the answer is the motives of a distributed system which are many.

One of the most common one is the need for a solution where we need to reach a consensus among parties that are dispersed geographically. Examples of such cases are online banking, blockchain, bidding platforms and more.


Nearly all the software we use today is an extent to distributed systems or involved in distributed computing. How? You’re going to know the answer in a bit. For now, let me just give you some examples. Distributed systems or distributed computing is all around us; Google search engine, Amazon platforms, Netflix, Blockchain, online gaming, money transfer, online banking and the list goes on. Probably, the most straightforward and the simplest example of distributed systems is the client-server model which I assume you are familiar with. …


We’ve seen increase in adoption of Microservices architectural pattern over the last years as a better alternative to the Layered and the Service-oriented architecture. And a lot of new and hot buzz words are attached to this pattern in the field like CI/CD (Continuous Integration/Continuous Deployment).

From my article “Software Architecture & Design”, you will remember that (if you read of course) microservice architecture is a SOA (Service-oriented architecture). This means that the core software components in a microservices application are services. Functionalities and operations are achieved by communicating with service components through REST calls or some other messaging mechanism…


Even though the concept of events is almost as old as the arts of programming itself, Event-driven architecture or event-based solutions emerged and evolved to solve issues that started to appear in recent software architectures such as SOA (Service-oriented architecture) & Microservices and essentially patterns that involve in distributed computing. One of the common problems is that with new types of platforms in business models, microservices and cloud technologies became unsuitable or insufficient to meet the needs of modern organizations. The famous request/response approach in building distributed software systems started to become less sexy recently. Because today’s stakeholders cannot stand…

Aykhan Nazimzada

Computer Scientist

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store