30Aug

Det här är varför Firefox är fortfarande år bakom Google Chrome

Firefox har ett problem. Det har fallit bakom, med utveckling stalled på de mest avgörande, svåraste problemen. Många av de viktigaste förbättringarna i Firefox under de senaste åren har helt enkelt kopierat ändringar gjorda i Chrome.

Vi önskar att Firefox var bättre, men verkligheten är att den fortfarande inte är lika bra som Chrome. Med så många tidigare Firefox-utvecklare som nu arbetar på Chrome hos Google kanske det är vettigt att innovationen har hänt i Chrome, inte Firefox.

Ingen flerprocessarkitektur

-processorer får allt fler kärnor, blir kapabla att göra mer arbete parallellt. Enstaka CPU-enheter har blivit oerhörda, och även de lägsta kraftdatorerna har minst dubbla kärnprocessorer. Framtiden är en ständigt ökande mängd CPU-kärnor, och datorprogrammen måste kunna göra mer arbete parallellt för att utnyttja all denna processkraft.

Chrome hanterar detta genom att ha en multi-process arkitektur. Varje webbplats du har öppen körs i sin egen process. Bakgrundsprocesser, som tillägg och appar som gör arbete i bakgrunden, går i sin egen process. Webbläsarinställningar körs också i sin egen process. Kritiskt kör Chrome användargränssnitt i sin egen process också.

Om du har en modern flerkärnig CPU, kommer Chrome att använda den intelligent och fungera bra och dela upp arbetet mellan processorer. Det kan göra många saker på en gång och Chrome: s gränssnitt ska aldrig stampa och hicka som sidor laddas i bakgrunden.

Firefox är en annan sak. Firefox använder en process med en process, även om plugins nu körs i en separat process. Om du öppnar fem webbläsarflikar måste den viktigaste Firefox-processen ladda och göra dem samt hantera Firefox-användargränssnittet, så webbläsaren kommer inte att vara nära så responsiv som Chrome. Om en av sidorna kraschar kommer den att ta hela webbläsaren ner med den.

Det här är fortfarande mycket märkbart - på en kraftfull Intel Core i7 CPU utför Chrome perfekt men Firefox-gränssnittsstödare och saktar ner när flera sidor laddas, åtminstone i min upplevelse. Det är bara inte så smidigt, och det är på grund av Firefox daterad arkitektur.

Mozilla arbetade på en lösning för detta. Det kallades elektrolys, utvecklingen började 2009, och det var ett projekt att göra Firefox till en riktig flervärdig webbläsare. Elektrolysen "sattes i väntan för överskådlig framtid" 2011, med Mozilla att "Elektrolys är ett stort företag" och att de skulle fortsätta "ett antal mindre initiativ" för att förbättra webbläsarens responsivitet på kort sikt.

Mozilla startade omedelbart elektrolysprojektet i maj 2013, så om vi har tur så ser vi en multi-process Firefox vid någon tidpunkt.Även Internet Explorer har flera processfunktioner från Internet Explorer 8, så Firefox är långt efter - och just nu börjar det svåra arbetet att fånga upp efter att ha stoppat projektet 2011.

År bakom Chrome: 4.7 och räknar

Firefox gör inte 't Använd en säkerhets Sandbox

Chrome och Internet Explorer använder en modern Windows-funktion som kallas "low integrity mode" eller "protected mode" för att köra webbläsarprocesser med så få användarbehörigheter som möjligt. Om en sårbarhet för webbläsare upptäcktes och utnyttjades i Chrome eller IE, skulle exploatören också behöva använda någon form av ytterligare sårbarhet för att komma undan säkerhetssandboxen och få tillgång till resten av systemet.

Den här funktionen har funnits sedan Windows Vista, som släpptes för över sex år sedan. Mozilla arbetar dock fortfarande med funktionen "Low Rights Firefox" och det finns ingen tidsram för när sandboxningsfunktioner kommer att rulla ut till användarna. Sandboxing är inte ett botemedel-allt, men det är en viktig säkerhetsfunktion som finns i andra moderna webbläsare.

Kommentarer till Firefox bugspårare indikerar att utvecklare kommer att titta på sandboxing Windows 8 Modern Firefox-appen, Firefox OS och experimentell Servo-webbläsare på OS X. Det finns ingen indikation på att någon arbetar med att sandboxa Windows-desktopversionen av Firefox för tillfället. Det är helt klart den mest populära, mest sårbara versionen av Firefox som behöver mest skyddande.

år bakom Chrome: 4,7 och räknas

Firefox vill ha ett webbapplikationsbutik

Mozilla är fast att webapps och webbteknologi kommer att ersätta behovet av skrivbordsprogram och inbyggda mobilappar och erbjuder en plattformsframtid där HTML5-program körs påvarje plattform.

För detta ändamål vill Mozilla skapa sin egen webbappbutik, känd som Firefox Marketplace. Den här funktionen är tillgänglig i Firefox för Android och kommer att ingå i Firefox OS.Firefox OS är i sig ett mobilt operativsystem som lanseras år efter att det borde ha - senare än även Microsofts Windows Phone och BlackBerrys BlackBerry 10, två mobila operativsystem som har en lång uppåtkämpning framför dem eftersom de lanserades så sent.

Du kan dock bara använda Firefox Marketplace på Firefox för Android för tillfället. Mozilla har pratat om att släppa en Firefox Marketplace för skrivbordet i flera år, men de har bestämt sig för att bara fokusera på mobil för nu. Desktop Firefox Marketplace kommer att släppas i framtiden. Under tiden har Chrome haft Chrome Web Store i flera år. Nya Chrome-packade appar kommer snart att utvidga funktionaliteten i Chrome-webbapps, vilket gör mer av ett stänk.

Mozilla vill driva webbapps och öppna webbteknik på skrivbordet, men de gör det inte - Google är.

år bakom Chrome: 2.5 och räkning

Exempel på Firefox-lagring bakom Chrome

Firefox har tagits upp på många sätt genom åren, men många av dess ändringar har helt enkelt kopierat hur Google Chrome fungerar:

  • Multi-Window Private Browsing : Firefox har nyligen fått möjlighet att öppna ett fönster för privat bläddring tillsammans med ett normalt bläddringsfönster, en mycket önskad funktion som har funnits i Chrome sedan början.
  • Frekventa uppdateringar : Efter Chrome lanserade, flyttade Firefox till ett mer frekvent utgåva schema, som Chrome.
  • -utbyggnader som kan hantera webbläsaruppgraderingar : Firefox måste sedan jobba med att uppdatera dess förlängnings API, vilket gör det möjligt för tillägg att installera utan att starta om och fungera sömlöst utan att bryta sig efter uppdateringar av webbläsarversionen - precis som hur de fungerade på Chrome.
  • PDF Viewer : Firefox har nyligen fått en integrerad PDF-tittare, långt efter en sådan funktion lanserad i Chrome.
  • Användargränssnittsdesign : Alla webbläsare har följt Chromes ledning när de byter till ett mer minimalt webbläsargränssnitt, inklusive Firefox. Senaste UI-mockups föreslår att ännu mer Chrome-liknande gränssnitt kan vara i Firefox-framtid.
  • Out-of-Process-plugins : Även om Firefox inte har ordinarie flerprocessfunktioner som Chrome, lägger den till en funktion som tillåter insticksprogram som Flash att köra i sin egen process så att de inte kraschar resten avwebbläsaren.
  • JavaScript Prestanda : Som alla andra webbläsare drevs Firefox för att dramatiskt förbättra dess JavaScript-prestanda efter att Chrome visat sig ha en enorm ledning i JavaScript-prestanda över alla.

Tagen som helhet är det tydligt att Chrome har ledt paketet i webbläsarinnovation i flera år.

Vi önskar Firefox var bättre

Vi försöker inte bara attackera Firefox här. Det var en gång den bästa webbläsaren, och Mozilla förtjänar kredit för att äta i Internet Explorer 6: s marknadsandel, vilket visar att Microsoft kunde förlora sin plats och tvinga dem att starta om sin stoppade Internet Explorer-utveckling. De förtjänar också kredit för att göra webben mer standardiserad, vilket eliminerar webbplatser som säger att de är "Designed for Internet Explorer". Det har gjort det möjligt för andra webbläsare att gå in - de mest populära är Chrome och Safari. Firefox lade grunden, och Mozilla har varit en outtröttlig fighter för öppna standarder.

Det är bra för webben att ha Mozilla som en webbläsare som inte är knuten till ett enda stort företag, eftersom Microsoft, Google och Apple äger de andra toppwebbläsarna. Det faktum att vi har en webbläsare med öppen källkod skapad av en ideell organisation som bara vill göra webben bättre är bra för webben.

Det är därför synd att Mozilla har tillåtit Firefox att falla så långt bakom. Att stoppa utvecklingen på elektrolys och fortfarande inte har implementerat sandboxningssäkerhetsfunktioner är tecken på att Mozilla inte har varit beredd att knock-down och göra det riktigt svåra arbetet på låg nivå för att förbättra Firefox prestanda och säkerhet. Många av de andra ändringar som de har gjort har imitat förändringar som gjorts i Chrome mycket tidigare.

Firefox är fortfarande den bästa webbläsaren på vissa sätt. Till exempel, om du behöver den mest kraftfulla gränssnittsramen för webbläsare, har Firefox det. Men vi önskar att Firefox var mer konkurrenskraftigt på andra sätt. I 2013 bör en webbläsare vara en multi-process applikation med korrekt säkerhets sandboxing. Men Firefox är inte - det har faktiskt fallit bakom Internet Explorer när det gäller dessa två viktiga funktioner.

Det var en gång en kraftfull webbläsare som kallades Mozilla-sviten. Det var för stort och uppblåst för sig själv, så en grupp utvecklare bestämde sig för att skapa en ny, minimal webbläsare från sin kärnteknologi. De kallade det Phoenix, och det utvecklades till Firefox vi känner idag. Om Mozilla inte kan aktivera Firefox till en modern webbläsare på grund av att alla arvskoder kommer i vägen, kanske vi behöver en Phoenix 2.0.

Bildkrediter: Régis Leroy på Flickr