SlideShare a Scribd company logo
WEB Β DEVELOPMENT
TOOLS Β & Β FRAMEWORKS
BURHAN Β KHALID Β (@BURHAN)
GUST  – MARCH Β 30 Β 2015
Today’s Β Talk
Brief Β History Β of Β Web Β Development
Stages Β of Β Web Β Development
β—¦ Concept Β Development
β—¦ Prototyping
β—¦ Development
β—¦ Testing
β—¦ Launch
β—¦ Maintenance
Tools Β & Β Frameworks
Next Β Generation Β Development Β (exciting Β stuff!)
Q&A
A Β brief Β history Β of Β Web Β Development
https://pantheon.io/blog/history-­‐website-­‐development-­‐infographic
Web Β Development Β Stages
1  – Concept Β Development
Write Β down Β the Β following:
β—¦ Who Β is Β this Β website Β for? Β (the Β types Β of Β users)
β—¦ Why Β am Β I Β making Β it? Β (what Β is Β the Β problem?)
β—¦ What Β is Β the Β most Β important thing Β visitors Β should Β 
do Β on Β your Β website.
β—¦ Write, Β read. Β Write, Β read. Β Repeat.
β—¦ Sketch Β (draw) Β your Β website Β outline.
Web Β Development Β Stages
2  – Prototype Β Development
A Β β€œbroken” Β version Β of Β your Β website:
β—¦ Links Β work, Β but Β don’t Β lead Β to Β any Β content.
β—¦ β€œUser Β Journey” Β is Β complete:
β—¦ β€œAs Β a Β _______ Β I Β want Β to Β _______ Β β€œ
β—¦ Quick Β to Β change Β and Β move Β things Β around.
Web Β Development Β Stages
3 Β -­‐ Development
Ideally, Β your Β requirements Β are Β complete
β—¦ Work Β at Β an Β iterative Β pace:
β—¦ Develop Β at Β the Β lowest Β possible Β work Β unit
β—¦ Use Β the Β tool Β that Β suits Β you, Β and Β makes Β you Β the Β 
most Β productive:
β—¦ Text Β Editor
β—¦ IDE
β—¦ Terminal
β—¦ GUI
Web Β Development Β Stages
4 Β -­‐ Testing
If Β you Β don’t Β test; Β prepare Β to Β fail.
Types Β of Β testing:
β—¦ Functional Β Test Β (does Β the Β feature Β 
work?)
β—¦ User Β acceptance Β test Β (is Β it Β what Β 
the Β user Β wants?)
β—¦ Unit Β test Β (is Β the Β code Β stable?)
β—¦ Coverage Β tests Β (are Β all Β code Β paths Β 
executing?)
Web Β Development Β Stages
5 Β -­‐ Deployment
Deployment Β Process Β Should Β Be:
β—¦ Documented
β—¦ Repeatable
β—¦ Predictable
β—¦ Rehearsed
β—¦ Tools Β help!
Web Β Development Β Stages
6 Β -­‐ Maintenance
Small Β effort, Β big Β rewards
β—¦ Enable Β maintenance Β by Β tracking:
β—¦ Successful Β requests
β—¦ Failed Β requested
β—¦ Repeated Β failed Β requests
β—¦ Key Β function Β execution
β—¦ Infrastructure
Tools Β & Β Frameworks
USE Β THESE Β TO Β JUMPSTART Β YOUR Β DEVELOPMENT
Basic Introduction to Web Development
Categories Β of Β Tools Β & Β Frameworks:
Server Β Side Β Development
Categories Β of Β Tools Β & Β Frameworks
Frontend Β Development
Categories Β of Β Tools Β & Β Frameworks
Platforms
Categories Β of Β Tools Β & Β Frameworks
Development Β Helpers
Basic Introduction to Web Development
A Β quick Β note Β about Β workflows
A Β good Β development Β workflow:
β—¦ Helps Β you Β get Β started.
β—¦ Maintains Β your Β dependencies.
β—¦ Enforces Β best Β practices.
β—¦ Prepares Β your Β tools.
β—¦ Fights Β regressions.
β—¦ Eases Β the Β release Β process.
Quick Β Demo
Web Β Development
QUICKEST Β WAY Β TO Β PUBLISH Β A Β WEBSITE  – GUARANTEED!
Demo Β Requirements  – 30 Β minutes
Windows
β€’ git
β€’ Text Β Editor
β€’ github.com
account
β€’ Python Β (2 Β or Β 3)
Mac
β€’ Same
Linux
β€’ Same
Demo Β Steps  – Phase Β 1
Local Β Development Β & Β Testing
1. Create Β a Β directory Β anywhere Β in Β your Β file Β system, Β and Β change Β (cd) Β into Β this Β directory:
1. On Β Windows  – recommended Β to Β use Β a Β path Β without Β spaces, Β so Β D:gust_demo
2. On Β Mac, Β default Β path Β is Β /Users/yourloginname/gust_demo
3. On Β Linux, Β default Β path Β is Β /home/yourusername/gust_demo
2. Create Β a Β index.html file Β in Β this Β directory, Β with Β any Β content Β you Β like.
3. Start Β a Β local Β server:
1. Python Β 2:
1. python –m SimpleHTTPServer 8000
2. Python Β 3:
1. python –m http.server 8000
4. Browse Β http://localhost:8000
Demo Β Steps  – Phase Β 2
Publishing
1. Commit Β your Β files Β to Β git:
1. git init
2. git add .
3. git commit –m β€œinitial commit”
2. Create Β a Β repository Β on Β github:
1. Login Β to Β your Β github account Β https://github.com/name/
2. If Β you Β are Β creating Β an Β account Β for Β the Β first Β time, Β click Β on Β the Β welcome Β email Β to Β verify Β it.
3. Create Β a Β repository Β called Β name.github.io
4. Type these commands to configure git:
1. git config –global user.name β€œYour Name”
2. git config –global user.email β€œyou@email.com”
3. Push Β your Β website:
1. git remote add origin https://github.com/name/name.github.io.git
2. git push –u origin master
Q&A
Web Β Development  –
Recap
LETS Β STOP Β AND Β LOOK Β BACK Β AT Β WHAT Β WE Β DID
How Β Does Β It Β All Β Work?
THE Β DETAILS
The Β Internet
A Β LARGE Β NETWORK Β OF Β COMPUTERS, Β CONNECTED Β THROUGH Β A Β 
COMMON Β NETWORK Β SPREAD Β ACROSS Β A Β LARGE Β AREA.
World Β Wide Β Web
AN Β INFORMATION Β NETWORK BUILT Β ON Β TOP Β OF Β THE Β INTERNET Β 
USING Β HYPERLINKED Β DOCUMENTS.
HTML Β & Β HTML5
HYPERTEXT Β MARKUP Β LANGUAGE. Β A Β LANGUAGE Β CONSISTING Β OF Β A Β 
SERIES Β OF Β TAGS Β USED Β TO Β ANNOTATE Β DOCUMENTS Β THAT Β ARE Β TO Β BE Β 
LINKED Β TOGETHER Β ON Β THE Β WEB. Β THE Β LATEST Β VERSION Β IS Β 5
CLIENT Β SIDE
A Β TERM Β USED Β TO Β DESCRIBE Β TECHNOLOGY Β THAT Β RUNS Β ON Β THE Β 
DEVICE Β CONNECTED Β TO Β THE Β INTERNET Β AND Β REQUESTING Β 
DOCUMENTS Β FROM Β A Β SERVER. Β EXAMPLE: Β JAVASCRIPT, Β FLASH
SERVER Β SIDE
A Β TERM Β USED Β TO Β DESCRIBE Β TECHNOLOGY Β THAT Β RUNS Β ON Β THE Β 
SERVERS Β CONNECTED Β TO Β THE Β INTERNET Β PROVIDING Β ONE Β OR Β MORE Β 
SERVICES.
USER Β AGENT
THE Β TECHNICAL Β TERM Β FOR Β THE Β PIECE Β OF Β SOFTWARE Β THAT Β IS Β USED Β 
TO Β DISPLAY Β DOCUMENTS Β ON Β THE Β WORLD Β WIDE Β WEB Β (WWW).
DOCUMENT Β OBJECT Β 
MODEL
A Β CONVENTION Β OF Β DESCRIBING Β AND Β INTERACTING Β WITH Β HTML Β 
DOCUMENTS Β AS Β A Β SERIES Β OF Β NODES Β ON Β A Β TREE. Β 
TELNET
A Β PLAIN Β TEXT Β BI-­‐DIRECTIONAL Β PROTOCOL Β USED Β TO Β COMMUNICATE Β 
WITH Β SERVERS. Β IT Β IS Β ALSO Β THE Β NAME Β OF Β A Β PROGRAM Β THAT Β IS Β USED Β 
TO Β CONNECT Β OT Β SERVERS.
TCP/IP
IPv4
IPv6
PROTOCOLS Β USED Β TO Β COMMUNICATE Β WITH Β SERVERS Β ON Β THE Β 
INTERNET. Β EACH Β DEVICE Β THAT Β CONNECTS Β TO Β INTERNET Β NEEDS Β AN Β 
IP Β ADDRESS.
DOMAIN Β NAME Β SYSTEM
A Β DISTRIBUTED Β SYSTEM Β DESIGNED Β TO Β ASSIGN Β NAMES Β TO Β IP Β 
ADDRESSES, Β IN Β ORDER Β TO Β IDENTIFY Β RESOURCES Β ON Β A Β NETWORK.
WEB Β SERVER
A Β PIECE Β OF Β SOFTWARE Β CODE Β THAT Β LISTENS Β TO Β CONNECTIONS Β AND Β 
RESPONDS Β WITH Β DOCUMENTS Β OR Β OTHER Β RESOURCES Β ON Β THE Β 
WORLD Β WIDE Β WEB.
APACHE
IIS
NGINX
POPULAR Β WEB Β SERVER Β USED Β ON Β THE Β INTERNET. Β APACHE Β CONTROLS Β 
THE Β MAJORITY Β OF Β THE Β MARKET.
HTTP
HTTPS
HYPERTEXT Β TRANSFER Β PROTOCOL. Β A Β TEXT Β PROTOCOL Β CONSISTING Β 
OF Β A Β SERIES Β OF Β COMMANDS Β USED Β TO Β SEND Β DATA Β AND Β REQUEST Β 
DOCUMENTS Β OVER Β THE Β WEB.
REQUEST/RESPONSE
THE Β NAME Β GIVEN Β TO Β THE Β COMPLETE Β CYCLE Β TO Β FETCH Β DOCUMENTS Β 
AND Β RESOURCES Β USING Β HTTP. Β THE Β CLIENT Β INITIATES Β THE Β REQUEST, Β 
AND Β THE Β SERVER Β SENDS Β THE Β RESPONSE.
FTP/SFTP
FILE Β TRANSFER Β PROTOCOL. Β A Β METHOD Β OF Β TRANSFERRING Β DATA Β 
BETWEEN Β SERVERS. Β SFTP IS Β SECURE-­‐FTP
SECURE Β SHELL Β (SSH)
AN Β ENCRYPTED Β METHOD Β OF Β CONNECTING Β TO Β REMOTE Β COMPUTERS Β 
AND Β EXECUTING Β COMMANDS.
GIT
MERCURIAL
SUBVERSION
POPULAR Β REVISION Β CONTROL Β SYSTEMS. Β THESE Β SYSTEMS Β TRACK Β 
CHANGES Β IN Β FILES Β ALLOWING Β EASY Β RECOVERY Β OF Β PREVIOUS Β 
VERSIONS.
DEMO
PLEASE Β FOLLOW Β ALONG Β IF Β YOU Β CAN
Classic Β Web Β Application Β 
Architecture
BASIC Β BUILDING Β BLOCKS Β FOR Β MOST Β WEB Β APPLICATIONS
The Β old Β (and Β current) Β way
DATABASE Β (the Β 
models)
Server Β Code Β 
(controllers)
View
(code Β to Β render Β 
HTML)
Client Β Side Β 
Javascript (jquery
components)
HTML Β Templates; Β 
CSS; Β layouts
Modern Β Web Β 
Application Β Architecture
ADVANCED Β APPLICATIONS  – FOR Β ADVANCED Β DEVICES
Modern Β Applications Β (Simplified)
Models
(database, Β 
document)
Services
(API, Β Authentication, Β 
Caching, Β 
Serialization)
Business Β Logic
(controllers, Β routers)
View Β Layer
(code Β to Β render Β 
HTML)
Models
(client Β side Β models)
Presentation
(HTML, Β CSS, Β 
Responsive)
Local Β Storage Β 
(HTML5)
DEMO
CREATING Β A Β CMS Β FROM Β SCRATCH
Web Β Development  –
Part Β II
USING Β A Β WORKFLOW Β FOR Β WEB Β DEVELOPMENT
Demo Β Requirements  – 1 Β Hour Β (excluding Β 
download  time)  J
Windows
β€’git
β€’Text Β Editor
β€’Python Β (2 Β or Β 3)
β€’node Β & Β npm
β€’virtualenv & Β pip
β€’A Β fast Β Internet Β 
connection
β€’Vagrant
β€’VirtualBox
Mac
β€’ In addition Β to Β Windows
β€’ Homebrew
β€’ Xcode & Β Xcode Command Β 
Line Β Tools
β€’ brew Β install Β libpng libjpeg
libxml2 Β postgresql
Linux
β€’ In Β addition Β to Β Windows
β€’ Development toolchain
Pre-­‐requisites  – All Β Platforms
Demo
Q&A
Thank Β You
SLIDES Β AVAILABLE Β (@GDGKUWAIT / Β @BURHAN / Β @SIRDAB_LAB)
Basic Introduction to Web Development

More Related Content

PPT
Introduction to Basic Concepts in Web
PPTX
Basics for hosting a website
PPTX
Web Development
ODP
Content management system
PPTX
HTML5 & CSS3
PPT
Ppt of web development
PDF
Html / CSS Presentation
PPTX
HTML Fundamentals
Introduction to Basic Concepts in Web
Basics for hosting a website
Web Development
Content management system
HTML5 & CSS3
Ppt of web development
Html / CSS Presentation
HTML Fundamentals

What's hot (20)

PPTX
Learn html Basics
PPTX
Introduction to Web Development
PPTX
PPT
WCAG 2.0, Simplified
ODP
The Full Stack Web Development
PPT
Html Ppt
PPT
1. introduction to html5
PPTX
Document object model(dom)
PPTX
Content Management System
PDF
Fundamentals of Web for Non-Developers
PPTX
Static and Dynamic webpage
PPTX
Front-End Web Development
PPS
Web Site Design Principles
PPTX
(Fast) Introduction to HTML & CSS
PPT
Xpath presentation
PDF
Html for beginners
PDF
What is front-end development ?
PPTX
Introduction to HTML+CSS+Javascript.pptx
PPT
Span and Div tags in HTML
Learn html Basics
Introduction to Web Development
WCAG 2.0, Simplified
The Full Stack Web Development
Html Ppt
1. introduction to html5
Document object model(dom)
Content Management System
Fundamentals of Web for Non-Developers
Static and Dynamic webpage
Front-End Web Development
Web Site Design Principles
(Fast) Introduction to HTML & CSS
Xpath presentation
Html for beginners
What is front-end development ?
Introduction to HTML+CSS+Javascript.pptx
Span and Div tags in HTML
Ad

Similar to Basic Introduction to Web Development (20)

PPT
introduction to web application development
PPTX
Day 2-presentation
PPTX
Intro to Perfect - LA presentation
PPTX
Normalizing x pages web development
PPTX
Advanced Web Technology using Django.pptx
PPTX
Basics to framework programming
PPTX
WebTechnology presentation.pptx
PDF
DevOps-Roadmap
PDF
Web Landscape - updated in Jan 2016
PDF
Net training in bhubaneswar
PDF
Full Stack Web Development: Vision, Challenges and Future Scope
PPT
Cs2305 nol
PPT
Javauserguide
PPT
ppttips
PPT
ppttips
PPT
ppttips
PPT
ppttips
PPT
ppt tips
PPT
Java
PPT
JavaInternetlearning
introduction to web application development
Day 2-presentation
Intro to Perfect - LA presentation
Normalizing x pages web development
Advanced Web Technology using Django.pptx
Basics to framework programming
WebTechnology presentation.pptx
DevOps-Roadmap
Web Landscape - updated in Jan 2016
Net training in bhubaneswar
Full Stack Web Development: Vision, Challenges and Future Scope
Cs2305 nol
Javauserguide
ppttips
ppttips
ppttips
ppttips
ppt tips
Java
JavaInternetlearning
Ad

Recently uploaded (20)

PPTX
522797556-Unit-2-Temperature-measurement-1-1.pptx
PPTX
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
PPTX
artificial intelligence overview of it and more
PDF
Tenda Login Guide: Access Your Router in 5 Easy Steps
PDF
Cloud-Scale Log Monitoring _ Datadog.pdf
PPTX
Introuction about ICD -10 and ICD-11 PPT.pptx
PDF
Paper PDF World Game (s) Great Redesign.pdf
PDF
Triggering QUIC, presented by Geoff Huston at IETF 123
Β 
PDF
Unit-1 introduction to cyber security discuss about how to secure a system
PDF
WebRTC in SignalWire - troubleshooting media negotiation
PDF
Slides PDF The World Game (s) Eco Economic Epochs.pdf
PDF
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
PDF
πŸ’° π”πŠπ“πˆ πŠπ„πŒπ„ππ€ππ†π€π πŠπˆππ„π‘πŸ’πƒ π‡π€π‘πˆ 𝐈𝐍𝐈 πŸπŸŽπŸπŸ“ πŸ’°
Β 
PPTX
Digital Literacy And Online Safety on internet
PPTX
Funds Management Learning Material for Beg
PPT
Design_with_Watersergyerge45hrbgre4top (1).ppt
PDF
The Internet -By the Numbers, Sri Lanka Edition
Β 
PPTX
Introuction about WHO-FIC in ICD-10.pptx
PDF
Sims 4 Historia para lo sims 4 para jugar
PPTX
Slides PPTX World Game (s) Eco Economic Epochs.pptx
522797556-Unit-2-Temperature-measurement-1-1.pptx
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
artificial intelligence overview of it and more
Tenda Login Guide: Access Your Router in 5 Easy Steps
Cloud-Scale Log Monitoring _ Datadog.pdf
Introuction about ICD -10 and ICD-11 PPT.pptx
Paper PDF World Game (s) Great Redesign.pdf
Triggering QUIC, presented by Geoff Huston at IETF 123
Β 
Unit-1 introduction to cyber security discuss about how to secure a system
WebRTC in SignalWire - troubleshooting media negotiation
Slides PDF The World Game (s) Eco Economic Epochs.pdf
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
πŸ’° π”πŠπ“πˆ πŠπ„πŒπ„ππ€ππ†π€π πŠπˆππ„π‘πŸ’πƒ π‡π€π‘πˆ 𝐈𝐍𝐈 πŸπŸŽπŸπŸ“ πŸ’°
Β 
Digital Literacy And Online Safety on internet
Funds Management Learning Material for Beg
Design_with_Watersergyerge45hrbgre4top (1).ppt
The Internet -By the Numbers, Sri Lanka Edition
Β 
Introuction about WHO-FIC in ICD-10.pptx
Sims 4 Historia para lo sims 4 para jugar
Slides PPTX World Game (s) Eco Economic Epochs.pptx

Basic Introduction to Web Development

  • 1. WEB Β DEVELOPMENT TOOLS Β & Β FRAMEWORKS BURHAN Β KHALID Β (@BURHAN) GUST  – MARCH Β 30 Β 2015
  • 2. Today’s Β Talk Brief Β History Β of Β Web Β Development Stages Β of Β Web Β Development β—¦ Concept Β Development β—¦ Prototyping β—¦ Development β—¦ Testing β—¦ Launch β—¦ Maintenance Tools Β & Β Frameworks Next Β Generation Β Development Β (exciting Β stuff!) Q&A
  • 3. A Β brief Β history Β of Β Web Β Development https://pantheon.io/blog/history-­‐website-­‐development-­‐infographic
  • 4. Web Β Development Β Stages 1  – Concept Β Development Write Β down Β the Β following: β—¦ Who Β is Β this Β website Β for? Β (the Β types Β of Β users) β—¦ Why Β am Β I Β making Β it? Β (what Β is Β the Β problem?) β—¦ What Β is Β the Β most Β important thing Β visitors Β should Β  do Β on Β your Β website. β—¦ Write, Β read. Β Write, Β read. Β Repeat. β—¦ Sketch Β (draw) Β your Β website Β outline.
  • 5. Web Β Development Β Stages 2  – Prototype Β Development A Β β€œbroken” Β version Β of Β your Β website: β—¦ Links Β work, Β but Β don’t Β lead Β to Β any Β content. β—¦ β€œUser Β Journey” Β is Β complete: β—¦ β€œAs Β a Β _______ Β I Β want Β to Β _______ Β β€œ β—¦ Quick Β to Β change Β and Β move Β things Β around.
  • 6. Web Β Development Β Stages 3 Β -­‐ Development Ideally, Β your Β requirements Β are Β complete β—¦ Work Β at Β an Β iterative Β pace: β—¦ Develop Β at Β the Β lowest Β possible Β work Β unit β—¦ Use Β the Β tool Β that Β suits Β you, Β and Β makes Β you Β the Β  most Β productive: β—¦ Text Β Editor β—¦ IDE β—¦ Terminal β—¦ GUI
  • 7. Web Β Development Β Stages 4 Β -­‐ Testing If Β you Β don’t Β test; Β prepare Β to Β fail. Types Β of Β testing: β—¦ Functional Β Test Β (does Β the Β feature Β  work?) β—¦ User Β acceptance Β test Β (is Β it Β what Β  the Β user Β wants?) β—¦ Unit Β test Β (is Β the Β code Β stable?) β—¦ Coverage Β tests Β (are Β all Β code Β paths Β  executing?)
  • 8. Web Β Development Β Stages 5 Β -­‐ Deployment Deployment Β Process Β Should Β Be: β—¦ Documented β—¦ Repeatable β—¦ Predictable β—¦ Rehearsed β—¦ Tools Β help!
  • 9. Web Β Development Β Stages 6 Β -­‐ Maintenance Small Β effort, Β big Β rewards β—¦ Enable Β maintenance Β by Β tracking: β—¦ Successful Β requests β—¦ Failed Β requested β—¦ Repeated Β failed Β requests β—¦ Key Β function Β execution β—¦ Infrastructure
  • 10. Tools Β & Β Frameworks USE Β THESE Β TO Β JUMPSTART Β YOUR Β DEVELOPMENT
  • 12. Categories Β of Β Tools Β & Β Frameworks: Server Β Side Β Development
  • 13. Categories Β of Β Tools Β & Β Frameworks Frontend Β Development
  • 14. Categories Β of Β Tools Β & Β Frameworks Platforms
  • 15. Categories Β of Β Tools Β & Β Frameworks Development Β Helpers
  • 17. A Β quick Β note Β about Β workflows A Β good Β development Β workflow: β—¦ Helps Β you Β get Β started. β—¦ Maintains Β your Β dependencies. β—¦ Enforces Β best Β practices. β—¦ Prepares Β your Β tools. β—¦ Fights Β regressions. β—¦ Eases Β the Β release Β process.
  • 18. Quick Β Demo Web Β Development QUICKEST Β WAY Β TO Β PUBLISH Β A Β WEBSITE  – GUARANTEED!
  • 19. Demo Β Requirements  – 30 Β minutes Windows β€’ git β€’ Text Β Editor β€’ github.com account β€’ Python Β (2 Β or Β 3) Mac β€’ Same Linux β€’ Same
  • 20. Demo Β Steps  – Phase Β 1 Local Β Development Β & Β Testing 1. Create Β a Β directory Β anywhere Β in Β your Β file Β system, Β and Β change Β (cd) Β into Β this Β directory: 1. On Β Windows  – recommended Β to Β use Β a Β path Β without Β spaces, Β so Β D:gust_demo 2. On Β Mac, Β default Β path Β is Β /Users/yourloginname/gust_demo 3. On Β Linux, Β default Β path Β is Β /home/yourusername/gust_demo 2. Create Β a Β index.html file Β in Β this Β directory, Β with Β any Β content Β you Β like. 3. Start Β a Β local Β server: 1. Python Β 2: 1. python –m SimpleHTTPServer 8000 2. Python Β 3: 1. python –m http.server 8000 4. Browse Β http://localhost:8000
  • 21. Demo Β Steps  – Phase Β 2 Publishing 1. Commit Β your Β files Β to Β git: 1. git init 2. git add . 3. git commit –m β€œinitial commit” 2. Create Β a Β repository Β on Β github: 1. Login Β to Β your Β github account Β https://github.com/name/ 2. If Β you Β are Β creating Β an Β account Β for Β the Β first Β time, Β click Β on Β the Β welcome Β email Β to Β verify Β it. 3. Create Β a Β repository Β called Β name.github.io 4. Type these commands to configure git: 1. git config –global user.name β€œYour Name” 2. git config –global user.email β€œyou@email.com” 3. Push Β your Β website: 1. git remote add origin https://github.com/name/name.github.io.git 2. git push –u origin master
  • 22. Q&A
  • 23. Web Β Development  – Recap LETS Β STOP Β AND Β LOOK Β BACK Β AT Β WHAT Β WE Β DID
  • 24. How Β Does Β It Β All Β Work? THE Β DETAILS
  • 25. The Β Internet A Β LARGE Β NETWORK Β OF Β COMPUTERS, Β CONNECTED Β THROUGH Β A Β  COMMON Β NETWORK Β SPREAD Β ACROSS Β A Β LARGE Β AREA.
  • 26. World Β Wide Β Web AN Β INFORMATION Β NETWORK BUILT Β ON Β TOP Β OF Β THE Β INTERNET Β  USING Β HYPERLINKED Β DOCUMENTS.
  • 27. HTML Β & Β HTML5 HYPERTEXT Β MARKUP Β LANGUAGE. Β A Β LANGUAGE Β CONSISTING Β OF Β A Β  SERIES Β OF Β TAGS Β USED Β TO Β ANNOTATE Β DOCUMENTS Β THAT Β ARE Β TO Β BE Β  LINKED Β TOGETHER Β ON Β THE Β WEB. Β THE Β LATEST Β VERSION Β IS Β 5
  • 28. CLIENT Β SIDE A Β TERM Β USED Β TO Β DESCRIBE Β TECHNOLOGY Β THAT Β RUNS Β ON Β THE Β  DEVICE Β CONNECTED Β TO Β THE Β INTERNET Β AND Β REQUESTING Β  DOCUMENTS Β FROM Β A Β SERVER. Β EXAMPLE: Β JAVASCRIPT, Β FLASH
  • 29. SERVER Β SIDE A Β TERM Β USED Β TO Β DESCRIBE Β TECHNOLOGY Β THAT Β RUNS Β ON Β THE Β  SERVERS Β CONNECTED Β TO Β THE Β INTERNET Β PROVIDING Β ONE Β OR Β MORE Β  SERVICES.
  • 30. USER Β AGENT THE Β TECHNICAL Β TERM Β FOR Β THE Β PIECE Β OF Β SOFTWARE Β THAT Β IS Β USED Β  TO Β DISPLAY Β DOCUMENTS Β ON Β THE Β WORLD Β WIDE Β WEB Β (WWW).
  • 31. DOCUMENT Β OBJECT Β  MODEL A Β CONVENTION Β OF Β DESCRIBING Β AND Β INTERACTING Β WITH Β HTML Β  DOCUMENTS Β AS Β A Β SERIES Β OF Β NODES Β ON Β A Β TREE. Β 
  • 32. TELNET A Β PLAIN Β TEXT Β BI-­‐DIRECTIONAL Β PROTOCOL Β USED Β TO Β COMMUNICATE Β  WITH Β SERVERS. Β IT Β IS Β ALSO Β THE Β NAME Β OF Β A Β PROGRAM Β THAT Β IS Β USED Β  TO Β CONNECT Β OT Β SERVERS.
  • 33. TCP/IP IPv4 IPv6 PROTOCOLS Β USED Β TO Β COMMUNICATE Β WITH Β SERVERS Β ON Β THE Β  INTERNET. Β EACH Β DEVICE Β THAT Β CONNECTS Β TO Β INTERNET Β NEEDS Β AN Β  IP Β ADDRESS.
  • 34. DOMAIN Β NAME Β SYSTEM A Β DISTRIBUTED Β SYSTEM Β DESIGNED Β TO Β ASSIGN Β NAMES Β TO Β IP Β  ADDRESSES, Β IN Β ORDER Β TO Β IDENTIFY Β RESOURCES Β ON Β A Β NETWORK.
  • 35. WEB Β SERVER A Β PIECE Β OF Β SOFTWARE Β CODE Β THAT Β LISTENS Β TO Β CONNECTIONS Β AND Β  RESPONDS Β WITH Β DOCUMENTS Β OR Β OTHER Β RESOURCES Β ON Β THE Β  WORLD Β WIDE Β WEB.
  • 36. APACHE IIS NGINX POPULAR Β WEB Β SERVER Β USED Β ON Β THE Β INTERNET. Β APACHE Β CONTROLS Β  THE Β MAJORITY Β OF Β THE Β MARKET.
  • 37. HTTP HTTPS HYPERTEXT Β TRANSFER Β PROTOCOL. Β A Β TEXT Β PROTOCOL Β CONSISTING Β  OF Β A Β SERIES Β OF Β COMMANDS Β USED Β TO Β SEND Β DATA Β AND Β REQUEST Β  DOCUMENTS Β OVER Β THE Β WEB.
  • 38. REQUEST/RESPONSE THE Β NAME Β GIVEN Β TO Β THE Β COMPLETE Β CYCLE Β TO Β FETCH Β DOCUMENTS Β  AND Β RESOURCES Β USING Β HTTP. Β THE Β CLIENT Β INITIATES Β THE Β REQUEST, Β  AND Β THE Β SERVER Β SENDS Β THE Β RESPONSE.
  • 39. FTP/SFTP FILE Β TRANSFER Β PROTOCOL. Β A Β METHOD Β OF Β TRANSFERRING Β DATA Β  BETWEEN Β SERVERS. Β SFTP IS Β SECURE-­‐FTP
  • 40. SECURE Β SHELL Β (SSH) AN Β ENCRYPTED Β METHOD Β OF Β CONNECTING Β TO Β REMOTE Β COMPUTERS Β  AND Β EXECUTING Β COMMANDS.
  • 41. GIT MERCURIAL SUBVERSION POPULAR Β REVISION Β CONTROL Β SYSTEMS. Β THESE Β SYSTEMS Β TRACK Β  CHANGES Β IN Β FILES Β ALLOWING Β EASY Β RECOVERY Β OF Β PREVIOUS Β  VERSIONS.
  • 42. DEMO PLEASE Β FOLLOW Β ALONG Β IF Β YOU Β CAN
  • 43. Classic Β Web Β Application Β  Architecture BASIC Β BUILDING Β BLOCKS Β FOR Β MOST Β WEB Β APPLICATIONS
  • 44. The Β old Β (and Β current) Β way DATABASE Β (the Β  models) Server Β Code Β  (controllers) View (code Β to Β render Β  HTML) Client Β Side Β  Javascript (jquery components) HTML Β Templates; Β  CSS; Β layouts
  • 45. Modern Β Web Β  Application Β Architecture ADVANCED Β APPLICATIONS  – FOR Β ADVANCED Β DEVICES
  • 46. Modern Β Applications Β (Simplified) Models (database, Β  document) Services (API, Β Authentication, Β  Caching, Β  Serialization) Business Β Logic (controllers, Β routers) View Β Layer (code Β to Β render Β  HTML) Models (client Β side Β models) Presentation (HTML, Β CSS, Β  Responsive) Local Β Storage Β  (HTML5)
  • 47. DEMO CREATING Β A Β CMS Β FROM Β SCRATCH
  • 48. Web Β Development  – Part Β II USING Β A Β WORKFLOW Β FOR Β WEB Β DEVELOPMENT
  • 49. Demo Β Requirements  – 1 Β Hour Β (excluding Β  download Β time) Β J Windows β€’git β€’Text Β Editor β€’Python Β (2 Β or Β 3) β€’node Β & Β npm β€’virtualenv & Β pip β€’A Β fast Β Internet Β  connection β€’Vagrant β€’VirtualBox Mac β€’ In addition Β to Β Windows β€’ Homebrew β€’ Xcode & Β Xcode Command Β  Line Β Tools β€’ brew Β install Β libpng libjpeg libxml2 Β postgresql Linux β€’ In Β addition Β to Β Windows β€’ Development toolchain
  • 51. Demo
  • 52. Q&A Thank Β You SLIDES Β AVAILABLE Β (@GDGKUWAIT / Β @BURHAN / Β @SIRDAB_LAB)