Extension.js Tanıtımı
- Extension.js, kurulum gerektirmeyen plug-and-play tarzında çapraz tarayıcı uzantı geliştirme aracıdır
- TypeScript, WebAssembly, React ve modern JavaScript’i varsayılan olarak destekleyerek çapraz tarayıcı uzantılar oluşturmanıza olanak tanır
Yeni bir uzantı oluşturma
Chrome Extension Samples kullanımı
Microsoft Edge’de Chrome Extension Samples kullanımı
Edge’de Mozilla eklentisi çalıştırma
Mevcut bir uzantıda Extension.js kullanma
- Mevcut uzantınız bir paket yöneticisi kullanıyorsa, Extension.js paketini kurup bir betik oluşturarak çalıştırabilirsiniz
devDependency olarak extension kurun
npm install extension --save-dev
- npm betiklerini Extension.js komutlarına bağlayın
{
"scripts": {
"build": "extension build",
"dev": "extension dev",
"start": "extension start"
},
"devDependencies": {
"extension": "latest"
}
}
- Geliştirme için
npm run dev, üretim modu önizlemesi için npm run start, üretim modu derlemesi için npm run build komutlarını kullanın
Geliştirme için belirli tarayıcı kullanma
- Masaüstü tarayıcı desteği
| Brave |
Chrome |
Edge |
Firefox |
Opera |
Safari |
Vivaldi |
| ☑️ |
✅ |
✅ |
⛔️ |
☑️ |
⛔️ |
☑️ |
- ☑️ = Çalışma olasılığı yüksek, ancak tarayıcı başlatıcısı desteklenmiyor
- Mobil tarayıcı desteği
| Firefox Android |
iOS Safari |
| ⛔️ |
⛔️ |
- Belirli bir tarayıcı hedefliyorsanız,
dev/start komutlarına --browser bayrağını iletin
- Örnek:
npx extension dev path/to/extension --browser=edge
- İpucu:
--browser="all" ile kullanılabilir tüm tarayıcıları tek seferde yükleyin
GN⁺’in görüşü
- Extension.js, çapraz tarayıcı uzantı geliştirme için güçlü bir araç gibi görünüyor. Özellikle kurulum gerekmeden hemen kullanılabildiği ve birden fazla tarayıcıyı kolayca desteklediği için geliştirme süresini ciddi biçimde kısaltabileceği düşünülüyor.
- Chrome Extension Samples veya MDN WebExtensions Examples gibi mevcut örnekleri kullanabilmek de büyük bir avantaj. Yeni başlayan geliştiriciler için de başlangıcı kolaylaştırır gibi görünüyor.
- Ancak Firefox veya Safari gibi bazı tarayıcılar henüz tam anlamıyla desteklenmiyor gibi görünüyor, bu nedenle dikkat etmek gerekiyor. Sadece belirli bir tarayıcıyı hedefliyorsanız o tarayıcının özel geliştirme araçlarını kullanmayı düşünmek gerekebilir.
- Mevcut Plasmo, WebExtensions API gibi benzer araçlarla karşılaştırıldığında avantaj ve dezavantajları merak ediyorum. Özellikle Manifest V3 gibi en yeni spesifikasyonların desteklenip desteklenmediğini kontrol etmek gerekebilir.
1 yorum
Hacker News görüşleri
Plasmogibi benzer frameworklerle karşılaştırmaya dair soru gündeme getirildisafari-web-extension-converterCLI aracı kullanılarak nispeten kolay olacağı görüşü paylaşıldı