The document summarizes information about the jQuery Foundation. It discusses that the Foundation coordinates work on the jQuery code, documentation, infrastructure and events. It is a non-profit organization funded through conferences, donations and memberships. The Foundation supports jQuery projects and web developers, and participates in standards processes. Upcoming releases of jQuery will be published on Bower and npm for dependency management, use AMD internally, defer feature detects, and aim to reduce forced layouts to improve performance. Developers are encouraged to understand how browsers work and avoid patterns that can cause layout thrashing.
2016 is going to be the year of Virtual DOM. React.js one of the most popular implementation of Virtual DOM. But this time we won't focus on React.js. We will be focusing on what is the concept of Virtual DOM, what's the benefits, and how to use it without React.js. All of those concepts will help you understand this newest DOM manipulation technique and better work with any Virtual DOM implementations such React.js.
This document discusses JavaScript rollovers using animated GIF images. It provides instructions for creating a basic image rollover using JavaScript to swap images on mouseover. Students are then asked to work in groups to create a website with 4 pages that uses animated GIF rollovers across 4 states - up, over, down, and over while down - for a navigation scheme. The project involves forming groups, submitting a description by next week, working on the group projects over the next two weeks, and presenting completed projects on February 23rd. Homework due February 16th is to create an individual page with a GIF rollover in Dreamweaver and continue working on group projects.
This document discusses strategies for adding features to jQuery plugins without causing bloat. It suggests using metaplugins that handle cross-browser compatibility issues and provide core functionality. Wrapper plugins are also proposed to extend existing plugins through extension points like callbacks. The document uses the Treeview plugin as an example, explaining how an AsyncTreeview wrapper plugin was created to add Ajax support by wrapping the Treeview plugin instead of modifying it directly. This allows features to be added modularly without changing the original plugins.
This document provides an introduction to ReactJS, including:
- ReactJS was developed by Facebook in 2013 and is currently at version 15.3.2; it is a view library rather than a framework
- Reasons for choosing ReactJS include faster websites, reusable views, a large community, ease of writing tests, and integration with other frameworks
- The document discusses Webpack, JSX, ES6 features, and Redux, which are important technologies to learn when using ReactJS
JavaScript is a browser-side scripting language that makes HTML pages interactive. It allows interactions with webpages after loading and is not as strict as languages like C or Java, allowing code to run even if parts are incorrect. JavaScript code is inserted into HTML using <script> tags and can be placed in the header, footer, or inline on a page. It supports data types like integers, strings, arrays, booleans, and objects, as well as functions that can be defined and called. Events in HTML can be detected and handled using JavaScript, and the DOM represents the webpage as an object that can be manipulated with JavaScript.
Using WordPress as a Backend for Your React ProjectAdam Rasheed
This document discusses using WordPress as a backend for a React project, creating a headless CMS. It recommends setting up WordPress and React development environments separately. The WordPress REST API allows accessing WordPress data as JSON that can be consumed by the React frontend. The document provides an example of building a React component that fetches a list of WordPress posts via the REST API and displays them. It also discusses hosting the WordPress backend and React frontend separately, such as using Netlify for the frontend and DigitalOcean for WordPress.
Forget about Web standards and go way beyond the usual capabilities of Web scripting languages. Learn how to create stunning effects using canvas/svg/vml, how to control animated graphics in JavaScript, and how to merge all kinds of standards and technologies to create a whole new world of possibilities. Using Paul\'s latest project as an example, he shows you how to adapt the things he talks about into new projects, featuring his new JavaScript game engine.
Paul demonstrates how to control animated graphics in the browser, how to scale and rotate elements smoothly, and how to combine canvas, svg and filters with CSS to adapt new standards in browsers that don\'t support them. See how to move physics from the real world to the Web browser.
The document summarizes information about the jQuery Foundation. It discusses that the Foundation coordinates work on the jQuery code, documentation, infrastructure and events. It is a non-profit organization funded through conferences, donations and memberships. The Foundation supports jQuery projects and web developers, and participates in standards processes. Upcoming releases of jQuery will be published on Bower and npm for dependency management, use AMD internally, defer feature detects, and aim to reduce forced layouts to improve performance. Developers are encouraged to understand how browsers work and avoid patterns that can cause layout thrashing.
2016 is going to be the year of Virtual DOM. React.js one of the most popular implementation of Virtual DOM. But this time we won't focus on React.js. We will be focusing on what is the concept of Virtual DOM, what's the benefits, and how to use it without React.js. All of those concepts will help you understand this newest DOM manipulation technique and better work with any Virtual DOM implementations such React.js.
This document discusses JavaScript rollovers using animated GIF images. It provides instructions for creating a basic image rollover using JavaScript to swap images on mouseover. Students are then asked to work in groups to create a website with 4 pages that uses animated GIF rollovers across 4 states - up, over, down, and over while down - for a navigation scheme. The project involves forming groups, submitting a description by next week, working on the group projects over the next two weeks, and presenting completed projects on February 23rd. Homework due February 16th is to create an individual page with a GIF rollover in Dreamweaver and continue working on group projects.
This document discusses strategies for adding features to jQuery plugins without causing bloat. It suggests using metaplugins that handle cross-browser compatibility issues and provide core functionality. Wrapper plugins are also proposed to extend existing plugins through extension points like callbacks. The document uses the Treeview plugin as an example, explaining how an AsyncTreeview wrapper plugin was created to add Ajax support by wrapping the Treeview plugin instead of modifying it directly. This allows features to be added modularly without changing the original plugins.
This document provides an introduction to ReactJS, including:
- ReactJS was developed by Facebook in 2013 and is currently at version 15.3.2; it is a view library rather than a framework
- Reasons for choosing ReactJS include faster websites, reusable views, a large community, ease of writing tests, and integration with other frameworks
- The document discusses Webpack, JSX, ES6 features, and Redux, which are important technologies to learn when using ReactJS
JavaScript is a browser-side scripting language that makes HTML pages interactive. It allows interactions with webpages after loading and is not as strict as languages like C or Java, allowing code to run even if parts are incorrect. JavaScript code is inserted into HTML using <script> tags and can be placed in the header, footer, or inline on a page. It supports data types like integers, strings, arrays, booleans, and objects, as well as functions that can be defined and called. Events in HTML can be detected and handled using JavaScript, and the DOM represents the webpage as an object that can be manipulated with JavaScript.
Using WordPress as a Backend for Your React ProjectAdam Rasheed
This document discusses using WordPress as a backend for a React project, creating a headless CMS. It recommends setting up WordPress and React development environments separately. The WordPress REST API allows accessing WordPress data as JSON that can be consumed by the React frontend. The document provides an example of building a React component that fetches a list of WordPress posts via the REST API and displays them. It also discusses hosting the WordPress backend and React frontend separately, such as using Netlify for the frontend and DigitalOcean for WordPress.
Forget about Web standards and go way beyond the usual capabilities of Web scripting languages. Learn how to create stunning effects using canvas/svg/vml, how to control animated graphics in JavaScript, and how to merge all kinds of standards and technologies to create a whole new world of possibilities. Using Paul\'s latest project as an example, he shows you how to adapt the things he talks about into new projects, featuring his new JavaScript game engine.
Paul demonstrates how to control animated graphics in the browser, how to scale and rotate elements smoothly, and how to combine canvas, svg and filters with CSS to adapt new standards in browsers that don\'t support them. See how to move physics from the real world to the Web browser.
Last year, AOL adopted a new content strategy and has positioned itself as a premier destination for original content. Core to this strategy is having reusable, highly efficient and optimized common code and experiences at scale, which is where jQuery comes in. Check in with Dave Artz to see how jQuery has helped his front-end standards team tackle unique challenges like optimizing 3rd party widget performance, overriding plugin functionality, and managing dependencies and updates across 100+ sites spanning multiple back-end platforms.
Modern MV* frameworks are perfect for implementing instant editing controls in your application – the user updates the settings and the view updates instantly. But most of these frameworks have one big drawback – they work completely in the client. What if we need these frameworks to render on the NodeJS server as well, in order to generate content for the search engines in the page source? How can we share code and execute both on the server and in the client?
I will show you a technology stack which does all these, in a simple and at the same time elegant way.
This session dives deep into the DOM traversal methods of the jQuery API where you will learn the difference between brittle and fluid traversal methods, strategies for structuring your HTML, and how to leverage some of the more obscure jQuery selectors.
Presented at Web Unleashed 2017. More info at www.fitc.ca/webu
Presented by Alexander Blom, Isle of Code
Overview
Adding animations to web and hybrid apps can be challenging. Aside from choosing technique, you are often left with jank and less than desirable performance.
Objective
Audience members will leave with a better understanding of animation performance & pitfalls desktop and mobile context.
Target Audience
Web/Hybrid developers looking to improve animation performance.
Assumed Audience Knowledge
Basic JS/CSS assumed
Six Things Audience Members Will Learn
What are my choices when needing to animate?
What changes in a mobile context?
What are the tradeoffs and how do I decide?
What are the common pitfalls?
How do I debug performance problems?
Getting a smooth animation.
This document is a JavaScript digest from April 2018. It provides summaries and links for topics including the V8 release v6.6, what to expect in Node.js 10, using const and let, CSS Grid layouts, and libraries like Pico.js and filepond. It also explores differences between classes and factory functions, and links versus buttons.
This document discusses abstraction as it relates to jQuery. It provides examples to illustrate that abstraction hides complex details and exposes only important functions. jQuery is described as an abstraction of JavaScript that makes it easier to use by hiding implementation details. A gas pedal is given as an analogy for how abstractions simplify complex systems. jQuery code is translated to plain English to demonstrate how it abstracts JavaScript code and provides a simpler interface.
This document discusses improving website performance. It outlines three pillars of performance: visibility, interactivity, and responsiveness. For each pillar, it recommends books and techniques. Tips include using tools like Firebug and YSlow, delaying initialization, throttling and debouncing events, and profiling code. While optimizations can improve performance, they also increase costs. The document emphasizes establishing a baseline and focusing first on low-hanging fruit before more complex optimizations. It concludes by thanking the sponsors and providing contact information.
jQuery Conference San Diego 2014 - Web Performancedmethvin
This document discusses jQuery and web performance. It describes how the jQuery Foundation maintains jQuery code and supports developers. It then discusses recent jQuery releases and how jQuery can be customized and used in different environments. The document outlines how the browser loads pages and the importance of prefetching resources. It recommends tools for analyzing page performance like YSlow, PageSpeed, and webpagetest.org. It provides tips for improving performance such as avoiding unnecessary layouts, optimizing JavaScript loops, and using developer tools to profile scripts and identify bottlenecks.
This presentation covers why libraries like jQuery exist, what was web development like before jQuery, the main benefits of jQuery, and some alternate libraries.
The document summarizes the history and current state of the Silverstripe CMS user interface stack. It describes how the stack originally used a mismatch of legacy technologies like jQuery, Entwine, and templates. It then overhauled to use modern technologies like Webpack, React, Redux, and GraphQL. However, the legacy stack is still in use alongside the modern one, resulting in a hybrid "weird" stack. The document advocates embracing this weirdness and focuses on incremental improvements within these constraints.
JavaScript is a scripting language that adds interactivity to HTML pages. It is embedded directly into HTML and allows dynamic updating of pages without reloading. JavaScript can react to events, read/write HTML elements, and validate data. AJAX uses JavaScript asynchronously to exchange small amounts of data with a server in the background without reloading the whole page. Common uses include Google Maps, Gmail, YouTube, and Facebook tabs.
This document discusses unobtrusive JavaScript and how it separates JavaScript behavior from HTML markup. Unobtrusive JavaScript allows web pages to degrade gracefully when JavaScript is disabled, as the functionality is not coupled to the document structure. It provides an example of unobtrusive JavaScript that is completely separate from the markup and reusable. The document recommends using frameworks like jQuery to select elements and enhance the user experience with JavaScript after the site functions without it.
Large websites with large customer bases should have fast page loads no matter where your customers are coming from. In this day and age speed is expected. Getting there requires engineers to both have data and the ability to analyze and find problems.
This talk will address page load speed in two parts. A "cold" load where a user first comes to your site and a "warm" load which deals with intra-site page load speed. We will dive into the details of each page load and what is really going on. From network optimization to browser render performance, all things matter when it comes to optimizing the load of your web page. Furthermore, we will look into some tools that can be used to analyze and help developers discover and address problems.
This document provides instructions for integrating AngularJS into an existing legacy HTML application. It describes how to add an Angular "micro-app" by specifying a container div with Angular directives like ng-app and ng-controller. The Angular code, including a module, controller, and function calls from the legacy code, can be kept separate. Template views can also be added using ng-view and routing configuration. The process is described as relatively simple and allowing incremental integration of Angular without rewriting the entire application.
This document provides an overview of AngularJS, including its history, key features, and how it works. It originated at Google and was open-sourced in 2009. Some key features include two-way data binding, separation of model and view, and being unit testable. It uses MVC architecture with declarative coding. Core concepts covered include directives like ng-app, ng-model, expressions, scopes, controllers, views, filters, routing, and dependency injection.
Talk describing the difference and similarities between web workers and service workers and their use cases in the browser. Mumbai Javascript meet up 2018
Slides from my (incomplete) ReactJS presentation at Code Impact in Jacksonville, Florida, 9/13/2014. Will update these after my next presentation that will include more on the Flux architectural pattern
Peter Lubbers from Kaazing gave a presentation on HTML5 features such as Web Workers, Geolocation, and WebSockets. He discussed how these new technologies allow for asynchronous background processing, location detection, and bi-directional real-time communications without polling. Browser support for HTML5 features was also reviewed.
This document discusses HTML5 and CSS3. It provides an overview of new HTML5 features like the JavaScript API, Web Storage, Web Sockets, and new elements. It also discusses the CSS3 features of transitions, animations, and transforms. The document outlines the W3C recommendation process for HTML5 and provides code examples of basic HTML5 document structure using semantic elements like header, nav, article, and footer. It recommends polyfills and frameworks to enhance browser support, such as jQuery, Modernizr, and HTML5Shiv. Finally, it lists some additional HTML5 and CSS3 learning resources.
Web Components at Scale, HTML5DevConf 2014-10-21Chris Danford
At Pinterest, we've begun experimenting in production with Web Components. This talk will discuss some challenges of implementing Web Components in a large scale production environment such as SEO concerns, reasonable fallbacks for browsers not supported by Platform.js, migrating a large code base component-by-component to mitigate risk, and optimizing page load and scroll performance.
This document summarizes new features coming in major browsers, including Firefox 3.5, Safari 4, Internet Explorer 9, Opera 10, and Google Chrome 2. The browsers will have better JavaScript performance due to advanced engines like TraceMonkey, SquirrelFish, and V8. New features include process per tab, postMessage for cross-domain communication, getElementsByClassName, querySelectorAll, and HTML5 features like local SQL storage, JSON support, and canvas drawing.
Last year, AOL adopted a new content strategy and has positioned itself as a premier destination for original content. Core to this strategy is having reusable, highly efficient and optimized common code and experiences at scale, which is where jQuery comes in. Check in with Dave Artz to see how jQuery has helped his front-end standards team tackle unique challenges like optimizing 3rd party widget performance, overriding plugin functionality, and managing dependencies and updates across 100+ sites spanning multiple back-end platforms.
Modern MV* frameworks are perfect for implementing instant editing controls in your application – the user updates the settings and the view updates instantly. But most of these frameworks have one big drawback – they work completely in the client. What if we need these frameworks to render on the NodeJS server as well, in order to generate content for the search engines in the page source? How can we share code and execute both on the server and in the client?
I will show you a technology stack which does all these, in a simple and at the same time elegant way.
This session dives deep into the DOM traversal methods of the jQuery API where you will learn the difference between brittle and fluid traversal methods, strategies for structuring your HTML, and how to leverage some of the more obscure jQuery selectors.
Presented at Web Unleashed 2017. More info at www.fitc.ca/webu
Presented by Alexander Blom, Isle of Code
Overview
Adding animations to web and hybrid apps can be challenging. Aside from choosing technique, you are often left with jank and less than desirable performance.
Objective
Audience members will leave with a better understanding of animation performance & pitfalls desktop and mobile context.
Target Audience
Web/Hybrid developers looking to improve animation performance.
Assumed Audience Knowledge
Basic JS/CSS assumed
Six Things Audience Members Will Learn
What are my choices when needing to animate?
What changes in a mobile context?
What are the tradeoffs and how do I decide?
What are the common pitfalls?
How do I debug performance problems?
Getting a smooth animation.
This document is a JavaScript digest from April 2018. It provides summaries and links for topics including the V8 release v6.6, what to expect in Node.js 10, using const and let, CSS Grid layouts, and libraries like Pico.js and filepond. It also explores differences between classes and factory functions, and links versus buttons.
This document discusses abstraction as it relates to jQuery. It provides examples to illustrate that abstraction hides complex details and exposes only important functions. jQuery is described as an abstraction of JavaScript that makes it easier to use by hiding implementation details. A gas pedal is given as an analogy for how abstractions simplify complex systems. jQuery code is translated to plain English to demonstrate how it abstracts JavaScript code and provides a simpler interface.
This document discusses improving website performance. It outlines three pillars of performance: visibility, interactivity, and responsiveness. For each pillar, it recommends books and techniques. Tips include using tools like Firebug and YSlow, delaying initialization, throttling and debouncing events, and profiling code. While optimizations can improve performance, they also increase costs. The document emphasizes establishing a baseline and focusing first on low-hanging fruit before more complex optimizations. It concludes by thanking the sponsors and providing contact information.
jQuery Conference San Diego 2014 - Web Performancedmethvin
This document discusses jQuery and web performance. It describes how the jQuery Foundation maintains jQuery code and supports developers. It then discusses recent jQuery releases and how jQuery can be customized and used in different environments. The document outlines how the browser loads pages and the importance of prefetching resources. It recommends tools for analyzing page performance like YSlow, PageSpeed, and webpagetest.org. It provides tips for improving performance such as avoiding unnecessary layouts, optimizing JavaScript loops, and using developer tools to profile scripts and identify bottlenecks.
This presentation covers why libraries like jQuery exist, what was web development like before jQuery, the main benefits of jQuery, and some alternate libraries.
The document summarizes the history and current state of the Silverstripe CMS user interface stack. It describes how the stack originally used a mismatch of legacy technologies like jQuery, Entwine, and templates. It then overhauled to use modern technologies like Webpack, React, Redux, and GraphQL. However, the legacy stack is still in use alongside the modern one, resulting in a hybrid "weird" stack. The document advocates embracing this weirdness and focuses on incremental improvements within these constraints.
JavaScript is a scripting language that adds interactivity to HTML pages. It is embedded directly into HTML and allows dynamic updating of pages without reloading. JavaScript can react to events, read/write HTML elements, and validate data. AJAX uses JavaScript asynchronously to exchange small amounts of data with a server in the background without reloading the whole page. Common uses include Google Maps, Gmail, YouTube, and Facebook tabs.
This document discusses unobtrusive JavaScript and how it separates JavaScript behavior from HTML markup. Unobtrusive JavaScript allows web pages to degrade gracefully when JavaScript is disabled, as the functionality is not coupled to the document structure. It provides an example of unobtrusive JavaScript that is completely separate from the markup and reusable. The document recommends using frameworks like jQuery to select elements and enhance the user experience with JavaScript after the site functions without it.
Large websites with large customer bases should have fast page loads no matter where your customers are coming from. In this day and age speed is expected. Getting there requires engineers to both have data and the ability to analyze and find problems.
This talk will address page load speed in two parts. A "cold" load where a user first comes to your site and a "warm" load which deals with intra-site page load speed. We will dive into the details of each page load and what is really going on. From network optimization to browser render performance, all things matter when it comes to optimizing the load of your web page. Furthermore, we will look into some tools that can be used to analyze and help developers discover and address problems.
This document provides instructions for integrating AngularJS into an existing legacy HTML application. It describes how to add an Angular "micro-app" by specifying a container div with Angular directives like ng-app and ng-controller. The Angular code, including a module, controller, and function calls from the legacy code, can be kept separate. Template views can also be added using ng-view and routing configuration. The process is described as relatively simple and allowing incremental integration of Angular without rewriting the entire application.
This document provides an overview of AngularJS, including its history, key features, and how it works. It originated at Google and was open-sourced in 2009. Some key features include two-way data binding, separation of model and view, and being unit testable. It uses MVC architecture with declarative coding. Core concepts covered include directives like ng-app, ng-model, expressions, scopes, controllers, views, filters, routing, and dependency injection.
Talk describing the difference and similarities between web workers and service workers and their use cases in the browser. Mumbai Javascript meet up 2018
Slides from my (incomplete) ReactJS presentation at Code Impact in Jacksonville, Florida, 9/13/2014. Will update these after my next presentation that will include more on the Flux architectural pattern
Peter Lubbers from Kaazing gave a presentation on HTML5 features such as Web Workers, Geolocation, and WebSockets. He discussed how these new technologies allow for asynchronous background processing, location detection, and bi-directional real-time communications without polling. Browser support for HTML5 features was also reviewed.
This document discusses HTML5 and CSS3. It provides an overview of new HTML5 features like the JavaScript API, Web Storage, Web Sockets, and new elements. It also discusses the CSS3 features of transitions, animations, and transforms. The document outlines the W3C recommendation process for HTML5 and provides code examples of basic HTML5 document structure using semantic elements like header, nav, article, and footer. It recommends polyfills and frameworks to enhance browser support, such as jQuery, Modernizr, and HTML5Shiv. Finally, it lists some additional HTML5 and CSS3 learning resources.
Web Components at Scale, HTML5DevConf 2014-10-21Chris Danford
At Pinterest, we've begun experimenting in production with Web Components. This talk will discuss some challenges of implementing Web Components in a large scale production environment such as SEO concerns, reasonable fallbacks for browsers not supported by Platform.js, migrating a large code base component-by-component to mitigate risk, and optimizing page load and scroll performance.
This document summarizes new features coming in major browsers, including Firefox 3.5, Safari 4, Internet Explorer 9, Opera 10, and Google Chrome 2. The browsers will have better JavaScript performance due to advanced engines like TraceMonkey, SquirrelFish, and V8. New features include process per tab, postMessage for cross-domain communication, getElementsByClassName, querySelectorAll, and HTML5 features like local SQL storage, JSON support, and canvas drawing.
Deep crawl the chaotic landscape of JavaScript Onely
The document discusses the challenges of indexing JavaScript-powered websites by search engines. It notes that JavaScript rendering takes significant computational resources, straining crawlers' budgets. It also suggests that client-side rendered JavaScript websites have difficulties with search engine indexing and ranking, as content may be missed during Google's two-wave indexing process for JavaScript. The document recommends using server-side rendering, hybrid rendering, or prerendering to help search engines properly index JavaScript websites.
"Progressive Web Apps" by Riza Fahmi (Hacktiv8)Tech in Asia ID
Riza Fahmi is the Curriculum Director of Hacktiv8, a company he started with Ronald Ishak, in an attempt to solve the developer hiring crunch that has hindered the growth of many aspiring tech startups in Indonesia. Through a 12-week immersive curriculum offered through Hacktiv8, aims to raise the quality of web developers and connect them with the best tech companies in the country.
Knowledge sharing is deeply engrained with his passion and is evident through involvement in many initiatives such as becoming a lecturer at Universitas Budi Luhur; becoming an organizer for JakartaJS, Meteor Jakarta and React Indonesia; a speaker at Singapore Elixir Meetup, GeekCamp, Lambda Jakarta and much more to come.
***
This slide was shared at Tech in Asia Product Development Conference 2017 (PDC'17) on 9-10 August 2017.
Get more insightful updates from TIA by subscribing techin.asia/updateselalu
Progressive Web Apps are a new approach to application development that combines the best of the web and the best of native apps. They are reliable, fast and engaging like native apps while also being responsive and capable of being installed like regular web pages. The key technologies that enable Progressive Web Apps are service workers, app manifests, and responsive design. Service workers allow for caching assets and serving cached responses even when offline. App manifests provide metadata that makes the app feel like a native application to the user. Responsive design ensures the app works across different screen sizes.
jQuery released new versions 1.4.3 and 1.4.4 with improvements to modularity, CSS, performance, and support for HTML5 data attributes. A JSLint tool was integrated to improve code quality. jQuery Mobile was introduced as a new official plugin to build websites and applications for multiple mobile platforms using progressive enhancement. Testing strategies were discussed including using simulators, TestSwarm for automation, and drawing a line to determine which browsers to support.
Web developers now have a large number of APIs available allowing them to harness complex functionality via JavaScript and produce ever more interesting web experiences. This presentation looks at where we can from, where APIs are going in the future, and what problems we are currently in the process of solving. This includes providing offline installation, multimedia, performance, and more.
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScalePatrick Chanezon
Google Developer Days Japan 2009 - Designing OpenSocial Apps For Speed and Scale
Original slides from Arne Roomann-Kurrik & Chris Chabot with a few Zen quotes and references added by me:-)
- The document discusses AngularJS and single page applications. It provides an introduction and overview of key AngularJS concepts including modules, controllers, views, services, dependency injection, and filters.
- Code samples and demos are referenced to illustrate concepts in more depth. Challenges with SEO and the benefits of TypeScript for adding type safety to JavaScript are also mentioned.
This document provides an overview of jQuery, a popular JavaScript library. It discusses what jQuery is, why it is useful, how it simplifies DOM manipulation and event handling in JavaScript. Some key points made include:
- jQuery greatly simplifies JavaScript programming and makes it easier to select and manipulate DOM elements.
- It takes common tasks like AJAX calls and makes them easier with single line methods.
- jQuery works cross-browser so code runs the same in all major browsers.
- It remains relevant, used on 77% of top websites according to BuiltWith.
The document also provides examples and instructions for including jQuery in a website, selecting elements, and manipulating and animating content.
The document summarizes the keynote presentation at the 2012 jQuery Conference about recent and upcoming developments with jQuery.
The presentation discussed:
1) The role of the jQuery Foundation in supporting the jQuery project and community.
2) Recent releases of jQuery Core, including version 1.8 which focused on modularity, performance improvements, and deprecating unused code.
3) Plans for upcoming major releases, with jQuery 1.9 continuing to clean up APIs and jQuery 2.0 removing support for older browsers to simplify the codebase.
You Can Work on the Web Patform! (GOSIM 2023)Igalia
Have you ever wanted to work on a web browser? Servo is an experimental web
engine written in Rust. Its small code base and friendly community mean that it
is an ideal project for those looking to dip their toes into the world of web
browser engineering.
In this, Martin Robinson covers the basics of building and running
Servo on your own computer. In addition, we'll take a tour of Servo's main
subsystems and see what kind of work goes into building them. Additionally,
we'll cover a variety of types of contributions to Servo, adapted to different
kinds of experience and specialization. By the end you should have the tools
you need to explore contributing yourself.
(c) GOSIM Workshop 2023
Sept 23-24
Grand Hyatt, Pudong, Shanghai
https://workshop2023.gosim.org/
https://www.bilibili.com/video/BV1Hw411r7Q6/
Creating a Responsive Website From ScratchCorky Brown
The document discusses creating a responsive website from scratch for MeetMe.com to replace their existing legacy code website. It describes focusing on supporting the top browser and OS first, fast development through continuous integration and automated builds, and well-scoped modular code. Non-focuses include unsupported clients, full performance optimization, and SEO. Principles include leveraging open source tools for responsive design and keeping fixes separated from the core code to allow for graceful fallback. Lessons learned are that browsers have more quirks than expected and device detection is unreliable.
The jQuery Foundation coordinates work on the jQuery project, including code, documentation, infrastructure, and events. It is a non-profit organization funded by conferences, donations, and memberships. The Foundation maintains jQuery and related projects like jQuery UI, jQuery Mobile, and QUnit on GitHub. jQuery 1.x continues to support older browsers while jQuery 2.x supports modern browsers, with both versions maintaining API compatibility. Major releases in 2012 included jQuery 1.9 in January and jQuery 2.0 in April.
This is our first presentation on NinjaScript, a tool by Logical Reality Design. Evan Dorn presented this to the LA Ruby Meetup on October 14, 2010.
NinjaScript: Javascript so unobtrusive, you'll never see it coming.
NinjaScript, which runs on top of jQuery, provides extremely easy-to-use UJS tools including instant conversion of regular forms and links into AJAX equivalents. NS provides for reusable behaviors and automatic rebinding of events in a way that is more flexible than event-delegation methods like jQuery live().
"Crafting a Third-Party Banking Library with Web Components and React", Germa...Fwdays
This talk will be about how Unit built White-Label UI Components in React while making them completely native. We will discuss rendering React in Web Components, communication with them via native JS events, and the modularity of each Component.
External JavaScript Widget Development Best Practices (updated) (v.1.1) Volkan Özçelik
The document discusses best practices for developing JavaScript widgets. It covers challenges like versioning, cross-domain restrictions, cookies, security, and performance. Versioning can be handled through URL parameters or initializing with a version number. Cross-domain issues can be addressed using techniques like CORS, postMessage, or JSONP. Security requires sanitizing inputs, whitelisting domains, and handling risks like XSS and CSRF. Performance involves minimizing payload size and network requests.
John Resig discusses coding every day in an August 2016 article. He started coding daily in November 2013 and has continued the practice since. While coding daily works for him by making it easier to remember projects, relieving anxiety, and allowing non-weekend work, he acknowledges it may not be necessary for others. Resig emphasizes that having passion for coding and setting goals are critical for learning and success, more so than daily coding itself.
John Resig discusses four problems that digital librarians face: 1) searching by image without exact matches, 2) disagreements on names and titles, 3) poor quality images, and 4) educating users. He provides examples and potential solutions for each problem, including image search tools, handling alternate names and formats, improving images through cropping and computer vision, and using question/answer interfaces to educate users. Resig advocates for open source tools and collaborative solutions to advance access to knowledge.
Neo4j is a graph database that represents data as nodes and relationships. Nodes are JSON documents that can have labels. Relationships are JSON documents that connect nodes and can have labels. Cypher is the query language for Neo4j that allows users to match patterns in the graph, return results, import and export data, and perform other operations like finding missing connections between nodes.
Computer Vision as Art Historical Investigationjeresig
This document summarizes a symposium honoring James Watrous that included discussions on using computer vision in art historical investigation and image similarity analysis to study woodblock prints. It describes how image analysis can help identify similar images across different collections and merging photo archives to create a large international image database for researchers.
This document summarizes John Resig's process for hacking art history databases for fun and profit. It describes scraping woodblock print data from websites, processing the data with tools like Node.js and MongoDB, and building a searchable online database called Ukiyo-e.org. It also discusses using image analysis and similarity search to validate print data and identify copies. The goal is to aid the study of woodblock prints by building open tools and data.
1) Khan Academy teaches programming concepts to over 1.3 million students per month online.
2) They have developed a real-time JavaScript editor that uses static analysis to build challenges and allow coding on tablets and phones.
3) It runs code through analysis tools to provide error messages and hints, then uses abstract syntax trees and structured testing to check for specific functions, arguments, and program structures.
Computer vision techniques can be applied to art history in both supervised and unsupervised ways. Unsupervised methods like using image similarity tools to compare entire images or image portions can help find similar or matching images without labeling data. Supervised methods like object detection or image categorization require large labeled training datasets but can provide more precise results, identifying specific parts or categories within images. Both approaches require significant computing resources, with supervised methods needing thousands of training images and days of processing time.
The document summarizes research using image analysis to match photographs across multiple art archives, including the Frick Art Reference Library Photoarchive and the Frederico Zeri Foundation archive. Running image matching software on over 1.2 million Frick photos and 290,000 Zeri photos revealed new connections within and between the archives. Combining the archives through automated matching discovered over 1,000 new artwork connections that had not previously been found by human researchers. The analysis demonstrates the potential of merging photo archives through computational methods to reveal new relationships and insights.
EmpireJS: Hacking Art with Node js and Image Analysisjeresig
The document discusses using computer vision and Node.js to analyze Japanese artworks like woodblock prints. It describes collecting data on prints through web scraping, processing the data with tools like PhantomJS, and using image analysis to aid studies of prints by correcting metadata and matching images. The goal is to build a website that facilitates research on ukiyo-e prints through techniques like similarity search and automated data cleaning.
This document discusses how computer vision techniques can be applied to art history. It provides an overview of different computer vision approaches such as optical character recognition (OCR), face recognition, and image similarity/categorization. Unsupervised techniques like OCR and image similarity require little labeling of data but may not provide as interesting results. Supervised techniques can more precisely locate parts of images or categorize images but require large labeled datasets. The document recommends several free and open-source computer vision libraries and tools that can be used to explore applying these techniques to art history, along with some caveats about training data requirements.
The document discusses several popular JavaScript libraries including Dojo, Prototype, jQuery, Mochikit, and Yahoo UI. It compares the libraries based on their focus, DOM support, events/effects handling, documentation, community, file size, and popularity. The libraries provide a variety of features like DOM manipulation, Ajax capabilities, and animations to make JavaScript development easier.
This document summarizes jQuery, an open source JavaScript library. It simplifies HTML and JavaScript interaction by allowing developers to select elements, handle events, perform animations and AJAX calls with simple and concise code. The document highlights key features like DOM manipulation, events, effects and plugins. It also discusses jQuery's community, adoption by major sites, and future plans.
This document discusses jQuery and web standards. It summarizes jQuery's goal of hiding browser compatibility issues while providing a simple API. It also discusses jQuery's success competing with other JavaScript libraries. The document outlines several specifications that are important to jQuery, with the DOM being the most significant. It then lists several standards and features that jQuery has used successfully. The majority of the document proposes additional standards and browser features that would be useful for jQuery and JavaScript libraries going forward, including better DOM manipulation APIs and event handling capabilities.
This document summarizes the key aspects of jQuery's open source process that contributed to its early success. In the first month, new users were able to get started quickly by exploring the simple API through tutorials. An active community provided support through forums, IRC, blogs and Twitter. Documentation and examples helped users learn and expand their skills. Over the first year, as users built more applications with jQuery, its easy to use but powerful API led to increased adoption. The open development process also engaged users and helped the project grow.
jQuery Open Source Process (Knight Foundation 2011)jeresig
This document summarizes the key aspects of jQuery's open source process that contributed to its early success. It discusses how jQuery provided clear documentation, tutorials, and community resources to help users learn. It emphasizes keeping the API simple and focused on usability. It also highlights the importance of monitoring community feedback and responding to user questions. Maintaining an open development process helped users continue growing with jQuery over time.
jQuery Mobile aims to fill the gap in mobile web development by providing a framework that works across all major mobile platforms and browsers without sacrificing the user experience. It is a two-phase project: phase one focuses on making jQuery core functionality work across all popular mobile browsers through testing and bug fixes; phase two introduces jQuery Mobile, a framework for building mobile websites and applications with widgets, layouts, and a progressive enhancement approach to ensure broad compatibility.
This document discusses best practices for supporting users of open source projects based on jQuery's experience. It emphasizes providing documentation, tutorials, community support and an open development process to help users learn and succeed with the tool from their first day of use through becoming long-term contributors. Key aspects include simplifying the first experience, answering questions, addressing all skill levels, and enabling extensibility to keep users engaged over time.
This document discusses holistic performance analysis and optimization in JavaScript. It emphasizes the importance of proving performance changes with benchmarks, considering the full browser stack and real-world use cases, maintaining clean code, prioritizing cross-browser compatibility, and clearly communicating results. Key tools mentioned include JSPerf for benchmarking, BrowserScope for hosting performance data, and Google Code Search for understanding real-world usage of APIs. The document advocates optimizing against past performance rather than competitors.
jQuery is an open source JavaScript library that simplifies HTML and JavaScript interaction. It has a small file size, is fully documented, and supported across many browsers. jQuery allows developers to select elements, perform actions on them such as effects, events, DOM manipulation, and AJAX requests, using its simple and concise syntax.
This document discusses jQuery plugins, including how to create and use them. It provides examples of existing plugins for widgets, drag and drop, forms, and more. The document demonstrates how to build a wizard functionality using plugins for blocking elements, submitting ajax forms, and tabs.
AppSec PNW: Android and iOS Application Security with MobSFAjin Abraham
Mobile Security Framework - MobSF is a free and open source automated mobile application security testing environment designed to help security engineers, researchers, developers, and penetration testers to identify security vulnerabilities, malicious behaviours and privacy concerns in mobile applications using static and dynamic analysis. It supports all the popular mobile application binaries and source code formats built for Android and iOS devices. In addition to automated security assessment, it also offers an interactive testing environment to build and execute scenario based test/fuzz cases against the application.
This talk covers:
Using MobSF for static analysis of mobile applications.
Interactive dynamic security assessment of Android and iOS applications.
Solving Mobile app CTF challenges.
Reverse engineering and runtime analysis of Mobile malware.
How to shift left and integrate MobSF/mobsfscan SAST and DAST in your build pipeline.
The Microsoft 365 Migration Tutorial For Beginner.pptxoperationspcvita
This presentation will help you understand the power of Microsoft 365. However, we have mentioned every productivity app included in Office 365. Additionally, we have suggested the migration situation related to Office 365 and how we can help you.
You can also read: https://www.systoolsgroup.com/updates/office-365-tenant-to-tenant-migration-step-by-step-complete-guide/
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
What is an RPA CoE? Session 1 – CoE VisionDianaGray10
In the first session, we will review the organization's vision and how this has an impact on the COE Structure.
Topics covered:
• The role of a steering committee
• How do the organization’s priorities determine CoE Structure?
Speaker:
Chris Bolin, Senior Intelligent Automation Architect Anika Systems
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsDianaGray10
Join us to learn how UiPath Apps can directly and easily interact with prebuilt connectors via Integration Service--including Salesforce, ServiceNow, Open GenAI, and more.
The best part is you can achieve this without building a custom workflow! Say goodbye to the hassle of using separate automations to call APIs. By seamlessly integrating within App Studio, you can now easily streamline your workflow, while gaining direct access to our Connector Catalog of popular applications.
We’ll discuss and demo the benefits of UiPath Apps and connectors including:
Creating a compelling user experience for any software, without the limitations of APIs.
Accelerating the app creation process, saving time and effort
Enjoying high-performance CRUD (create, read, update, delete) operations, for
seamless data management.
Speakers:
Russell Alfeche, Technology Leader, RPA at qBotic and UiPath MVP
Charlie Greenberg, host
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
2. jQuery
✦ A JavaScript library designed to hide
painful cross-browser compatibility issues
while presenting a solid, usable, API.
3. Simple API
✦ $(“div > span”).addClass(“foo”);
✦ “Find some elements”
✦ “Do something with them”
✦ Makes complex manipulation of web pages
simple
4. Space
✦ Highly competitive space
✦ Released Jan. 2006 - already a dominant
player: Prototype JavaScript Library
✦ (Bundled with Ruby on Rails, had some
nice coattail growth.)
✦ Other libraries: Dojo, Yahoo UI,
MooTools
5.
6.
7. Specifications
✦ A few specifications that matter to us:
✦ DOM
✦ HTML
✦ CSS
✦ ECMAScript
✦ DOM more than anything else.
8. Concerns
✦ Performance.
✦ Performance.
✦ Performance.
✦ Usability.
✦ Any standards/browser addition that gives
us performance benefits we’ll leap on.
9. New Standards We’ve Used
✦ Selectors API
✦ querySelectorAll
✦ Selectors API 2
✦ matchesSelector
✦ Animation Timing
✦ requestAnimationFrame
✦ ECMAScript
✦ bind
10. Selectors API
✦ A bit of a failure
✦ Didn’t listen to the needs of libraries
✦ Missed a number of important features/
bug fixes:
✦ Contextual searching is messed up
✦ Error reporting is non-existent
✦ Implementations are inconsistent
✦ But it’s very fast, so we use it.
11. Matches Selector
✦ Selectors API 2 gave us matchesSelector
✦ We petitioned browsers to implement this
✦ They did, then it became a standard
✦ Makes our event delegation much faster
12. Smooth Animation
✦ requestAnimationFrame was created
✦ Scales animations based upon load
✦ Unfortunately this broke user expectations
(expected certain frame rates)
✦ We just backed it out, will have to try
again later
14. HTML string -> DOM support
✦ No good way to do this now
✦ Have to create a DOM element and use
innerHTML
✦ Clunky and quite slow
✦ We want:
✦ someMethod(“<b>stuff</b>”) ->
✦ [ <b> ]
15. Access to event callbacks
✦ We want to be able to remove individual
callbacks
✦ We want to be able to clone callbacks
✦ We want to be able to trigger specific
callbacks
✦ All of this requires access to callbacks
16. An event for when stylesheets load
✦ Right now we have an event for DOM
loaded
✦ And an event for window loaded
✦ But no event for when all the stylesheets
load (important for looking at computed
styles)
17. Will an element fire an event?
✦ For example - if I have a <form> element I
want to be able to ask it:
✦ “Will you ever, natively, trigger a submit
event?” (true)
✦ If I ask a <div> if it will trigger a submit
event, it will return false.
18. Unique ID for DOM nodes
✦ We have to manage callbacks and data that
we attach to DOM nodes
✦ To do this we have to assign the nodes a
unique ID
✦ It’d be much better to have a property that
took care of this for us
19. “Late Events”
✦ There is no way to ask the browser:
✦ “Did an event [foo] already fire on this
element?”
✦ For example:
✦ Did the load event already fire on
window?
✦ Did the submit event already fire on this
form?
✦ etc.
20. Fast DOM mutation events
✦ I know this is being worked on right now
(yay!)
✦ A way to have fast DOM mutation events
would be awesome
✦ It could allow for some really slick
restructuring of applications
✦ And make it easier for us to possibly do
caching
21. mouseenter/mouseleave
✦ Internet Explorer provides these events
✦ They’re terribly useful (make it so that you
don’t have to deal with event bubbling
weirdness)
✦ Should be in browsers
✦ Need to verify DOM 3 Events spec
22. getComputedStyle
✦ A complete mess right now
✦ There is no consensus over what results
should be returned and when
✦ There needs to be something declared
here - probably a joint venture between
the CSS and DOM working groups.
✦ Test suite for getComputedStyle
23. isCSSAuto
✦ There is no way of determining if a CSS
property is currently set to “auto”
✦ This should be resolved, makes it much
easier to do some types of animations
24. A way to sanely toggle visibility
✦ If we’re given an element that is display:
none and we want to make it visible
(display: block, perhaps)
✦ It is very hard to determine what the right
“visible” style should be
✦ Especially if someone does:
✦ div { display: none; }
✦ Hint: It involves nasty use of iframes
25. contains() method
✦ We have compareDocumentPosition
✦ This is OK but contains() is very easy to
use (in IE)
✦ Easy enough to implement, should be a
standard
26. Better way of sorting nodes
✦ We have to use
compareDocumentPosition now
✦ This is very very slow
✦ A numerical index property on nodes
would be very useful (like in IE)
27. Is a node in an XML document
✦ A number of behaviors change when you’re
in an XML document
✦ (IDs no longer resolve, some properties
may not exist - like innerHTML, etc.)
✦ A way to determine if we’re working
against an XML document would help