Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

Alternatief gezocht voor firefox extension systeem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een enorm grote extension gemaakt voor firefox, maar ik ben het inmiddels een beetje zat hoe de mensen van firefox omgaan met de developers voor hun systeem. MDC is vaak traag, documentatie is onvolledig en soms fout. Ook zijn er hele onderdelen van firefox waarover niets te vinden is behalve dan een "voor meer info zie broncode". Nou was dit altijd al een regelmatige bron van ergenis, maar nu blijkt ook nog dat xulplanet.com niet meer werkt (En hier haalde ik dus 80% van mijn info vandaan). Misschien komt de site nog weer online, misschien ook niet. Maar eigenlijk wil ik nu al overstappen naar een andere browser als dit een mogelijk alternatief is. Is er iemand die weet of er zoiets is voor IE of opera en er uit ervaring weet dat het ongeveer even krachtig is als die van firefox? Alles is nu geschreven in javascript, maar zonder problemen zou ik overstappen naar een andere taal mits de documentatie wel op orde is.

(Heeft iemand ook een idee wat er aan de hand is met xulplanet en waarom ze dit zomaar sluiten ?)

Volgens mij zelf kan opera bij lange na niet wat firefox kan, en is de beste kans bij IE om zelf met c# een custom browser in elkaar te zetten maar ik kon met google niet echt verder komen en weet dat dus ook helemaal niet zeker.

[ Voor 15% gewijzigd door Verwijderd op 11-05-2008 09:59 ]


  • djc
  • Registratie: December 2001
  • Laatst online: 08-09 23:18

djc

Volgens mij is min of meer alle content van XULplanet gemigreerd naar MDC. Overigens ben ik de afgelopen paar weken bezig geweest met mijn eerste stappen op het gebied van extensen development, en mijn ervaringen zijn heel anders. De documentatie op MDC is inderdaad niet altijd heel compleet of makkelijk te navigeren, maar ik heb op IRC wel heel veel antwoorden gekregen op al mijn vragen.

Kennelijk probeer jij allemaal dingen te doen met de browser die maar weinig andere mensen doen? Ben wel benieuwd wat voor extensie het hier om gaat, wat voor functionaliteit je allemaal nodig hebt die ongedocumenteerd is.

Rustacean


Verwijderd

Topicstarter
Mijn extension gebruikt idd heeeel erg veel mogelijkheden van firefox. De simpele helloworld voorbeeld extension is nog wel te doen maar zodra je zelf je ideeën wil omzetten in code is het met firefox soms enorm puzzelen hoe iets moet, en als het niet werkt waarom het precies niet werkt.

Je zegt dat je veel hulp krijgt op IRC en dat kan ik ook nog wel proberen, maar naar mijn idee hoort er gewoon een goed naslag werk te zijn. Ik post ook wel eens op het extensions forum maar dat kost je dan direct ook weer een dag of meer voordat je verder kan.Ik vond XUL planet altijd wel redelijk maar heel erg incompleet en hoewel ze er wel vaker uit lagen heb ik nu het idee dat het wel eens permanent kon zijn gezien de duur. Erg onprofessioneel om xulplanet van internet te halen zonder een gelijkwaardig alternatief :/

Ik heb bv vaak gehad dat ik las op het forum dat ik iets moest doen wat ik niet goed kon terug vinden op mdc of xulplanet en soms hebben de ff developers ook gewoon slecht nagedacht door functionaliteit slechts gedeeltelijke te bieden waardoor het in concept leuk lijkt, maar wanneer je het gebruikt bijna nutteloos blijkt te zijn. Als je echt krachtige extensions schrijft zul je vaak tegen problemen oplopen waarbij de oplossing moeilijk te vinden is. Dit zorgt er dus voor dat alles langer duurt dan eigenlijk zou moeten en je meer tijd kwijt bent aan googelen dan aan developen.

Ik heb vroeger ook veel voor windows ontwikkeld en ik sta er toch van te kijken hoe microsoft het blijkbaar mogelijk heeft gemaakt om een enorme berg documentatie over een compleet OS "makkelijk" in gebruik maakt en hoe firefox in staat is om de documentatie van 1 browsertje zo compleet ongestructureerd te krijgen. Er staan wel veel voorbeelden enzo op mdc, maar zoals ik al zei.. als je iets verder gaat dan de plat bewandelde paden dan merk je dat je bijna in je eentje in een heel donker bos zit.Hoeveel ik ff als browser ook waardeer, ik hoop eigenlijk dat ik met IE verder kan want microsoft is stukken beter in het documenteren.

[ Voor 29% gewijzigd door Verwijderd op 11-05-2008 10:42 ]


  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Manuzhai schreef op zondag 11 mei 2008 @ 10:11:
De documentatie op MDC is inderdaad niet altijd heel compleet of makkelijk te navigeren, maar ik heb op IRC wel heel veel antwoorden gekregen op al mijn vragen.

Kennelijk probeer jij allemaal dingen te doen met de browser die maar weinig andere mensen doen? Ben wel benieuwd wat voor extensie het hier om gaat, wat voor functionaliteit je allemaal nodig hebt die ongedocumenteerd is.
Als ik een collega van mij mag geloven (en dat doe ik :)), dan is fietspomp's ervaring eerder regel dan uitzondering: zodra je iets wilt doen dat enigszins complex is, dan loop je er al snel tegenaan dat de mensen van Firefox het zelf ook vaak niet weten, op een enkeling na, die je maar net toevallig te pakken moet kunnen krijgen.
Verwijderd schreef op zondag 11 mei 2008 @ 10:34:
ik hoop eigenlijk dat ik met IE verder kan want microsoft is stukken beter in het documenteren.
In dat geval: kan je me aan de oplossing voor Gedrag cookies in Vista/IE7 'protected mode' helpen? ;)

Wie trösten wir uns, die Mörder aller Mörder?


Verwijderd

Topicstarter
Het moet niet te makkelijk zijn anders kan iedereen developper worden ;).

Maar om even te illustreren wat ik bedoel.. ik heb nu een extension waarbij ik dus moet weten in welke directory de extension zich bevind. Nu heb ik dat al in mijn extension maar ik had nog even de documentatie nodig over hoe het precies werkt en dat is er nu niet meer. Het simpele antwoord geef ik aan het eind wel even, maar nu volg ik precies de instructie welke op mdc staan om de extension directory te krijgen:

De MOEILIJKE methode van mdc
http://developer.mozilla.org/en/docs/Code_snippets:File_I/O
Getting your extension's folder
bladieblablalba

code:
1
2
3
var componentFile = __LOCATION__;
var componentsDir = componentFile.parent;
var extensionDir = componentsDir.parent;


resultaat:
code:
1
Error: __LOCATION__ is not defined


Nou dacht ik, dat is vreem, dan eens even verder kijken naar die __LOCATION__.

http://developer.mozilla...._the_Mozilla_Build_System
The trick to accessing your data files is to figure out where the home directory of your extension is. Rumor has it that at some future date, this will possible through the nsIExtensionManager interface or something similar. In the meantime, there is a simple and reliable hack that can be used to achieve this. In the implementation of any JavaScript XPCOM component, there is a special __LOCATION__ (two leading and two trailing underscores) symbol that points to the component’s implementation file. So you can write a simple component which deduces the root directory of your extensions by extrapolating from its location.

This article explains how to create an XPCOM component in JavaScript. You’ll need an IDL file for an interface that looks something like this:

code:
1
2
3
4
interface myILocation : nsISupports
{
    readonly attribute nsIFile locationFile;
};

Place the IDL file in the public/ directory of your project or subproject. In the src/ directory, place the JavaScript file that implements the component. The component implementation will include the methods for retrieving the path or file for the extension’s home directory:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
myLocation.prototype =
{
  QueryInterface: function(iid)
  {
    if (iid.equals(nsISupports))
      return this;
    if (iid.equals(myILocation))
      return this;
    
    Components.returnCode = Components.results.NS_ERROR_NO_INTERFACE;
    return null;
  },
    
  get locationFile()
  {
     return __LOCATION__.parent.parent;
  }
}


Nou geef ik eerlijk toe dat ik niet precies begrijp wat die __LOCATION__ nou precies doet, maar het enige wat ik wil doen is de directory van de extension krijgen, en dat lijkt mij persoonlijk dit net wat teveel van het goede. Ik zou het wel werkend kunnen krijgen als ik het nodig had, maar dit zou niet zo omslachtig moeten zijn. Dan moet je ook nog bedenken dat dit alleen nog maar is om de dir van de extension te vinden, als je ideeen nog exotischer zijn, dan IS er niet eens een voorbeeld te vinden.

De MAKKELIJKE methode
Zoals beloof nu even de iets makkelijkere oplossing maar helaas is er geen documentatie meer te vinden van nsIExtensionManager :(. Dit is eigenlijk maar 1 regel maar vanwege die belachlijke manier van functies aanroepen in firefox ziet het er een ingewikkeld uit.
code:
1
2
3
4
baseDir = Components.classes["@mozilla.org/extensions/manager;1"]
         .getService(Components.interfaces.nsIExtensionManager)
         .getInstallLocation(pluginId)
         .getItemLocation(pluginId);


PS ik vraag me af waarom ze dit voorbeeld niet geven en de voorkeur hebben gegeven aan die IDL troep, maar zoals vaker lijkt het soms alsof de firefox developpers een lijntje teveel op hadden toen ze bezig waren :*). Als ze ook maar beetje zouden denken aan de plugin developers hadden ze wel iets gemaakt als:
code:
1
dir = System.getExtensionDir(pluginId);

[ Voor 3% gewijzigd door Verwijderd op 11-05-2008 11:43 ]


  • djc
  • Registratie: December 2001
  • Laatst online: 08-09 23:18

djc

Confusion schreef op zondag 11 mei 2008 @ 10:49:
Als ik een collega van mij mag geloven (en dat doe ik :)), dan is fietspomp's ervaring eerder regel dan uitzondering: zodra je iets wilt doen dat enigszins complex is, dan loop je er al snel tegenaan dat de mensen van Firefox het zelf ook vaak niet weten, op een enkeling na, die je maar net toevallig te pakken moet kunnen krijgen.
Nouja, misschien waren mijn vragen tot nu toe heel makkelijk, maar ik heb in #developers en #extdev op irc.mozilla.org bruikbare antwoorden gekregen op alle vragen die ik maar kon bedenken. Dus dat kan ik in ieder geval van harte aanraden.

En verder, tsja, ik denk wel dat er verschil tussen de open source-cultuur en de Microsofts en Adobes die vooral heel graag developers willen aantrekken om op hun platform te werken. Bij Mozilla is men vooral gefocused op Firefox en is het platform (XULRunner, extensions) wat minder belangrijk. Je wordt dan al snel verwezen naar het lezen van de source, of het traditioneel zelf bijdragen van code/documentatie. Dat is vaak vast wat minder vriendelijk, maar ik geef desalniettemin de voorkeur aan open source-code waar ik uiteindelijk wel helemaal zelf kan uitzoeken wat er speelt (toegegeven, bij een codebase met de grootte van Mozilla is dat nog vrij complex) boven een platform waar je op een gegeven moment aanloopt tegen gesloten binary blobs, waar je een beetje moet hopen op de genade van het desbetreffende bedrijf (zoals bij het protected mode probleem van Confusion?).

En, er is nog steeds niets gezegd over wat voor extensie het nou is! Ben wel nieuwsgierig. Kan je er niets over loslaten?

Rustacean


Verwijderd

Topicstarter
Manuzhai schreef op zondag 11 mei 2008 @ 13:29:
[...]
Nouja, misschien waren mijn vragen tot nu toe heel makkelijk, maar ik heb in #developers en #extdev op irc.mozilla.org bruikbare antwoorden gekregen op alle vragen die ik maar kon bedenken. Dus dat kan ik in ieder geval van harte aanraden.
Om eerlijk te zijn heb ik nog maar 1 keer van mijn leven op irc gezeten en dat is ongeveer 5 jaar geleden. Ik vond irc toen een beetje onhandig in gebruik maar zal wel even een goede irc client zoeken. Suggesties?
Manuzhai schreef op zondag 11 mei 2008 @ 13:29:
[...]

En, er is nog steeds niets gezegd over wat voor extensie het nou is! Ben wel nieuwsgierig. Kan je er niets over loslaten?
Gezien de zeer strenge regels op dit forum heb ik dat ook eerder expres achterwege gelaten. Mijn extension is eigenlijk soort van hobby geworden om te kijken hoe ver je kan gaan met een ff extension en tegelijk heb ik er enorm veel bij geleerd over javascript. Mijn extension is instaat om een niet nader te noemen web-based-game geheel automatisch te spelen. Maar zoals ik al zei is het niet bedoeld voor iedereen te helpen met valsspelen en daaarom is hij ook niet vrij verkrijgbaar. (Zelf speel ik het spel niet echt meer, dus daarom doe ik het niet.). Meer details geef ik liever niet maar ik ben tot de conclusie gekomen dat je enorm ver kan gaan (maar kost soms ook erg veel moeite/tijd).

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09 23:18

djc

Verwijderd schreef op zondag 11 mei 2008 @ 13:49:
Om eerlijk te zijn heb ik nog maar 1 keer van mijn leven op irc gezeten en dat is ongeveer 5 jaar geleden. Ik vond irc toen een beetje onhandig in gebruik maar zal wel even een goede irc client zoeken. Suggesties?
Ik gebruik altijd irssi op een Linux shell, maar als je gewoon in Windows een client wil kan je denk ik goed Chatzilla gebruiken (een Firefox-extensie!) of anders mIRC ofzo.

Rustacean


Verwijderd

Verwijderd schreef op zondag 11 mei 2008 @ 13:49:
Ik vond irc toen een beetje onhandig in gebruik maar zal wel even een goede irc client zoeken. Suggesties?
Opera! :P
Pagina: 1