SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
Web Programming Intro
             Ynon Perek




Tuesday, January 29, 13
Whoami



                     Ynon Perek

                     http://ynonperek.com

                     http://apps.ynonperek.com/sapiens/00_web.pdf

                     ynon@ynonperek.com




Tuesday, January 29, 13
Agenda



                     The Web Architecture

                     Hello HTML

                     Hello CSS

                     Hello JavaScript




Tuesday, January 29, 13
How It All Started



                     While working at CERN
                     in the 90s, Berners-Lee
                     develops WWW

                     1991 First web site

                     1994 Berners-Lee
                     founded the W3C




Tuesday, January 29, 13
The Web Architecture


        Client Side                           Server Side


                                 GET data




                                 Here It Is




Tuesday, January 29, 13
Server Side


                     Server side creates the
                     data and returns it to
                     the client

                     All server-side
                     languages return the
                     same result: HTML

                     There are many
                     languages...




Tuesday, January 29, 13
Client Side

                     Client side takes the
                     data and renders it on
                     screen

                     Provides a UX around
                     the data

                     Can send data back to
                     the server

                     Browsers: IE, Chrome,
                     Firefox, Safari




Tuesday, January 29, 13
The Data



                     Data is in a format
                     called HTML (Hyper
                     Text Markup Language)

                     Invented by Tim
                     Berners-Lee




Tuesday, January 29, 13
The Data


                                           <html>
                     A browser renders     <body>
                     HTML document on        <h1>Hello World</h1>
                                             <p>All your base are belong
                     screen
                                                to us</p>
                                           </body>
                     HTML is a tag-based
                                           </html>
                     language




Tuesday, January 29, 13
The Data




                     Tag-based means you need to use
                     the same opening and closing tag




                          <div>How Do You Annoy A Web
                               Developer ?</span>


Tuesday, January 29, 13
Available Tags



                     Tags (or markup) define the role of their content

                     Headers:
                     h1, h2, h3, h4, h5, h6

                     Block Sections: div

                     Inline Sections: span




Tuesday, January 29, 13
Container (Block)


             Demo
             Inline vs. Block
                                   One Two Three (inline)




Tuesday, January 29, 13
Adding Links



                     Use <a> tag to create a link

                     <a> is an inline element

                     Example:

                     <a href=”http://google.com”>Go To Google</a>




Tuesday, January 29, 13
Adding Images


                     Use <img> tag to create an image

                     <img> is an inline-block element: It flows it text, but
                     has height and width like a block

                     alt attribute tells google what’s in the photo

                     Example:
                     <img src=”http://fc02.deviantart.net/fs21/f/2007/306/
                     d/6/Chibi_turtle_by_blackcattlc.jpg” alt=”Cool Turtle”>




Tuesday, January 29, 13
Adding Text




                     Use <p> tag to wrap text paragraphs

                     <p> is a block-level element

                     Adds a newline




Tuesday, January 29, 13
Clickable Images




                     Wrap in <img> in an <a> tag to get an image that is
                     also a link

                     Demo: images, links and text paragraphs




Tuesday, January 29, 13
Lists



                     HTML has two types of lists: ordered lists marked <ol>
                     and unordered lists marked <ul>

                     Inside a list block, use <li> to denote items

                     <ul>, <ol> and <li> are all block elements




Tuesday, January 29, 13
Lab




                     Create an HTML document for your resume

                     Use correct headers

                     Add an image




Tuesday, January 29, 13
Pages With Style
             Introducing CSS


Tuesday, January 29, 13
Cascading Style Sheets




                     Apply styling rules to elements

                     Choose an element with a selector

                     Specify rules using properties




Tuesday, January 29, 13
Let’s Start With The Basics



                     Select all h1 elements

                     Write text in red

                     h1 {
                       color: red;
                     }




Tuesday, January 29, 13
Let’s Start With The Basics


                     More CSS styling properties:

                          background-color, color

                          font-weight, font-size, font-family, font-style, text-
                          decoration

                          text-align, line-height

                          outline




Tuesday, January 29, 13
Let’s Start With The Basics


                     Use #id to find a specific HTML element

                     h2#main {
                       color: red;
                     }

                     And in HTML:
                     <h2 id=‘main’>Red</h2>




Tuesday, January 29, 13
Let’s Start With The Basics


                     Use .class to find a set of HTML elements

                     h2.uppercase {
                       text-transform: uppercase;
                     }

                     And in HTML:
                     <h2 class=‘uppercase’>Red</h2>




Tuesday, January 29, 13
Block Level Properties




                     Only block (or inline-block) elements have size

                     width and height are only applicable to block elements




Tuesday, January 29, 13
Lab



                     Using the docs:
                     https://
                     developer.mozilla.org/
                     en-US/docs/CSS

                     Style this HTML:
                     http://pastebin.com/
                     Wm2s8EnH




Tuesday, January 29, 13
Tools Of The Trade




                     Development Tools

                     DOM Libraries

                     UI Libraries




Tuesday, January 29, 13
Development Tools



                     WebStorm IDE

                          LiveEdit

                          Extract inline CSS

                          Customize Templates




Tuesday, January 29, 13
Development Tools

                     Chrome Developer
                     Tools

                          Edit HTML and CSS
                          on any page

                          See Network Activity

                          Set cache and user
                          agent

                     Consider Canary




Tuesday, January 29, 13
Development Tools




                     BrowserStack maintain
                     a VM for every browser

                     Test and see how your
                     app/site works




Tuesday, January 29, 13
DOM Libraries




                     jQuery

                     YUI

                     ExtJS Core




Tuesday, January 29, 13
UI Libraries



                     jQuery UI

                     Kendo UI

                     YUI

                     ExtJS




Tuesday, January 29, 13
Demo: Kendo UI



                     Create widgets from
                     DOM elements

                     http://
                     demos.kendoui.com/
                     web/calendar/
                     index.html




Tuesday, January 29, 13
Demo: YUI


                     Widgets are created
                     from DOM elements

                     Library is loaded async
                     and on-demand

                     http://yuilibrary.com/
                     yui/docs/calendar/
                     calendar-simple.html




Tuesday, January 29, 13
Demo: jQuery UI


                     A collection of jQuery
                     UI Plugins

                     Use DOM elements to
                     create widgets

                     Can integrate with
                     other jQuery Plugins

                     http://jqueryui.com/
                     datepicker/#inline




Tuesday, January 29, 13
Demo: ExtJS

                     A UI Comprehensive
                     framework

                     Build everything in
                     JavaScript

                     Ext way or the high
                     way

                     http://cdn.sencha.io/
                     ext-4.1.1a-gpl/
                     examples/calendar/
                     index.html



Tuesday, January 29, 13
Choosing Framework




                     Use DOM library for maximum control

                     Use UI library for flexibility AND comfort

                     Use UI framework for maximum comfort




Tuesday, January 29, 13
Thank You



                     Photos From:

                          http://www.flickr.com/photos/
                          pedrosimoes7/5158386021/

                          http://123rf.com




Tuesday, January 29, 13

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Front end web development
Front end web developmentFront end web development
Front end web development
 
CSS Basics
CSS BasicsCSS Basics
CSS Basics
 
CSS Basics
CSS BasicsCSS Basics
CSS Basics
 
Eye catching HTML BASICS tips: Learn easily
Eye catching HTML BASICS tips: Learn easilyEye catching HTML BASICS tips: Learn easily
Eye catching HTML BASICS tips: Learn easily
 
CSS Font & Text style
CSS Font & Text style CSS Font & Text style
CSS Font & Text style
 
Html Intro2
Html Intro2Html Intro2
Html Intro2
 
Style and Selector
Style and SelectorStyle and Selector
Style and Selector
 
Css
CssCss
Css
 
CSS
CSSCSS
CSS
 
Html Basic Tags
Html Basic TagsHtml Basic Tags
Html Basic Tags
 
WEB I - 01 - Introduction to Web Development
WEB I - 01 - Introduction to Web DevelopmentWEB I - 01 - Introduction to Web Development
WEB I - 01 - Introduction to Web Development
 
Html Ppt
Html PptHtml Ppt
Html Ppt
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5
 
Css Ppt
Css PptCss Ppt
Css Ppt
 
Html basics
Html basicsHtml basics
Html basics
 
CSS
CSSCSS
CSS
 
Css ppt
Css pptCss ppt
Css ppt
 
Html and css presentation
Html and css presentationHtml and css presentation
Html and css presentation
 
CSS media types
CSS media typesCSS media types
CSS media types
 
Css position
Css positionCss position
Css position
 

Similar a Web Programming Intro

D3 interactivity Linegraph basic example
D3 interactivity Linegraph basic exampleD3 interactivity Linegraph basic example
D3 interactivity Linegraph basic exampleAdam Pah
 
Wordpress bb-portland
Wordpress bb-portlandWordpress bb-portland
Wordpress bb-portlandAllenSnook
 
Introduction to Web Programming
Introduction to Web ProgrammingIntroduction to Web Programming
Introduction to Web ProgrammingYnon Perek
 
doT.py - a python template engine.
doT.py - a python template engine.doT.py - a python template engine.
doT.py - a python template engine.David Chen
 
Refreshdc html5css3-090719085307-phpapp01
Refreshdc html5css3-090719085307-phpapp01Refreshdc html5css3-090719085307-phpapp01
Refreshdc html5css3-090719085307-phpapp01Apoorvi Kapoor
 
Lone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New AngleLone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New AnglePablo Godel
 
The journey to build a more usable toolbar for Drupal 8
The journey to build a more usable toolbar for Drupal 8 The journey to build a more usable toolbar for Drupal 8
The journey to build a more usable toolbar for Drupal 8 dcmistry
 

Similar a Web Programming Intro (12)

Html5 intro
Html5 introHtml5 intro
Html5 intro
 
03 css
03 css03 css
03 css
 
D3 interactivity Linegraph basic example
D3 interactivity Linegraph basic exampleD3 interactivity Linegraph basic example
D3 interactivity Linegraph basic example
 
Wordpress bb-portland
Wordpress bb-portlandWordpress bb-portland
Wordpress bb-portland
 
Introduction to Web Programming
Introduction to Web ProgrammingIntroduction to Web Programming
Introduction to Web Programming
 
doT.py - a python template engine.
doT.py - a python template engine.doT.py - a python template engine.
doT.py - a python template engine.
 
Up to Speed on HTML 5 and CSS 3
Up to Speed on HTML 5 and CSS 3Up to Speed on HTML 5 and CSS 3
Up to Speed on HTML 5 and CSS 3
 
Refreshdc html5css3-090719085307-phpapp01
Refreshdc html5css3-090719085307-phpapp01Refreshdc html5css3-090719085307-phpapp01
Refreshdc html5css3-090719085307-phpapp01
 
CSS Master Class: Part 1
CSS Master Class: Part 1CSS Master Class: Part 1
CSS Master Class: Part 1
 
Css2
Css2Css2
Css2
 
Lone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New AngleLone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New Angle
 
The journey to build a more usable toolbar for Drupal 8
The journey to build a more usable toolbar for Drupal 8 The journey to build a more usable toolbar for Drupal 8
The journey to build a more usable toolbar for Drupal 8
 

Más de Ynon Perek

09 performance
09 performance09 performance
09 performanceYnon Perek
 
Mobile Web Intro
Mobile Web IntroMobile Web Intro
Mobile Web IntroYnon Perek
 
Qt multi threads
Qt multi threadsQt multi threads
Qt multi threadsYnon Perek
 
Mobile Devices
Mobile DevicesMobile Devices
Mobile DevicesYnon Perek
 
Architecture app
Architecture appArchitecture app
Architecture appYnon Perek
 
Unit Testing JavaScript Applications
Unit Testing JavaScript ApplicationsUnit Testing JavaScript Applications
Unit Testing JavaScript ApplicationsYnon Perek
 
How to write easy-to-test JavaScript
How to write easy-to-test JavaScriptHow to write easy-to-test JavaScript
How to write easy-to-test JavaScriptYnon Perek
 
Introduction to Selenium and Ruby
Introduction to Selenium and RubyIntroduction to Selenium and Ruby
Introduction to Selenium and RubyYnon Perek
 
Introduction To Web Application Testing
Introduction To Web Application TestingIntroduction To Web Application Testing
Introduction To Web Application TestingYnon Perek
 
Qt Design Patterns
Qt Design PatternsQt Design Patterns
Qt Design PatternsYnon Perek
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application SecurityYnon Perek
 

Más de Ynon Perek (20)

Regexp
RegexpRegexp
Regexp
 
Html5 intro
Html5 introHtml5 intro
Html5 intro
 
09 performance
09 performance09 performance
09 performance
 
Mobile Web Intro
Mobile Web IntroMobile Web Intro
Mobile Web Intro
 
Qt multi threads
Qt multi threadsQt multi threads
Qt multi threads
 
Vimperl
VimperlVimperl
Vimperl
 
Syllabus
SyllabusSyllabus
Syllabus
 
Mobile Devices
Mobile DevicesMobile Devices
Mobile Devices
 
Network
NetworkNetwork
Network
 
Architecture app
Architecture appArchitecture app
Architecture app
 
Cryptography
CryptographyCryptography
Cryptography
 
Unit Testing JavaScript Applications
Unit Testing JavaScript ApplicationsUnit Testing JavaScript Applications
Unit Testing JavaScript Applications
 
How to write easy-to-test JavaScript
How to write easy-to-test JavaScriptHow to write easy-to-test JavaScript
How to write easy-to-test JavaScript
 
Introduction to Selenium and Ruby
Introduction to Selenium and RubyIntroduction to Selenium and Ruby
Introduction to Selenium and Ruby
 
Introduction To Web Application Testing
Introduction To Web Application TestingIntroduction To Web Application Testing
Introduction To Web Application Testing
 
Accessibility
AccessibilityAccessibility
Accessibility
 
Angularjs
AngularjsAngularjs
Angularjs
 
Js memory
Js memoryJs memory
Js memory
 
Qt Design Patterns
Qt Design PatternsQt Design Patterns
Qt Design Patterns
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application Security
 

Último

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Último (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

Web Programming Intro

  • 1. Web Programming Intro Ynon Perek Tuesday, January 29, 13
  • 2. Whoami Ynon Perek http://ynonperek.com http://apps.ynonperek.com/sapiens/00_web.pdf ynon@ynonperek.com Tuesday, January 29, 13
  • 3. Agenda The Web Architecture Hello HTML Hello CSS Hello JavaScript Tuesday, January 29, 13
  • 4. How It All Started While working at CERN in the 90s, Berners-Lee develops WWW 1991 First web site 1994 Berners-Lee founded the W3C Tuesday, January 29, 13
  • 5. The Web Architecture Client Side Server Side GET data Here It Is Tuesday, January 29, 13
  • 6. Server Side Server side creates the data and returns it to the client All server-side languages return the same result: HTML There are many languages... Tuesday, January 29, 13
  • 7. Client Side Client side takes the data and renders it on screen Provides a UX around the data Can send data back to the server Browsers: IE, Chrome, Firefox, Safari Tuesday, January 29, 13
  • 8. The Data Data is in a format called HTML (Hyper Text Markup Language) Invented by Tim Berners-Lee Tuesday, January 29, 13
  • 9. The Data <html> A browser renders <body> HTML document on   <h1>Hello World</h1>   <p>All your base are belong screen to us</p> </body> HTML is a tag-based </html> language Tuesday, January 29, 13
  • 10. The Data Tag-based means you need to use the same opening and closing tag <div>How Do You Annoy A Web Developer ?</span> Tuesday, January 29, 13
  • 11. Available Tags Tags (or markup) define the role of their content Headers: h1, h2, h3, h4, h5, h6 Block Sections: div Inline Sections: span Tuesday, January 29, 13
  • 12. Container (Block) Demo Inline vs. Block One Two Three (inline) Tuesday, January 29, 13
  • 13. Adding Links Use <a> tag to create a link <a> is an inline element Example: <a href=”http://google.com”>Go To Google</a> Tuesday, January 29, 13
  • 14. Adding Images Use <img> tag to create an image <img> is an inline-block element: It flows it text, but has height and width like a block alt attribute tells google what’s in the photo Example: <img src=”http://fc02.deviantart.net/fs21/f/2007/306/ d/6/Chibi_turtle_by_blackcattlc.jpg” alt=”Cool Turtle”> Tuesday, January 29, 13
  • 15. Adding Text Use <p> tag to wrap text paragraphs <p> is a block-level element Adds a newline Tuesday, January 29, 13
  • 16. Clickable Images Wrap in <img> in an <a> tag to get an image that is also a link Demo: images, links and text paragraphs Tuesday, January 29, 13
  • 17. Lists HTML has two types of lists: ordered lists marked <ol> and unordered lists marked <ul> Inside a list block, use <li> to denote items <ul>, <ol> and <li> are all block elements Tuesday, January 29, 13
  • 18. Lab Create an HTML document for your resume Use correct headers Add an image Tuesday, January 29, 13
  • 19. Pages With Style Introducing CSS Tuesday, January 29, 13
  • 20. Cascading Style Sheets Apply styling rules to elements Choose an element with a selector Specify rules using properties Tuesday, January 29, 13
  • 21. Let’s Start With The Basics Select all h1 elements Write text in red h1 { color: red; } Tuesday, January 29, 13
  • 22. Let’s Start With The Basics More CSS styling properties: background-color, color font-weight, font-size, font-family, font-style, text- decoration text-align, line-height outline Tuesday, January 29, 13
  • 23. Let’s Start With The Basics Use #id to find a specific HTML element h2#main { color: red; } And in HTML: <h2 id=‘main’>Red</h2> Tuesday, January 29, 13
  • 24. Let’s Start With The Basics Use .class to find a set of HTML elements h2.uppercase { text-transform: uppercase; } And in HTML: <h2 class=‘uppercase’>Red</h2> Tuesday, January 29, 13
  • 25. Block Level Properties Only block (or inline-block) elements have size width and height are only applicable to block elements Tuesday, January 29, 13
  • 26. Lab Using the docs: https:// developer.mozilla.org/ en-US/docs/CSS Style this HTML: http://pastebin.com/ Wm2s8EnH Tuesday, January 29, 13
  • 27. Tools Of The Trade Development Tools DOM Libraries UI Libraries Tuesday, January 29, 13
  • 28. Development Tools WebStorm IDE LiveEdit Extract inline CSS Customize Templates Tuesday, January 29, 13
  • 29. Development Tools Chrome Developer Tools Edit HTML and CSS on any page See Network Activity Set cache and user agent Consider Canary Tuesday, January 29, 13
  • 30. Development Tools BrowserStack maintain a VM for every browser Test and see how your app/site works Tuesday, January 29, 13
  • 31. DOM Libraries jQuery YUI ExtJS Core Tuesday, January 29, 13
  • 32. UI Libraries jQuery UI Kendo UI YUI ExtJS Tuesday, January 29, 13
  • 33. Demo: Kendo UI Create widgets from DOM elements http:// demos.kendoui.com/ web/calendar/ index.html Tuesday, January 29, 13
  • 34. Demo: YUI Widgets are created from DOM elements Library is loaded async and on-demand http://yuilibrary.com/ yui/docs/calendar/ calendar-simple.html Tuesday, January 29, 13
  • 35. Demo: jQuery UI A collection of jQuery UI Plugins Use DOM elements to create widgets Can integrate with other jQuery Plugins http://jqueryui.com/ datepicker/#inline Tuesday, January 29, 13
  • 36. Demo: ExtJS A UI Comprehensive framework Build everything in JavaScript Ext way or the high way http://cdn.sencha.io/ ext-4.1.1a-gpl/ examples/calendar/ index.html Tuesday, January 29, 13
  • 37. Choosing Framework Use DOM library for maximum control Use UI library for flexibility AND comfort Use UI framework for maximum comfort Tuesday, January 29, 13
  • 38. Thank You Photos From: http://www.flickr.com/photos/ pedrosimoes7/5158386021/ http://123rf.com Tuesday, January 29, 13