This document discusses using ETW/xperf and Navigation Timing to analyze website performance. It covers: 1) ETW/xperf - tools for capturing system-level event traces on Windows, which can show browser performance events. 2) Navigation Timing API - a W3C spec that provides page load timing metrics via JavaScript for real-world performance monitoring. 3) How to use these tools to analyze page load times, resource usage, and CPU hot spots, both for debugging issues and monitoring performance over time.
Listen to this talk! https://www.youtube.com/watch?v=JIRXVGVPzn8 Tips and tricks for creating Electron apps that look beautiful and work the way users expect.
The talk gives a brief introduction to the Electron project maintained by GitHub for building cross platform desktop applications.
The document discusses responsive interfaces and how to keep the user interface responsive when executing JavaScript. It explains that the UI thread is used for both drawing updates and running JavaScript, so no updates can happen while JavaScript runs. It recommends keeping JavaScript execution under 50ms to avoid unresponsiveness, and describes using timers and web workers to split processing over multiple ticks to keep the UI responsive.
Presentation based on experiences of building a hybrid mobile app using the Ionic framework, Cordova, AngularJS and TypeScript.
Session from IBM Think 2018. Note: the architecture used is an extreme case of what's possible (and it could go further), rather than a real-world expectation
AFNetworking slides from my presentation at the October 2011 meeting of the Houston iPhone Developers Meetup.
Overhauling one of the most visited web sites in the world is a major task, and add on top of it the pressure of keeping performance the same while adding a ton of new features, and you have quite a task. Learn how the Yahoo! homepage team achieved performance parity with the previous version even while adding a ton of new features.
iOS Automation rapidly changed due to the evolution of Apple automation frameworks and Calabash community support. One year ago, we parallelised our iOS testing with multiple desktops – a large improvement in performance. Here is an account of the subsequent changes, including the removal of multiple desktops and the adoption of Apple’s new XCTest framework. The automation community (Appium, Calabash etc.) faced a new challenge: how could we create iOS Automation Infrastructure with the new XCTest Framework? I adopted Facebook solution (FBSimCtl and WebAgentDriver) into the multi-simulators approach. In this talk, I will discuss the full evolution path to Facebash Approach based on multi-simulators, Calabash server and Facebook Web Driver Agent.
This document discusses how timers, power consumption, and performance are related on web pages. It explains that CPUs can enter low-power sleep states when idle, but timers used in JavaScript can prevent this and increase power usage. The document recommends using higher interval timers (over 15ms) when possible to improve battery life on mobile devices. It also notes that having too many concurrent timers can flood the browser's queue and negatively impact rendering performance.
Java EE 7 provides a strong foundation for developing the back end for your HTML5 mobile applications. This heavily code-driven session shows you how you can effectively utilize Java EE 7 as a back end for your Apache Cordova mobile applications. The session demonstrates Java EE 7 technologies such as JAX-RS 2.0, WebSocket, JSON-P, CDI, and Bean Validation. It provides an overview of the basics of Apache Cordova as well as the tooling support added in NetBeans 8. The session also demonstrates an integrated approach to rapidly developing HTML5 mobile applications with Java EE 7 and NetBeans and concludes with best practices and pitfalls.
Meteor is a platform for building modern web applications using JavaScript. It allows developers to build real-time applications using a single language across client and server. Some key features of Meteor include latency compensation, reactivity across all layers of an application, and support for mobile development. The presentation provided an overview of Meteor's principles and architecture, including data on the wire, one language, database everywhere, and latency compensation. It also demonstrated building a simple topic voting app in Meteor.
Making Watir and Cucumber an efficient tool for Web UI Automation is an overview and comparison between modern Test Automation Frameworks for WebUI
This document discusses empowering the mobile web. It begins by defining the mobile web as the web experienced on mobile devices, with considerations for usability and responsiveness. It then addresses concerns about the web versus native apps, and outlines Mozilla's solutions including their app ecosystem with installable apps, the Firefox OS mobile platform, and APIs that allow web apps to access device capabilities. The document also covers developer experience tools and techniques to improve web app performance.
Meteor, or MeteorJS is an open-source real-time JavaScript web application framework written on top of Node.js. While production-ready and used by a number of high-profile startups, Meteor allows for very rapid prototyping and produces cross-platform (web, Android, iOS) code. It integrates tightly with MongoDB and uses the Distributed Data Protocol and a publishsubscribe pattern to automatically propagate data changes to clients in real-time without requiring the developer to write any synchronization code. On the client, Meteor depends on jQuery and can be used with any JavaScript UI widget library.
Peter Leschev presented on how the Build Engineering team at Atlassian scaled their continuous integration infrastructure to handle a massive increase in builds from 21k per month to over 150k per month. Some key things they did were adopting infrastructure as code practices with Puppet, building stateless build agents, monitoring Bamboo servers, and using tools like Packer, Terraform, and self-service portals to improve reliability and developer experience at scale.