SlideShare a Scribd company logo
1 of 22
WHO AM I?
KENNETH ROHDE CHRISTIANSEN DANISH WORKS AT NOKIA
  DANMARK
FORMERLY NOKIA TECHNOLOGY INSTITUTE, BRAZIL
  DISTRIBUTED QT
WEBKIT TEAM
“ACCOMPLISHMENTS”
BRAZIL WORKED IN A CONCEPTING TEAM, MOSTLY TOUCH BASED
  DESIGNS
FIRST TOUCH PORTED WEBKIT TO THE ENLIGHTENMENT FOUNDATION
   LIBRARIES (EFL)
NOKIA AQUIRED TROLLTECH JOINED THE QT WEBKIT TEAM DEVELOPMENT
  / MAINTENANCE
BECAME OFFICIAL WEBKIT REVIEWER
PART OF A SMALL GROUP OF FRIENDS DEVELOPING THE YBERBROWSER
   FOR FUN
WHICH EVENTUALLY TURNED INTO THE N9 BROWSER, CODE NAMED GROB


STILL WORKING ON BROWSERS, W3C WORK, PLUS DELIVERING THE QT
   WEBKIT
MODULE INTO QT5
WHAT IS ON THE INSIDE?
WEB CONTENTS ENGINE      SECURE
LAYOUT ENGINE            PORTABLE
FETCHING OF DATA         GOOD USABILITY
PARSING OF               HACKABLE
  HTML, CSS, ETC         EMBEDDABLE
PAGE RENDERING
OPEN SOURCE              HYBRID ENABLER
COMPATIBLE               APPLICATION
STANDARDS COMPLIANT        PLATFORM
STABLE                   MORE AND MORE, AN
                           OS
WOW, THAT IS A MOUTHFUL
WHAT IS MORE INTERESTING IS WHAT IT IS NOT:


WEBKIT IS NOT A BROWSER IT IS AN ENGINEERING PROJECT, NOT A
  SCIENCE PROJECT


ALSO, WEBKIT HAS A STRONG FOCUS ON BEING A WEB CONTENT / APP
   ENGINE AND THOUGH IT COMES WITH GENERAL PURPOSE
   PARTS, THOSE ARE ONLY GEARED TOWARD THE ABOVE.
WHO ARE THE PEOPLE BEHIND?
MOSTLY BIG COMPANIES, THOUGHT WE HAVE A FEW OPEN SOURCE
  CONTRIBUTORS


SOME OF THE ACTIVE ONES NOKIA, APPLE, GOOGLE, RIM, ADOBE
SO WHERE IS IT IN USE?
GOOGLE CHROME APPLE SAFARI IPHONE PLAYSTATION 3
BLACKBERRY PLAYBOOK NOKIA N9 VALVE STEAM EA
ORIGIN NETFLIX ADOBE AIR HP TOUCHPAD ANDROID
GOOGLE EARTH NOKIA S60 (SYMBIAN) BLACKBERRY
PHONES WEBOS CHROMEBOOKS SPOTIFY SAMSUNG
TIZEN SENCHA ANIMATOR APPLE MAIL AMINO FREEDOM
JUMP AMAZON KINDLE FIRE


PLUS LOTS OF HYBRID APPS ON IOS AND ANDROID
BACKSTORY
BORN OUT OF OPEN SOURCE
SO WEBKIT WAS FORGED IN THE CATACOMBS OF APPLE? NAH…

WEBKIT STARTED AS A FORK OF THE KHTML+KJS LIBRARIES FROM THE
  OPEN SOURCE KDE PROJECT, WHICH ITSELF WERE A FORK OF THE
  KHTMLW – THE KDE HTML WIDGET

MUCH WORK NEEDED TO BE DONE TO FOLLOW THE W3C
  STANDARDIZATION

IN „99 LARS KNOLL (CURRENT QT PROJECT MAIN MAINTAINER) LEAD AN
    EFFORT TO CATCH UP AND IT BORE FRUITS

KHTML WAS NOW SO GOOD THAT APPLE FORKED IT INTO WHAT WE
  TODAY KNOW AS WEBKIT
THE WEBKIT / KHTML WARS
IN JANUARY 2003 STEVE JOBS ANNOUNCED THE OPENSOURCING OF
    WEBCORE AND THE TEAM INTRODUCED THEMSELVES TO KHTML
    DEVELOPERS


   “When we were evaluating technologies over a year ago, KHTML and
KJS stood out. Not only were they the basis of an excellent modern and
standards compliant web browser, they were also less than 140,000 lines of
code. The size of your code and ease of development within that code
made it a better choice for us than other open source projects. Your clean
design was also a plus. And the small size of your code is a significant
reason for our winning startup performance…”
                                                        Don Melton, Apple


FAST FORWARD TWO YEARS AND THE OPEN SOURCE ATTEMPT WAS
FAILING
A ROCKY MARRIAGE
APPLE HAS THEIR OWN PRIORITIES AND CULTURE


CODE DUMPS WHICH SEEMINGLY WERE HARD TO
  UNDERSTAND AND BACKPORT (OBJECTIVE
  C, UNRELATED CHANGES, ETC)


KHTML AND KJS WERE GREAT TO BUILD UPON BUT
  GIVING BACK TO THE COMMUNITY IN A WAY THEY
  COULD MAKE ACTUAL USE OF AND APPRECIATE WAS
  JUST NOT WORKING OUT AS PLANNED
THE TRUE OPEN SOURCING
7TH OF JUNE, 2005, APPLE ANNOUNCED THE OPEN SOURCING OF
    WEBKIT (API, CORE AND JS ENGINE)


SOURCE CONTROL TREES, BUGTRACKING TOOLS (NOT THE INTERNAL
  ONE)


BASICALLY THE BUILDING BLOCKS TO CREATE A BROWSER + A
  CONTRIBUTION MODEL WHICH ALLOWED OTHER TO CONTRIBUTE IN
  A FAIR AND EQUAL MANNER




AND SO THE WORLD TOOK AND WELCOME WEBKIT WITH OPEN
  ARMS
AND THE REST IS HISTORY
SOME SMALL EXCERPTS:


NOKIA DID THE FIRST MOBILE PORT OF WEBKIT TO THEIR S60
  FRAMEWORK
APPLE USED WEBKIT FOR THEIR IPHONE PLATFORM
GOOGLE CREATED THE ANDROID BROWSER USING WEBKIT
GOOGLE ABANDONED FIREFOX AND CREATED CHROME
WEBKIT BECAME THE DEFACTO MOBILE BROWSER ENGINE, “FORCING”
  OTHER MOBILE BROWSER TO SUPPORT WEBKIT EXTENTIONS AND
  CSS PREFIXES.


AND IT IS ALL JUST GETTING STARTED…
SO HOW? PORTS? HUH?
HOW CAN WEBKIT BE SO VERSATILE AND IS THERE REALLY JUST
  ONE WEBKIT?


WEBKIT IS NOT A BROWSER BUT AN ENGINE AND A VERY FORKED
  ONE


IT CONSISTS OF PORTS (APPLE, GOOGLE, GTK+, QT, ETC) WHICH
    PROVIDES API, AND PLATFORM INTEGRATION.


MANY BROWSER USES FORKS OF TRUNK WEBKIT
HOW DO THE PORTS STACK UP?
IT IS HARD TO TELL

THE APPLE AND CHROME PORTS ARE THE MOST WELL MAINTAINED
   ONES. THEY HAVE BEEN DEVELOPED FOR A LONG TIME AND HAVE
   BIG WELL-ESTABLISHED TEAMS.

APPLE PORTS PROVIDES API FOR APP DEVELOPMENT AS
  WELL, ACROSS IOS, WIN AND MAC, CHROME DOESN‟T, IT IS A
  BROWSER.

QT IS A MULTI-PLATFORM PORT, DESIGNED FOR DEVELOPING BROWSER
   BUT PROVIDES AN EXTENSIVE API FOR APP DEVELOPMENT AS
   WELL. IT IS ALSO CLOSING IN ON CHROME AND APPLE PORTS IN
   STANDARDS SUPPORT AND TESTING. QT WEBKIT COMES WITH
   MOBILE FEATURES, SOMETHING OTHER PORTS ONLY DO TO A
   LIMITED EXTEND.
WHAT CAN I USE WEBKIT FOR? (SOME MARKETING)
YOU COULD WRITE A BROWSER? ;-) OR YOU COULD USE IT FOR HYBRID APP
DEVELOPMENT

QT IS POPULAR FOR THIS: SPOTIFY, NETFLIX (PS3, BOX ETC), EA ORIGIN

I WILL RECOMMEND TAKING A LOOK AT QT WEBKIT
• CROSS PLATFORM
• MOBILE FEATURES
• VIBRANT COMMUNITY
• RASHBERRY PI
• NOKIA N9
• HYBRID FEATURES, EASILY EMBEDDABLE, QT QUICK VIEW
NEAR FUTURE
HOW TO CONTRIBUTE
GET THE CODE FROM GIT.WEBKIT.ORG (OR SIMILAR)
BUILD IT USING Tools/Scripts/build-webkit
FOR QT: Tools/Scripts/build-webkit –qt
RUN IT (check the wiki or the tools in Tools/Scripts as this can differ per
  platform)


READ THE FOLLOWING SITES:
http://www.webkit.org/coding/technical-articles.html
http://www.webkit.org/coding/coding-style.html
http://www.webkit.org/coding/contributing.html
PITFALLS AND COMMON SENSE

CREATE BUG REPORT PER PATCH CC RELEVANT PEOPLE (CHECK THE
  WIKI)

ACCEPT THAT YOU ARE A NEWBIE AND ARE GOING TO DO EVERYTHING
  WRONG

DO NOT GIVE UP!

CODING STYLE / NAMING IS VERY IMPORTANT FOR SUCH A BIG
  PROJECT ACCEPT IT AND USE THE SCRIPTS TO FIND THE MOST
  COMMON ISSUES

RUN THE TEST SUITE

JOIN THE IRC CHANNELS (FREENODE #WEBKIT, #QTWEBKIT, QTWEBKIT-
   CPH)

JOIN THE MAILING LISTS
REVIEWERS AND COMMITTERS?
COWBOYS AND INDIANS?

IF YOU UNDERSTAND HOW THE PROJECT WORKS AND ACTS AS
    SUCH THEN 10-30 PATCHES WILL GRAND YOU A COMMITTER
    NOMINATION

IF YOU HAVE 80-120 SUBSTANTIAL PATCHES, THEN YOU CAN BE
    NOMINATED TO BECOME A REVIEWER AND BE ADDED TO THE
    REVIEWER MAILING LIST

MOSTLY EVERY YEAR THERE IS A CONTRIBUTOR SUMMIT (FOR
  COMMITTERS AND REVIEWERS) IN THE BAY AREA (CUPERTINO
  SO FAR) WHERE THE FUTURE OF THE PROJECT IS DISCUSSED
  AND WHERE YOU CAN MEET FELLOW CONTRIBUTORS
+1

More Related Content

Similar to WebKit, why it matters?

Nolan Wright: Appcelerator's World-Class Ecosystem
Nolan Wright: Appcelerator's World-Class Ecosystem Nolan Wright: Appcelerator's World-Class Ecosystem
Nolan Wright: Appcelerator's World-Class Ecosystem Axway Appcelerator
 
Mobile Services with Qt
Mobile Services with QtMobile Services with Qt
Mobile Services with QtEspen Riskedal
 
Introduction to (web) APIs - definitions, examples, concepts and trends
Introduction to (web) APIs - definitions, examples, concepts and trendsIntroduction to (web) APIs - definitions, examples, concepts and trends
Introduction to (web) APIs - definitions, examples, concepts and trendsOlaf Janssen
 
I like i phone and android but know .net
I like i phone and android but know .netI like i phone and android but know .net
I like i phone and android but know .netChris Love
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009Tom Deryckere
 
SumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststemSumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststemSumit Kataria
 
Kamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTCKamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTCChad Hart
 
Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)Future Insights
 
CHIRIMEN open hardware became open source (English)
CHIRIMEN open hardware became open source  (English)CHIRIMEN open hardware became open source  (English)
CHIRIMEN open hardware became open source (English)Satoru Takagi
 
S60 - Over the air
S60 - Over the airS60 - Over the air
S60 - Over the airNokia
 
WebRTC Reborn Hackference
WebRTC Reborn HackferenceWebRTC Reborn Hackference
WebRTC Reborn HackferenceDan Jenkins
 
Appcelerator Titanium - An Introduction to the Titanium Ecosystem
Appcelerator Titanium - An Introduction to the Titanium EcosystemAppcelerator Titanium - An Introduction to the Titanium Ecosystem
Appcelerator Titanium - An Introduction to the Titanium EcosystemBoydlee Pollentine
 
WebRTC Reborn - Full Stack
WebRTC Reborn  - Full StackWebRTC Reborn  - Full Stack
WebRTC Reborn - Full StackDan Jenkins
 
SoundCloud Platform Do:s and Don't:s at How To Web 2011
SoundCloud Platform Do:s and Don't:s at How To Web 2011SoundCloud Platform Do:s and Don't:s at How To Web 2011
SoundCloud Platform Do:s and Don't:s at How To Web 2011Eric Wahlforss
 
IBM Bluemix™ Architecture & Deep Dive
IBM Bluemix™ Architecture & Deep DiveIBM Bluemix™ Architecture & Deep Dive
IBM Bluemix™ Architecture & Deep DiveIBM
 
Boosting business with WebRTC - ClueCon 2017
Boosting business with WebRTC - ClueCon 2017Boosting business with WebRTC - ClueCon 2017
Boosting business with WebRTC - ClueCon 2017Chad Hart
 
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
Ugly truths about html5   moosecon - robert virkus - 2013-03-07Ugly truths about html5   moosecon - robert virkus - 2013-03-07
Ugly truths about html5 moosecon - robert virkus - 2013-03-07Enough Software
 
Trends in webdesign
Trends in webdesignTrends in webdesign
Trends in webdesignbart_netlash
 

Similar to WebKit, why it matters? (20)

Nolan Wright: Appcelerator's World-Class Ecosystem
Nolan Wright: Appcelerator's World-Class Ecosystem Nolan Wright: Appcelerator's World-Class Ecosystem
Nolan Wright: Appcelerator's World-Class Ecosystem
 
Mobile Services with Qt
Mobile Services with QtMobile Services with Qt
Mobile Services with Qt
 
Introduction to (web) APIs - definitions, examples, concepts and trends
Introduction to (web) APIs - definitions, examples, concepts and trendsIntroduction to (web) APIs - definitions, examples, concepts and trends
Introduction to (web) APIs - definitions, examples, concepts and trends
 
I like i phone and android but know .net
I like i phone and android but know .netI like i phone and android but know .net
I like i phone and android but know .net
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009
 
Mobile Platforms Redux
Mobile Platforms ReduxMobile Platforms Redux
Mobile Platforms Redux
 
SumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststemSumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststem
 
Kamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTCKamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTC
 
Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)
 
CHIRIMEN open hardware became open source (English)
CHIRIMEN open hardware became open source  (English)CHIRIMEN open hardware became open source  (English)
CHIRIMEN open hardware became open source (English)
 
S60 - Over the air
S60 - Over the airS60 - Over the air
S60 - Over the air
 
WebRTC Reborn Hackference
WebRTC Reborn HackferenceWebRTC Reborn Hackference
WebRTC Reborn Hackference
 
Appcelerator Titanium - An Introduction to the Titanium Ecosystem
Appcelerator Titanium - An Introduction to the Titanium EcosystemAppcelerator Titanium - An Introduction to the Titanium Ecosystem
Appcelerator Titanium - An Introduction to the Titanium Ecosystem
 
WebRTC Reborn - Full Stack
WebRTC Reborn  - Full StackWebRTC Reborn  - Full Stack
WebRTC Reborn - Full Stack
 
SoundCloud Platform Do:s and Don't:s at How To Web 2011
SoundCloud Platform Do:s and Don't:s at How To Web 2011SoundCloud Platform Do:s and Don't:s at How To Web 2011
SoundCloud Platform Do:s and Don't:s at How To Web 2011
 
IBM Bluemix™ Architecture & Deep Dive
IBM Bluemix™ Architecture & Deep DiveIBM Bluemix™ Architecture & Deep Dive
IBM Bluemix™ Architecture & Deep Dive
 
Boosting business with WebRTC - ClueCon 2017
Boosting business with WebRTC - ClueCon 2017Boosting business with WebRTC - ClueCon 2017
Boosting business with WebRTC - ClueCon 2017
 
DDive- Giuseppe Grasso - mobile su Lotus
DDive- Giuseppe Grasso - mobile su LotusDDive- Giuseppe Grasso - mobile su Lotus
DDive- Giuseppe Grasso - mobile su Lotus
 
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
Ugly truths about html5   moosecon - robert virkus - 2013-03-07Ugly truths about html5   moosecon - robert virkus - 2013-03-07
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
 
Trends in webdesign
Trends in webdesignTrends in webdesign
Trends in webdesign
 

More from Kenneth Rohde Christiansen

More from Kenneth Rohde Christiansen (9)

Progressive Web Apps - deep dive
Progressive Web Apps - deep diveProgressive Web Apps - deep dive
Progressive Web Apps - deep dive
 
New trends on web platform
New trends on web platformNew trends on web platform
New trends on web platform
 
Web Assembly (W3C TPAC presentation)
Web Assembly (W3C TPAC presentation)Web Assembly (W3C TPAC presentation)
Web Assembly (W3C TPAC presentation)
 
Generic sensors for the Web
Generic sensors for the WebGeneric sensors for the Web
Generic sensors for the Web
 
HTML literals, the JSX of the platform
HTML literals, the JSX of the platformHTML literals, the JSX of the platform
HTML literals, the JSX of the platform
 
Cold front - bridging the web and the physical world
Cold front - bridging the web and the physical worldCold front - bridging the web and the physical world
Cold front - bridging the web and the physical world
 
Web components v1 intro
Web components v1 introWeb components v1 intro
Web components v1 intro
 
Qt WebKit going Mobile
Qt WebKit going MobileQt WebKit going Mobile
Qt WebKit going Mobile
 
Connecting Technology for Great Experiences - How does QML and Web fit together?
Connecting Technology for Great Experiences - How does QML and Web fit together?Connecting Technology for Great Experiences - How does QML and Web fit together?
Connecting Technology for Great Experiences - How does QML and Web fit together?
 

WebKit, why it matters?

  • 1.
  • 2. WHO AM I? KENNETH ROHDE CHRISTIANSEN DANISH WORKS AT NOKIA DANMARK FORMERLY NOKIA TECHNOLOGY INSTITUTE, BRAZIL DISTRIBUTED QT WEBKIT TEAM
  • 3. “ACCOMPLISHMENTS” BRAZIL WORKED IN A CONCEPTING TEAM, MOSTLY TOUCH BASED DESIGNS FIRST TOUCH PORTED WEBKIT TO THE ENLIGHTENMENT FOUNDATION LIBRARIES (EFL) NOKIA AQUIRED TROLLTECH JOINED THE QT WEBKIT TEAM DEVELOPMENT / MAINTENANCE BECAME OFFICIAL WEBKIT REVIEWER PART OF A SMALL GROUP OF FRIENDS DEVELOPING THE YBERBROWSER FOR FUN WHICH EVENTUALLY TURNED INTO THE N9 BROWSER, CODE NAMED GROB STILL WORKING ON BROWSERS, W3C WORK, PLUS DELIVERING THE QT WEBKIT MODULE INTO QT5
  • 4.
  • 5. WHAT IS ON THE INSIDE? WEB CONTENTS ENGINE SECURE LAYOUT ENGINE PORTABLE FETCHING OF DATA GOOD USABILITY PARSING OF HACKABLE HTML, CSS, ETC EMBEDDABLE PAGE RENDERING OPEN SOURCE HYBRID ENABLER COMPATIBLE APPLICATION STANDARDS COMPLIANT PLATFORM STABLE MORE AND MORE, AN OS
  • 6. WOW, THAT IS A MOUTHFUL WHAT IS MORE INTERESTING IS WHAT IT IS NOT: WEBKIT IS NOT A BROWSER IT IS AN ENGINEERING PROJECT, NOT A SCIENCE PROJECT ALSO, WEBKIT HAS A STRONG FOCUS ON BEING A WEB CONTENT / APP ENGINE AND THOUGH IT COMES WITH GENERAL PURPOSE PARTS, THOSE ARE ONLY GEARED TOWARD THE ABOVE.
  • 7. WHO ARE THE PEOPLE BEHIND? MOSTLY BIG COMPANIES, THOUGHT WE HAVE A FEW OPEN SOURCE CONTRIBUTORS SOME OF THE ACTIVE ONES NOKIA, APPLE, GOOGLE, RIM, ADOBE
  • 8. SO WHERE IS IT IN USE? GOOGLE CHROME APPLE SAFARI IPHONE PLAYSTATION 3 BLACKBERRY PLAYBOOK NOKIA N9 VALVE STEAM EA ORIGIN NETFLIX ADOBE AIR HP TOUCHPAD ANDROID GOOGLE EARTH NOKIA S60 (SYMBIAN) BLACKBERRY PHONES WEBOS CHROMEBOOKS SPOTIFY SAMSUNG TIZEN SENCHA ANIMATOR APPLE MAIL AMINO FREEDOM JUMP AMAZON KINDLE FIRE PLUS LOTS OF HYBRID APPS ON IOS AND ANDROID
  • 10. BORN OUT OF OPEN SOURCE SO WEBKIT WAS FORGED IN THE CATACOMBS OF APPLE? NAH… WEBKIT STARTED AS A FORK OF THE KHTML+KJS LIBRARIES FROM THE OPEN SOURCE KDE PROJECT, WHICH ITSELF WERE A FORK OF THE KHTMLW – THE KDE HTML WIDGET MUCH WORK NEEDED TO BE DONE TO FOLLOW THE W3C STANDARDIZATION IN „99 LARS KNOLL (CURRENT QT PROJECT MAIN MAINTAINER) LEAD AN EFFORT TO CATCH UP AND IT BORE FRUITS KHTML WAS NOW SO GOOD THAT APPLE FORKED IT INTO WHAT WE TODAY KNOW AS WEBKIT
  • 11. THE WEBKIT / KHTML WARS IN JANUARY 2003 STEVE JOBS ANNOUNCED THE OPENSOURCING OF WEBCORE AND THE TEAM INTRODUCED THEMSELVES TO KHTML DEVELOPERS “When we were evaluating technologies over a year ago, KHTML and KJS stood out. Not only were they the basis of an excellent modern and standards compliant web browser, they were also less than 140,000 lines of code. The size of your code and ease of development within that code made it a better choice for us than other open source projects. Your clean design was also a plus. And the small size of your code is a significant reason for our winning startup performance…” Don Melton, Apple FAST FORWARD TWO YEARS AND THE OPEN SOURCE ATTEMPT WAS FAILING
  • 12. A ROCKY MARRIAGE APPLE HAS THEIR OWN PRIORITIES AND CULTURE CODE DUMPS WHICH SEEMINGLY WERE HARD TO UNDERSTAND AND BACKPORT (OBJECTIVE C, UNRELATED CHANGES, ETC) KHTML AND KJS WERE GREAT TO BUILD UPON BUT GIVING BACK TO THE COMMUNITY IN A WAY THEY COULD MAKE ACTUAL USE OF AND APPRECIATE WAS JUST NOT WORKING OUT AS PLANNED
  • 13. THE TRUE OPEN SOURCING 7TH OF JUNE, 2005, APPLE ANNOUNCED THE OPEN SOURCING OF WEBKIT (API, CORE AND JS ENGINE) SOURCE CONTROL TREES, BUGTRACKING TOOLS (NOT THE INTERNAL ONE) BASICALLY THE BUILDING BLOCKS TO CREATE A BROWSER + A CONTRIBUTION MODEL WHICH ALLOWED OTHER TO CONTRIBUTE IN A FAIR AND EQUAL MANNER AND SO THE WORLD TOOK AND WELCOME WEBKIT WITH OPEN ARMS
  • 14. AND THE REST IS HISTORY SOME SMALL EXCERPTS: NOKIA DID THE FIRST MOBILE PORT OF WEBKIT TO THEIR S60 FRAMEWORK APPLE USED WEBKIT FOR THEIR IPHONE PLATFORM GOOGLE CREATED THE ANDROID BROWSER USING WEBKIT GOOGLE ABANDONED FIREFOX AND CREATED CHROME WEBKIT BECAME THE DEFACTO MOBILE BROWSER ENGINE, “FORCING” OTHER MOBILE BROWSER TO SUPPORT WEBKIT EXTENTIONS AND CSS PREFIXES. AND IT IS ALL JUST GETTING STARTED…
  • 15. SO HOW? PORTS? HUH? HOW CAN WEBKIT BE SO VERSATILE AND IS THERE REALLY JUST ONE WEBKIT? WEBKIT IS NOT A BROWSER BUT AN ENGINE AND A VERY FORKED ONE IT CONSISTS OF PORTS (APPLE, GOOGLE, GTK+, QT, ETC) WHICH PROVIDES API, AND PLATFORM INTEGRATION. MANY BROWSER USES FORKS OF TRUNK WEBKIT
  • 16. HOW DO THE PORTS STACK UP? IT IS HARD TO TELL THE APPLE AND CHROME PORTS ARE THE MOST WELL MAINTAINED ONES. THEY HAVE BEEN DEVELOPED FOR A LONG TIME AND HAVE BIG WELL-ESTABLISHED TEAMS. APPLE PORTS PROVIDES API FOR APP DEVELOPMENT AS WELL, ACROSS IOS, WIN AND MAC, CHROME DOESN‟T, IT IS A BROWSER. QT IS A MULTI-PLATFORM PORT, DESIGNED FOR DEVELOPING BROWSER BUT PROVIDES AN EXTENSIVE API FOR APP DEVELOPMENT AS WELL. IT IS ALSO CLOSING IN ON CHROME AND APPLE PORTS IN STANDARDS SUPPORT AND TESTING. QT WEBKIT COMES WITH MOBILE FEATURES, SOMETHING OTHER PORTS ONLY DO TO A LIMITED EXTEND.
  • 17. WHAT CAN I USE WEBKIT FOR? (SOME MARKETING) YOU COULD WRITE A BROWSER? ;-) OR YOU COULD USE IT FOR HYBRID APP DEVELOPMENT QT IS POPULAR FOR THIS: SPOTIFY, NETFLIX (PS3, BOX ETC), EA ORIGIN I WILL RECOMMEND TAKING A LOOK AT QT WEBKIT • CROSS PLATFORM • MOBILE FEATURES • VIBRANT COMMUNITY • RASHBERRY PI • NOKIA N9 • HYBRID FEATURES, EASILY EMBEDDABLE, QT QUICK VIEW
  • 19. HOW TO CONTRIBUTE GET THE CODE FROM GIT.WEBKIT.ORG (OR SIMILAR) BUILD IT USING Tools/Scripts/build-webkit FOR QT: Tools/Scripts/build-webkit –qt RUN IT (check the wiki or the tools in Tools/Scripts as this can differ per platform) READ THE FOLLOWING SITES: http://www.webkit.org/coding/technical-articles.html http://www.webkit.org/coding/coding-style.html http://www.webkit.org/coding/contributing.html
  • 20. PITFALLS AND COMMON SENSE CREATE BUG REPORT PER PATCH CC RELEVANT PEOPLE (CHECK THE WIKI) ACCEPT THAT YOU ARE A NEWBIE AND ARE GOING TO DO EVERYTHING WRONG DO NOT GIVE UP! CODING STYLE / NAMING IS VERY IMPORTANT FOR SUCH A BIG PROJECT ACCEPT IT AND USE THE SCRIPTS TO FIND THE MOST COMMON ISSUES RUN THE TEST SUITE JOIN THE IRC CHANNELS (FREENODE #WEBKIT, #QTWEBKIT, QTWEBKIT- CPH) JOIN THE MAILING LISTS
  • 21. REVIEWERS AND COMMITTERS? COWBOYS AND INDIANS? IF YOU UNDERSTAND HOW THE PROJECT WORKS AND ACTS AS SUCH THEN 10-30 PATCHES WILL GRAND YOU A COMMITTER NOMINATION IF YOU HAVE 80-120 SUBSTANTIAL PATCHES, THEN YOU CAN BE NOMINATED TO BECOME A REVIEWER AND BE ADDED TO THE REVIEWER MAILING LIST MOSTLY EVERY YEAR THERE IS A CONTRIBUTOR SUMMIT (FOR COMMITTERS AND REVIEWERS) IN THE BAY AREA (CUPERTINO SO FAR) WHERE THE FUTURE OF THE PROJECT IS DISCUSSED AND WHERE YOU CAN MEET FELLOW CONTRIBUTORS
  • 22. +1