Filebrowser Programmieren

Escapado

Lt. Junior Grade
Registriert
März 2008
Beiträge
441
Hallo zusammen.

Ich habe mir folgendes Projekt in den Kopf gesetzt: Ich möchte einen Filebrowser für Windows programmieren. Ich besitze einige Erfahrung mit HTML/CSS/JS, AutoIT und ein wenig Basiswissen in C++. Der Filebrowser soll grafisch nach diesem Vorbild entstehen: http://dribbble.com/shots/693868-Windows-8-Day-Mode/attachments/63289

Mir ist natürlich durchaus bewusst, dass das ein etwas größeres Projekt ist aber nichtsdestotrotz möchte ich mich dessen annehmen. Nun kommt für mich die Frage auf, wie sich das praktischerweise gut umsetzen ließe. Also so ein Design in HTML/CSS/JS zu zaubern liegt durchaus im Bereich meiner Fähigkeiten. Leider habe ich aber keine Ahnung davon, wie man mit den Websprachen Desktopapps entwickelt und ob diese Mächtig genug sind, um so etwas zu ermöglichen. Ich habe schon gesehen, dass es eine FileSystem API für HTML5 gibt.
Kennt ihr zufällig ein SDK, mit dem man recht komfortabel entsprechende Desktop Apps entwickeln kann? Google spuckt da wohl app.js aus aber so wie ich das erkenne lässt sich da nicht auf Windows-Window Controls verzichten und es wird ein Fensterrahmen mitgezeichnet.

Ich wäre natürlich auch bereit mich in c++ weiterzubilden, falls ihr sagt, dass so ein Projekt dann doch eher mit so einer Sprache angangen werden sollte, weil man mit den Websprachen zu schnell an seine Grenzen stößt(siehe Featureliste unten) oder das ganze zu langsam wird.

Wichtige Features, die ich im Laufe dessen Implementieren möchte sind über das einfache Auflisten von Ordnern und Dateien:
Drag and Drop
Suchfunktion
Auslesen von Dateieigenschaften der ausgewählten Datei
Sortierfunktion (Nach Name, sowie nach Typ)
Preview von Bildern
Dateitypspezifsche Icons
Tastenshortcuts (z.B. für das erstellen eines neuen Ordners)
Dropdown-Menü bei Rechtsklick auf Dateien für das öffnen/löschen/kopieren etc.

Es würde mich freuen, wenn ihr mir sagt, was ihr darüber denkt und was für Anmerkungen ihr noch so habt.
 
Zuletzt bearbeitet:
Meine persönliche bescheidene Meinung ist, das Websprachen in das Web gehören.
Deshalb würde ich so ein Projekt in einer nativen Anwendung umsetzen. Je nachdem,
wie viel C++ du schon kannst, würde ich das nehmen oder ggf. (falls du dir sicher
bist, dass du dich auf Windows allein beschränken willst) eine .net-Sprache verwenden.
Letzteres aber nur, wenn der Aufwand, die neue Sprache zu lernen, bis du sie so gut
kannst, wie C++ jetzt, gegenüber den Bequemlichkeiten, die .net bietet, nicht unver-
hältnismäßig erscheint.

Auch möchte ich warnen, dass hier höchstwahrscheinlich ein Glaubenskrieg ausbrechen
wird. Jeder hat seine persönlichen Lieblinge, was Programmieren angeht. Deshalb glaube
ja nicht, dass hier irgendjemand annähernd eine objektiv richtige Empfehlung geben wird.

Wie du dein Projekt angehst, ist als allererstes deine eigene Entscheidung und wenn
du nach zweimaligem Lesen einer Antwort hier nicht erkennen kannst, inwiefern die
gegebene Empfehlung dir persönlich etwas nützt, dann ignoriere sie besser gleich. Und
ja, damit schließe ich mein eigenes Gelaber hier ein.
 
Zuletzt bearbeitet:
Das TideSDK ist dafür die meines Wissens nach sinnvollste Möglichkeit, man darf aber nicht übersehen, dass die Entwicklung daran sehr schleppend vorran geht. Wurde aber im Gegensatz zu den vielen anderen "HTML/JS/CSS on Desktop" wenigstens noch nicht eingestellt...
 
Zuletzt bearbeitet:
Meine bescheidene Meinung: Es gibt schon eine Übersättigung an Dateimanagern.
 
Tuxman schrieb:
Meine bescheidene Meinung: Es gibt schon eine Übersättigung an Dateimanagern.

Also muss man krampfhaft innovieren oder egal was man tut einfach sein lassen? Ich bemitleide dich ein wenig.
 
Mimimi, mimimimi? Ja, man sollte krampfhaft innovieren. Es ist doch demotivierend zu wissen, dass man viel Arbeit in etwas steckt, was es überall schon umsonst und besser gibt.
 
Also ich kann dir nur zu .Net raten und am besten dort dann WPF verwenden, dort hast du Design technisch, eine ähnliche Struktur wie im normalen HTML nur diese nennt sich XAML.Für die Buisness Logic würde ich dir dann zu einer OOP Sprache wie C# raten.Sie ist relativ schnell zu erlernen und du wirst dort schneller Erfolgserlebnisse haben, als wenn du dein ganzes Projekt in C++ schreibst.
 
Kanibal schrieb:
Wo genau siehst Du da etwas, was mit HTML5 nicht möglich wäre?
Wie wär's mit: Zugriff auf das Dateisystem?
Mit dem FileSystem API kann eine Web-App Daten erstellen, lesen, navigieren und in einen durch die Sandboxing-Technologie geschützten Abschnitt des lokalen Dateisystems des Nutzers schreiben.

Mehr würde ich von einem Web-Dateibrowser auch nicht erwarten.
 
Im Prinzip kann man das auch per C++/Qt machen. Dann funktioniert's gleich unter allen relevanten Betriebssystemen, außerdem ist die API wahrscheinlich ein wenig hübscher als die WinApi. Allerdings werden dann einem betriebssystemspezifische Dinge fehlen, ala "alte Versionen einer Datei", verschlüsselte Dateien, u.ä..

Klasse, die Informationen zu einer Datei parat hält:
http://qt-project.org/doc/qt-5.1/qtcore/qfileinfo.html

Klasse, die einem Dateitypicons serviert:
http://qt-project.org/doc/qt-5.1/qtwidgets/qfileiconprovider.html

Im Bild ist ein Minimalbeispiel gezeigt, in dem ein rahmenloses Fenster mit einem Widget, das mir den Ordnerinhalt eines Pfades anzeigt.

Anhang anzeigen 369320
 
Darlis schrieb:
Wie wär's mit: Zugriff auf das Dateisystem?
Ich dachte wir reden von Desktop-Apps und nicht Web-Apps - mein Fehler :rolleyes:
Das TideSDK gibt dir beispielsweise nativen Fileaccess.

Ob es nun sinnvoll ist, einen Dateibrowser in HTML/CSS/Javascript zu implementieren, sei mal dahingestellt - möglich ist es aber allemal.
 
Ist es überhaupt (finanziell) sinnvoll, Desktop-Apps zu entwickeln? Mit Entwicklungen für Smartphones macht man deutlich mehr Zaster, der Markt wächst wenigstens und fällt nicht in sich zusammen.
 
Smartphones sind ein Hype, der wieder vergehen wird. Ein System mit anständiger Tastatur wird immer bevorzugt werden.
 
Du scheinst von deiner eigenen Präferenz auf die der Masse zu schließen. Der gemeine Konsument lässt sich einfach nur berieseln und braucht keine Tastatur, da er eh nichts Sinnvolles mit den Geräten erstellen will und kann. Ich kann deinen Standpunkt ja verstehen, ich kann mit Smartphones und Tablets auch nichts anfangen, aber wir sind halt nicht repräsentativ.
 
Was verstehst du denn unter passiv? Die meisten Leute spielen ein bisschen (dafür braucht man keine Tastatur), hängen 24/7 in Whatsapp (auch hier eher kurze textliche Ergüsse) und ansonsten wird vielleicht ein bisschen gesurft, ein Schnappschuss mit der Kamera gemacht, mal ein Video angesehen oder Musik gehört. Für diese Dinge eignet sich ein Smartphone nunmal. Dafür schleppt man kein Netbook o.ä. (ich vermute mal das meintest du mit Gerät mit Tastatur) mit sich herum.
 
Zurück
Oben