Many developers have problems with Git version control system, they have a gap in their Git knowledge, which causes problems with their hiring processes, especially most developers focus on upgrading, and mastering their coding skills and they have a lack of Git version control system skill, that even causes problems of waste so much time while they are working on a team with the version control system, they call team leader or senior developers to help them in many problems related to commits, merge conflicts, rebase, and merge inside Git system, and wasting their time and the other team members…

React PropTypes
React PropTypes


JavaScript is a dynamic typing language, which means types are determined at runtime:

let Sentence = "I am programmer" //Here Sentence is  string
Sentence = 20 //Here it morphs to Integer

Some programming languages are the static type like java, C sharp, when we initialize the variable, we must determine the type of it, and we can not change it:

String Sentence = "I am programmer" 
Sentence = 20 //Here it will throw an error

React is written in JavaScript, we do not have a direct way to check about passed props type before computation and rendering, it is painful…

When to use SPA, SSR and SSG
When to use SPA, SSR and SSG


Over the past years, We had base pure Front-End frameworks like React, Angular, and Vue, all of them provide client-side rendering(Single Page Application), then we discovered our needs for different renders modes. We had different renders modes and different frameworks support each one of them, but the problem many developers can’t quite wrap their head around when to build an app as a pure SPA and when it’s better to use an SSR or SSG.

It’s clear that there is no sense to use an SSR framework for building a todo app, as it makes no sense to build your…

react apollo client
react apollo client


Over the past years, REST has been the standard for designing web APIs. It provides a set of rules that can deliver fully functioning web services, But Rest rules and constraints become problematic, so GraphQL comes to software development to overcome on Rest problems.

GraphQL makes API development easier and more accessible to a larger population. The goal of the Article to give you an overview of GraphQl, and How to integrate GraphQl client with React.

What is GraphQl?

GraphQL is a query language invented by Facebook. Before GraphQL went open source in 2015, Facebook used it internally since 2012. It solves many…


We have coronavirus pandemic all over the world, most of the people watching or reading the news, watching videos on youtube, reading posts or tweets on social media, and live in anxiety all the time, my dear reader do you know more than seventy percent from this news is fake especially on social media or over the chatting groups on WhatsApp or telegram, The owners of this fake news on social media or the internet want to have more followers, likes, retweet, and earn money. Then why you keep yourself to live in anxiety? …

test in javascript
test in javascript


Test in JavaScript & web is is a hot topic & a big black box, a lot of developers run away from it, they shouldn’t, they think it is an intimidating topic for them, and not know great benefits from it. With new modern tools, testing becomes easier.

In this article, we’ll dive into what testing is, types of tests, why we should test, all related approaches, types of tests especially unit test and all related benefits to it, so if you are a beginner in testing, this article will be a great start for you in test world in…


React-Redux Hooks article is a second part of the previous article about React Hooks, We will go through three main points in this article:

1- Hooks for Redux.

2- Hooks APIs.

3- Why we should use React Hooks.

If you do not know what is React Hooks? Please read the previous article:

1-Hooks for Redux

Before React-Redux Hooks, we always used a connect() a higher-order component is a wrapper to our component, and read values from the Redux store (and re-read the values when the store updates).

The connect() takes two arguments, both optional:

· mapStateToProps: called every time the store state changes…

Introduction To Hooks:

The React team decided to bring React Hooks into our lives. Many Developers are starting to use Hooks in the new code side by side with classes.

React Hooks are a new addition in React 16.8. They let you use state and other React features without writing a class. It is a fundamental shift in how you’ll approach writing React Component.

Important Notes before beginning our Journey:

There are no Breaking Changes, Completely opt-in. You can try Hooks in a few components without rewriting any existing code. There are no plans to remove classes from React. 100% backward-compatible. Hooks don’t contain any breaking changes. …


I am Front-End Developer I used both of these frameworks(react-angular) in big projects, I noticed a lot of differences between them, after a while from thinking react vs angular, I switched to React and have used it in all my front-end projects.

Brief Overview


React is a JavaScript library for Front-End development. It is managed by Facebook and an open-source community of developers.

The framework was introduced in May 2013.

The latest updates were released on November 14, 2019 — From here you can know the last version from ReactJs.

React requires multiple integrations and supporting tools to run.

· Redux is…

What is Spread Operator?

The JavaScript ES6 version has brought a whole array of new tools and utilities. One such new feature is the spread operator.

The operator’s shape is three consecutive dots and is written as: ...

It allows an iterable to expand in places where 0+ arguments are expected.

you can use the spread operator on Arrays and objects. you can use them in different cases: Expanding Arrays or objects, Combining or Merging Arrays and Objects, Cloning Arrays and Objects and Using with Math Functions.

Definitions are tough without context. Let’s explore some different use cases:

Expanding Arrays or objects:

Expand arrays or objects with new…

kirill ibrahim

As a graduate of Computer Science University with 6 years of commercial experience working in various web-related roles. My Website:

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