WHAT IS WEBKIT? COPYRIGHTED MATERIAL SMASHING WEBKIT CHAPTER 1

Similar documents
B r o w s e r s u p p o r t

Review of Mobile Web Application Frameworks

MTA EXAM HTML5 Application Development Fundamentals

HTML5 HTML & Fut ure o Web M edi dia Streami a est Work h op, ov 2010 Michael Dale Zohar Babin eve oper o Dev R l e t a i tions & C

IGME-330. Rich Media Web Application Development I Week 1

User s Guide. This User Guide contains information that can help you navigate through your professional development session.

COPYRIGHTED MATERIAL. Defining HTML5. Lesson 1

Embracing HTML5 CSS </> JS javascript AJAX. A Piece of the Document Viewing Puzzle

Basics of Web Technologies

WebKit ; FOR : DUMMIES. by Chris Minnick WILEY. John Wiley & Sons, Inc.

Big Data Analytics In M2M Open Source Editors Formatting Issues

20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code.

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

CSS: Responsive Design, CSS3 and Fallbacks

Visual HTML5. Human Information Interaction for Knowledge Extraction, Interaction, Utilization, Decision making HI-I-KEIUD

Building a Browser for Automotive: Alternatives, Challenges and Recommendations

Fundamentals of Website Development

the missing manual0 O'REILLY Third Edition David Sawyer McFarland Beijing Cambridge The book that should have been in the box Farnham

Web Programming and Design. MPT Junior Cycle Tutor: Tamara Demonstrators: Aaron, Marion, Hugh

[PACKT] HTML5, CSS3, and jquery. Dreamweaver CS5.5 Mobile. and Web Development with

More CSS goodness with CSS3. Webpage Design

Developing Web Applications for Smartphones with IBM WebSphere Portlet Factory 7.0

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

CSS Futures. Web Development

Eclipse Eclipse Mobile 3 Frequently Asked Questions

TIBCO LiveView Web Getting Started Guide

Content Visualization Issues

Firefox for Android. Reviewer s Guide. Contact us:

Reader Release Notes. January 7, Release version: 3.1

HTML5 and CSS3 for Web Designers & Developers

Pop-up. File format/ size: Must provide (.gif or.jpg) still image - max. 75KB for Mobile - max. 400KB for Tablet

Nintendo Consoles/Handhelds

Etanova Enterprise Solutions

The Scope of This Book... xxii A Quick Note About Browsers and Platforms... xxii The Appendices and Further Resources...xxiii

Beginning Html5 And Css3 Next Generation Web Standards Ebook

Index. Border-radius property, Border-radius revolution, 112

Mobile AR Hardware Futures


Responsive Design for Web Applications R.I.T. S. Ludi/R. Kuehl p. 1 R I T. Software Engineering

Understanding CSS and the Modern Web

Connecting to Wi-Fi at Eastern and Finding Your Mac Address

Dreamweaver Domain 5: Organizing Content by Using Dreamweaver CS5

A mobile campus project

VISUAL SUMMARY SYSTEM SOFTWARE OPERATING SYSTEMS. System Software

Index LICENSED PRODUCT NOT FOR RESALE

QCon - Mobile Maps HTML5 Team Andrea

Exam : 9A Title : Adobe GoLive CS2 ACE Exam. Version : DEMO

Browser Bugs & Validation

City of Mobile GIS Web Mapping Applications: New Technology, New Expectations

IT Quick Reference Guides How to Find Your MAC Address

Aware IM Version 8.2 Aware IM for Mobile Devices

HTML CSS JAVASCRIPT WEB PUBLISHING IN ONE HOUR A DAY SAMS TEACH YOURSELF COVERING HTML5 CSS3 AND JQUERY 7TH EDITION

Khronos and the Mobile Ecosystem

Cross-Platform Mobile Application Development

CIT BY: HEIDI SPACKMAN

Pro ios Design and. Development. HTML5, CSS3, and JavaScript with Safari. Andrea Picchi. Apress*

Lecture 4 Native libraries

1. Setup a root folder for the website 2. Create a wireframe 3. Add content 4. Create hyperlinks between pages and to external websites

Understanding the Web Design Environment. Principles of Web Design, Third Edition

WEB DESIGNING COURSE SYLLABUS

epub v3: Opportunities & Challenges for Digital Publishing

MindManager Browser Application Release Notes

Case study on PhoneGap / Apache Cordova

Determining the Best Approach

U.S. PATENT NO. 7,831,926

Web browser architecture

JUGAT Adobe Technology Platform for Rich Internet Applications

Dreamweaver CS4. Introduction. References :

Framework. Eric Bollens ebollens AT ucla.edu Mobile Web Framework Architect UCLA Office of Information Technology

TIBCO LiveView Web Getting Started Guide

It's a cross-platform vector graphics package written in JavaScript. Frequently referenced as dojox.gfx or dojo.gfx. Supported backends:

Revision for Grade 7 ASP in Unit :1&2 Design & Technology Subject

COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

What s New in QuarkXPress 2018

The Impact of HTML5/CSS3 on Mobile Devices

WebSphere Puts Business In Motion. Put People In Motion With Mobile Apps

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

Jim Jackson II Ian Gilman

HTML is a mark-up language, in that it specifies the roles the different parts of the document are to play.

Non Functional Requirements Websites implemented by Dynamicweb Services

Web Design. Basic Concepts

14 Reasons To Use HTML5 For Your Next Web & Mobile Development Project

Simplifying Mobile.

Modern and Responsive Mobile-enabled Web Applications

Developing Ajax Web Apps with GWT. Session I

Browser Supported Browser Version(s) Maintenance Browser Version(s)

CS7026 CSS3. CSS3 Graphics Effects

In this lesson, you ll learn how to do the following: Understand runtime environments Understand the output files for different Animate

Digital Test. Coverage Index

MindManager HTML5 Export Release Notes

Css Pdf Reader Software For Windows 7 64 Bit

WPE WebKit. HTML5 user interfaces for embedded devices. Juan José Sánchez Penas Embedded Linux Conference Prague, October 2017

Apple Inc. November 2007

HTML5 and CSS3: New Markup & Styles for the Emerging Web. Jason Clark Head of Digital Access & Web Services Montana State University Library

Qiufeng Zhu Advanced User Interface Spring 2017

The main website for Henrico County, henrico.us, received a complete visual and structural

ACA Dreamweaver Exam Notes

Hypertext Markup Language, or HTML, is a markup

The Economist Apps. Advertising Specs

Table of Contents. Preface... xiii

Transcription:

1 WHAT IS WEBKIT? WEBKIT IS AN open-source rendering engine designed to display web pages. It powers Google Chrome and Safari as well as a variety of mobile devices such as iphone, ipad, and Android phones and tablets. It also controls rendering in a variety of desktop applications such as Apple Mail and those created with Adobe AIR. WebKit basically consists of two components: WebCore and JavaScriptCore. WebCore controls all layout and rendering tasks, creating HTML visualizations based on DOM markup and SMASHING WEBKIT Cascading Style Sheets (CSS). JavaScriptCore compliments this layout engine with a highperformance interaction engine that provides feature-rich JavaScript functionality. This chapter provides a short history of WebKit and a discussion of which browsers, devices, and applications use the engine. You learn the various components that WebKit supports, as well as how these differ across various implementations. COPYRIGHTED MATERIAL CHAPTER 1

PART I: INTRODUCING WEBKIT QUICK HISTORY The code that would later become WebKit began in 1998 as part of KDE s web browser, Konqueror (designed primarily for Linux). As part of an effort to build their own web browser, Apple forked the HTML and JavaScript engine from KDE in 2002, naming the ported engine WebKit. Initially Apple and KDE cross-developed the engines, exchanging code patches and enhancements. Then Apple made a number of unilateral decisions, including converting a portion of the codebase from C++ to Objective C, and dramatically altering other coding approaches. This along with Apple s source control and poor documentation led to a split between the KDE project and WebKit in 2005, which some KDE developers characterized as a bitter failure. In June 2005, Apple announced that it was open-sourcing the entirety of WebKit (previously only WebCore and JavaScriptCore were open-source). This was reportedly part of an effort to work more closely with KDE and the rest of the open-source community, according to Safari developer Maciej Stachowiak. As part of the Safari web browser, WebKit gained notoriety in the web community by being the first browser to support a number of CSS3 attributes. While other browsers offered more limited rendering tools, Safari provided a variety of innovative styling controls such as rounded corners and gradients that could generate richer graphics in CSS. 8 Even as other browsers began supporting these attributes, WebKit-based browsers stayed ahead of the curve by implementing new features, such as CSS animations and 2D and 3D transformations. These impressive features provided a robust rendering toolkit, allowing developers to smoothly animate, rotate, and skew HTML elements using CSS alone. These WebKit innovations proved so useful that they eventually informed the W3C CSS3 recommendations, and became standards used across all modern browsers today. WHERE IS WEBKIT USED? WebKit s speed, power, and versatility make it an ideal rendering solution for many situations. The engine is used in a wide variety of implementations, from desktop browsers to mobile devices and web-enabled applications. WEB BROWSERS An incredibly feature-rich and fast rendering engine, WebKit is ideal for desktop web browsers. It has been adopted by Google Chrome and Safari as well as a variety of niche browsers. At its inception, WebKit represented a very small portion of the browser market share because it was powering only the relatively underused Safari and Konqueror. Although Safari usage is increasing, it still comprises a modest 7% of the market, and Konqueror s share is still negligible.

CHAPTER 1: WHAT IS WEBKIT? WebKit s share of the browser market climbed considerably when it was adopted by the Google Chrome project. Between Chrome and Safari, WebKit comprises 28% of the desktop browser market (at the time of this writing). MOBILE DEVICES Recently Mobile WebKit, a special build of WebKit, has become the emerging standard for mobile device browsers. Lightweight yet surprisingly powerful, Mobile WebKit is an ideal engine for creating rich applications and web experiences on underpowered mobile devices. The vast majority of smartphones built in recent years use the WebKit framework. Apple ios devices such as iphone, ipad and itouch are all built upon WebKit. Additionally, WebKit is used by most Android devices, which include a wide variety of phones and tablets. Newer Blackberry devices, such as the Blackberry Torch, as well as Symbian-based devices use WebKit. Also, WebOS, which powers the Palm Pre and a number of tablets, is also based on WebKit, however at the time of this writing WebOS future is uncertain since it has been abandoned by HP. RIAS In addition to web browsers and mobile devices, WebKit is also used in a number of desktop applications. Due to its roots as a web browser, the vast majority of these apps are rich Internet applications (RIAs). WebKit powers apps built with Adobe AIR, a cross-platform framework that allows developers to simultaneously program applications for Windows, Mac, and Linux. 9 WebKit also is used in Mac OS X dashboard widgets, as well as a number of miscellaneous Mac and Windows apps, such as Apple s Mail and Microsoft s Entourage. MISCELLANEOUS DEVICES The same features that make WebKit ideal for mobile devices also make it an attractive option for other underpowered devices such as ereaders and video game consoles. A variety of reading tablets such as the Kindle and Nook use WebKit to offer a stripped-down web browser on their devices. The Nintendo 3DS, a portable video game console, offers a WebKit-based browser as well. As more devices become web enabled, you will likely see them adopting WebKit as a powerful open-source solution to integrate a web layer. WHAT DOES WEBKIT SUPPORT? The WebKit engine is known for supporting a wide variety of advanced functionality. WebKit leads the pack when it comes to browser support for innovative new features in CSS3, HTML5, and JavaScript.

PART I: INTRODUCING WEBKIT CSS3 WebKit is perhaps best known as the first major engine to support a variety of CSS3 attributes. These features provide developers with an advanced toolkit for rendering complex web pages without relying on images. WebKit supports rounded corners, gradients, drop shadows, custom fonts, and alpha transparency, to name a few. Additionally, it supports CSS animations both through transitions as well as keyframes. Furthermore, WebKit is constantly innovating new experimental attributes and pushing CSS standards into the future. WebKit also supports a variety of advanced CSS3 selectors, allowing you to choose elements based on their HTML attributes and location in the DOM. You can select direct descendants and siblings, or even the fifth paragraph in a div. You can leverage the :before and :after pseudo-elements to inject content directly into the page, and apply special styling based on the state of elements. You can even take advantage of CSS media queries to tailor styling to different screen dimensions. That means you can create flexible layouts, which change in response to smaller and larger screen sizes. 10 HTML5 AND SVG WebKit also supports a number of advanced features in HTML5. For instance, media tags allow you to embed audio and video directly in the browser, as you learn in Chapter 6. Furthermore, a variety of new form elements can be used to provide a richer user interface without relying on JavaScript. Additionally, these elements can be coupled with HTML5 form validation to ensure the user fills required fields, enters the correct information, and sees appropriate error messages. WebKit supports canvas as well as SVG, enabling you to draw complex vectored shapes directly in the browser. Combining these drawings with JavaScript interaction, you can build rich applications that rival those built in Flash. With the introduction of WebGL, you can use these elements to create stunning 3D applications. NOT ALL WEBKITS ARE CREATED EQUAL One common misconception about WebKit is that the engine is identical across all implementations. Applications not only use different versions of WebKit, but there are additionally a number of modified versions of the core. USING DIFFERENT VERSIONS OF WEBKIT You probably expect certain changes across different versions of a single browser, or between browsers that use completely different renderers. But even the latest versions of different WebKit browsers do not necessarily use the same version of the engine.

CHAPTER 1: WHAT IS WEBKIT? Although browsers typically use a recent build of WebKit, different browser release schedules lead to disparities at any given time. For instance Apple took more than a year between releasing Safari versions 5 and 5.1. Throughout this time, the WebKit engine in Safari slowly became outdated compared to that of Chrome, which had more frequent releases. Furthermore, browsers often make decisions about which parts of WebKit to support. For example, the default configuration of Chrome enables WebGL, which is also enabled in recent versions of Safari if the user has Mac OS X version 10.6 or higher. Thus the user s operating system can affect how much WebKit functionality is supported in his browser. MODIFYING THE CORE As mentioned earlier, the WebKit engine is open source, which has led to a variety of modified versions. For instance, Mobile WebKit differs substantially from the standard core, which means that web apps can behave differently between Desktop and ios Safari. Mobile implementations of WebKit even differ from device to device. For instance, Nokia ported the WebKit core to create its Symbian operating system, and Palm used WebKit to create an interface for WebOS, both of which differ from Mobile WebKit. This means that you will notice incongruities between different implementations of WebKit, which can prove much more complicated than disparities between different versions of a single browser. 11 SUMMARY WebKit began with open-source, standards-driven principles at its core, and these values continue to shape its development today. From improving its already lightweight and powerful core, to innovating new standards in web development, you can count on WebKit remaining a dominant force amongst web browsers. Constant refinement of the library ensures that future platforms will continue to view WebKit as the ideal option for web rendering. Furthermore, creating new standards in CSS, JavaScript and HTML shapes the future of not only WebKit-based browsers, but all other browsers on the market.