Nachdem ich ja letztens schon meine ersten praktischen J2EE-Erfahrunge gesammelt hatte, habe ich mich am Wochenende mit .NET bekannt gemacht. Ich hatte bei einem Freund angekündigt, ein Plugin für Google Desktop Search zu schreiben, um damit FTP-Server durchsuchen zu können. Dummerweise wusste ich da noch nicht, dass man dafür mit COM hantieren muss, was ich als eher ekelig empfinde. Das hat mich erstmal deutlich demotiviert – bis ich in der Plugin-Liste einen .NET-Wrapper entdeckte. Damit musste ich mich dann doch nicht mehr mit COM rumschlagen.
Nach einigen Startschwierigkeiten (FTP ist ein sehr ekeliges Protokoll!) ging es recht schnell voran. Ein Programmteil, der den Dateibaum nach XML exportierte stand schnell und von dort zu GDS war es auch nicht mehr weit. Am Samstag Abend fand mein GDS die erste Datei auf einem FTP-Server. Wundersamerweise scheint das Programm wirklich schon zu funktionieren. Es ist zwar langsam und hat noch deutliche Schwächen (Multithreading wäre wichtig, damit die GUI auch den Fortschritt anzeigen kann), aber es funktioniert. Werde ich es weiterentwickeln? Das weiß ich nicht. Ich will es erstmal ein wenig testen und lokal nutzen, dann kann ich weitersehen. Wenn es hier ein Leser haben will, stelle ich es natürlich gerne zur Verfügung – mitsamt Source natürlich. Kurze Mail an mich und sowohl die Binary- als auch die Sourcecode-Fassung sind unterwegs. Wer es weiterentwickeln will ist auch gerne eingeladen.
Beim Thema weiterentwickeln fällt mir noch ein: Das ganze ist sehr einfach aufgebaut. Es gibt einen Teil, der FTP-Server indiziert und beim Betreten von neuen Verzeichnissen, beim auffinden von Dateien und beim verlassen von Verzeichnissen Methoden einer ein bestimmes Interfaces implementierenden Klasse aufruft. Diese erhalten ein Objekt, das Informationen über die gefundene Struktur enthält und können damit machen, was sie wollen. Wer also irgendwas mit einer Liste von Dateien und Verzeichnissen eines FTP-Servers machen will, kann das Programm vielleicht ganz gut gebrauchen, damit er sich nicht mit FTP rumschlagen muss…