SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Chromium vs. Firefox




 Software Architecture and Design Review
Web Browser

Software application for retrieving, presenting,
 and traversing information resources on the
              World Wide Web
Features of a Web
         Browser
•   User Interface
•   Privacy
•   Security
•   Extendibility
•   Standard Support
Reference Architecture
Firefox Architecture
User Interface
Architecture
Browser Engine
Functional Requirements
• Basic User Interface Features
• Watch Audio, Video, Images and other non-HTML
  features.
• Run JavaScript and CSS
• Tabbed Browsing
• Recover from Crashes
• Manage Downloads
Non-Functional
 Requirements
•   Modifiability
•   Security
•   Performance
•   Reusability
•   Extendibility
Chromium Architecture
Functional Requirements
 • Basic User Interface Requirements
 • Multiple Processes for same Application
 • Inter Process Communication
 • Secure/Safe Browsing
 • Watch Audio, Video, Images and other non-HTML
   features.
 • Run JavaScript and CSS
 • Recover from Crashes
 • Manage Downloads
Non-Functional
 Requirements
•   Security
•   Performance
•   Availability
•   Modifiability
•   Usability
•   Extendibility
Comparison – High Level
    Architecture




    Firefox     Chromium
Comparison - Security




Networking Subsystem of   Security Model of
        Firefox              Chromium
Who is the best?
Thank You!
               Presented by,
 Rashmika Nawaratne B.K.U.R.   090348E
 Samitha Senarathna M.S.R.     090476T
 Gimantha Bandara M.           090047F

Weitere ähnliche Inhalte

Was ist angesagt?

Full Stack Web Development
Full Stack Web DevelopmentFull Stack Web Development
Full Stack Web DevelopmentSWAGATHCHOWDARY1
 
android technology presentation
android technology presentationandroid technology presentation
android technology presentationNishul Tomar
 
Java Persistence API (JPA) Step By Step
Java Persistence API (JPA) Step By StepJava Persistence API (JPA) Step By Step
Java Persistence API (JPA) Step By StepGuo Albert
 
How To be a Backend developer
How To be a Backend developer    How To be a Backend developer
How To be a Backend developer Ramy Hakam
 
Introduction to mobile application development
Introduction to mobile application developmentIntroduction to mobile application development
Introduction to mobile application developmentChandan Maurya
 
Introduction to REST - API
Introduction to REST - APIIntroduction to REST - API
Introduction to REST - APIChetan Gadodia
 
Web servers (l6)
Web servers (l6)Web servers (l6)
Web servers (l6)Nanhi Sinha
 
Real World Event Sourcing and CQRS
Real World Event Sourcing and CQRSReal World Event Sourcing and CQRS
Real World Event Sourcing and CQRSMatthew Hawkins
 
Android Security
Android SecurityAndroid Security
Android SecurityArqum Ahmad
 
Java Hibernate Programming with Architecture Diagram and Example
Java Hibernate Programming with Architecture Diagram and ExampleJava Hibernate Programming with Architecture Diagram and Example
Java Hibernate Programming with Architecture Diagram and Examplekamal kotecha
 
The Integration of Laravel with Swoole
The Integration of Laravel with SwooleThe Integration of Laravel with Swoole
The Integration of Laravel with SwooleAlbert Chen
 
Web service Introduction
Web service IntroductionWeb service Introduction
Web service IntroductionMadhukar Kumar
 
Introduction to Web Technology Stacks
Introduction to Web Technology StacksIntroduction to Web Technology Stacks
Introduction to Web Technology StacksPrakarsh -
 
Declarative Clients in Spring
Declarative Clients in SpringDeclarative Clients in Spring
Declarative Clients in SpringVMware Tanzu
 
Asp.Net Core MVC with Entity Framework
Asp.Net Core MVC with Entity FrameworkAsp.Net Core MVC with Entity Framework
Asp.Net Core MVC with Entity FrameworkShravan A
 
Intro to Erlang
Intro to ErlangIntro to Erlang
Intro to ErlangKen Pratt
 

Was ist angesagt? (20)

Full Stack Web Development
Full Stack Web DevelopmentFull Stack Web Development
Full Stack Web Development
 
android technology presentation
android technology presentationandroid technology presentation
android technology presentation
 
Java Persistence API (JPA) Step By Step
Java Persistence API (JPA) Step By StepJava Persistence API (JPA) Step By Step
Java Persistence API (JPA) Step By Step
 
An Introduction To REST API
An Introduction To REST APIAn Introduction To REST API
An Introduction To REST API
 
How To be a Backend developer
How To be a Backend developer    How To be a Backend developer
How To be a Backend developer
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
 
Introduction to mobile application development
Introduction to mobile application developmentIntroduction to mobile application development
Introduction to mobile application development
 
Introduction to REST - API
Introduction to REST - APIIntroduction to REST - API
Introduction to REST - API
 
Web servers (l6)
Web servers (l6)Web servers (l6)
Web servers (l6)
 
Real World Event Sourcing and CQRS
Real World Event Sourcing and CQRSReal World Event Sourcing and CQRS
Real World Event Sourcing and CQRS
 
Android Security
Android SecurityAndroid Security
Android Security
 
Java Hibernate Programming with Architecture Diagram and Example
Java Hibernate Programming with Architecture Diagram and ExampleJava Hibernate Programming with Architecture Diagram and Example
Java Hibernate Programming with Architecture Diagram and Example
 
The Integration of Laravel with Swoole
The Integration of Laravel with SwooleThe Integration of Laravel with Swoole
The Integration of Laravel with Swoole
 
Web service Introduction
Web service IntroductionWeb service Introduction
Web service Introduction
 
Introduction to Web Technology Stacks
Introduction to Web Technology StacksIntroduction to Web Technology Stacks
Introduction to Web Technology Stacks
 
Declarative Clients in Spring
Declarative Clients in SpringDeclarative Clients in Spring
Declarative Clients in Spring
 
Asp.Net Core MVC with Entity Framework
Asp.Net Core MVC with Entity FrameworkAsp.Net Core MVC with Entity Framework
Asp.Net Core MVC with Entity Framework
 
Postman
PostmanPostman
Postman
 
gRPC Overview
gRPC OverviewgRPC Overview
gRPC Overview
 
Intro to Erlang
Intro to ErlangIntro to Erlang
Intro to Erlang
 

Andere mochten auch

Web browser architecture
Web browser architectureWeb browser architecture
Web browser architectureNguyen Quang
 
Architecture of the Web browser
Architecture of the Web browserArchitecture of the Web browser
Architecture of the Web browserSabin Buraga
 
Introduction to Web Architecture
Introduction to Web ArchitectureIntroduction to Web Architecture
Introduction to Web ArchitectureChamnap Chhorn
 
Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)Hyungwook Lee
 
FirefoxOS and its use of Linux (a deep dive into Gonk architecture)
FirefoxOS and its use of Linux (a deep dive into Gonk architecture)FirefoxOS and its use of Linux (a deep dive into Gonk architecture)
FirefoxOS and its use of Linux (a deep dive into Gonk architecture)Aimee Maree Forsstrom
 
Android Chromium Rendering Pipeline
Android Chromium Rendering PipelineAndroid Chromium Rendering Pipeline
Android Chromium Rendering PipelineHyungwook Lee
 
Firefox extension Development
Firefox extension DevelopmentFirefox extension Development
Firefox extension DevelopmentAbhinav Chittora
 
Introduction to cassandra
Introduction to cassandraIntroduction to cassandra
Introduction to cassandraNguyen Quang
 
Mobile Opera Browser
Mobile Opera BrowserMobile Opera Browser
Mobile Opera BrowserSteve Yu
 
Mozilla Firefox - Swot analysis
Mozilla Firefox - Swot analysisMozilla Firefox - Swot analysis
Mozilla Firefox - Swot analysisJakob Marovt
 
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...Igalia
 
Compiling and Optimizing Your Own Browser with WebKit
Compiling and Optimizing Your Own Browser with WebKitCompiling and Optimizing Your Own Browser with WebKit
Compiling and Optimizing Your Own Browser with WebKitSencha
 
Chrom works introduction
Chrom works   introductionChrom works   introduction
Chrom works introductionSoo Kim
 
Android chromium web view
Android chromium web viewAndroid chromium web view
Android chromium web view朋 王
 
LCU14 208- Chromium-Blink Migration for RDK
LCU14 208- Chromium-Blink Migration for RDKLCU14 208- Chromium-Blink Migration for RDK
LCU14 208- Chromium-Blink Migration for RDKLinaro
 
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...Igalia
 

Andere mochten auch (20)

Web browser architecture
Web browser architectureWeb browser architecture
Web browser architecture
 
Architecture of the Web browser
Architecture of the Web browserArchitecture of the Web browser
Architecture of the Web browser
 
Introduction to Web Architecture
Introduction to Web ArchitectureIntroduction to Web Architecture
Introduction to Web Architecture
 
Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)
 
FirefoxOS and its use of Linux (a deep dive into Gonk architecture)
FirefoxOS and its use of Linux (a deep dive into Gonk architecture)FirefoxOS and its use of Linux (a deep dive into Gonk architecture)
FirefoxOS and its use of Linux (a deep dive into Gonk architecture)
 
How Browser Works?
How Browser Works?How Browser Works?
How Browser Works?
 
Android Chromium Rendering Pipeline
Android Chromium Rendering PipelineAndroid Chromium Rendering Pipeline
Android Chromium Rendering Pipeline
 
The WebKit project
The WebKit projectThe WebKit project
The WebKit project
 
Firefox extension Development
Firefox extension DevelopmentFirefox extension Development
Firefox extension Development
 
Introduction to cassandra
Introduction to cassandraIntroduction to cassandra
Introduction to cassandra
 
Mobile Opera Browser
Mobile Opera BrowserMobile Opera Browser
Mobile Opera Browser
 
Google chrome
Google chromeGoogle chrome
Google chrome
 
Mozilla Firefox - Swot analysis
Mozilla Firefox - Swot analysisMozilla Firefox - Swot analysis
Mozilla Firefox - Swot analysis
 
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...
 
The Analysis of Google
The Analysis of GoogleThe Analysis of Google
The Analysis of Google
 
Compiling and Optimizing Your Own Browser with WebKit
Compiling and Optimizing Your Own Browser with WebKitCompiling and Optimizing Your Own Browser with WebKit
Compiling and Optimizing Your Own Browser with WebKit
 
Chrom works introduction
Chrom works   introductionChrom works   introduction
Chrom works introduction
 
Android chromium web view
Android chromium web viewAndroid chromium web view
Android chromium web view
 
LCU14 208- Chromium-Blink Migration for RDK
LCU14 208- Chromium-Blink Migration for RDKLCU14 208- Chromium-Blink Migration for RDK
LCU14 208- Chromium-Blink Migration for RDK
 
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
 

Ähnlich wie Chromium vs. Firefox

CompTIASecPLUSAASS-part4 - Edited (1).pptx
CompTIASecPLUSAASS-part4 - Edited (1).pptxCompTIASecPLUSAASS-part4 - Edited (1).pptx
CompTIASecPLUSAASS-part4 - Edited (1).pptxmohedkhadar60
 
Webdev battacherjee
Webdev battacherjeeWebdev battacherjee
Webdev battacherjeeRavingTiger
 
PaaS security challenges and solutions (salesforce vision)
PaaS security challenges and solutions (salesforce vision)PaaS security challenges and solutions (salesforce vision)
PaaS security challenges and solutions (salesforce vision)Olga Lavrentieva
 
CIS5-204-Project-CH6Z - Sharyan.pptx.pptx
CIS5-204-Project-CH6Z - Sharyan.pptx.pptxCIS5-204-Project-CH6Z - Sharyan.pptx.pptx
CIS5-204-Project-CH6Z - Sharyan.pptx.pptxZakariaSharyan
 
Filemaker security-protect-your-data
Filemaker security-protect-your-dataFilemaker security-protect-your-data
Filemaker security-protect-your-dataDB Services
 
2019 devconfza - legacy js
2019   devconfza - legacy js2019   devconfza - legacy js
2019 devconfza - legacy jsWilliam Brander
 
AMF Flash and .NET
AMF Flash and .NETAMF Flash and .NET
AMF Flash and .NETYaniv Uriel
 
Selenium for everyone
Selenium for everyoneSelenium for everyone
Selenium for everyoneTft Us
 
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...Brian Culver
 
CIS5-project-boughzala-amine.pptx
CIS5-project-boughzala-amine.pptxCIS5-project-boughzala-amine.pptx
CIS5-project-boughzala-amine.pptxamiineboughzala
 
The New Ignition v7.9 - See, Maintain, and Manage Your Enterprise With Ease
The New Ignition v7.9 - See, Maintain, and Manage Your Enterprise With Ease The New Ignition v7.9 - See, Maintain, and Manage Your Enterprise With Ease
The New Ignition v7.9 - See, Maintain, and Manage Your Enterprise With Ease Inductive Automation
 
Microsoft India - Unified Communications Exchange Server 2010 Competitive Adv...
Microsoft India - Unified Communications Exchange Server 2010 Competitive Adv...Microsoft India - Unified Communications Exchange Server 2010 Competitive Adv...
Microsoft India - Unified Communications Exchange Server 2010 Competitive Adv...Microsoft Private Cloud
 
Media streaming on aws
Media streaming on awsMedia streaming on aws
Media streaming on awscloudnonstop
 
Enterprise Blockchain & Data Sovereignty. Carlo Ferrarini, IBM
Enterprise Blockchain & Data Sovereignty. Carlo Ferrarini, IBMEnterprise Blockchain & Data Sovereignty. Carlo Ferrarini, IBM
Enterprise Blockchain & Data Sovereignty. Carlo Ferrarini, IBMData Driven Innovation
 
Migrating Enterprise Microservices From Cloud Foundry to Kubernetes
Migrating Enterprise Microservices From Cloud Foundry to KubernetesMigrating Enterprise Microservices From Cloud Foundry to Kubernetes
Migrating Enterprise Microservices From Cloud Foundry to KubernetesTony Erwin
 
The Case Against Frameworks - JFall 2023
The Case Against Frameworks - JFall 2023The Case Against Frameworks - JFall 2023
The Case Against Frameworks - JFall 2023Jan-Hendrik Kuperus
 

Ähnlich wie Chromium vs. Firefox (20)

Firefox vs. chrome
Firefox vs. chromeFirefox vs. chrome
Firefox vs. chrome
 
CompTIASecPLUSAASS-part4 - Edited (1).pptx
CompTIASecPLUSAASS-part4 - Edited (1).pptxCompTIASecPLUSAASS-part4 - Edited (1).pptx
CompTIASecPLUSAASS-part4 - Edited (1).pptx
 
Webdev battacherjee
Webdev battacherjeeWebdev battacherjee
Webdev battacherjee
 
PaaS security challenges and solutions (salesforce vision)
PaaS security challenges and solutions (salesforce vision)PaaS security challenges and solutions (salesforce vision)
PaaS security challenges and solutions (salesforce vision)
 
Chrome O S
Chrome O SChrome O S
Chrome O S
 
CIS5-204-Project-CH6Z - Sharyan.pptx.pptx
CIS5-204-Project-CH6Z - Sharyan.pptx.pptxCIS5-204-Project-CH6Z - Sharyan.pptx.pptx
CIS5-204-Project-CH6Z - Sharyan.pptx.pptx
 
Filemaker security-protect-your-data
Filemaker security-protect-your-dataFilemaker security-protect-your-data
Filemaker security-protect-your-data
 
2019 devconfza - legacy js
2019   devconfza - legacy js2019   devconfza - legacy js
2019 devconfza - legacy js
 
Document Management System
Document Management System Document Management System
Document Management System
 
AMF Flash and .NET
AMF Flash and .NETAMF Flash and .NET
AMF Flash and .NET
 
Selenium for everyone
Selenium for everyoneSelenium for everyone
Selenium for everyone
 
Intorduction to Datapower
Intorduction to DatapowerIntorduction to Datapower
Intorduction to Datapower
 
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...
 
CIS5-project-boughzala-amine.pptx
CIS5-project-boughzala-amine.pptxCIS5-project-boughzala-amine.pptx
CIS5-project-boughzala-amine.pptx
 
The New Ignition v7.9 - See, Maintain, and Manage Your Enterprise With Ease
The New Ignition v7.9 - See, Maintain, and Manage Your Enterprise With Ease The New Ignition v7.9 - See, Maintain, and Manage Your Enterprise With Ease
The New Ignition v7.9 - See, Maintain, and Manage Your Enterprise With Ease
 
Microsoft India - Unified Communications Exchange Server 2010 Competitive Adv...
Microsoft India - Unified Communications Exchange Server 2010 Competitive Adv...Microsoft India - Unified Communications Exchange Server 2010 Competitive Adv...
Microsoft India - Unified Communications Exchange Server 2010 Competitive Adv...
 
Media streaming on aws
Media streaming on awsMedia streaming on aws
Media streaming on aws
 
Enterprise Blockchain & Data Sovereignty. Carlo Ferrarini, IBM
Enterprise Blockchain & Data Sovereignty. Carlo Ferrarini, IBMEnterprise Blockchain & Data Sovereignty. Carlo Ferrarini, IBM
Enterprise Blockchain & Data Sovereignty. Carlo Ferrarini, IBM
 
Migrating Enterprise Microservices From Cloud Foundry to Kubernetes
Migrating Enterprise Microservices From Cloud Foundry to KubernetesMigrating Enterprise Microservices From Cloud Foundry to Kubernetes
Migrating Enterprise Microservices From Cloud Foundry to Kubernetes
 
The Case Against Frameworks - JFall 2023
The Case Against Frameworks - JFall 2023The Case Against Frameworks - JFall 2023
The Case Against Frameworks - JFall 2023
 

Mehr von Rashmika Nawaratne

Time Management : Manage your focus
Time Management : Manage your focusTime Management : Manage your focus
Time Management : Manage your focusRashmika Nawaratne
 
Higher Education Pathways, Opportunities and Scholarships
Higher Education Pathways, Opportunities and ScholarshipsHigher Education Pathways, Opportunities and Scholarships
Higher Education Pathways, Opportunities and ScholarshipsRashmika Nawaratne
 
Professional Etiquette - Communication, Grooming, Email and Workplace
Professional Etiquette - Communication, Grooming, Email and WorkplaceProfessional Etiquette - Communication, Grooming, Email and Workplace
Professional Etiquette - Communication, Grooming, Email and WorkplaceRashmika Nawaratne
 
Mobile Enablement And Intelligence
Mobile Enablement And IntelligenceMobile Enablement And Intelligence
Mobile Enablement And IntelligenceRashmika Nawaratne
 
Connect the dots and Groom as a Professional
Connect the dots and Groom as a ProfessionalConnect the dots and Groom as a Professional
Connect the dots and Groom as a ProfessionalRashmika Nawaratne
 
Resume Writing and Online Media Presence
Resume Writing and Online Media PresenceResume Writing and Online Media Presence
Resume Writing and Online Media PresenceRashmika Nawaratne
 
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic FrameworkHybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic FrameworkRashmika Nawaratne
 
Show your professionalism using LinkedIn
Show your professionalism using LinkedInShow your professionalism using LinkedIn
Show your professionalism using LinkedInRashmika Nawaratne
 
Professional Communication Etiquette
Professional Communication EtiquetteProfessional Communication Etiquette
Professional Communication EtiquetteRashmika Nawaratne
 
Railway Ticket Issuing System (Online)
Railway Ticket Issuing System (Online)Railway Ticket Issuing System (Online)
Railway Ticket Issuing System (Online)Rashmika Nawaratne
 
How expensive a logical agent is
How expensive a logical agent isHow expensive a logical agent is
How expensive a logical agent isRashmika Nawaratne
 

Mehr von Rashmika Nawaratne (13)

Time Management : Manage your focus
Time Management : Manage your focusTime Management : Manage your focus
Time Management : Manage your focus
 
Higher Education Pathways, Opportunities and Scholarships
Higher Education Pathways, Opportunities and ScholarshipsHigher Education Pathways, Opportunities and Scholarships
Higher Education Pathways, Opportunities and Scholarships
 
Professional Etiquette - Communication, Grooming, Email and Workplace
Professional Etiquette - Communication, Grooming, Email and WorkplaceProfessional Etiquette - Communication, Grooming, Email and Workplace
Professional Etiquette - Communication, Grooming, Email and Workplace
 
Mobile Enablement And Intelligence
Mobile Enablement And IntelligenceMobile Enablement And Intelligence
Mobile Enablement And Intelligence
 
Connect the dots and Groom as a Professional
Connect the dots and Groom as a ProfessionalConnect the dots and Groom as a Professional
Connect the dots and Groom as a Professional
 
Resume Writing and Online Media Presence
Resume Writing and Online Media PresenceResume Writing and Online Media Presence
Resume Writing and Online Media Presence
 
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic FrameworkHybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
 
Show your professionalism using LinkedIn
Show your professionalism using LinkedInShow your professionalism using LinkedIn
Show your professionalism using LinkedIn
 
Professional Communication Etiquette
Professional Communication EtiquetteProfessional Communication Etiquette
Professional Communication Etiquette
 
Sms presentation
Sms presentationSms presentation
Sms presentation
 
OS Fingerprinting
OS FingerprintingOS Fingerprinting
OS Fingerprinting
 
Railway Ticket Issuing System (Online)
Railway Ticket Issuing System (Online)Railway Ticket Issuing System (Online)
Railway Ticket Issuing System (Online)
 
How expensive a logical agent is
How expensive a logical agent isHow expensive a logical agent is
How expensive a logical agent is
 

Kürzlich hochgeladen

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 

Kürzlich hochgeladen (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 

Chromium vs. Firefox

Hinweis der Redaktion

  1. Firefox is a well known browser for using extensions. Since the last decade its a paradise for application developers. Chromium. This was initially the same as the Chrome but Google gave out the source code of chrome for developers and the name of the project was chromium. Then the developers added features and released updates under the name of chromium. Our objective is to compare the 2 browsers.
  2. First we’ll look at a general browser and identify its characteristics. Basically browser is a app to retrieve present travers info/resources on www. Initially the user requests for a web resource using a URL. HTML is passed to the browser's layout engine to be transformed from markup to an interactive document. Other than documents most browsers can display images, audio, video, and XML files using technologies like xpath and xquery. Support Flash applications and Java applets.
  3. User Interface: Navigation Buttons Refresh Button Stop Button Home Button Address Bar Integrated Search Bookmarking Tabbed Browsing Privacy and security Provide support for HTTPS Quick and easy ways to delete the web cache, cookies, and browsing history Extensibility Supports the development of browser extensions. Standard Support Ability to display images, audio, video, and XML files, and have extensions to support Flash applications and Java applets
  4. To achieve the requirements of a web browser, Dr. Alan Grosskurth and Dr. Michael W. Godfrey from University of Waterloo have come up with a reference architecture for a general web browser. User Interface component Provides the methods with which a user interacts with the Browser Engine. The Browser Engine component Provides; Methods to initiate the loading of a URL Show error messages Rendering Engine component Visual representation of a given URL. Interprets the HTML, XML, and JavaScript and generates the layout that is displayed in the User Interface. Data Persistence component Manages user data such as bookmarks and preferences. Networking component Handle protocols as HTTP and FTP. Handles all aspects of Internet communication and security. Display Backend component It provides primitive drawing and windowing methods that are host operating system dependent.
  5. We can see that Firefox architecture is largely same to the reference architecture .But there are two differences between them. 1. In the conceptual architecture user interface only builds on gecko. It is not connected to other subcomponents. In the reference architecture, the user interface connects to the Data Persistence component also. 2. In the reference architecture there are two layers for Browser engine and rendering engine. But in the conceptual they are integrated into Gecko. Gecko is an open source layout engine.   Software used to implement the Firefox modules is mentioned in the figure. For ex. Expat for XML Parser, Spider monkey for java script interpreter etc.
  6. Firefox user interface is built on XPTool kit. Three layers of the XPtool kit is shown in the figure. The Frames & Widgets layer directly defines the individual user interface components such as buttons, text fields etc. Services layer controls the services that can be executed through widgets (saving or printing document). Communication between Frames & Widgets layer, Services layer and Gecko happens through the Application Object Model.
  7. Gecko is the heart and the brain of the Firefox. It takes in contents, such as HTML, XML, and many others, and outputs the parsed content onto the web browser display. It depends on every other sub-component except the User Interface. Gecko first receives document data from the networking subsystem Necko. HTML data is parsed by the Document Parser and sent to the Content Model along with any style data. The content model arranges the data into a DOM tree. The DOM tree, style data, and image data are combined into a frame tree by the Frame Constructor. Then it sends the data to the Graphics Interface to be displayed on the system.
  8. As any other web browser firefox provides basic user interface Features. . Watch Audio, Video, Images and other non-HTML features Without plugging Firefox supports many media formats. Audio - WAVE, PCM, WebM, Vorbis, Ogg, Video -WebM, VP8, Vorbis, Ogg, Theora, Vorbis other - APNG (Animated PNG) images with alpha transparency   It Run JavaScript and CSS It providesTabbed Browsing    Recover from Crashe s Firefox will offer to restore session after a crash or other unexpected close. Session Store feature saves session data, including open windows and tabs,text typed in forms.   Download manager Downloading files can be stopped and started at anytime with download manager. If the downloading file is big and connection is slow, downloading can be paused and started later.
  9. Modifiability Firefox architecture consists of modules. They can be modified while the interfaces are kept unchanged.   Security It uses SSL/TLS ( Secure Sockets Layer,Transport Layer Security )to protect communications with web servers using strong cryptography when using the HTTPS protocol. And Firefox integrates with Windows anti-virus software.   Performance Performance of Firefox has been increased by rapid graphics rendering, improved page load speed and faster start-up time. Firefox uses single process model. Advantages It uses less system resources per tab compared to creating multiple Windows processes. Firefox can use fast in-process data access and synchronization objects when it interacts with the history, cookie and cache data stores. Disadvantages Lack of isolation means that if anything causes a page to crash, all Firefox tabs and windows lose.   Reusability Firefox modules are open source and these modules are used in many applications. (E.g. Gecko is used in SeaMonkey ).   Extendibility Extensions add new functionality to Firefox web browser. They can add anything from a toolbar button to a completely new feature. They allow the application to be customized to fit the personal needs of each user if they need additional features
  10. The chromium’s architecture can be seen as a layered architecture as well as a multi process architecture. The layered architecture shown above is spitted into two parts, the browser process and the renderer process. As shown in the slide, the renderer process runs in a sandbox, a security feature which is implemented by Google. All the architectures do not have a sandbox, it could be disabled or enabled depending on the distributor ( since this is an open source project).
  11. Multi processes for same application The chromium has 2 main processes, one for browser and other one for renderer. When there are multiple tabs, a renderer process created for each tab and a new process is created for each plug-in. Inter process communication Although the application has several processes, these processes communicate with each other. The main inter process communication primitive is the named pipe. In browser process, a separate I/O thread is used to communicate with renderer processes and renderer processes use separate thread for communicating with browser and WebKit. The so-called named pipes are used in asychronous mode ensuring neither ends are blocked wiating for each other. IPC allows processes to exchange information such as user information between tabs although they have their own separate tabs Secure and safe browsing Secure and safe browsing limits IPC with other processes. When secure browsing is enabled, data like user information are not exchanged with other tab processes and the websites visited are not saved in the history manager. Recover from crashes Suppose that the whole browser is a single process application. If that processes is crashed the whole browser will crash and will need to restart. As the chromium uses multi processes although one processes get crashed other processes will not crash and even if crashed by refreshing that tab, a new process can be created redirecting to the website it displayed previously
  12. Security uses middleware like browser kernel which handles procedure calls to operating system. The rendering engine is bounded by a sandbox. So malicious code execution inside the sandbox cannot harm the rest of the browser. The plug-ins are not allowed to install in both rendering engine and kernel, when they are installed, they run in separate processes. The rendering engine receives the web URLs through the browser kernel so browser does not directly access the network. A compromised renderer cannot capture user’s keystrokes as each render process runs in separate windows “desktop” which is not visible to user. Performance chromium has a multi-process architecture, which means all the processes have their own memory address spaces and resource space, therefore avoiding shared memory and resources. Uses V8 JavaScript interpreter so browser is very fast relatively than others. As shown in the multiprocess architecture, the inter-process communication is reduced. So performance increases. Availability and robustness chromium architecture is built in such a way that the plug-ins run in separate processes, so plug-ins do not include in browser kernel or rendering engine processes. So if a plug-in crashes, it does not affect the whole browser. If plug-ins contained in two main processes and if plug-in crashed, there would be a great possibility that the whole browser get crashed. Since chromium has multi-process architecture, although one tab process got crashed, other tab processes do not get affected. Even when the crashed tab is refreshed a new process is created killing the crashed tab. Modifiability since the architecture of the chromium can be seen as a layered architecture, each layer can be modified easily with minimum changes to other layers(at most only adjacent 2 layers only). So a new browser can be derived from the existing architecture easily. Usability uppermost layer is the browser’s view layer. It provides an UI which is very easy to learn and use. User will not get lots of security prompts when interacting with the UI as lots of security issues are resolved using the sandbox. In process architecture, there is a separate process for handling I/O. so user will not feel degrade in performance will sending inputs to browser as they are handled separately by the I/O handing process. Extendibility Chromium is a open source project. Thus with the complete documents, this is expected to develop and extend much further. Also, chromium allows developers to build extensions/plugins and use them with the chromium browser.
  13. 1. Firefox has directly used the reference architecture of a web browser. Chrome has deviated from the usual model and developed their unique architecture. 2. Rendering has complete different architectures for above 2 systems. Firefox uses Gecko layout engine where as Chromium uses Webkit layout engine. Both are very fast and compatible with their own unique differences in HTML 5 and CSS 3 features. Webkit is more popular for mobile devices though. Therefore that's something to consider if you are a mobile user. Chromium uses multi process system. That is each web-page in chromium lives in its own process and so if something bad happens to it the entire browser can continue running. Firefox uses separate threads for each web-pages in the process so if one page crashes whole process will get crashed and you will lose all the tabs opened. 4. In the sense of Extension development Chromium is in further. Because it doesn’t need restart to have the effect of a modified extension where as firefox needs. But still firefox has the lead because before chromium came alive firefox was ruling the extension world.
  14. In Firefox security is achieved through the Networking Subsystem. NSS: (Network Security Services), Set of libraries that supports secure client-server communication and application development. 2. PSM: (Personal Security Manager) is built on top of NSS . Set of libraries that perform crypto operations for the client-side application. – support SSL/TLS/Encryption/Signatures and Certification Mgt For Chromium, security is achieved through a reference monitor and a security policy. Treat the rendering engine as a black box. Reduce the complexity of browser’s kernel security monitor
  15. As conclusion both architectures provide all the requirements in their own ways. According to our opinion, chromium’s architecture is more efficient for the basic non functional requirements such as Usability – elegant design Availability – process based tabs over thread based Security – reference monitor Extendibility – Efficient development environment for extensions Performance – As a user and from the statistics on the internet I can say that the responsiveness of chromium is rather high than FF
  16. References: A Reference Architecture for Web Browsers Alan Grosskurth and Michael W. Godfrey School of Computer Science University of Waterloo http://dev.chromium.org/developers/design-documents http://en.wikipedia.org/wiki/Web_browser http://www.smooth-step.com/web-browsers/features http://web.uvic.ca/~hitchner/assign1.pdf http://www.soi.wide.ad.jp/class/20070050/slides/01/index_5.html