Image viewer Cornice weiterentwickeln

Du hast eine Idee für ein Projekt?
Antworten
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

lunar hat geschrieben:Eine generische Plugin-Struktur mit „maximaler Flexibilität“ (schönes Buzzword) zu entwickeln, ist nicht einfach. Man muss sich also sehr gut mit dem Programm auskennen, und insofern ist eine Plugin-Schnittstelle wohl nicht der geeignete Einstieg.
Denke ich nicht unbedingt, dass das allzuschwierig ist. Salopp gesagt. Man muss einem Plugin einfach ein paar grundlegende Objekte mitgeben oder zur Verfügung stellen (zb das Top Level frame). Vielleicht ist das etwas brachial, aber man kann damit allerhand machen.

Man muss sich aber genauso gut im Programm auskennen, wenn man im Core Bereich etwas ändern möchte. So gesehen bleibt es "ghupft wie ghatscht". ;)

Ich habe auch einmal pycrust in ähnlicher Weise (ich habe mich an DrPython orientiert) gehackt, um Plugins zu erstellen. Ging eigentlich relativ einfach.
BlackJack

@Francesco: Ich denke Du schätzt das falsch ein. Bei DrPython sieht man doch ganz gut dass das entweder zu Plugins führt, die dauernd "kaputt" gehen, oder das man von nichts im Programm mehr die Struktur ändern darf. Einfach ein "god object" an dem *alles* hängt, überall zu übergeben ist keine durchdachte Plugin-Schnittstelle. Sowas kann man natürlich einfach in ein Programm reinhacken -- das ist es dann aber auch: ein Hack. Eine gute Plugin-Schnittstelle entkoppelt die Komponenten ordentlich voneinander statt alles zu einem grossen Klumpen zusammen zu schweissen.
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

BlackJack hat geschrieben:@Francesco: Ich denke Du schätzt das falsch ein. Bei DrPython sieht man doch ganz gut dass das entweder zu Plugins führt, die dauernd "kaputt" gehen, oder das man von nichts im Programm mehr die Struktur ändern darf.
Das ist beides richtig. Ich habe jedoch nicht behauptet, dass es vorbildlich sei, sondern einfach und wie gesagt "brachial".
BlackJack hat geschrieben: Einfach ein "god object" an dem *alles* hängt, überall zu übergeben ist keine durchdachte Plugin-Schnittstelle. Sowas kann man natürlich einfach in ein Programm reinhacken -- das ist es dann aber auch: ein Hack. Eine gute Plugin-Schnittstelle entkoppelt die Komponenten ordentlich voneinander statt alles zu einem grossen Klumpen zusammen zu schweissen.
Ich hoffe ich bin immer noch lernfähig. Ein Python Projekt mit einer vorbildlichen Plugin Schnittstelle wäre interessant. Ich mein, Python Programme mit plugins gibt es ja doch eine gewisse Anzahl (auch Editra glaube ich, dann Boa Constructor, ...) . Weiß jmd. wo das so richtig schön gelöst wurde? Oder ist es eher so, dass es sehr individuell ist, und keine "Schablone" drauf anwenden kann?
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Ein Plugin sollte nicht direkt auf die Anwendung zugreifen oder diese ändern. Es sollte bestimmte Funktionen, GUI Elemente etc. bereitstellen und auf Events reagieren können.
Antworten