Ahmed Abu Eldahab
GDE Flutter & Dart
@dahabdev
Becoming a Software
Developer
Google Developer Expert in Flutter & Dart
Senior Technical Consultant
Kortobaa LLC CTO
/Dahabdev
bit.ly/dahab-youtube
The father of computer
- Born in London on 26 December 1791.
- Died18 October 1871 (aged 79).
- Invented the first mechanical computer.
- A mechanical computer is built from mechanical components
such as levers and gears, rather than electronic components.
- The essential ideas of modern computers are to be found in
Babbage's analytical engine.
-
Difference Engine (1822)
made to compute values
Analytical Engine (1837)
created to calculate a series of values
automatically
Ada Lovelace
The first programmer of all time
- Born in London on December 10, 1815
- Died27 November 1852 (aged 36)
- In 1953, more than a century after her death, Ada Lovelace's
notes on Babbage's Analytical Engine were republished. The
engine has now been recognised as an early model for a
computer and her notes as a description of a computer and
software.
Ada Lovelace
Ada Lovelace's notes were labelled alphabetically
from A to G
- World War || - From 1939 to 1945
- Hut 8 was a section in the Government Code and
Cypher School (GC&CS) at Bletchley Park.
- Hut 8 was responsible for German naval
cryptanalysis.
- Enigma was invented by the German engineer
Arthur Scherbius at the end of World War I
- The Enigma machines were a series of
electro-mechanical rotor cipher machines
developed to protect commercial, diplomatic and
military communication.
Alan Turing
The first software Developer
- Born in London on 23 June 1912
- Died7 June 1954 (aged 41)
- Provided a formalisation of the concepts of algorithm and
computation with the Turing machine.
- During the Second World War, Turing worked for the
Government Code and Cypher School (GC&CS).
- He invented Turing machine (1936) which is a mathematical
model of computation
- There is a movie about his life called “The Imitation Game”
Alan Turing
Enigma machine Turing machine
Device
We need to talk
Commands - Result
Analog devices (clocks - fax - ) -
Smart devices such as
(Computer - Mobile - Smart Watch
- Smart refrigerator - etc ..)
Hardware
Machine Language
Binary - 100011
Assembly Language
FORTRAN C Pascal
low-level programming language
C++ - Python - Java - C# - Kotlin -
Swift - Dart - Ruby - (PHP) - etc ... OO and Visual Languages
High-level programming language
Compiler
Alan Turing (1942)
1 person
2017
18.2 million
2019
26.4 million
https://insights.stackoverflow.com/survey/2019#technology
C/C++
C#
PythonJava
Javascript
Electron
Delphi
Python
PHP
Java
Ruby
C#
Node.js (JavaScript)
JavaScript
Css
UI/UX
HTML
https://roadmap.sh
https://roadmap.sh/frontend
https://elzero.org/learning-paths/web-designer/
https://roadmap.sh/backend
https://roadmap.sh/backend
https://elzero.org/learning-paths/web-developer/
https://elzero.org/learning-paths/full-stack-web-developer
C# ( .NET)
Dart (from Google)
Go (from Google)
Java ( Grails , Spring , Play)
Mobile Platforms
Mobile Platforms
Mobile Platforms
Mobile Platforms
Mobile Platforms
The dilemma of mobile app development
Mobile Development Approaches
Native Approach (Single Platform)
OEM Widgets
Cupertino
Material Design
Canvas
Events
Location Bluetooth
Camera Sensors
Java
Kotlin
Swift
Objective-c
Application
Services
Cross-Platform Approach
Cross-Platform Approach
Hybrid Approach
Web View
Canvas
Events
Location Bluetooth
Camera Sensors
JavaScript
HTML
CSS
Application
Services
Bridge
Cross-Platform Approach
Canvas
Events
Location Bluetooth
Camera Sensors
Transferred
Native Code
Application
Services
FrameworklibrariesSDK
OEM Widgets
Cupertino
Material Design
C#
JavaScript
Cross-Platform Approach
Canvas
Events
Location Bluetooth
Camera Sensors
Javascript
Application
Services
JavascriptBridge
OEM Widgets
Cupertino
Material Design
JavaScript
Flutter Approach
Canvas
Events
Location Bluetooth
Camera Sensors
Native ARM
Binary
Code
Services
Platform
Channels
Flutter Widgets
Cupertino
Material Design
Flutter is Google’s UI toolkit
for building beautiful,
natively compiled
applications for mobile, web,
and desktop from a single
codebase
bit.ly/dahab-youtube
Google Developer Expert in Flutter & Dart
Senior Technical Consultant
Kortobaa LLC CTO
/Dahabdev

Becoming a software developer