Firefox/Projects/Jetpack: Difference between revisions

Line 7: Line 7:
Jetpack's architecture under versions 0.8 and earlier (now called the Jetpack "prototype") is being abandoned for a new architecture nicknamed the Jetpack "reboot".  Check the [[Labs/Jetpack/Reboot|Labs reboot wiki page]] for details, but briefly, the differences between the two:
Jetpack's architecture under versions 0.8 and earlier (now called the Jetpack "prototype") is being abandoned for a new architecture nicknamed the Jetpack "reboot".  Check the [[Labs/Jetpack/Reboot|Labs reboot wiki page]] for details, but briefly, the differences between the two:


* The reboot has a security model, the prototype didn't.
* Extensions produced under the reboot are actually XPIs.  Under the prototype they were single JS files.
* Extensions produced under the reboot are actually XPIs.  Under the prototype they were single JS files.
* The reboot is very loosely integrated with Firefox.  The Jetpack runtime is bundled in each XPI.  The only significant hook that these XPIs require is a no-restart-needed mechanism.
* The reboot is very loosely integrated with Firefox.  The Jetpack runtime is bundled in each XPI.  The only significant hook that these XPIs require is a no-restart-needed mechanism.
* The reboot has a security model, the prototype didn't.
* There are two layers of APIs under the reboot.  "Cuddlefish" is low-level, chrome-privileged, and wraps the platform.  "Jetpack" is high-level, secure, builds on Cuddlefish, low surface area, and friendly.  It's possible to use Cuddlefish without using Jetpack.
* There are two layers of APIs under the reboot.  "Cuddlefish" is low-level, chrome-privileged, and wraps the platform.  "Jetpack" is high-level, secure, builds on Cuddlefish, low surface area, and friendly.  It's possible to use Cuddlefish without using Jetpack.


Confirmed users
764

edits