This document provides an overview of the WebKit technology, community, and ongoing work. It discusses WebKit's goals, features, architecture, ports, and the WebKit2 API. It also covers the Blink fork, the WebKit community and contributing process, and provides statistics on codebase size and contributors.
The Internal Architecture of Chrome Developer ToolsMiroslav Bajtoš
The talk explains that Chrome Developer Tools are actually just an (un)usual web page, every Blink browser has an embedded WebSocket server and that allows Node Inspector to reuse Developer Tools GUI for building Node.js debugger.
Lessons from Contributing to WebKit and BlinkBruno Abinader
Being one of the most successful open source projects to date, WebKit development process consists of a series of protocols and strict policies in order to obtain committer and reviewer status. Blink follows a similar approach with committers and scoped code owners, in a similar fashion as Linux Kernel does with its subsystem maintainers. Their open source success is due to not only solid support from major technology companies, but also to the high quality and automated testing performed on patches before submission. In this presentation, Bruno explains how the development process of both WebKit and Blink projects are - from submitting well-tested patches with strict policies to check, get review from community, and commit upstream via commit-queue system (including early warning system bots). This is a very practical talk with live demonstrations of patch submissions on both projects.
The Internal Architecture of Chrome Developer ToolsMiroslav Bajtoš
The talk explains that Chrome Developer Tools are actually just an (un)usual web page, every Blink browser has an embedded WebSocket server and that allows Node Inspector to reuse Developer Tools GUI for building Node.js debugger.
Lessons from Contributing to WebKit and BlinkBruno Abinader
Being one of the most successful open source projects to date, WebKit development process consists of a series of protocols and strict policies in order to obtain committer and reviewer status. Blink follows a similar approach with committers and scoped code owners, in a similar fashion as Linux Kernel does with its subsystem maintainers. Their open source success is due to not only solid support from major technology companies, but also to the high quality and automated testing performed on patches before submission. In this presentation, Bruno explains how the development process of both WebKit and Blink projects are - from submitting well-tested patches with strict policies to check, get review from community, and commit upstream via commit-queue system (including early warning system bots). This is a very practical talk with live demonstrations of patch submissions on both projects.
By Antonio Gomes.
(c) BlinkOn 7 (Sunnyvale, California)
Jan 31 - Feb 01, 2017
https://docs.google.com/document/d/1jlpsfv0kXCveOEX5l75aATgRXbcAvwyse4Tn6jVprWs/edit
This is the presentation that was prepared for our meetup about the Bootstrap framework. More info about that meetup can be found at https://www.meetup.com/lifemichael/events/278511644/
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...Igalia
By Silvia Cho.
Given the popularity of HTML5 and web technologies, browsers have become an essential technology in almost all industries, including the automotive. Because of its complexity, it is very important to understand the pros and cons of the available choices before making a decision. This talk aims to explain and compare each of the available open source options.
WebKit is a web rendering engine with a generic part (WebCore, JSEngine), and ports for specific platforms that implement bits like rendering, networking or multimedia. GTK+, EFL and Wayland ports are available. Blink is fork of WebKit from which several projects have evolved such as Chromium, Crosswalk, and CEF. During the presentation, Silvia will explain and compare each them and provide more details of WebKit for Wayland which has several advantages for the IVI system.
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...Igalia
By Gustavo Noronha Silva, Martin Robinson, Alejandro G. Castro.
On WebKit Clutter:
The Clutter port of WebKit has been recently announced and the branch has been uploaded to a public repository where its development continues. It shares most of the GObject-based public API with the current WebKitGTK+ port, and also shares all the backends that provide platform-dependant services to WebCore: cairo for drawing, soup for HTTP and GStreamer for multimedia.
During the talk we'll explore how the clutter port manages to share code with WebKitGTK+ and the challenges there are to sharing even more. Given clutter doesn't have a single widgets toolkit, we'll talk about how the port acknowledges that fact and allows supporting the various clutter-based toolkits. We will also look at web compatibility, and explore the features that have been implemented.
Looking forward, and most importantly, we'll discuss what work could be done in the future to make it rock even more, in particular by leveraging clutter functionality and its ability to use the GPU. We'll raise questions about pushing it upstream to live inside webkit.org, and how it could be better integrated or even merged with WebKitGTK+ in the future.
On WebKitGTK+:
This talk for WebKitGTK+ embedders and those interested in integrating the web with the free desktop will summarize the various WebKitGTK+ improvements from the last year in rendering, GTK+ 3 support, accessibility, networking, etc. Also, we will cover WebKit2 architecture and the roadmap for WebKit2 support for WebKitGTK+, including API design, plans for GNOME integration and demos.
Contributions to an open source project: Igalia and the Chromium projectIgalia
Mario Sánchez Prada explains Igalia's work on several efforts around Chromium and the Web Platform at the 43rd International Conference on Software Engineering (ICSE 2021)
Spanish Industry Case Studies Room
May 23-29, 2021
The WebView Role in Hybrid ApplicationsHaim Michael
As of Android 4.4, the WebView class is based on the Chromium web browser. As a result of that, many of the difficulties we faced when developing hybrid applications for the android platform no longer exist. The meeting will start with overviewing the fundamental concept of hybrid applications. We will learn how to write code in JavaScript that while running inside the WebView it calls functions we define in Java and vice versa. We will see how we can debug code in JavaScript running inside the WebView and go through the many advanced capabilities we can enjoy when using the WebView class. In addition, we will understand how PhoneGap works and what might be the best practice for using it.
More information about the Java course I deliver can be found at java.course.lifemichael.com
More information about the Android course I deliver can be found at android.course.lifemichael.com
Location:
Progressive Web App Dev Summit, GDG Madrid 21-Jul-2016
Abstract:
Progressive Web Apps (PWA) have responsive layout, works offline, and can be on the home screen.
WebComponents allows build all those missing HTML pieces.
Polymer is a library for manipulating Web Components.
This presentation joins all those new technologies for creating the Future Apps.
ב-24 במרץ 2010 התקיים המפגש השני של פורום מפתחי ה-W3C הישראלי (W3C Developers Forum - W3CDF). המפגש עסק בפיתוח אפליקציות ואתרים למכשירים ניידים (Mobile Web).
Почему браузер Opera перешёл на WebKit, как оно к этому шло, чем обернётся для разработчиков, почему WebKit не станет IE6, что это вообще за зверь, откуда взялся Blink, и почему с веб-стандартами всё будет в порядке.
By Antonio Gomes.
(c) BlinkOn 7 (Sunnyvale, California)
Jan 31 - Feb 01, 2017
https://docs.google.com/document/d/1jlpsfv0kXCveOEX5l75aATgRXbcAvwyse4Tn6jVprWs/edit
This is the presentation that was prepared for our meetup about the Bootstrap framework. More info about that meetup can be found at https://www.meetup.com/lifemichael/events/278511644/
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...Igalia
By Silvia Cho.
Given the popularity of HTML5 and web technologies, browsers have become an essential technology in almost all industries, including the automotive. Because of its complexity, it is very important to understand the pros and cons of the available choices before making a decision. This talk aims to explain and compare each of the available open source options.
WebKit is a web rendering engine with a generic part (WebCore, JSEngine), and ports for specific platforms that implement bits like rendering, networking or multimedia. GTK+, EFL and Wayland ports are available. Blink is fork of WebKit from which several projects have evolved such as Chromium, Crosswalk, and CEF. During the presentation, Silvia will explain and compare each them and provide more details of WebKit for Wayland which has several advantages for the IVI system.
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...Igalia
By Gustavo Noronha Silva, Martin Robinson, Alejandro G. Castro.
On WebKit Clutter:
The Clutter port of WebKit has been recently announced and the branch has been uploaded to a public repository where its development continues. It shares most of the GObject-based public API with the current WebKitGTK+ port, and also shares all the backends that provide platform-dependant services to WebCore: cairo for drawing, soup for HTTP and GStreamer for multimedia.
During the talk we'll explore how the clutter port manages to share code with WebKitGTK+ and the challenges there are to sharing even more. Given clutter doesn't have a single widgets toolkit, we'll talk about how the port acknowledges that fact and allows supporting the various clutter-based toolkits. We will also look at web compatibility, and explore the features that have been implemented.
Looking forward, and most importantly, we'll discuss what work could be done in the future to make it rock even more, in particular by leveraging clutter functionality and its ability to use the GPU. We'll raise questions about pushing it upstream to live inside webkit.org, and how it could be better integrated or even merged with WebKitGTK+ in the future.
On WebKitGTK+:
This talk for WebKitGTK+ embedders and those interested in integrating the web with the free desktop will summarize the various WebKitGTK+ improvements from the last year in rendering, GTK+ 3 support, accessibility, networking, etc. Also, we will cover WebKit2 architecture and the roadmap for WebKit2 support for WebKitGTK+, including API design, plans for GNOME integration and demos.
Contributions to an open source project: Igalia and the Chromium projectIgalia
Mario Sánchez Prada explains Igalia's work on several efforts around Chromium and the Web Platform at the 43rd International Conference on Software Engineering (ICSE 2021)
Spanish Industry Case Studies Room
May 23-29, 2021
The WebView Role in Hybrid ApplicationsHaim Michael
As of Android 4.4, the WebView class is based on the Chromium web browser. As a result of that, many of the difficulties we faced when developing hybrid applications for the android platform no longer exist. The meeting will start with overviewing the fundamental concept of hybrid applications. We will learn how to write code in JavaScript that while running inside the WebView it calls functions we define in Java and vice versa. We will see how we can debug code in JavaScript running inside the WebView and go through the many advanced capabilities we can enjoy when using the WebView class. In addition, we will understand how PhoneGap works and what might be the best practice for using it.
More information about the Java course I deliver can be found at java.course.lifemichael.com
More information about the Android course I deliver can be found at android.course.lifemichael.com
Location:
Progressive Web App Dev Summit, GDG Madrid 21-Jul-2016
Abstract:
Progressive Web Apps (PWA) have responsive layout, works offline, and can be on the home screen.
WebComponents allows build all those missing HTML pieces.
Polymer is a library for manipulating Web Components.
This presentation joins all those new technologies for creating the Future Apps.
ב-24 במרץ 2010 התקיים המפגש השני של פורום מפתחי ה-W3C הישראלי (W3C Developers Forum - W3CDF). המפגש עסק בפיתוח אפליקציות ואתרים למכשירים ניידים (Mobile Web).
Почему браузер Opera перешёл на WebKit, как оно к этому шло, чем обернётся для разработчиков, почему WebKit не станет IE6, что это вообще за зверь, откуда взялся Blink, и почему с веб-стандартами всё будет в порядке.
Après avoir conquis le marché des smartphones et tablettes, Android devient incontournable dans le domaine industriel. Son utilisation pour la conception de solutions embarquées industrielles soulève toutefois des problématiques techniques spécifiques : customisation de l'OS, développement de pilotes de périphériques, capacité à répondre à des contraintes temps réel.
S'appuyant sur son expertise des technologies Linux embarqué, Open Wide Ingénierie a accompagné avec succès la réalisation de nombreux systèmes sur mesure. Les experts du pôle Mobilité et Multimédia partage leur expérience à travers cette présentation en abordant les sujets techniques indispensables avant de migrer vers Android.
These are the accompanying slides to a tech talk given at airbnb.
Video here: http://www.youtube.com/watch?v=GGzmST5nNSM
Other tech talks here: https://www.airbnb.com/tech_talks
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...Igalia
By Juan José Sánchez Penas.
WebKit is a web rendering engine (HTML, JavaScript, CSS) with a generic part (WebCore, JSEngine), and 'ports' for specific platforms that implement bits like rendering, networking or multimedia. In the WebKit community, companies&individuals cooperate to evolve a complex codebase. Given the popularity of HTML5 and web tech, WebKit is a key open source project. Recently, Google announced Blink, a fork of WebKit, with consequences for the project still difficult to predict. Igalia's Browsers team maintains the WebKitGTK+ port and is top contributor to WebCore, JSC, V8, other ports (EFL, Clutter, Qt), and Blink. The talk will review the past/present/future of WebKit/Blink, their dynamics and development process, the relationship with the Linux ecosystem, and will give information about how to contribute to or use both projects.
The WebKit project (LinuxCon North America 2012)Igalia
By Juan José Sánchez Penas.
WebKit is a popular open source web rendering engine (HTML, JavaScript, CSS) with a generic part (WebCore, JS Engine), and 'ports' for specific platforms which implement bits like rendering, networking or multimedia. The WebKit community is interesting: companies & individuals cooperate successfully to evolve a complex codebase. Given the popularity of HTML5 and web technologies, WebKit is one of the most important open source projects. Our WebKit team at Igalia maintains the WebKitGTK+ port and contributes to WebCore, JSC, V8 & other ports (EFL, Clutter, Qt), being the top committers after Google&Apple. In this talk, we will review the past&present&future of the project, will explain how to interact with it, how to create or maintain ports, and other details very useful for those who in one way or another use or depend on WebKit.
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolutio...Igalia
By Juan José Sánchez Penas.
WebKit is a web rendering engine (HTML, JavaScript, CSS) with a generic part (WebCore, JSEngine), and 'ports' for specific platforms that implement bits like rendering, networking or multimedia. In the WebKit community, companies&individuals cooperate to evolve a complex codebase. Given the popularity of HTML5 and web tech, WebKit is a key open source project. About 10 months ago, Google announced Blink, a fork of WebKit which attracted many former WebKit contributors. Igalia's Browsers team maintains the WebKitGTK+ port and is top contributor to WebCore, JSC, V8, other ports (EFL, Clutter, Qt), and Blink. The talk will review the past/present/future of WebKit/Blink, their dynamics and development process, , the relationship with the Linux ecosystem, and will give information about how to contribute to or use both projects. Not very technical. Valid both for developers & managers.
Building a browser for automotive. alternatives, challenges and recommendatio...Igalia
By Juan José Sánchez Penas.
Automotive web browsers have specific needs, compared to other platforms such as mobile, STB/TV or desktop. When building your own web browser (or by extension your web platform middleware) many different aspects need to be taken into account in order to define the right technologies to be used, the architecture, and a good strategy regarding the collaboration with open source projects and communities. In this talk we will review all those aspects, focusing specifically in WebKit and Chromium/Blink, the two main technologies that are being used to build and derive browsers and web platforms. We will review the alternatives, describe the main challenges and risks, and give wide set of recommendations based on years of experience developing and helping companies and associations to develop this kind of projects.
Add the power of the Web to your embedded devices with WPE WebKitIgalia
The Web engine is the most important component of a Web Browser: it makes it possible to fetch and interpret web content, allowing users to interact with it. WebKit, the Open Source Web engine used in Web browsers like Safari, provides an architecture particularly well-designed for embedded platforms, making it popular not just for Apple devices, but for all sorts of Linux-based environments too (e.g. set-top-boxes, smart home appliances..). However, a Web engine is a complex piece of software and often not optimized for low-power computers.
This is where WPE, a Linux-based Open Source “port” of WebKit for embedded devices, comes in. Its low memory footprint and focus on simplicity, flexibility, and performance allows for the kind of customization needed to run on bespoke hardware and integrate with a wide variety of requirements. WPE is also developed upstream as part of the WebKit project and regularly published every 6 months via stable releases, guaranteeing that it’s up-to-date with the latest developments in the WebKit community.
In this talk, we will explore WPE in detail, see how the project has evolved, and look at where it’s heading next, highlighting some of its most popular use cases and some experiments that open up brand-new possibilities for this port of WebKit.
(c) Embedded Recipes 2023
5th Edition
September 2023, 28 to 29
Paris - France
https://embedded-recipes.org/2023/
https://www.youtube.com/watch?v=rdiETUGD6dg
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...Igalia
By Juan José Sánchez Penas.
Automotive web browsers and web application runtimes have specific needs, compared to platforms such as mobile, STB/TV, desktop and other embedded devices.
When building your own web middleware for an automotive platform, many different aspects need to be considered in order to define the right technologies, the architecture to be used, and a good strategy regarding the collaboration with open source projects and communities.
In this talk we will discuss those aspects, focusing specifically on WebKit and Chromium, the two main technologies that are being used to build and derive browsers and web runtimes.
We will review the alternatives and their status, describe the challenges, explain the functionality and performance, and show demos based on our work at Igalia developing and adapting browsers for automotive, in the context of AGL
(Automotive Grade Linux) and GENIVI.
(c) Automotive Linux Summit 2018
June 20 - 22, 2018
Tokyo Conference Center Ariake (Japan)
https://events.linuxfoundation.org/events/automotive-linux-summit-2018/
By Martin Robinson.
After two years of work, WebKit2 has arrived to the GNOME platform, bringing security, stability, and performance. This talk will outline the new design and dive briefly into some of the gory technical details. Also, included will be a mountain of practical advice for application developers about the transition, such as whether or not applications should be rewritten for WebKit2 and how best to take advantage of the new multi-process model.
The Yocto Project and OpenEmbedded are often used for building custom GNU/Linux distributions for powering interactive kiosk and displaying HTML5 content.
Although Chromium is the most popular choice for a web browser, it is infamous for the long build time. In this presentation you will see a practical alternative approach using the surf web browser. Surf is a simple minimalist web browser based on WebKit2/GTK+ with interface that does not include any graphical control elements. It a perfect fit for a kiosk.
The presentation will offer the exact steps how to build a minimal GNU/Linux distribution with systemd, X11, openbox window manager and the Surf web browser. Furthermore, we will discuss practical examples for software over air updates of this simple distribution. Raspberry Pi 4 will be used as a reference hardware for all demonstrations.
This presentation is suitable for beginners. It will demonstrate a practical use of the Yocto Project/OpenEmbedded for a common use case, some tips and tricks as well as examples for selection systemd as init system and software over the air mechanism.
Next Generation Hybrid Applications with Qt - presentation for SEE 2009Nokia
Presentation for http://www.see2009.org/, held in 26.10.2009.
Shows how web developers can utilize their web development skills in native applications with Qt.
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...OpenWhisk
Learn more about the IBM Bluemix OpenWhisk, a serverless event-driven compute platform, which quickly executes application logic in response to events or direct invocations from web/mobile apps or other endpoints.
Hybrid Apps (Native + Web) using WebKitAriya Hidayat
In term of innovations and mobile availability, WebKit is known to be the premier web rendering engine with the leading support for web standards such as HTML5, CSS3, and SVG. On MeeGo platform, WebKit can be leveraged easily via the use QtWebKit module which combines powerful WebKit features with the ease of use of Qt. The ground of developing applications using native technologies has been much explored, however there are still confusions, myths and misunderstanding as to what can be achieved with web technologies and hybrid native-web approach. This talk will highlight several tools and best practices in developing and testing good looking, feature-rich, and hardware-accelerated applications using web technologies targeting MeeGo platform in particular.
Hybrid Apps (Native + Web) using WebKitAriya Hidayat
In term of innovations and mobile availability, WebKit is known to be the premier web rendering engine with the leading support for web standards such as HTML5, CSS3, and SVG. On MeeGo platform, WebKit can be leveraged easily via the use QtWebKit module which combines powerful WebKit features with the ease of use of Qt. The ground of developing applications using native technologies has been much explored, however there are still confusions, myths and misunderstanding as to what can be achieved with web technologies and hybrid native-web approach. This talk will highlight several tools and best practices in developing and testing good looking, feature-rich, and hardware-accelerated applications using web technologies targeting MeeGo platform in particular.
Similar to WebKit and Blink: open development powering the HTML5 revolution (20)
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Enhancing Performance with Globus and the Science DMZGlobus
ESnet has led the way in helping national facilities—and many other institutions in the research community—configure Science DMZs and troubleshoot network issues to maximize data transfer performance. In this talk we will present a summary of approaches and tips for getting the most out of your network infrastructure using Globus Connect Server.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
The Metaverse and AI: how can decision-makers harness the Metaverse for their...Jen Stirrup
The Metaverse is popularized in science fiction, and now it is becoming closer to being a part of our daily lives through the use of social media and shopping companies. How can businesses survive in a world where Artificial Intelligence is becoming the present as well as the future of technology, and how does the Metaverse fit into business strategy when futurist ideas are developing into reality at accelerated rates? How do we do this when our data isn't up to scratch? How can we move towards success with our data so we are set up for the Metaverse when it arrives?
How can you help your company evolve, adapt, and succeed using Artificial Intelligence and the Metaverse to stay ahead of the competition? What are the potential issues, complications, and benefits that these technologies could bring to us and our organizations? In this session, Jen Stirrup will explain how to start thinking about these technologies as an organisation.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
WebKit and Blink: open development powering the HTML5 revolution
1. WebKit and Blink: Open Development
Powering the HTML5 Revolution
Juan J. Sánchez
LinuxCon 2013, New Orleans
2. Myself, Igalia and WebKit
Co-founder, member of the WebKit/Blink/Browsers team
Igalia is an open source consultancy founded in 2001
Igalia is Top 5 contributor to upstream WebKit/Blink
Working with many industry actors: tablets, phones, smart
tv, set-top boxes, IVI and home automation.
WebKit and Blink Juan J. Sánchez
3. Outline
The WebKit technology: goals, features, architecture, code
structure, ports, webkit2, ongoing work
The WebKit community: contributors, committers,
reviewers, tools, events
Contributing to WebKit: bugfixing, features, new ports
Blink: history, motivations for the fork, differences, status
and impact in the WebKit community
WebKit and Blink Juan J. Sánchez
5. The WebKit project
Web rendering engine (HTML, JavaScript, CSS...)
The engine is the product
Started as a fork of KHTML and KJS in 2001
Open Source since 2005
Among other things, it’s useful for:
Web browsers
Using web technologies for UI development
WebKit and Blink Juan J. Sánchez
6. Goals of the project
Web Content Engine: HTML, CSS, JavaScript, DOM
Open Source: BSD-style and LGPL licenses
Compatibility: regression testing
Standards Compliance
Stability
Performance
Security
Portability: desktop, mobile, embedded...
Usability
Hackability
WebKit and Blink Juan J. Sánchez
7. Goals of the project
NON-goals:
“It’s an engine, not a browser”
“It’s an engineering project not a science project”
“It’s not a bundle of maximally general and reusable code”
“It’s not the solution to every problem”
http://www.webkit.org/projects/goals.html
WebKit and Blink Juan J. Sánchez
8. WebKit features
HTML and XML support
JavaScript support (ECMAScript 5.1)
CSS 2.1, CSS 3 support
SVG support
Support for Plugins (NPAPI, WebKit Plugins)
HTML5 support: multimedia, 3D graphics, advanced CSS
animations and transformations, drag’n’drop, offline &
local storage, connectivity...
Accessibility support
Q&A infrastructure: review process, continuous
integration, 30.000 regression tests, API tests...
Passing ACID3 with 100/100 tests since March 2008
WebKit and Blink Juan J. Sánchez
9. WebKit Architecture
From a simplified point of view, WebKit is structured this way:
WebKit: thin layer to link against
from the applications
WebCore: rendering, layout,
network access, multimedia,
accessibility support...
JS Engine: the JavaScript engine.
JavaScriptCore by default, but can
be replaced (e.g. V8 in Chromium)
platform: platform-specific hooks to
implement generic algorithms
WebKit and Blink Juan J. Sánchez
10. What is a WebKit port?
WebKit and Blink Juan J. Sánchez
11. How many WebKit ports are there?
WebKit is available for different platforms:
Main upstream ports during the past 2 years:
Mac OS X, iOS
GTK+ based platforms (GNOME)
Qt based platforms (KDE)
Enlightenment Foundation Libraries (EFL, Tizen)
Google Chromium / Chrome
New proposal: WebKitNIX
Other ports: wxWidgets, Brew MP, Symbian devices (S60),
Win32, BlackBerry, Adobe Integrated Runtime (Adobe
AIR)
WebKit and Blink Juan J. Sánchez
12. Some WebKit based browsers
Amazon Kindle
Arora
BOLT browser
Epiphany browser
Google Chrome
iCab (version >= 4)
Iris Browser
Konqueror
Midori
Nintendo 3DS
OWB
OmniWeb
PS3 web browser
RockMelt
Safari
SRWare Iron
Shiira
Sputnik for MorphOS
Stainless
Steel for Android
TeaShark
Uzbl
Web Browser for S60 (Nokia)
WebOS Browser
WebKit and Blink Juan J. Sánchez
15. How do we use a WebKit port?
The WebView widget:
A platform-specific widget that renders web content.
It’s the main component and it’s useful for:
Loading URIs or data buffers pointing to HTML content
Go fullscreen, text/text+image zooming...
Navigate back and forward through history...
Events handling:
Allows embedders to get notified when something
important happens or when some input is needed.
Some examples of these events:
Getting notified when a load finished or failed
Asking permission for navigating to an URI
Requesting authorization for something..
WebKit and Blink Juan J. Sánchez
16. A minibrowser written in Python
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import gtk
import webkit
def entry_activated_cb(entry, embed):
embed.load_uri(entry.get_text())
# Widgets and signals
window = gtk.Window()
window.set_default_size(800, 600)
window.set_title("Mini browser written in Python")
embed = webkit.WebView(); # WebKit embed
entry = gtk.Entry()
entry.connect(’activate’, entry_activated_cb, embed)
scroller = gtk.ScrolledWindow()
scroller.add(embed)
# Pack everything up and show
vbox = gtk.VBox(False, 5)
vbox.pack_start(entry, False, False)
vbox.pack_start(scroller)
window.add(vbox)
window.show_all()
# Load a default URI and run
embed.load_uri("http://www.webkit.org")
gtk.main()
WebKit and Blink Juan J. Sánchez
20. What is WebKit2?
New API layer designed to support a split process model
(First release by Apple on April 8th, 20101).
Different to Chromium’s multi-process implementation
It’s bundled in the framework (reusable)
Different processes take care of different tasks:
UI process: the WebView widget, application UI
Web process: loading, parsing, rendering, layout...
Plugin process: each plugin type in a process
It comes with Inter-Process Communication (IPC)
mechanisms to communicate those processes bundled-in
http://trac.webkit.org/wiki/WebKit2
WebKit and Blink Juan J. Sánchez
23. WebKit2 vs WebKit1
Cons:
Higher resource requirements
Multiple processes instead of just one
At the same time easier to release resources
Complexity
Coding
Debugging
WebKit1 and WebKit2 maintenance
WebKit and Blink Juan J. Sánchez
25. WebKit2: current status
Apple, Qt and GTK+ already released WebKit2 browsers
WebKit1 moving to maintenance mode for most ports
Cross-platform and non-blocking C API available
Most challenges of the split process model solved
Lots of new architectural changes about to come
WebKit and Blink Juan J. Sánchez
26. The Source Code in numbers
According to Ohloh on 2013 Sep 10th, lines of code per
language, without considering blank lines nor comments:
Language LoC %
HTML 1,707,944 30.3 %
C++ 1,355,784 31.0 %
JavaScript 886,308 20.5 %
XML 163,012 2.8 %
Objective-C 119,890 2.6 %
C 105,259 2.9 %
PHP 97,627 2.4 %
CSS 90,581 1.7 %
Python 76,040 2.0 %
Perl 75,988 1.9 %
OpenGL Shad 26,234 1.0 %
Other (18) 50,000 0.9 %
Total 4,754,103
https://www.ohloh.net/p/WebKit/analyses
Just considering C++, Objective-C and C files,
we have almost 1.6M LoC!
WebKit and Blink Juan J. Sánchez
27. The Source Code in numbers
According to Ohloh on 2013 September 10th, files per license:
License Files %
BSD License 4427 51.09 %
GNU LGPL 3568 41.18 %
MPL 607 7.01 %
Other (9) 63 0.73 %
Total 8665
https://www.ohloh.net/p/WebKit/analyses
New WebKit code will always be under the terms of either the
LGPL 2.1+ or the BSD license. Never GPL or LGPL 3.
WebKit and Blink Juan J. Sánchez
28. High Level source code overview
Source/: the code needed to build WebKit. That is,
WebCore, JavaScriptCore, WebKit and WebKit2
LayoutTests/: layout tests reside here (More than 30000!).
They test the correctness of WebKit features
ManualTests/: specific cases not covered by automatic
testing
PerformanceTests/: measure run-time performance and
memory usage
See perf.webkit.org for results
Tools/: tools and utilities for WebKit development.
Small test applications, tools for testing, helper scripts...
Websites/: code and pages for WebKit related sites
WebKit and Blink Juan J. Sánchez
29. Tracking ongoing work in WebKit
Webkit is a big beast and a lot of organizations with
different agendas are working in different parts:
Implementing new standards (like the CSS shaders from
Adobe, or CSS3 GCPM from Apple)
Improvements in architecture, performance and internal
code (WebKit2)
On top of this there is the maintenance work (testing,
continuous integration, bugfixing)
No single centralized place to follow all the information:
blogs, mailing lists, IRC, etc.
WebKit and Blink Juan J. Sánchez
31. A bit of history
Source: http://ariya.ofilabs.com/2011/11/
one-hundred-thousand-and-counting.html
WebKit and Blink Juan J. Sánchez
32. The WebKit Project in numbers
Commits per month till 2013:
WebKit and Blink Juan J. Sánchez
33. The WebKit Project in numbers
Contributors per month::
WebKit and Blink Juan J. Sánchez
34. The WebKit Project in numbers
Evolution in the number of lines of code
WebKit and Blink Juan J. Sánchez
35. Activity of Companies
Based on Bitergia’s report2
Based on reviewed commits
“Gardening” commits filtered out
From the beginning of the project till beginning of 2013
2
http://blog.bitergia.com/2013/02/06/
report-on-the-activity-of-companies-in-the-webkit-project/
WebKit and Blink Juan J. Sánchez
40. Activity of Companies
Some conclusions from the authors:
Google and Apple leading the project
The diversity of the project has been increasing
Contributions from other parties >25 % and growing
> 20 companies actively contributing to WebKit
1500-2000 commits per month
387 committers from 29 different institutions
WebKit and Blink Juan J. Sánchez
41. Committers and Reviewers
WebKit Committer
A WebKit Committer should be a person we can trust to follow and
understand the project policies about checkins and other matters.
Has commit rights to the public SVN repository.
WebKit Reviewer
A WebKit Reviewer should be a person who has shown particularly
good judgment, understanding of project policies, collaboration skills,
and understanding of the code.
A WebKit Committer who can review other’s patches.
WebKit and Blink Juan J. Sánchez
42. Copyright for contributions
There is no copyright transfer for the contributions
Committers sign some papers where they commit to good
behaviour
WebKit and Blink Juan J. Sánchez
43. Releases
There are no releases of WebKit itself
Each port manages the release cycle, typically aligned with
the target platform schedule
WebKit and Blink Juan J. Sánchez
44. Coordination and communication tools
Website: http://www.webkit.org/
Port specific Websites (e.g. http://webkitgtk.org/)
Wiki: http://trac.webkit.org/wiki
Blogs: http://planet.webkit.org/
Source Code:
SVN: http://svn.webkit.org/repository/webkit
Git mirror: git://git.webkit.org/WebKit.git
Bugzilla: https://bugs.webkit.org/
Buildbots: http://build.webkit.org/
Mailing lists: http://lists.webkit.org/mailman/listinfo.cgi
IRC (irc.freenode.net): #webkit and #webkitgtk+
WebKit and Blink Juan J. Sánchez
45. The WebKit Contributors Meeting
Meeting for contributors to the WebKit project
Organized in an “unconference”-like format
Extremely useful to advance on some topics:
Implementation of new APIs, WebKit2, accelerated
compositing, helper tools, QA infrastructure...
Yearly held in Cupertino, California. Hosted by Apple
WebKit and Blink Juan J. Sánchez
47. Types of contributions
Bugfixing and new features in:
An existent port
The core components: webcore and JSC/V8
Creation and maintenance of a new port
WebKit and Blink Juan J. Sánchez
48. Guidelines for contributing patches to WebKit
1 Get and build the code from the SVN repository
2 Choose or create a bug report to work on
3 Code your changes and make sure you include new
regression or unit tests if needed
4 Create a patch for your changes and submit it asking for
review over it to appropriate reviewers
5 Update and change your patch as many times as needed
6 Once approved, land your patch or ask a
committer/reviewer to do it
7 Watch for any regressions it might have caused
WebKit and Blink Juan J. Sánchez
49. Creating a port: what needs to be done
High level API (WebKit1 and WebKit2)
Low level backend specific implementation
Web Template Framework (WTF): memory management,
threading, data structures (vectors, hash tables, bloom
filters, ...) numerical support, etc.
JSC vs V8
Networking: HTTP, DNS, cookies, etc.
Graphics: 2D/3D rendering, compositing, theming, fonts
Multimedia: media player for audio and video tags
DOM bindings
Accessibility
Smaller tasks: clipboard, popup and context menus,
cursors, etc.
Other things: favicons, plugins, downloads, geolocation,
settings, navigation policies, etc.
WebKit and Blink Juan J. Sánchez
50. Creating a port: the social side
Difficult without full-time reviewers
Reuse from other ports as much as possible
Try to work upstream from the very beginning
The risk of forking is big, the project moves fast
Focus on testing and continuous integration
Port-specific events and communication tools
WebKit and Blink Juan J. Sánchez
52. Google’s Departure. Blink
Google announced on April 3rd that they would be
forking WebKit and creating Blink
Motivations according to Google:
They were not using WebKit2 anyway
Easier to do ambitious architectural changes after the fork
Simplification of the codebase in Blink
Tension between Apple and Google before the fork
Architectural decisions: NetworkProcess
Code governance: Owners
Big shock within the WebKit community
WebKit and Blink Juan J. Sánchez
53. Differences between WebKit and Blink
Removes the concept of ’port’ as it was defined in WebKit
(deep platform integration): Skia, V8 and other libraries
cannot be replaced
Still possible to use Blink in other platforms, but now
integration happens at Content level
Only the rendering engine. Multi-process architecture is
still in Chromium
Peer review process (committers, reviewers, owners) more
flexible in Blink
Many architecture changes are started to be implemented
WebKit and Blink Juan J. Sánchez
54. Consequences of Blink for WebKit
Google was the main contributor by # of commits
Opera joined WebKit then moved to Blink. Other
companies and communities thinking what to do.
Apple’s position more dominant. Likely to relax Owners
policy
Several WebCore modules left orphan. Other hackers
assuming WebCore modules maintainership
WebKit developers porting patches from/to Blink
Many hacks to accomodate Chromium removed. Engines
likely start to diverge at faster pace
WebKit and Blink Juan J. Sánchez
55. Impact of Blink in numbers
Commits per month in WebKit, including last months:
WebKit and Blink Juan J. Sánchez
56. Impact of Blink in numbers
Contributors per month in WebKit, including last months::
WebKit and Blink Juan J. Sánchez
57. Impact of Blink in numbers
Contributors per month in 2013::
Blink: WebKit:
WebKit and Blink Juan J. Sánchez
58. Impact of Blink in numbers
Commits per month in 2013, Blink::
Commits per month in 2013, WebKit::
WebKit and Blink Juan J. Sánchez
59. The Blink community is consolidating
Dynamics of the community still being consolidated
Opera already actively contributing and using Blink
Qt recently announced that they are moving to Blink
In a few weeks/months we will know how everything
settles down
BlinkOn event, end of September at Google’s office in San
Francisco
WebKit and Blink Juan J. Sánchez
60. Open questions about Blink for WebKit
How open the dynamics of each community will be?
Which project will innovate faster and keep higher quality
and performance standards?
Which option will upstream ports be based on?
Which option will companies developing platforms and
solutions use?
WebKit and Blink Juan J. Sánchez
61. Conclusions
WebKit is an Open Source web engine powering lots of
applications (not only browsers!) out there
The only true Open Source alternative for embedders for
many years. Clearly defined and modular architecture.
Port friendly. Complex and fast moving project
Developed by a community of organizations and
individuals with different interests, collaborating together.
Lots of contributors. Appropriate policies in place to
handle permissions and responsibilities in the project
The recent announcement of Blink is changing the WebKit
community a lot and it is still to be seen how the situation
in terms of open source dynamics and project health and
quality will be in a few months.
WebKit and Blink Juan J. Sánchez
62. Thank you!
Juan J. Sánchez
jjsanchez@igalia.com
WebKit and Blink Juan J. Sánchez