- HTML, CSS, and JavaScript are becoming the new standard for building applications and interactive experiences on the web.
- Best practices include using semantic HTML, clean CSS with a focus on maintainability, and JavaScript performance optimizations.
- Key techniques discussed are image sprites, progressive enhancement, and jQuery selector chaining to reduce DOM lookups.
This document provides an overview of various CSS topics including comments, colors, text formatting, positioning, and cross-browser compatibility. It explains concepts like using hexadecimal color codes, text properties like alignment and decoration, positioning elements with static, relative, absolute and fixed positioning, and strategies for aligning elements and dealing with browser inconsistencies.
HTML is a markup language used to define the structure and layout of web pages. It uses tags like <h1> and <p> to mark headings and paragraphs. CSS is used to style and lay out HTML elements, using selectors, declarations, and properties to change things like colors and positioning. JavaScript can be added to HTML pages with <script> tags and is used to add interactive elements and dynamic behavior by manipulating HTML and responding to user input. It has data types like strings and numbers and control structures like if/else statements.
This document introduces JavaScript, explaining that it allows for interactivity on web pages by manipulating the browser and reacting to user actions. It is embedded in HTML and executes on the client side for fast interactions without a connection. JavaScript statements can include code combined with HTML tags. The document also discusses using JavaScript with HTML forms to process and display user input on the page.
about this presentation:
1) this presentation was a quickie for non-tech employees, who wanted a basic understanding of html/css, as it related to a white-label SAAS product;
2) the back-end/front-end definitions relate to the specific application (it's inaccurate if node.js is in the picture)
Cascading Style Sheets (CSS) is a mechanism for adding style to HTML documents. CSS allows complete control over layout, design and formatting of web pages. CSS properties can be applied inline, internally via <style> tags, or externally via linked style sheets. CSS uses selectors to apply styles to HTML elements based on their id, class, type and other attributes. Declarations are made up of properties and values to specify styles.
HTML5 is a language for structuring and presenting content for the World Wide Web. it is the fifth revision of the HTML standard (created in 1990 and standardized as HTML4 as of 1997) and as of February 2012 is still under development. Its core aims have been to improve the language with support for the latest multimedia while keeping it easily readable by humans and consistently understood by computers and devices (web browsers, parsers, etc.). It improves interoperability and reduces development costs by making precise rules on how to handle all HTML elements, and how to recover from errors
The document is a presentation on HTML5 that covers:
- What HTML5 is and why to use it
- New HTML5 structural elements, forms, multimedia elements, and JavaScript APIs
- Demonstrations of HTML5 features like Canvas, SVG, Geolocation, Web Workers, and Web Sockets
- How CSS3 enhances HTML5 with features like media queries, colors, animations and more
- Strategies for implementing HTML5 into websites while maintaining compatibility
This document provides an overview of various CSS topics including comments, colors, text formatting, positioning, and cross-browser compatibility. It explains concepts like using hexadecimal color codes, text properties like alignment and decoration, positioning elements with static, relative, absolute and fixed positioning, and strategies for aligning elements and dealing with browser inconsistencies.
HTML is a markup language used to define the structure and layout of web pages. It uses tags like <h1> and <p> to mark headings and paragraphs. CSS is used to style and lay out HTML elements, using selectors, declarations, and properties to change things like colors and positioning. JavaScript can be added to HTML pages with <script> tags and is used to add interactive elements and dynamic behavior by manipulating HTML and responding to user input. It has data types like strings and numbers and control structures like if/else statements.
This document introduces JavaScript, explaining that it allows for interactivity on web pages by manipulating the browser and reacting to user actions. It is embedded in HTML and executes on the client side for fast interactions without a connection. JavaScript statements can include code combined with HTML tags. The document also discusses using JavaScript with HTML forms to process and display user input on the page.
about this presentation:
1) this presentation was a quickie for non-tech employees, who wanted a basic understanding of html/css, as it related to a white-label SAAS product;
2) the back-end/front-end definitions relate to the specific application (it's inaccurate if node.js is in the picture)
Cascading Style Sheets (CSS) is a mechanism for adding style to HTML documents. CSS allows complete control over layout, design and formatting of web pages. CSS properties can be applied inline, internally via <style> tags, or externally via linked style sheets. CSS uses selectors to apply styles to HTML elements based on their id, class, type and other attributes. Declarations are made up of properties and values to specify styles.
HTML5 is a language for structuring and presenting content for the World Wide Web. it is the fifth revision of the HTML standard (created in 1990 and standardized as HTML4 as of 1997) and as of February 2012 is still under development. Its core aims have been to improve the language with support for the latest multimedia while keeping it easily readable by humans and consistently understood by computers and devices (web browsers, parsers, etc.). It improves interoperability and reduces development costs by making precise rules on how to handle all HTML elements, and how to recover from errors
The document is a presentation on HTML5 that covers:
- What HTML5 is and why to use it
- New HTML5 structural elements, forms, multimedia elements, and JavaScript APIs
- Demonstrations of HTML5 features like Canvas, SVG, Geolocation, Web Workers, and Web Sockets
- How CSS3 enhances HTML5 with features like media queries, colors, animations and more
- Strategies for implementing HTML5 into websites while maintaining compatibility
JQuery is a JavaScript library that simplifies HTML document manipulation, event handling, animations, and Ajax interactions. It works across browsers and makes tasks like DOM traversal and manipulation, event handling, animation, and Ajax much simpler. JQuery's versatility, extensibility, and cross-browser compatibility have made it popular, with millions of developers using it to write JavaScript.
JavaScript is a client-side scripting language that can be inserted into HTML pages to make them interactive. It allows dynamic validation of forms, changing HTML element properties like visibility, and reacting to user events like clicks or form submissions. The Document Object Model (DOM) represents an HTML or XML document as a tree structure, allowing JavaScript to programmatically access and modify the content, structure, and styling of the document. Common built-in JavaScript objects include String, Date, Array, Math, and Boolean, which provide properties and methods for manipulating text, dates, lists of values, numbers, and true/false values.
This document provides an introduction to jQuery, covering its features, comparisons to other frameworks, selectors, and plugins. jQuery is an open-source JavaScript library that simplifies DOM manipulation, event handling, animations, and Ajax interactions. It uses CSS-style selectors to select and manipulate HTML elements. Some key features include DOM element selections, DOM traversal/modification, DOM manipulation based on CSS selectors, events, effects/animations, Ajax, and extensibility through plugins. The document also discusses jQuery versus other frameworks like Dojo and YUI, demonstrates basic selectors and methods, and encourages the use of plugins to add additional functionality.
A web designer creates presentations using coding languages like HTML and CSS that are delivered through browsers. They design the overall look and feel of a website and specify how pages are displayed. Web designers may work for companies, agencies, or freelance. They are responsible for graphics, layout, programming, and content. HTML is the basic language used to structure web pages using tags like <html> and <body>. CSS enhances HTML and is used to format text, backgrounds, borders, and more. CSS can be applied inline, with embedded stylesheets, or external linked stylesheets.
This document provides an overview of JavaScript, including:
- JavaScript is a client-side scripting language designed for web pages that enhances HTML with dynamic and interactive features.
- It was initially developed by Netscape as LiveScript but was renamed JavaScript and standardized along with Java.
- JavaScript can react to events, validate data, detect the browser, create cookies, and read/write HTML elements.
- Key JavaScript concepts covered include objects, properties, methods, functions, values, variables, and the HTML DOM for finding and manipulating elements.
JavaScript is a scripting language originally designed for web browsers but now used everywhere. It has dynamic typing and supports object-oriented, imperative, and functional programming. JavaScript was created in 1995 and standardized in 1999. It is now the most popular language on GitHub. JavaScript can be used to build interactive web pages, desktop applications, server-side applications, IoT applications, and real-time applications. The core data types in JavaScript are Number, String, Boolean, Object, Function, Array, Date, and Regular Expressions. JavaScript supports features like variables, flow control, error handling, debugging, and JSON for data exchange.
HTML5 Tutorial For Beginners - Learning HTML 5 in simple and easy steps with examples covering 2D Canvas, Audio, Video, New Semantic Elements, Geolocation, Persistent Local Storage, Web Storage, Forms Elements,Application Cache,Inline SVG,Document
This document provides an introduction to JavaScript and its uses for web programming. It explains that JavaScript is a client-side scripting language that allows web pages to become interactive. Some key points covered include:
- JavaScript can change HTML content, styles, validate data, and make calculations.
- Functions are blocks of code that perform tasks when invoked by events or called in code.
- Events like clicks or keyboard presses trigger JavaScript code.
- The DOM (Document Object Model) represents an HTML document that JavaScript can access and modify.
- Forms and user input can be accessed and processed using the DOM.
- Programming flow can be controlled with conditional and loop statements.
-
This document provides an introduction to jQuery, including:
- jQuery is a JavaScript library that simplifies HTML document interaction and event handling. It was created by John Resig in 2006.
- The current version is 1.3.2 and version 1.4 is coming soon. John Resig continues to develop jQuery in Boston.
- jQuery selects elements, changes their properties, handles events, and makes AJAX calls to simplify common JavaScript tasks. It works by selecting DOM elements and running functions on the selection.
This document provides an overview of HTML and CSS topics including:
- A brief history of HTML and CSS standards from 1990 to present.
- Descriptions of common HTML elements like <body>, <head>, <img>, <a>, and lists.
- Explanations of CSS concepts like selectors, properties, units, positioning, and layout fundamentals.
- Details on CSS topics like the box model, centering content, semantic HTML, and flexbox.
The document serves as a course outline or reference for learning HTML and CSS fundamentals.
JavaScript can dynamically manipulate the content, structure, and styling of an HTML document through the Document Object Model (DOM). The DOM represents an HTML document as nodes that can be accessed and modified with JavaScript. Common tasks include dynamically creating and adding elements, handling user events like clicks, and updating content by accessing DOM elements by their id or other attributes.
The document provides an introduction to HTML basics including HTML document structure, common tags, and formatting. It discusses the <!DOCTYPE> declaration, <head> and <body> sections, common text formatting tags, headings, paragraphs, comments, and includes code examples.
HTML is a markup language used to define the structure and layout of web pages. CSS is used to style and lay out HTML elements, and JavaScript can be used to program behaviors and interactions in web pages. jQuery is a JavaScript library that simplifies HTML document traversal and manipulation, as well as event handling, animations, and Ajax interactions for rapid web development.
In this slide, we will discuss about what are css, html and also javascript. These three languages are very powerful and must be mastered and understood by all programmers and "hackers".
This slide will give you a clear view on what are they and their functions. Please note that, this slide does not teach you how to write/program them. This slides is completely for any levels.
1) Easy to understand.
2) Comments are included to make you understand better!
3) Ready to go for any presentation.
4) Full of informations
5) Small but powerful
What makes it interesting?
- These languages are used in every websites on the internet.
Why them?
- Seek for yourself in the slide
JavaScript - An Introduction is a beginner's guide to JavaScript. It starts with very basic level and goes to intermediate level. You'll be introduced with every language constructs, Event handling, Form handling and AJAX which is supported by JavaScript with XMLHttpRequest object. This XHR object is discussed in enough detail so that you can understand how the underlying AJAX functionality works in jQuery. At the end it discusses advance concepts and library build on/around JavaScript.
This document provides an overview of JavaScript basics including variables, data types, operators, conditional statements, loops, functions, arrays, and error handling. It explains JavaScript syntax, how to include JavaScript code in HTML pages, and commonly used statements like if/else, switch case, while and for loops. It also covers JavaScript functions, returning values from functions, and printing pages. The document describes JavaScript strings and array objects, and their associated methods. Finally, it discusses different types of errors in JavaScript like syntax errors, runtime errors, and logical errors.
CSS (Cascading Style Sheets) is used to define styles for displaying HTML elements. CSS has different levels that add new features denoted as CSS1, CSS2, CSS3. CSS saves work by defining styles that can be applied across multiple web pages through external style sheets or internal/inline styles. CSS style rules contain selectors and declarations, with properties and values. CSS comments, id and class selectors, and multiple style sheets are also discussed in the document.
The document provides background information on HTML, JavaScript, CSS, and their relationships. It discusses how SGML led to the creation of HTML by Tim Berners-Lee as a subset of SGML. Cascading Style Sheets (CSS) were later created to separate document structure from presentation. Extensible Markup Language (XML) further separated content from style. The document also covers the evolution of HTML versions and the creation of XHTML.
Reveal.js is an HTML presentation framework that allows users to create beautiful presentations using HTML. It has features like vertical slides, nested slides, Markdown support, different transition styles, themes, slide backgrounds, images, video, tables, quotes, and linking between slides. Presentations can be exported to PDF and custom states and events can be triggered on each slide. The framework is touch optimized and works on devices like mobile phones and tablets.
JQuery is a JavaScript library that simplifies HTML document manipulation, event handling, animations, and Ajax interactions. It works across browsers and makes tasks like DOM traversal and manipulation, event handling, animation, and Ajax much simpler. JQuery's versatility, extensibility, and cross-browser compatibility have made it popular, with millions of developers using it to write JavaScript.
JavaScript is a client-side scripting language that can be inserted into HTML pages to make them interactive. It allows dynamic validation of forms, changing HTML element properties like visibility, and reacting to user events like clicks or form submissions. The Document Object Model (DOM) represents an HTML or XML document as a tree structure, allowing JavaScript to programmatically access and modify the content, structure, and styling of the document. Common built-in JavaScript objects include String, Date, Array, Math, and Boolean, which provide properties and methods for manipulating text, dates, lists of values, numbers, and true/false values.
This document provides an introduction to jQuery, covering its features, comparisons to other frameworks, selectors, and plugins. jQuery is an open-source JavaScript library that simplifies DOM manipulation, event handling, animations, and Ajax interactions. It uses CSS-style selectors to select and manipulate HTML elements. Some key features include DOM element selections, DOM traversal/modification, DOM manipulation based on CSS selectors, events, effects/animations, Ajax, and extensibility through plugins. The document also discusses jQuery versus other frameworks like Dojo and YUI, demonstrates basic selectors and methods, and encourages the use of plugins to add additional functionality.
A web designer creates presentations using coding languages like HTML and CSS that are delivered through browsers. They design the overall look and feel of a website and specify how pages are displayed. Web designers may work for companies, agencies, or freelance. They are responsible for graphics, layout, programming, and content. HTML is the basic language used to structure web pages using tags like <html> and <body>. CSS enhances HTML and is used to format text, backgrounds, borders, and more. CSS can be applied inline, with embedded stylesheets, or external linked stylesheets.
This document provides an overview of JavaScript, including:
- JavaScript is a client-side scripting language designed for web pages that enhances HTML with dynamic and interactive features.
- It was initially developed by Netscape as LiveScript but was renamed JavaScript and standardized along with Java.
- JavaScript can react to events, validate data, detect the browser, create cookies, and read/write HTML elements.
- Key JavaScript concepts covered include objects, properties, methods, functions, values, variables, and the HTML DOM for finding and manipulating elements.
JavaScript is a scripting language originally designed for web browsers but now used everywhere. It has dynamic typing and supports object-oriented, imperative, and functional programming. JavaScript was created in 1995 and standardized in 1999. It is now the most popular language on GitHub. JavaScript can be used to build interactive web pages, desktop applications, server-side applications, IoT applications, and real-time applications. The core data types in JavaScript are Number, String, Boolean, Object, Function, Array, Date, and Regular Expressions. JavaScript supports features like variables, flow control, error handling, debugging, and JSON for data exchange.
HTML5 Tutorial For Beginners - Learning HTML 5 in simple and easy steps with examples covering 2D Canvas, Audio, Video, New Semantic Elements, Geolocation, Persistent Local Storage, Web Storage, Forms Elements,Application Cache,Inline SVG,Document
This document provides an introduction to JavaScript and its uses for web programming. It explains that JavaScript is a client-side scripting language that allows web pages to become interactive. Some key points covered include:
- JavaScript can change HTML content, styles, validate data, and make calculations.
- Functions are blocks of code that perform tasks when invoked by events or called in code.
- Events like clicks or keyboard presses trigger JavaScript code.
- The DOM (Document Object Model) represents an HTML document that JavaScript can access and modify.
- Forms and user input can be accessed and processed using the DOM.
- Programming flow can be controlled with conditional and loop statements.
-
This document provides an introduction to jQuery, including:
- jQuery is a JavaScript library that simplifies HTML document interaction and event handling. It was created by John Resig in 2006.
- The current version is 1.3.2 and version 1.4 is coming soon. John Resig continues to develop jQuery in Boston.
- jQuery selects elements, changes their properties, handles events, and makes AJAX calls to simplify common JavaScript tasks. It works by selecting DOM elements and running functions on the selection.
This document provides an overview of HTML and CSS topics including:
- A brief history of HTML and CSS standards from 1990 to present.
- Descriptions of common HTML elements like <body>, <head>, <img>, <a>, and lists.
- Explanations of CSS concepts like selectors, properties, units, positioning, and layout fundamentals.
- Details on CSS topics like the box model, centering content, semantic HTML, and flexbox.
The document serves as a course outline or reference for learning HTML and CSS fundamentals.
JavaScript can dynamically manipulate the content, structure, and styling of an HTML document through the Document Object Model (DOM). The DOM represents an HTML document as nodes that can be accessed and modified with JavaScript. Common tasks include dynamically creating and adding elements, handling user events like clicks, and updating content by accessing DOM elements by their id or other attributes.
The document provides an introduction to HTML basics including HTML document structure, common tags, and formatting. It discusses the <!DOCTYPE> declaration, <head> and <body> sections, common text formatting tags, headings, paragraphs, comments, and includes code examples.
HTML is a markup language used to define the structure and layout of web pages. CSS is used to style and lay out HTML elements, and JavaScript can be used to program behaviors and interactions in web pages. jQuery is a JavaScript library that simplifies HTML document traversal and manipulation, as well as event handling, animations, and Ajax interactions for rapid web development.
In this slide, we will discuss about what are css, html and also javascript. These three languages are very powerful and must be mastered and understood by all programmers and "hackers".
This slide will give you a clear view on what are they and their functions. Please note that, this slide does not teach you how to write/program them. This slides is completely for any levels.
1) Easy to understand.
2) Comments are included to make you understand better!
3) Ready to go for any presentation.
4) Full of informations
5) Small but powerful
What makes it interesting?
- These languages are used in every websites on the internet.
Why them?
- Seek for yourself in the slide
JavaScript - An Introduction is a beginner's guide to JavaScript. It starts with very basic level and goes to intermediate level. You'll be introduced with every language constructs, Event handling, Form handling and AJAX which is supported by JavaScript with XMLHttpRequest object. This XHR object is discussed in enough detail so that you can understand how the underlying AJAX functionality works in jQuery. At the end it discusses advance concepts and library build on/around JavaScript.
This document provides an overview of JavaScript basics including variables, data types, operators, conditional statements, loops, functions, arrays, and error handling. It explains JavaScript syntax, how to include JavaScript code in HTML pages, and commonly used statements like if/else, switch case, while and for loops. It also covers JavaScript functions, returning values from functions, and printing pages. The document describes JavaScript strings and array objects, and their associated methods. Finally, it discusses different types of errors in JavaScript like syntax errors, runtime errors, and logical errors.
CSS (Cascading Style Sheets) is used to define styles for displaying HTML elements. CSS has different levels that add new features denoted as CSS1, CSS2, CSS3. CSS saves work by defining styles that can be applied across multiple web pages through external style sheets or internal/inline styles. CSS style rules contain selectors and declarations, with properties and values. CSS comments, id and class selectors, and multiple style sheets are also discussed in the document.
The document provides background information on HTML, JavaScript, CSS, and their relationships. It discusses how SGML led to the creation of HTML by Tim Berners-Lee as a subset of SGML. Cascading Style Sheets (CSS) were later created to separate document structure from presentation. Extensible Markup Language (XML) further separated content from style. The document also covers the evolution of HTML versions and the creation of XHTML.
Reveal.js is an HTML presentation framework that allows users to create beautiful presentations using HTML. It has features like vertical slides, nested slides, Markdown support, different transition styles, themes, slide backgrounds, images, video, tables, quotes, and linking between slides. Presentations can be exported to PDF and custom states and events can be triggered on each slide. The framework is touch optimized and works on devices like mobile phones and tablets.
HTML5 and CSS3 have arrived and they are redefining rich, standards-based web development. Features previously the exclusive domain of browser plug-ins can now be added to web applications as easily as images. Understanding the new power that these standards define, as well as the rapidly increasing power and speed of JavaScript in modern browsers and devices is essential. These slides accompany a full-day workshop, where attendees are guided through the new features in HTML5 and CSS3, with special attention to how these technologies can be used today in new and old browsers.
The document provides a 6 day training agenda covering HTML, CSS, JavaScript, and jQuery. Day 1 covers HTML basics, CSS basics and layouts. Day 2 covers HTML forms, CSS styling, and responsive design. Days 3-5 cover JavaScript programming, events, AJAX, and jQuery. Day 6 covers more advanced jQuery topics.
An Seo’s Intro to Web Dev, HTML, CSS and JavaScriptTroyfawkes
This document provides an introduction to web development technologies for SEOs, covering HTML, CSS, JavaScript, and how they relate to each other and web architecture. It begins with an overview of the main components of a website, including the CMS, front-end code, back-end code, database, web server, domain name, DNS, and physical server. It then covers HTML basics like tags and document structure. It discusses CSS and how it is used to style pages. Finally, it provides a brief introduction to JavaScript and how it adds dynamic functionality to websites. The document is intended to give SEOs a basic technical understanding of web development.
You've been tasked with developing a new front end feature. HTML, CSS, and JavaScript are nothing new to you, in fact you even know a few tricks to get this feature out the door. It doesn't take you long and the code works like a charm, yet you have a looming suspicion that some of the code might not be up to par. You're likely right, and you're definitely better than that.
We often write code without paying attention to the bigger picture, or overall code base. Upon stepping back we notice areas of duplicate code, ripe for refactoring. It's time to build more modular front ends, focusing on the reusability of HTML, CSS, and JavaScript, and to take maintainability to heart.
This document summarizes a knowledge sharing session on HTML and CSS basics. It covers topics like HTML tags and structures, CSS rules and selectors, the CSS box model, positioning, sprites, and hacks for dealing with browser inconsistencies. The session introduced fundamental concepts for using HTML to structure content and CSS for styling and layout, providing examples for common tags, selectors, properties and techniques. It aimed to give attendees an overview of the core building blocks of HTML and CSS.
JavaScript is a scripting language that allows adding interactivity to HTML pages. It can be used for client-side form validation and integration with user plugins. JavaScript is case-sensitive and allows variables, functions, conditional statements, and objects. Common uses include pop-up boxes, event handling, and cookies.
CSS is used to style and lay out web pages. It allows separation of document content from page layout and design. CSS declarations are made up of selectors and properties. Selectors identify elements on the page and properties set specific styles for those elements, like color, font, size, and layout. CSS rules cascade based on specificity and source, with more specific and inline rules taking precedence over broader and external rules. Inheritance passes down text-based styles by default.
The JavaScript programming language is a multi-paradigm language that is misunderstood due to its name, design errors in early implementations, and use in web browsers. It is a functional language that uses objects, prototypes, and closures. Values in JavaScript include numbers, strings, Booleans, objects, null, and undefined. All other values are objects.
HTML (Hypertext Markup Language) is used to define the structure and layout of web pages using a variety of tags and attributes. Some key points covered are:
- HTML documents use tags like <html> enclosed in angle brackets to describe headings, paragraphs, links, images, and other content.
- Tags normally come in pairs with opening and closing tags.
- HTML can be used to format text, add images and tables, create lists and forms, structure pages using divs and frames, and more.
- CSS (Cascading Style Sheets) is often used to define styles and layouts, separate from HTML content.
- Forms allow users to enter data through
The document provides an overview of installing PHP on Windows systems. It discusses choosing between the Windows InstallShield method (for beginners) or manual binary installation. The InstallShield process is demonstrated step-by-step using IIS as an example, covering downloading, choosing options, file extensions, and testing. The manual method requires copying files, setting permissions, and configuring the web server by adding application mappings in IIS. Examples demonstrate including header and footer files to create templates.
This document contains the categories, questions, and answers for a Jeopardy-style game about computers and related topics for an 8th grade class. The categories include the desktop, MS Word, computer terms, the internet, and random questions. The questions cover definitions of computer hardware and software, what can be done with different programs, and other factual information about computers and general knowledge topics.
Mobile development in age of Internet of Things and programming Apple WatchJanusz Chudzynski
Explore differences between mobile development platforms and learn about tools and resources that can be used to create mobile applications. In the second part of the presentation you will learn what’s the role of mobile devices in Internet of Things, see a demo of the Apple Watch and importance of a iBeacon, one of the hottest technologies of 2014.
This document discusses Internet of Things (IoT) technologies including iBeacons. It provides an overview of IoT, describing how connected devices can range from simple sensors to more advanced devices. iBeacons use Bluetooth Low Energy to allow devices to detect proximity to beacons. Example use cases for iBeacons include retail, education, and healthcare. The document then describes a project to use iBeacons and a mobile app to track patient and nurse locations and activity to improve healthcare quality.
Paper Presentation: Data Mining User Preference in Interactive MultimediaJeanette Howe
This study used a data mining approach to investigate user preferences in interactive multimedia learning systems without predetermined hypotheses. 80 participants used two systems that differed in interface design and were clustered based on their preferences. The largest cluster preferred a single color scheme. Computer experience significantly affected preferences - experts preferred multiple windows and dynamic buttons while novices preferred single windows and static buttons. The findings provide insights into user interface design without restricting results with predefined hypotheses.
Este documento fornece diretrizes sobre o uso da identidade visual da Lótus, incluindo suas cores oficiais, formatos de arquivo aceitáveis e diretrizes para o uso do logotipo em diferentes fundos. É fornecido um manual completo com 15 páginas sobre a correta aplicação do logotipo e identidade visual da empresa.
The document summarizes the changes made in revamping the AIMS website. Key changes included moving to Drupal 7 for improved flexibility and content management, migrating existing content using the Feeds and Migrate modules, reorganizing taxonomy terms and filters for better browsing of topics, integrating external repositories of data and media, and improving the user experience, mobile responsiveness, and search engine optimization. The revamp has led to doubled search engine results and sets the stage for further semantic markup and social media integration going forward.
The document summarizes a presentation about using Adobe Fireworks for designing HTML and CSS websites. It discusses how Fireworks is ideal for web design as it integrates well with other Adobe applications. It also explores how Fireworks allows for rapid prototyping through features like slicing images and exporting code. The presentation emphasizes writing code by hand and using frameworks like the 960 grid system to help maintain consistency and improve efficiency.
The document discusses CSS frameworks, which aim to abstract routine CSS tasks into reusable modules. It covers the frustrations of CSS development like lack of code reuse. Popular frameworks like Blueprint, 960gs and CSS Scaffold are examined. Frameworks provide advantages like increased productivity but also have disadvantages like creating bloated code and design restrictions. In summary, frameworks can help speed up development and improve designs but are not perfect solutions and building your own comes with further complications.
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4Erin M. Kidwell
Here are the steps to build a basic horizontal navigation menu bar:
1. Create an unordered list <ul> with class="menu"
2. Add list items <li> for each menu item
3. Style the <ul> with display:inline-block and border-bottom
4. Style the <li> with display:inline-block, padding and hover effect
5. Add a class="current" to highlight the active page
6. Use a border-left on .current to create a left arrow
Let me know if any part needs more explanation! Building menus is a common task and these techniques will serve you well.
Responsive Web Design: Clever Tips and TechniquesVitaly Friedman
Responsive Web design challenges Web designers to adapt a new mindset to their design and coding processes. This talk provides an overview of various practical techniques, tips and tricks that you might want to be aware of when working on a new responsive design project.
The document provides an overview of CSS (Cascading Style Sheets) methodology. It defines CSS as the language used for implementing designs on HTML documents. It then covers CSS basics including selectors, properties, conflicts resolution using specificity and cascade order. It also discusses the box model which defines how browsers handle rectangular boxes for elements. Finally, it offers some best practices tips such as resetting styles, separating content from design, and planning layout during HTML coding.
Team stylesheets should be structured, consistent and easy to navigate. Variables, nesting and partials in SCSS allow for isolated, reusable code and prevent repetition. Front-end developers appreciate documentation on technologies, rules and file structure to work effectively as a team.
1) The document provides resources for a front-end development session including working files, slides, and an agenda.
2) It reviews HTML tags, CSS selectors, the box model, positioning, and Flexbox.
3) Instructions are given to install Atom plugins and review JavaScript and JQuery before adding an Express server to a webpage.
Structuring your CSS for maintainability: rules and guile lines to write CSSSanjoy Kr. Paul
Structuring your CSS for maintainability: rules and guile lines to write CSS
As you start work on larger stylesheets and big projects with a team, you will discover that maintaining a huge CSS file can be challenging. So, we will go through some best practices for writing CSS that will help us to maintain the CSS project easily.
Client side performance compromises worth makingCathy Lill
Tips for getting the most out of client side performance while keeping your code maintainable and your applications beautiful. We'll look at some specific code techniques for CSS, SASS and Javascript, dependency management with Require.js and some general tips for structuring your applications to optimise for performance.
This document summarizes Vitaly Friedman's talk on responsive design techniques and tricks. The talk covered resolution independence using SVG/icon fonts, content choreography with Flexbox, compressive images that maintain quality at different sizes, conditional loading of assets based on breakpoints, and lazy loading of JavaScript and social buttons. It also discussed maintaining aspect ratios for images and videos across screens, and serving different video files for different devices. The overall message was that responsive design requires a new mindset and pragmatic solutions rather than rigid rules.
This document provides an overview of HTML5 best practices for mobile design. It begins with introductions and outlines the session agenda. The presenter then discusses high-level principles like universal design and progressive enhancement. Specific techniques covered include viewport meta tags, media queries, scalable images, HTML5 tags, and touch-friendly guidelines. CSS topics include grids, backgrounds, gradients, and transitions. JavaScript behaviors like navigation, forms, and geolocation are also reviewed. Useful frameworks, polyfills, and testing tools are presented. The overall message is that mobile design requires an adaptive, user-centered approach through careful content structuring, responsive presentation, and unobtrusive behavior.
This document discusses using CSS preprocessors like LESS, Sass, and Stylus to build mobile web apps. It covers getting started with Sass and Compass, using variables, operations, nesting, mixins, and other Sass features. It also discusses object-oriented CSS techniques like separating structure and skin, and container and content. The goal is to speed up front-end workflows and make CSS reusable, modular, and scalable.
Doris Chen is a senior developer evangelist at Microsoft who focuses on web technologies like JavaScript and HTML5. Her presentation covers optimizing Cordova app performance, including measuring startup cost and memory usage, using CSS for gradients instead of images, animating with translate3d instead of left/top, and handling events through bubbling instead of individual listeners. She provides tips like keeping the DOM simple, batching layout changes, and cleaning up unused objects to prevent memory leaks.
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...Yandex
Responsive web design challenges web designers to apply a new mindset to their design processes, as well as to techniques they are using in design and coding. This talk provides an overview of various practical techniques, tips and tricks that you might want to be aware of when working on a new responsive design project.
This document provides an overview of CSS (Cascading Style Sheets) including its history, basic syntax and structure, common properties that can be styled, and different methods for applying styles. Key points covered include using CSS to style fonts, colors, links, and page layout with properties like padding, margin, and floats. The document also demonstrates how to select elements with IDs, classes, and other selectors to style them.
Spectrum 2015 going online with style - an intro to cssNeil Perlin
This document introduces CSS (Cascading Style Sheets) and provides an overview of some basic CSS concepts:
- CSS allows authors to define styles that can be applied consistently throughout a project for formatting elements like headings, paragraphs, etc. This improves efficiency and consistency compared to local formatting.
- A style sheet is a separate file containing all styles for a project. It cascades in that changes can inherit to child styles.
- The document discusses CSS basics like style rules, the box model, relative sizing units, and different CSS levels.
- It recommends best practices like defining styles upfront in a CSS before authoring and avoiding inline styles.
Dev Dives: Mining your data with AI-powered Continuous DiscoveryUiPathCommunity
Want to learn how AI and Continuous Discovery can uncover impactful automation opportunities? Watch this webinar to find out more about UiPath Discovery products!
Watch this session and:
👉 See the power of UiPath Discovery products, including Process Mining, Task Mining, Communications Mining, and Automation Hub
👉 Watch the demo of how to leverage system data, desktop data, or unstructured communications data to gain deeper understanding of existing processes
👉 Learn how you can benefit from each of the discovery products as an Automation Developer
🗣 Speakers:
Jyoti Raghav, Principal Technical Enablement Engineer @UiPath
Anja le Clercq, Principal Technical Enablement Engineer @UiPath
⏩ Register for our upcoming Dev Dives July session: Boosting Tester Productivity with Coded Automation and Autopilot™
👉 Link: https://bit.ly/Dev_Dives_July
This session was streamed live on June 27, 2024.
Check out all our upcoming Dev Dives 2024 sessions at:
🚩 https://bit.ly/Dev_Dives_2024
Details of description part II: Describing images in practice - Tech Forum 2024BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threatsanupriti
In the rapidly evolving landscape of blockchain technology, the advent of quantum computing poses unprecedented challenges to traditional cryptographic methods. As quantum computing capabilities advance, the vulnerabilities of current cryptographic standards become increasingly apparent.
This presentation, "Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threats," explores the intersection of blockchain technology and quantum computing. It delves into the urgent need for resilient cryptographic solutions that can withstand the computational power of quantum adversaries.
Key topics covered include:
An overview of quantum computing and its implications for blockchain security.
Current cryptographic standards and their vulnerabilities in the face of quantum threats.
Emerging post-quantum cryptographic algorithms and their applicability to blockchain systems.
Case studies and real-world implications of quantum-resistant blockchain implementations.
Strategies for integrating post-quantum cryptography into existing blockchain frameworks.
Join us as we navigate the complexities of securing blockchain networks in a quantum-enabled future. Gain insights into the latest advancements and best practices for safeguarding data integrity and privacy in the era of quantum threats.
Test Case Design Techniques as chapter 4 of ISTQB Foundation. Topics included are Equivalence Partition, Boundary Value Analysis, State Transition Testing, Decision Table Testing, Use Case Testing, Statement Coverage, Decision Coverage, Error Guessing, Exploratory Testing, Checklist Based Testing
Quality Patents: Patents That Stand the Test of TimeAurora Consulting
Is your patent a vanity piece of paper for your office wall? Or is it a reliable, defendable, assertable, property right? The difference is often quality.
Is your patent simply a transactional cost and a large pile of legal bills for your startup? Or is it a leverageable asset worthy of attracting precious investment dollars, worth its cost in multiples of valuation? The difference is often quality.
Is your patent application only good enough to get through the examination process? Or has it been crafted to stand the tests of time and varied audiences if you later need to assert that document against an infringer, find yourself litigating with it in an Article 3 Court at the hands of a judge and jury, God forbid, end up having to defend its validity at the PTAB, or even needing to use it to block pirated imports at the International Trade Commission? The difference is often quality.
Quality will be our focus for a good chunk of the remainder of this season. What goes into a quality patent, and where possible, how do you get it without breaking the bank?
** Episode Overview **
In this first episode of our quality series, Kristen Hansen and the panel discuss:
⦿ What do we mean when we say patent quality?
⦿ Why is patent quality important?
⦿ How to balance quality and budget
⦿ The importance of searching, continuations, and draftsperson domain expertise
⦿ Very practical tips, tricks, examples, and Kristen’s Musts for drafting quality applications
https://www.aurorapatents.com/patently-strategic-podcast.html
UiPath Community Day Kraków: Devs4Devs ConferenceUiPathCommunity
We are honored to launch and host this event for our UiPath Polish Community, with the help of our partners - Proservartner!
We certainly hope we have managed to spike your interest in the subjects to be presented and the incredible networking opportunities at hand, too!
Check out our proposed agenda below 👇👇
08:30 ☕ Welcome coffee (30')
09:00 Opening note/ Intro to UiPath Community (10')
Cristina Vidu, Global Manager, Marketing Community @UiPath
Dawid Kot, Digital Transformation Lead @Proservartner
09:10 Cloud migration - Proservartner & DOVISTA case study (30')
Marcin Drozdowski, Automation CoE Manager @DOVISTA
Pawel Kamiński, RPA developer @DOVISTA
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
09:40 From bottlenecks to breakthroughs: Citizen Development in action (25')
Pawel Poplawski, Director, Improvement and Automation @McCormick & Company
Michał Cieślak, Senior Manager, Automation Programs @McCormick & Company
10:05 Next-level bots: API integration in UiPath Studio (30')
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
10:35 ☕ Coffee Break (15')
10:50 Document Understanding with my RPA Companion (45')
Ewa Gruszka, Enterprise Sales Specialist, AI & ML @UiPath
11:35 Power up your Robots: GenAI and GPT in REFramework (45')
Krzysztof Karaszewski, Global RPA Product Manager
12:20 🍕 Lunch Break (1hr)
13:20 From Concept to Quality: UiPath Test Suite for AI-powered Knowledge Bots (30')
Kamil Miśko, UiPath MVP, Senior RPA Developer @Zurich Insurance
13:50 Communications Mining - focus on AI capabilities (30')
Thomasz Wierzbicki, Business Analyst @Office Samurai
14:20 Polish MVP panel: Insights on MVP award achievements and career profiling
Tool Support for Testing as Chapter 6 of ISTQB Foundation 2018. Topics covered are Tool Benefits, Test Tool Classification, Benefits of Test Automation and Risk of Test Automation
MYIR Product Brochure - A Global Provider of Embedded SOMs & SolutionsLinda Zhang
This brochure gives introduction of MYIR Electronics company and MYIR's products and services.
MYIR Electronics Limited (MYIR for short), established in 2011, is a global provider of embedded System-On-Modules (SOMs) and
comprehensive solutions based on various architectures such as ARM, FPGA, RISC-V, and AI. We cater to customers' needs for large-scale production, offering customized design, industry-specific application solutions, and one-stop OEM services.
MYIR, recognized as a national high-tech enterprise, is also listed among the "Specialized
and Special new" Enterprises in Shenzhen, China. Our core belief is that "Our success stems from our customers' success" and embraces the philosophy
of "Make Your Idea Real, then My Idea Realizing!"
Database Management Myths for DevelopersJohn Sterrett
Myths, Mistakes, and Lessons learned about Managing SQL Server databases. We also focus on automating and validating your critical database management tasks.
Quantum Communications Q&A with Gemini LLM. These are based on Shannon's Noisy channel Theorem and offers how the classical theory applies to the quantum world.
Leveraging AI for Software Developer Productivity.pptxpetabridge
Supercharge your software development productivity with our latest webinar! Discover the powerful capabilities of AI tools like GitHub Copilot and ChatGPT 4.X. We'll show you how these tools can automate tedious tasks, generate complete syntax, and enhance code documentation and debugging.
In this talk, you'll learn how to:
- Efficiently create GitHub Actions scripts
- Convert shell scripts
- Develop Roslyn Analyzers
- Visualize code with Mermaid diagrams
And these are just a few examples from a vast universe of possibilities!
Packed with practical examples and demos, this presentation offers invaluable insights into optimizing your development process. Don't miss the opportunity to improve your coding efficiency and productivity with AI-driven solutions.
This slide deck is a deep dive the Salesforce latest release - Summer 24, by the famous Stephen Stanley. He has examined the release notes very carefully, and summarised them for the Wellington Salesforce user group, virtual meeting June 27 2024.
Transcript: Details of description part II: Describing images in practice - T...BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and slides: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Coordinate Systems in FME 101 - Webinar SlidesSafe Software
If you’ve ever had to analyze a map or GPS data, chances are you’ve encountered and even worked with coordinate systems. As historical data continually updates through GPS, understanding coordinate systems is increasingly crucial. However, not everyone knows why they exist or how to effectively use them for data-driven insights.
During this webinar, you’ll learn exactly what coordinate systems are and how you can use FME to maintain and transform your data’s coordinate systems in an easy-to-digest way, accurately representing the geographical space that it exists within. During this webinar, you will have the chance to:
- Enhance Your Understanding: Gain a clear overview of what coordinate systems are and their value
- Learn Practical Applications: Why we need datams and projections, plus units between coordinate systems
- Maximize with FME: Understand how FME handles coordinate systems, including a brief summary of the 3 main reprojectors
- Custom Coordinate Systems: Learn how to work with FME and coordinate systems beyond what is natively supported
- Look Ahead: Gain insights into where FME is headed with coordinate systems in the future
Don’t miss the opportunity to improve the value you receive from your coordinate system data, ultimately allowing you to streamline your data analysis and maximize your time. See you there!
3. Why are we here?
The web is slowly moving towards using open standards
HTML, CSS and Javascript is the new Flash (Silverlight anyone?)
Javascript performance has doubled in the past few years
More and more application logic end up in the UI
HTML, CSS and JS are VERY forgiving - we need solid
conventions to build on
3
5. Semantic Markup
Use correct tag to describe your content
H1, H2, H3 tags for headings
OL, UL, DL for ordered, unordered, and definition lists
P tags for paragraphs
Pages immediately become more accessible, both for
search engines, and humans alike (such as a user who
need to use a screen reader)
5
6. Semantic Markup - naming
header, topNavigation, sidebarNavigation, leftColumn,
rightColumn, footer... sounds familiar?
Avoid using names that describe position... think
content!
brandingArea, mainNavigation, subNavigation,
mainContent, sub content, siteInfo
CSS can change position of your content!
6
7. Keep it clean!
Try not to bloat your markup with unnecessary
elements or CSS classes.
Avoid using extra block elements just for positioning -
change to display:block on inline elements instead.
Use the cascading functionality in CSS instead of
adding unnecessary classes
7
8. A case of div-itis
<div class="content">
<p>
Lorem ipsum dolor sit amet dolor adispiscing elit.
</p>
</div>
<div class="featureList">
<ul>
<li class="redBullet">Dog</li>
<li class="redBullet">Cat</li>
<li class="redBullet">Mouse</li>
</ul>
</div>
8
9. A case of class-itis
<p class="content" >
Lorem ipsum dolor sit amet dolor adispiscing elit.
</p>
<ul class="featureList" >
<li class="redBullet">Dog</li>
<li class="redBullet">Cat</li>
<li class="redBullet">Mouse</li>
</ul>
9
10. Clean and simple markup!
<p>
Lorem ipsum dolor sit amet dolor adispiscing elit.
</p>
<ul class="redBullets" >
<li>Dog</li>
<li>Cat</li>
<li>Mouse</li>
</ul>
10
11. CSS - Words of advice
Aim for readable, maintainable code (leave the
complex shorthand to the CSS compression
algorithms)
Use the cascade! That’s what it’s there for.
Be mindful of CSS selectors
pseudo-classes and properties which aren’t available to all
browsers (IE6 is going to be your enemy most of the time)
Class names should NOT BE CHAINED.
IE6 does not support this: “div.classnameA.classnameB {”
Check changes in all browsers as you make the
changes — not once you’re 90% “done”
11
12. CSS - The Cascade
Sorts by origin and importance
1. inline style -> 2. embedded stylesheet -> 3. linked stylesheet
A style rule with higher importance wins over identical rules
with lower importance
Sorts by specificity of the CSS selector
Notes:
If 2 or more rules have the same importance, origin and
specificity, the last one wins
The browsers default style sheet is treated as if it’s an
imported stylesheet imported before all other
12
13. Use a reset stylesheet
All browsers have a default stylesheet
Resets default view behaviors of many HTML elements
to display uniformly across all browsers
Include as first external stylesheet
Example: Popular reset stylesheets
Eric Meyer’s reset.css
YUI reset.css
13
14. CSS - File structure
Choose a file structure that makes sense for your
project!
Some larger projects benefits from a more separated
approach:
reset.css
typography.css
layout.css
gui.css
Other projects may be fine using one single stylesheet
14
15. CSS - ID your body
Flexibility to apply page specific styles without adding
separate stylesheets
</head>
<body id=”contactPage”>
Override default style using the body ID:
a { color: blue; }
#contactPage a { color: red; }
15
16. CSS - Sliding Doors
Create dynamic length graphics for buttons, tabs and
menu items
Use 2 nested elements and slide background images
over each other
<a href=”#”><span>Text</span></a>
<span> <a>
left
side
Text right
side
16
17. CSS image sprites
Contain several different graphics in one file
WHY?
Reduces number of HTTP calls to server
No “flicker” when first rolling over item with hover state.
Modifying CSS background-position is instant!
Example: button sprites
17
18. Tips when using image sprites
Expect sprites to grow—group/space items accordingly
Place sprites on even multiples (50px, 100px, 500px)
Avoid using string values for positioning (ie, “top”, “left”,
“right”, etc.). Pixels are preferred when specifying the
background position for all sprites
Except in the case of the sliding-doors technique. Here, a
value of 100% is necessary.
18
19. Tips when using image sprites
If using the ‘background: ...’ CSS shorthand, enter ALL
values in their PROPER order:
1. background-color: transparent | color
2. background-image: none | url(path/to/image.jpg)
3. background-repeat: no-repeat | repeat | repeat-x | repeat-y
4. background-attachment: scroll | fixed
5. background-position: 0px 0px
Example:
background: transparent url(../assets/sprite_main.png) no-
repeat scroll 0px -50px;
19
20. Tips when using image sprites
Keep PSDs of the sprites up-to-date
Remember that global light settings get reset to the
default of 120°— double check the drop shadows with
the original design, most designers prefer to use 90°!!!
GIFs and PNGs optimize horizontally
Experiment with compression settings. Often times,
PNG-8 will be smaller.
20
21. PNG optimization
PNG was developed as an open-source replacement
for GIF
Introduced new features for compression
Photoshop don’t offer any optimization options
PNG-24 Truecolor
PNG-8 Indexed-color
PNG’s are not “unoptimizable”!
21
22. GIF compression
Each number represents a unique color
GIF compress horizontally, thus an image like this will
not compress well:
22
23. PNG Scanline filtering (delta filters)
2 represents applied filter “UP”
“For the current pixel take the value of the above pixel
and add it to the current value.”
23
24. PNG Scanline filtering (delta filters)
1 represents applied filter “SUB”
“Take the value of the left pixel and add it to the current
value.”
24
25. PNG Scanline filtering (delta filters)
1 represents applied filter “SUB”
“Take the value of the left pixel and add it to the current
value.”
25
26. PNG optimization
Compression utilities can help us:
Pick up best image type (truecolor, indexed-color)
Pick up best delta filters (5 delta filters to select from)
Pick up best compression strategy
All these operations does NOT affect image quality!
One of the best compression services:
http://www.gracepointafterfive.com/punypng
But where is the command line script?
26
27. Progressive Enhancement
The web was using Graceful Degradation
Target most advanced browsers, apply fixes to older browsers
Moving towards Progressive Enhancement
Focus on the content!
1. Begin with semantic markup
2. Apply basic style using CSS
3. Transform into richer user experience using JS and CSS
Examples:
Atari.com
Alkoholprofilen.se
27
28. Javascript namespaces
Stay away from the global namespace to avoid
collisions with 3rd party code
Wrap all functions in a namespace object:
var myNamespace = {};
myNamespace.myFunction = function () {
// I’m not a global function and I like it
};
Example: Atari.com global.js
28
29. jQuery - Sizzle selectors
jQuery includes the Sizzle CSS selector engine from
version 1.3
The syntax goes something like this:
$(String selector, DOMElement context);
Example:
var myList = $(‘#myList’);
$(‘li’, myList);
Supports CSS3 selectors
29
30. jQuery - Chain selectors
Requires 3 DOM traversals:
$(‘#mydiv’).html(‘Hello World!’);
$(‘#mydiv’).css(‘border’, ‘1px solid black’);
$(‘#mydiv’).fadeIn(‘fast’);
Requires 1 DOM traversal:
$(‘#mydiv’).html(‘Hello World!’).css(‘color’, ‘red’).fadeIn(‘fast’);
OR
var myDiv = $(‘#mydiv’);
myDiv.html(‘Hello World!’);
myDiv.css(‘color’, ‘red’);
myDiv.fadeIn(‘fast’);
30
31. jQuery - Chain selectors
Not visually stunning! But...
... cuts down on DOM traversal and hundreds of
internal calls:
$(‘#mydiv’)
.html(‘Hello World!’)
.children(‘p’)
.css(‘color’, ‘red’)
.end()
.css(‘background-color’, ‘#ffdead’);
This chain will dip into its children, and the end() method will
end the chain, reverting to the initial selector
31
32. jQuery - Plugin Pattern
jQuery offers a mechanism to extend it with plugins
Most internal methods and functions are written using
this pattern
Helps us build reusable components
Should be easy to override default properties
32
33. jQuery - Plugin Pattern
All new methods are attached to the jQuery.fn object,
all functions to the jQuery object.
inside methods, 'this' is a reference to the current
jQuery object.
Any methods or functions you attach must have a
semicolon (;) at the end or compressed code will break
Your method must return the jQuery object
You should use this.each to iterate over the current set
of matched elements
Always attach the plugin to jQuery directly instead of $,
so users can use a custom alias via noConflict().
33
34. Example plugin pattern
Template example: The Fi plugin pattern
Real world example: The Fi checkbox plugin
34
35. Page specific Javascript
Inline script
Dynamic config vars that may change for each page load
External scripts
page-specific javascript file
Used to load plugins
Override plugin defaults with config variables
EXAMPLE: load and configure labelinput plugin
35
36. Qunit
Latest version does not rely on jQuery
Example: checkbox plugin unit test
Testswarm.com
36
37. JS logging
alert()
console.log()
Blackbird JS
http://www.gscottolson.com/blackbirdjs/
Example: Creating an abstract jQuery log function to
wrap any logger utility.
37
38. Optimize page load
Use external resources not inline JS/CSS
External files will be cached and minimizes document size
CSS at the top
JS at the bottom
38
39. Javascript files always block!
Blocks render because they might document.write()
Downloads sequentially
39
40. Skip document.ready()
Will only fire once all external resources has been
loaded.
External scripts from third parties like Google Analytics cause
long delays (~1s) before event fires
Put script in correct order at bottom of page
Put analytics code last!
WARNING! Requires a solid file structure
40
42. Optimize load time
Compress external resources!
CSS compressor (YUICompressor, CSSTidy)
JS compressor (JSmin, YUICompressor, etc)
GZIP server response
Example: YUICompressor and GZIP size comparisons
42
43. JSLint Your Code
What’s JSLint?
Looks for problems in Javascript code
It’s a code quality tool
A Javascript syntax checker and validator
Prevents errors occurring from compressing files!
Looks at style conventions and structural problems that may
cause problems
WARNING: JSLint will hurt your feelings!
43
44. JSLint Recommended options
1. In the “Options” box, click “The Good Parts”
2. Uncheck “Allow one var statement per function”
3. Check “Assume a browser”
4. Uncheck “Disallow ++ and --”
5. Uncheck “Require ‘use strict;’” (ECMAScript 5 strict
mode) unless you actually test in a strict browser
http://www.jslint.com
EXAMPLE: JSlint Checbox plugin
44
45. Reduce number of HTTP requests
Biggest impact on end-user response times is the
number of page components
With an empty cache, each external component
requires a new HTTP request
Can’t the browser download all files in parallel?
HTML/1.1 spec. suggests max 2 simultaneous
downloads per hostname
45
46. How do we reduce number of
HTTP requests?
Merge common files
Global Javascript files
Global stylesheets
Use CSS image sprites!
46
47. Automated build script
Let the ANT do the work! (or any other build tool)
1. merge common files
2. compress merged files
EXAMPLE: Ant build script
47
48. Maximize parallel downloads
Most browsers only download 2 files from same
domain in parallel
2-4 domains give optimal performance
Remember: Javascripts are usually downloaded and
parsed sequentially
EXAMPLE: Panamera Family Tree - 1 vs 4 domains
48
52. Maximize parallel downloads
Yahoo! performance guidelines:
Use at least 2 hostnames
Use no more than 4 hostnames
Reduce number of components in page
2-4 domains give optimal performance - test!
Remember: Javascripts are usually downloaded and
parsed sequentially
EXAMPLE: Panamera Family Tree - 1 vs 4 domains
52
53. Visual optimizations
Progressive Enhancement + scripts at bottom can
cause load flickering
Example: Throttle checkbox plugin
How do we prevent this?
Hide using CSS until Javascript shows the enhanced
component?
Example: Test checkbox using disabled Javascript
53
54. Visual optimizations
Break the rules!
Let’s hide enhanced components in HEAD using
Javascript.
Load external stylesheet hideOnLoad.css using
document.write()
<script>
document.write(‘<link href=”...”></link>’);
</script>
54
55. Cache busting
Add version numbers on external resources:
Stylesheets
Javascript files
CSS sprites
Images
Example:
<script src=”jquery.fi.checkbox.js?v=1.0” type=”...”></script>
55
56. Firefox Plugins
Firebug plugin & Firebug lite
Web Developer toolbar
HTML Validator
YSlow
Page Speed
PixelPerfect
Example: atari.com
SenSEO
Example: panamera.com
500k visitors since Sep10. SEO is generating 10% of visitors -
most popular path after user typing in URL
56
57. Tools
Charles http proxy
Bandwidth throttling
Excellent request/response sniffing
Record sessions
Can parse binary AMF messages (Action Message Format) used
by Adobe Flash
Speed Tracer for Chrome
IDE: Aptana Studio
Based on Eclipse.
Good support for JS frameworks!
57
58. Further reading
Yahoo Performance
http://developer.yahoo.com/performance/
A List Apart - http://alistapart.com
Sitepoint - http://sitepoint.com
Smashing Magazine - http://smashingmagazine.com
Ajaxian - http://ajaxian.com/
John Resig’s Blog - http://ejohn.com
Steve Souder’s Blog - http://stevesouders.com
58
59. Thanks!
C
Contact: david.lindkvist@f-i.com www.f-i.com
59