Posso sviluppare un'estensione per Chrome in un linguaggio diverso da JavaScript, per esempio Python?
Non direttamente.
Le estensioni Chrome sono costruite su.... Chrome. Sfruttano tutti gli stessi motori sottostanti utilizzati dal resto dell'applicazione, compreso il motore JavaScript V8, i motori di rendering HTML/CSS, ecc. Chrome espone solo le API JavaScript. Chrome non viene fornito con un runtime Python, o un runtime Node, o qualsiasi altro runtime. Questo è il motivo per cui non puoi usare altri linguaggi.
Il caveat è che puoi sfruttare l'assemblaggio web, ma devi comunque attivarlo attraverso JavaScript. Puoi anche fare richieste ai server, quindi potresti ospitare certe funzionalità per conto tuo e connetterti ad esse dall'estensione. Nessuna di queste strategie riguarda realmente la creazione dell'estensione... sono semplicemente modi per delegare certe responsabilità ad altre risorse di sistema locali e/o remote. Tenete a mente che tutte queste strategie sono influenzate dai permessi che la vostra estensione richiede.
Ho lavorato con JS per più di 20 anni e ho lavorato con alcuni ambienti significativamente impegnativi. Ho anche creato 4 estensioni per Chrome, ed è difficile da fare, anche con JavaScript, ogni singola volta. I documenti non sono i più intuitivi, la maggior parte degli esempi sono molto datati, e l'ambiente è molto diverso dalla costruzione di una pagina web (quindi, vuoi devtools nei tuoi devtools?). Credo che cercare di aggiungere un altro linguaggio al mix complicherebbe significativamente il processo.
Ci sono alcune librerie open source per aiutare, ma anche quelle soffrono del fatto che lo sviluppo di estensioni non è nemmeno lontanamente compreso come il comune sviluppo web. Quindi, è una faticaccia, non importa in che modo la si affronti.
Articoli simili
- Quale linguaggio di programmazione dovrei imparare prima - Javascript o Python come principiante per creare un'applicazione desktop?
- Qual è la differenza tra linguaggio macchina, linguaggio assembly e linguaggio di alto livello nei computer?
- Quale linguaggio di backend dovrei scegliere di imparare: Python, PHP o Ruby per sviluppare applicazioni mobili per i social media come Twitter?
- Quale linguaggio di programmazione dovrei usare per creare un'estensione del browser che possa funzionare su tutti i browser?