SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados (20)

A history of html
A history of htmlA history of html
A history of html
 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
 
Html, CSS & Web Designing
Html, CSS & Web DesigningHtml, CSS & Web Designing
Html, CSS & Web Designing
 
Php mysql ppt
Php mysql pptPhp mysql ppt
Php mysql ppt
 
New Elements & Features in HTML5
New Elements & Features in HTML5New Elements & Features in HTML5
New Elements & Features in HTML5
 
javascript objects
javascript objectsjavascript objects
javascript objects
 
Html Ppt
Html PptHtml Ppt
Html Ppt
 
Introduction to ajax
Introduction  to  ajaxIntroduction  to  ajax
Introduction to ajax
 
Basic Introduction to Web Development
Basic Introduction to Web DevelopmentBasic Introduction to Web Development
Basic Introduction to Web Development
 
Servlet life cycle
Servlet life cycleServlet life cycle
Servlet life cycle
 
Unit 2 dhtml
Unit 2 dhtmlUnit 2 dhtml
Unit 2 dhtml
 
An Overview of HTML, CSS & Java Script
An Overview of HTML, CSS & Java ScriptAn Overview of HTML, CSS & Java Script
An Overview of HTML, CSS & Java Script
 
Web Application Introduction
Web Application  IntroductionWeb Application  Introduction
Web Application Introduction
 
Html / CSS Presentation
Html / CSS PresentationHtml / CSS Presentation
Html / CSS Presentation
 
Jsp chapter 1
Jsp chapter 1Jsp chapter 1
Jsp chapter 1
 
Web server
Web serverWeb server
Web server
 
Html audio video
Html audio videoHtml audio video
Html audio video
 
Basic html
Basic htmlBasic html
Basic html
 
Cgi
CgiCgi
Cgi
 
Web servers – features, installation and configuration
Web servers – features, installation and configurationWeb servers – features, installation and configuration
Web servers – features, installation and configuration
 

Semelhante 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
 

Semelhante 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
 

Mais 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
 

Mais 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

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Último (20)

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

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