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.
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkSt. Petersburg College
Presented June 8, 2012 (Online) at the 'Access by Touch: Delivering Library Services Through Mobile Technologies' conference sponsored by Amigos Library Services.
Description: By the end of 2012, it is expected that more than 80% of the world’s population will have access to a smartphone. Your library users will assume that your library can be accessible from anywhere, at any time, and on any device. Now is the time to be ready! During this webinar, you will:
- learn what a mobile framework is.
- acquire best practices in mobile Web development.
- understand the various technologies (HTML, CSS, JavaScript) and how they work together to build mobile Web apps.
- recognize the differences between native and web apps.
- have an opportunity to continue to work with Chad after the webinar to demonstrate what you learned.
- gain access after the webinar to a free Web server so you can see your mobile Web app live.
An overview of web development essentials that will help you as a user experience designer to not only understand how to integrate designs with development components, but also to learn some tips on interacting effectively with developers.
In the beginning, progressive enhancement was simple: HTML layered with CSS layered with JavaScript. That worked fine when there were two browsers, but in today's world of multiple devices and multiple browsers, it's time for a progressive enhancement reboot. At the core is the understanding that the web is not print - the same rules don't apply. As developers and consumers we've been fooled into thinking about print paradigms for too long. In this talk, you'll learn just how different the web is and how the evolution of progressive enhancement can lead to better user experiences as well as happier developers and users.
This deck is a conference-agnostic one, suitable to be shown anywhere without site-specific jokes!
jQuery 1.9 and 2.0 - Present and FutureRichard Worth
The document discusses jQuery 1.9, 2.0, and the future of jQuery, noting that jQuery 2.0 drops support for older browsers like IE6-8 but is 12% smaller, and introduces 12 optionally excludable modules; it promises that jQuery 1.X will be supported as long as older IE browsers are relevant and that API equivalence will be maintained between 1.X and 2.X versions; and it invites attendees to join and contribute to the jQuery community.
How to Develop a Rich, Native-quality User Experience for Mobile Using Web St...David Kaneda
This document discusses how to build rich mobile user experiences using web standards like HTML5, CSS3, and JavaScript. It covers various HTML5 features such as new elements, forms, video/audio, geolocation and caching. It also discusses CSS techniques including transforms, transitions, animations and vendor-specific properties. Challenges with fixed positioning, touch events and performance are addressed. The document promotes building web apps that are native-like using frameworks like jQTouch and Sencha Touch.
This document summarizes Christopher Schmitt's presentation on adaptive images in responsive web design. It discusses using feature testing versus browser sniffing to determine the appropriate image to serve, including testing browser width, screen resolution, and bandwidth. It then covers various techniques for serving adaptive images, such as using .htaccess files, the <picture> element, srcset attributes, and JavaScript libraries. It emphasizes using a mobile-first approach and progressive enhancement to provide the best experience for all devices.
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.
The document discusses lessons learned from examining popular jQuery plugins. It summarizes 30 top plugins, describing why each was created and how it grew. Key takeaways are that authors build plugins to make something better, for fun/exploration, or client needs. Managing features and user feedback is challenging. The best plugins have great demos, documentation, browser support testing, and are fun. The author is available for questions.
This document discusses jQuery and web performance. It begins by noting that Internet Explorer 6 is now dead, and Internet Explorer 7 and 8 are the new baselines for older applications. It then discusses various aspects of web performance, including how browsers load pages, techniques for improving performance like prefetching and avoiding forced layouts, and tools for profiling performance like developer tools and webpagetest.org. It provides an example of optimizing infinite scrolling by having JavaScript only handle new items rather than doing full page layouts. The document advocates measuring performance before optimizing and using developer tools to find hot spots in JavaScript.
Presentation from Denver Open Source Users Group in February 2015. http://www.meetup.com/DOSUG1/events/219099019/
AngularJS is one of today's hottest JavaScript MVC Frameworks. In this session, we'll explore many concepts it brings to the world of client-side development: dependency injection, directives, filters, routing and two-way data binding. We'll also look at its recommended testing tools and build systems. Finally, you'll learn about my experience developing several real-world applications using AngularJS, HTML5 and Bootstrap.
Dreamweaver CS6, jQuery, PhoneGap, mobile designDee Sadler
A session talk for #NAGW2012 on:
Mobile app, choices
Dreamweaver’s place
Creating Mobile Design (actual design, not code)
Other helpful Adobe tools to create HTML/CSS
jQuery Mobile in DW
PhoneGap Build in DW
JsViews - Next Generation jQuery TemplatesBorisMoore
Come and see the future of jQuery Templates, as it moves from Beta1 towards a V1 product. The new jQuery Templates is taking two forms: JsRender – lean and mean, for fast rendering of templates as strings, and JsViews – for powerful interactive browser apps in which Data Link and Templates work hand-in-hand. See how with declarative data linking and templating together, creating powerful data-driven UI is easy, whether using MVVM patterns or binding directly to JSON, and whatever the richness or complexity of the underlying data.
jQuery UI is already building its future data-bound widgets on top of this technology. With JsViews and JsRender integration between jQuery UI controls and your own data and UI becomes trivially straightforward.
This document discusses using jQuery Templates and Data Link to build dynamic data-driven browser applications. It describes how jQuery Templates can be used to render templates from data but offers limited interactivity. jQuery Data Link allows binding data to HTML but has no templating. The presentation previews a new approach called JsViews that integrates Templates and Data Link to provide both fast rendering of templates to static HTML strings as well as fully interactive and responsive views through two-way data binding between templates and JavaScript data objects.
jQuery - the world's most popular java script library comes to XPagesMark Roden
This document discusses using jQuery with XPages. It begins with an introduction to jQuery, explaining that it is a popular JavaScript library that simplifies document manipulation, events, animation, and AJAX. It then compares jQuery to Dojo and provides guidance on when each should be used. The document demonstrates how jQuery works via its API and methods. It also explains how to add jQuery to an XPages application either directly in code or via a theme. Finally, it discusses jQuery plugins and how they can provide ready-made functionality to solve requirements.
Building Mobile Applications with IonicMorris Singer
The document provides an introduction and overview of the Ionic framework for building mobile apps. It discusses that Ionic builds on existing technologies like AngularJS, Cordova plugins, and a layout engine. It reviews Ionic's technology stack including AngularJS, UI Router for routing, and Ionic components. It demonstrates how to generate a starter app, and shows examples of lists, buttons, icons, and touch gestures in Ionic.
Javascript Frameworks Comparison - Angular, Knockout, Ember and BackboneDeepu S Nath
Introduction and Comparison of polpular JS Frameworks Knockout, Ember, Angular and Backbone. The presentation descrobes How and when to select each framework.
JavaScript front end performance optimizationsChris Love
No one wants a slow loading, slow reacting application. As page weight has increased so has the dependency on JavaScript to drive rich user experiences. Today many pages load over 2MBs of JavaScript, but is this healthy? Do your scripts and dependencies perform well? In this session we will review common JavaScript performance bottlenecks, how to detect them and how to eliminate them.
This session will review common bad coding syntax, architecture and how to replace them with better alternatives. You will also be exposed to caching, code organization, build and deployment best practices that produce the best user experiences. Finally, you will see how to use the navigation timing and performance timing APIs to fine tune your applications to produce a fast, lean application your customers will love.
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.
Flexible UI Components for a Multi-Framework WorldKevin Ball
Slides from Flexible UI Components talk given at Web Unleashed 2017
Build UI components that work seamlessly in every JavaScript Framework.
Your core UI elements shouldn’t have to be different for your marketing site than they are in your application just because the former uses jQuery while the latter is built using Angular or React.
Lessons learned from work on ZURB Foundation 7.
Develop a vanilla.js spa you and your customers will loveChris Love
Do you want to leverage HTML, CSS and JavaScripts APIs to deliver rich user experiences that outlive the framework du jour? Do You want to understand good front-end application architecture and performance principles. Then you want to build applications in Vanilla JS. Despite popular belief Vanilla JS is not as difficult to master and implement as you might think.
In this tutorial Chris Love will demonstrate how to apply many common web performance optimization, good architecture and tricks to build a fast, native-like application user experience customers desire without dependency on large, fast food frameworks.
This tutorial will demonstrate the following concepts:
- Applying the 14kb Rule for Instant Loading
- Markup Management
- Eliminating Excess AJAX Calls
- Working With and Around Application Cache
- Applying Service Workers and HTTP/2 For Even Better User Experiences
- Leveraging common browser APIs & good architecture
The document summarizes the state of jQuery in 2013. It discusses the creation of the jQuery Foundation in 2012 to coordinate work on jQuery and related projects. It outlines major changes between jQuery 1.9 and 2.0, including dropping support for older browsers and APIs. It emphasizes that jQuery 1.9 remains suitable for most public websites, while 2.0 is better suited for newer environments. The document encourages developers to test alpha and beta versions to help improve jQuery.
State of jQuery - AspDotNetStorefront Conferencedmethvin
The document discusses the state of jQuery and the jQuery Foundation. It provides an overview of the non-profit jQuery Foundation organization and its projects. It also summarizes the jQuery team's initiatives and contributors from around the world. The document outlines the plans for future versions of jQuery, including jQuery 1.11/2.1, and discusses strategies and tools for web performance and browser compatibility.
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.
This document provides an agenda and objectives for a tutorial on implementing an automated dependency injection framework in a dynamic language like JavaScript. The tutorial will first cover setting up the development environment. It will then demonstrate manual dependency injection in a tic-tac-toe game. Next, it will discuss designing an automated framework to replace manual wiring by injecting types, DOM elements, and events. The framework will be implemented using a test-driven approach. Finally, the simplified wiring code using the framework will be compared to the original manual wiring code.
This document provides an agenda and objectives for a tutorial on implementing an automated dependency injection framework in a dynamic language like JavaScript. The tutorial will first cover setting up the development environment. It will then demonstrate manual dependency injection in a tic-tac-toe game. Next, it will design an automated framework to replace the manual wiring by declaring metadata for classes and injecting types, DOM elements, and events. The framework will be implemented using a test-driven approach. Finally, the simplified wiring code using the framework will be compared to the original manual implementation.
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.
This session will go over why I chose WO and WOnder as my application foundation, and how I applied the best practices from some of the best in our business to build my product. How I setup my applications and frameworks to maximize reuse and flexibility. And I will review other processes that allows me to run my business as a one plus (?) person shop.
jQuery: The World's Most Popular JavaScript Library Comes to XPagesTeamstudio
Whether you want to add some serious eye candy to your XPages Applications or just want to do more with less code, jQuery, the world’s most popular JavaScript framework can help you. Come to this webinar and find out how you can use some of the thousands of jQuery plugins, in harmony with Dojo, within your XPages applications to create a better experience not only for your users, but for you as a developer. In this webinar, we'll look at how jQuery works, how to add it to your XPages, and how a complete JavaScript beginner can take advantage of its power. We'll demonstrate many working examples -- and a sample database will be provided.
Build software like a bag of marbles, not a castle of LEGO®Hannes Lowette
If you have ever played with LEGO®, you will know that adding, removing or changing features of a completed castle isn’t as easy as it seems. You will have to deconstruct large parts to get to where you want to be, to build it all up again afterwards. Unfortunately, our software is often built the same way. Wouldn’t it be better if our software behaved like a bag of marbles? So you can just add, remove or replace them at will?
Most of us have taken different approaches to building software: a big monolith, a collection of services, a bus architecture, etc. But whatever your large scale architecture is, at the granular level (a single service or host), you will probably still end up with tightly couple code. Adding functionality means making changes to every layer, service or component involved. It gets even harder if you want to enable or disable features for certain deployments: you’ll need to wrap code in feature flags, write custom DB migration scripts, etc. There has to be a better way!
So what if you think of functionality as loose feature assemblies? We can construct our code in such a way that adding a feature is as simple as adding the assembly to your deployment, and removing it is done by just deleting the file. We would open the door for so many scenarios!
In this talk, I will explain how to tackle the following parts of your application to achieve this goal: WebAPI, Entity Framework, Onion Architecture, IoC and database migrations. And most of all, when you would want to do this. Because… ‘it depends’.
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.
10 clues showing that you are doing OSGi in the wrong manner - Jerome Molieremfrancis
This presentation aims to show common pitfalls in OSGi architecture and development and how to avoid them. It involves concrete use cases and their solutions. Antipatterns, bad designs , bad tooling will be presented during this session... This session is user oriented and aimed to give concrete feedbacks and good practices...
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchHoward Greenberg
The webinar covered tools and techniques used by several developers in their work with Domino and XPages. Howard Greenberg discussed using SourceTree and BitBucket for version control of XPages applications. Jesse Gallagher presented his toolchain including Eclipse, Maven, and Jenkins for plugin and application development. Serdar Basegmez outlined his development environment including configuring Eclipse to develop OSGi plugins for the Domino runtime. All emphasized the importance of source control, testing, and documentation in their processes.
Angular 2 is a new version of AngularJS that is currently in alpha. It embraces modern web standards like Shadow DOM and Web Workers. Angular 2 components replace directives and use classes instead of controllers. Templates are now called views. Two-way binding and ng-repeat are changed. The API is still changing but you can try it now on angular.io.
This document describes a mobile question and answer website created by Vishal Gupta. The website allows users to sign up and ask questions about various mobile operating systems, and only signed up users can provide answers. The website was created using Eclipse IDE, MySQL database, and Apache Tomcat server. It has features like easy sign up, asking and answering questions, and viewing questions without signing up. The goal was to provide reliable question answering for different mobile OS users.
Node Webkit allows you to create desktop applications using HTML, CSS, JavaScript and Node.js modules. It combines the Chromium browser and Node.js framework. This allows building cross-platform desktop apps that can include Node functionality and access system resources. Examples are given of apps built with Node Webkit. Key aspects covered include how it integrates Chromium and Node.js, building a basic app, window rendering options, menus, tray apps, and the developer tools. Benefits for a medical conference app replacement are discussed.
The document summarizes Project Timbit, which is exploring an event-driven web development paradigm using Node.js. It introduces several open-source libraries created by the team, including Pantry for caching resources, Timbits for building widgets, kitkat for testing, and connect-esi for edge side includes. It provides demos of the libraries and widgets to showcase their capabilities and benefits like parallel processing and handling IO latency. Going forward, it plans to improve the libraries and add new features to make them more stable and production-ready.
This document discusses productive desktop development with the NetBeans IDE. It covers using the NetBeans GUI builder to easily design Swing UIs via drag and drop. It also discusses Swing frameworks that provide common services to large Swing applications, and the NetBeans Platform for modular and pluggable applications. The document demonstrates scripting Swing and JavaFX applications using Groovy in NetBeans. Overall, it promotes NetBeans IDE as a free, full-featured environment for building desktop Java applications with tools for UI design, frameworks, and scripting.
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY (English)Hyun-woo Park
This document describes what SmartStudy does as an engineering company, why they do it, and how they do it. It summarizes:
1) SmartStudy develops mobile apps, log crawlers, log analyzers, push solutions, web-based tools, and open source projects to help products and services, not just for new technologies.
2) They do this to understand user behavior from logs and provide insights, as well as build tools that are easily updatable and globally accessible.
3) SmartStudy engineers work across multiple platforms, use open source technologies, and aim to refine code into shared libraries over time to prevent duplicative work.
Similar to State of jQuery June 2013 - Portland (20)
4. • Created in March 2012
• Coordinates jQuery team work
o Code
o Documentation
o Infrastructure
o Events
The jQuery Foundation
5. • A non-profit organization
• Funded by
o Conferences
o Donations
o Memberships
o YOU or your company can be a member
http://jquery.org/join
The jQuery Foundation Is...
8. • http://github.com/jquery
• jQuery Core, UI, Mobile
• Sizzle selector engine
• QUnit unit test framework
• jQuery Migrate plugin
• TestSwarm CI testing
• Documentation sites
jQuery Foundation Projects
9. • jQuery 1.x vs. 2.x
o jQuery 1.x still supports IE 6/7/8
o jQuery 2.x supports modern browsers
o The two versions stay in API sync
o Both are maintained by the team
• Heavily publicized changes in 2012
• Several public betas
The jQuery Core Plan
10. • Released jQuery 1.9 in January
• Released jQuery 2.0 in April
All good? Great!
11. • Released jQuery 1.9 in January
• Released jQuery 2.0 in April
All good? Great!
12. Far too many people
are using "latest"
versions in live sites!
NEVER HOTLINK:
http://code.jquery.com/jquery-latest.js
http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js
What We Learned (the Hard
Way)
14. • Identifies things your code is doing that
jQuery 1.9+ don't support anymore
• Actually makes older code work
• Lets you use jQuery 1.9+ with code that
hasn't been upgraded yet
jQuery Migrate Plugin
20. • Usually not the best inference
• Often assumes future browsers and
versions will be broken the same way
• Horribly misused and misunderstood
Why $.browser Deserves To Go
21. Opera has announced their future
products will be based on the WebKit
engine, not their own Presto engine.
Browser Name is Only a BRAND
22. • IE can emulate older versions via<meta
name="X-UA-Compatible">
• IE11 betas don't even have "MSIE" in their
user agent string!
Internet Explorer's Disguises
The Enemy!
23. • It's like global variables, but for events
• Every event that occurs must bubble to
document before it can be processed
• Processing events can be expensive,
especially on deep documents
• Still easy to process events globally:
o $(document).on("click", "a", linkyClicky);
What's Wrong With .live()?
24. • Doesn't work well on iPhone/iPad!
• iOS doesn't bubble touch events all the
way to document
• Delegated touch events must be
processed below the <body> element
Letting all events bubble to document
destroys the usefulness of the event
propagation model
What's Wrong With .live()?
25. Original line:
$(".dialog .close").live("click", ...
Direct replacement (poor):
$(document).on("click", ".dialog .close" ...
Optimized replacement:
$(".dialog").on("click", ".close", ...
Optimize Your Selectors
26. The Bug:
• Before 1.9, $.parseJSON("") returned
null but it's not valid JSON
The Fix:
• In 1.9, $.parseJSON("") is an error
Fixing bugs is dangerous
business
27. • We called invalid JSON invalid.
• We're also out of coffee.
The Result: PANIC
28. In jQuery, every change is
a breaking change for
some poor developer.
The Moral of the Story
29. • Several modules can be excluded
• Bare-bones selector engine option
o Basically, just querySelectorAll
• How small?
o Normal build: 28KB
o Tiniest build: 14KB
• Smaller builds to come
o Option to exclude more code
o Finer granularity
Custom builds for smaller size
32. • Relatively minor changes from 1.9
• Brings 1.x into alignment with 2.x line
• Simplifies cross-version comparisons
o 1.10 --> 2.0
o 1.11 --> 2.1
o 1.12 --> 2.2
• Patch versions not always the same
o e.g. 1.10.1 and 2.0.2
jQuery 1.10
33. • The jQuery team supports both 1.x and
2.x; there isn't a problem of using an
"unsupported version"
• Since 1.x/2.x APIs are the same, there is
no problem in using 1.x exclusively on a
public web site -- it's recommended
Which version to use?
34. • Chrome or Firefox plugins
• node.js apps (jsdom, Cheerio)
• Windows 8 Store ("Modern/Metro") apps
• PhoneGap (iPhone/Android/BlackBerry)
• Apps using UIWebKit or WebBrowser
jQuery 2.0 is a good fit for