Firefox add on in C#?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Mir
  • Registratie: Maart 2001
  • Niet online
Hoi!

Ik wil een add-on/extention maken voor firefox. Dit moet in C# gemaakt worden.
Ik heb op google al wat gelezen over XUL, maar kan niet iets vinden over C#.

Is het niet mogelijk om een plugin te maken voor Firefox in C#?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Waarom moet het in C#?
Bij mijn weten kunnen extensions alleen in XUL, maar ik heb me er (nog) niet echt in verdiept.

[ Voor 64% gewijzigd door RobIII op 27-02-2008 18:05 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • m-m
  • Registratie: Augustus 2001
  • Niet online

m-m

Je kan volgens mij met XPCOM wel met Firefox babbelen vanuit een losse applicatie, vast ook wel vanuit een C# applicatie. Lijkt me niet erg handig alleen, wat is het dat je wilt doen?

(Merk op dat ik geen idee heb waar ik 't over heb)

[ Voor 12% gewijzigd door m-m op 27-02-2008 19:29 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Naar mijn weten kan het ook alleen in XUL. Nou komt er wel veel javascript bij kijken wat weer zeer veel op C lijkt dus ik denk niet dat het een groot struikelblok voor je zal zijn. Als je ook wat kennis hebt van css en xml zal het helemaal geen probleem meer zijn, xul is gebasseerd op al deze standaarden dus mogelijk hoef je geen nieuwe dingen te leren :)

Acties:
  • 0 Henk 'm!

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 00:05
XUL / XPCOM werkt ook best met C++.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Acties:
  • 0 Henk 'm!

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

djc

"Alleen in XUL" is maar een deel van het plaatje. XUL is de taal die gebruikt wordt om de User Interface op te bouwen. Voor het opbouwen van functionaliteit wordt in principe gebruik gemaakt van JavaScript, maar vanuit JavaScript kan je via het al eerder genoemde XPCOM wel weer gecompileerde code aanspreken. Je moet dus even onderzoeken of er al eens iemand een XPCOM-binding voor C# gemaakt heeft. Zoiets is er bijvoorbeeld wel voor Python. Misschien is het echter makkelijker om iets te bedenken dat vanuit JavaScript via XMLHttpRequests communiceert met een (web service-achtige) C#-daemon.

Rustacean


Verwijderd

Ik heb al eens een flink grote extension gemaakt voor firefox en dat gebeurt met javascript + xul. Het is op het begin even flink iritant omdat er heel veel heel slecht is gedocumenteerd en het ontwerp van firefox steekt soms gewoon heel raar in elkaar. Als je gewend bent aan de kwaliteit van bijvoorbeeld msdn dan steekt mdc daar enorm schril bij af. Maar zodra je je weg er in hebt gevonden kom je een heel eind (tot die tijd is het veel ellende).

Normaal gesproken kan je alles doen met javascript + xul, maar als je echt zwaar rekenwerk hebt is het wellicht beter om een plugin te maken met c/c++. Ik heb al eens een voorbeeld plugin (c/c++) van mdc gedownload en gecompileerd met mingw en die had ik na 10 minuten al draaien. Misschien is dit ook mogelijk om met c# te doen.

Maar als je geen kei-goede reden hebt om het in c# te doen zou ik gewoon een extension maken met javascript en xul. Als je nieuw bent met firefox ontwikkeling is dat meer dan lastig genoeg ;). 95%+ van de "exta's" voor firefox is ook een extension, maar dingen als een quicktimeplayer of een flashspeler zijn natuurlijk wel een plugin omdat je geen flimpjes kan afspelen met een javascript programma.

PS voordat je 1 regel code maakt even de info pagina's over het maken van een extension 3x heel goed doorlezen. Er staat o.a. goede info over extra tools die je "moet" gebruiken zoals een javascript debugger en een soort van javascript terminal ding (ben naam even vergeten).

PPS Je zal op het begin steeds aanlopen tegen dingen die om rare redenen niet werken. Beste is om even een post te doen op het firefox forum in de goede topic want met de slechte documentatie is er gewoon zelf lang niet altijd uit te komen.

[ Voor 46% gewijzigd door Verwijderd op 28-02-2008 19:03 ]


  • Mir
  • Registratie: Maart 2001
  • Niet online
Heren,

ontzettend bedankt voor jullie reactie.
Ik ga hier later wat breder in mijn antwoord uitwijden!

C# is overigens echt een MUST :)

Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Wat is dat voor een onzin? :? Sla jij ook een spijker met een schroevendraaier de muur in voor je lol?

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • Bergen
  • Registratie: Maart 2001
  • Laatst online: 07-09 11:44

Bergen

Spellingscontroleur

Want?

Acties:
  • 0 Henk 'm!

Verwijderd

Je moet het zelf weten maar ik raad dat HEEL sterk af. Begin iig toch eens even met een javascript programma. Ik ben een redelijk ervaren programmeur en met javascript was het al een behoorlijke kluif (voornamelijk omdat ik de functionaliteit van ff tot het uiterste heb gebruikt). Een 'hello world' achtig iets heb je zo, maar zodra je zelf dingen maakt loop je steeds tegen problemen op. Wanneer je denkt dat je met c# als beginneling in firefox direct aan de slag kan dan denk ik niet dat het je gaat lukken. Het hele extension systeem werkt juist zo "goed" door de makkelijke integratie van javascript. Je kan makkelijk debuggen en zelf code testen met de javascript shell. Als je met c# aan de gang gaat haal je 1 van de belangrijkste pijlers van het extension systeem onderuit.

Om even een raar voorbeeld te geven: tanden kan je schoonmaken met een tandenborstel en volgens dezelfde logica zal je er een vloer ook wel mee kunnen schrobben. Maar toch zullen de meeste mensen er voor kiezen om een vloer te schrobben met iets wat er echt voor bedoelt is. Dit voorbeeld is niet overdreven trouwens, het gaat je gewoon enorm veel meer tijd , moeite en ergernis kosten.

Als je het toch doet wens ik je enorm veel succes :)

EDIT:
Je kan er ook voor kiezen om zoveel mogelijk in javascript te doen en de dingen wat heel snel/efficient moet gebeuren in c#, als je dan zo nodig c# moet gebruiken.

[ Voor 5% gewijzigd door Verwijderd op 29-02-2008 11:45 ]

Pagina: 1