Architecting a distributed system requires a good understanding of available technologies. Each technology can be used like a tool in a toolbox to solve real world problems. In this article, I will discuss modern protocols and frameworks with their pros and cons along with some tips and tricks of using them are explained. Additionally if you’re interested in finding the latest trends, I have included the future standards and technologies that will soon be available.

Image for post
Image for post

REST API:

Rest APIs are the simplest and most common way of communication between a server and a client. REST is acronym for REpresentational State Transfer. The technical implementation of REST APIs is not the purpose of this article. …


Developing applications with a small team of developers is easy, but in a large team this can be a challenging task in Xcode. Particularly when the code commits are frequent and feature developments can cause conflicts. On top of workflow complexities, Xcode project file format doesn’t have much support for team software development.

When developers actively contribute to the repository, such as working with UI, Storyboards, adding, removing files, etc, conflicts may happen when changing the project structure. …


Image for post
Image for post

Have you ever been involved with the development of an application that has a large codebase or requires a modular design similar to the following scenarios?

1- An application that presents a screen or series of screens that have a similar design, but slightly different content? Such as tutorial slides that appear upon launching the app. You might need to maintain the slides, add some slides in the middle of your existing slides, or represent part of your slides again when a user is about to perform certain actions.

This is how you can do it using OperationFramework:

Displaying Sample Tutorial using…


If you are a Mac user and recently started flutter development, you might have faced some errors like this:

“idevice_id” cannot be opened because the developer cannot be verified.

Image for post
Image for post
“idevice_id” cannot be opened because the developer cannot be verified.

Or similar errors:

“dart” cannot be opened because the developer cannot be verified.

“idevicename” cannot be opened because the developer cannot be verified.

“idevicescreenshot” cannot be opened because the developer cannot be verified.

“idevicesyslog” cannot be opened because the developer cannot be verified.

This is because of GateKeeper and recent changes inside Mac OSX. Gatekeeper is a service that protects users from running unsigned applications from unknown sources.

There are different ways to fix…


Enums are an essential part of programming languages. They help developers define a small set of predefined set of values that will be used across the logics they develop.

In Dart language, which is used for developing for Flutter, Enums have limited functionality. However, there are ways to overcome these limitations. In this article, the strategies to overcome these limitations along with their pros and cons will be reviewed.

On StackOverflow, people often ask questions such as: “How to get Value from enums in Flutter?” or “How To get String Values from Enums in Flutter”, etc.

Image for post
Image for post
  1. Basic Enums

In Dart, Enums are a special kind of class used to represent a fixed number of constant values and declaration is pretty…

About

Amir Kamali

Software Engineer, Director of Mobile Engineering at AMC Networks

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