Posts

Showing posts from February, 2018

Introduction to API Streaming

Image
API Streaming Introduction let’s say that you want to have a look at stock market prices. You launch your app on your phone. The app uses APIs to retrieve data, in our case stock market prices, and display it on the screen. Ten seconds later, those prices have probably changed. You don’t know, but chances are at least some of them have changed. So, you’re going to hit the refresh button to reload. By reloading the page, you’re going to ask again through the same API to get the new prices. With API Streaming you would no longer have to hit the refresh button. You would receive new prices as soon as they are available, the interface would be updated in real-time with no effort required from you, and no frustration to be late on the market. Value Prop? For time-sensitive data, the way APIs work today makes them consume and waste a lot of resources without being accurate in all situations. With API Streaming, we would be able to deliver accurate and fresh data from APIs while redu

Introduction to API Gateway

Image
Introduction to API Gateway What is API Gateway API Gateway can be considered a backplane to connect and other public or private websites. It provides RESTful application programming interfaces (APIs) for mobile and web applications to access its services. Its a one-stop shop for the client, anything client wants API Gateway will get it for him. Problem How do the clients of a Microservices-based application access the individual services? Challenges The number of service instances and their locations changes dynamically Services might use a diverse set of protocols, some of which might not be web friendly Different clients need different data. For example, the desktop browser version of a product details page desktop is typically more elaborate than the mobile version. Partitioning into services can change over time and should be hidden from clients Solution Implement an API gateway that is the single entry point for all clients. The API gateway handles requests

Introduction to Service Workers

Image
Introduction to service workers Service Workers are the core components of Progressive Web Apps (PWA), because they allow caching of resources, which will help in offline experience and push notifications, which help for re marketing and engagement, two of the main distinguishing features that up to now set native apps apart. Introduction to Service workers A Service Worker is essentially programmable proxy between web page and the network, it gives ability to intercept and cache network requests, effectively giving the ability to create an offline experience for web app, which is one of the biggest advantages of native app over web app. It’s a special kind of web worker, a JavaScript file associated with a web page which runs on a worker context, separate from the main thread, giving the benefit of being non-blocking — so computations can be done without sacrificing the UI responsiveness. Being on a separate thread it has no DOM access, and no access to the Local Storage

Introduction to Git

Image
Git is a free and Open Source version control system, a technology used to track older versions of files, providing the ability to roll back and maintain separate different versions at the same time. Git is a free ware and is a successor of SVN and CVS, two very popular version control systems of the past. First developed by Linus Torvalds (the creator of Linux), today is the go-to system which you can’t avoid if you make use of Open Source software. Introduction to Git VCS How does it work? Git is a distributed system. Many developers can  clone  a repository from a central location, work independently on some portion of code, and then  commit  the changes back to the central location where everybody updates. Git makes it very easy for developers to collaborate on a codebase simultaneously and provides tools they can use to combine all the independent changes they make. A very popular service that hosts Git repositories is GitHub, especially for Open Source software, bu

Is Go an Object Oriented Language?

Image
Sometimes I read an article that says “Go is object oriented”. Sometimes another article that claims that no object oriented programming can be done with Go, just because it does not have classes. So I wrote this post to clarify this topic. Is Go object oriented, or not? Yes , Go is object oriented. Here is what GO FAQ says: Yes and no. Although Go has types and methods and allows an object-oriented style of programming, there is no type hierarchy. The concept of “interface” in Go provides a different approach that we believe is easy to use and in some ways more general. There are also ways to embed types in other types to provide something analogous—but not identical—to subclassing. Moreover, methods in Go are more general than in C++ or Java: they can be defined for any sort of data, even built-in types such as plain, “unboxed” integers. They are not restricted to structs (classes). Also, the lack of a type hierarchy makes “objects” in Go feel much more lightweight than i

Push API Tutorial

Image
The Push API allows a web app to receive messages pushed by a server, even if the web app is not currently open in the browser or not running on the device. What is Push API? The Push API is a recent addition to the browser APIs, and it’s currently supported by Chrome (Desktop and Mobile), Firefox and Opera since 2016. Microsoft Edge supports it in Preview version and Safari already has its own implementation. Why should we use Push API? You can send messages to your users, pushing them from the server to the client, even when the user is not browsing the site. This lets you deliver notifications and content updates, hence better customer engagement. This was one of the missing components of mobile web when compared to Native apps and along with this, offline support as well. How does it work? When a user visits your web app, you can trigger a panel asking permission to send updates or receive offers or notifications. A Service Worker is installed, and operating in t