Firefox 48: élesedett az Electrolysis
A tegnap megérkezett a Firefox 48-as kiadása, és vele együtt a Project Electrolysis is eljött a Firefox stabil kiadásába. Ez hatalmas mérföldkő, de még nagyon sok van hátra.
Végre elérte a stabil kiadást a Mozilla Project Electrolysis néven futó kezdeményezése, mely a Firefox böngésző process-ekre (folyamatokra) való lebontását célozza. A még 2009-ben indított projekt ezzel elérte eddigi legfontosabb mérföldkövet, és bár az út még hosszú, az "alapok már a helyükön vannak" - fogalmaz a szervezet nevében Asa Dotzler, a projektet irányító fejlesztő.
A Mozilla július elején jelentette be, hogy az Electrolysis első eredményeit a Firefox 48-cal kezdi meg bevezetni a nagyközönség számára, ezzel a kiadással kerül be először a böngésző stabil verziójába a fejlesztés. Az Electrolyis hányatott sorsáról és célkitűzéseiről részletesen akkor írtunk, a komoly erőfeszítés lényege pedig az, hogy a monolitikus Firefoxot egymástól szeparált, protokollokon keresztül kommunikáló programfolyamatokra (process) bontsa szét.
Az about:support oldalon kereshető ki az Electrolysis állapota - ez nem nyert.
A tegnap élesedett Firefox 48-cal ezt a Mozilla teljesítette is, az ígéretekhez híven a böngészőben már elérhető a több folyamaton futás, és a felhasználók egy részénél már ez az alapértelmezett működés. Hogy pontosan kinél? A Mozilla előbb meghatározta a felhasználók azon csoportját, akiknél a telemetriai adatok szerint semmilyen stabilitási vagy kompatibilitási gondot nem fog okozni az Electrolysis - majd e csoport egy százalékánál élesítette a fejlesztést. Ha a visszagyűjtött adatok szerint a várakozásoknak megfelelően stabil a böngésző, akkor a csoport minden tagja megkapja a képességet, ez a Firefox 48-felhasználók mintegy felét jelenti.
Ezt hozza a Firefox 48 - külön UI, külön tartalom
A felhasználók másik felének a Firefox 48 nem hoz majd változást, nekik a böngésző következő stabil kiadásait kell megvárniuk. Az előzetes termékterveknek megfelelően a következő, 49-es verzió kapcsolja be majd a multiprocess architektúrát azoknak, akik bizonyos, kompatibilisnek ítélt, előzőleg már tesztelt bővítményeket használnak. Az 50-es kiadás tovább tágítja a kört, ezzel már ott is alapértelmezett lesz a több folyamat használata, ahol a Mozilla által nem vizsgált, de a multiprocess működést expliciten támogató, vagy a WebExtensions API-t használó bővítmények vannak.
A végére marad az a kör, akik az architektúrát nem támogató bővítményeket használnak. Őket egyelőre nem bántja a Mozilla, de "idővel" mindenki számára alapértelmezetté válik a multiprocess működés, az ezt nem támogató bővítményeket pedig letiltja a böngésző. "Emiatt nagyon fontos, hogy az add-onok fejlesztői frissítsék a szoftvereket, hogy azok kompatibilisek legyenek a multiprocess működéssel" - mondja a Mozilla.
Következő stáció: a tabok is külön-külön folyamatban futnak.
A Gitlab mint DevSecOps platform (x) Gyere el Radovan Baćović (Gitlab, Data Engineer) előadására a november 7-i DevOps Natives meetupon.
Ezzel azonban nem zárul majd az Electrolysis bevezetése, a folyamat igazából ezzel csak elkezdődik. Az új architektúra ugyanis csak nagyon alapszintű bontást enged meg magának, az UI-ról választja le a tartalmat (a weboldalakat). A következő lépés a tartalmi process felbontása lesz, vagyis minden egyes oldal külön saját folyamatot kap majd, ez várhatóan 2017 első felében jelenhet meg stabil kiadásban.
Távoli jövő: minden kiterjesztés saját folyamatban.
Ezzel párhuzamosan folyik a biztonsági sandbox fejlesztése, amely igen szigorúan szabályozza majd, hogy a tartalmi folyamatok milyen jogosultsággal rendelkeznek a fő process, illetve az operációs rendszer felé. A megerősített sandbox a tervek szerint még idén stabil kiadást kaphat.
A puzzle utolsó eleme pedig a beépülőkhöz kötődik, amelyek a jövőben szintén saját, izolált folyamatban futnak majd. Ez azt jelenti, hogy a problémás beépülő nem tudja megakasztani majd a böngésző működését, összeomlása pedig nem rántja magával az egész böngészőt. Ez a munka csak kezdeti fázisban van, még a várható rajthoz sem rendelt időpontot a szervezet.