"Katalog"-Anwendung in Java eine gute Idee?

Survivor

Mitglied
Hallo,

ich habe schon von der Schule aus einiges von Java gesehen. Nun möchte ich auch einmal etwas größeres selbst schreiben, und zwar eine Anwendung für Rezepte. Das Ganze soll dann eine Oberfläche samt Datenbank haben, damit die Kochrezepte gesucht und schön dargestellt werden können.

Meine Fragen gehen also in diese Richtung:
1. Womit lässt sich eine schöne Oberfläche zeichnen, die auch programmiertechnisch nicht ZU schwierig umsetzbar ist? Mir fallen nur Swing oder AWT ein, wobei die Anwendungen da vom optischen her nicht sonderlich viel hermachen.

2. Ich habe ca. 25.000 Rezepte einzutragen. Jedes Rezept besteht aus mehreren Strings/Integern + 1-2 Bildern. Muss ich zwangsweise auf eine externe Datenbank zugreifen oder gibt's da auch eine vernünftige Lösung, die der Benutzer lokal einsetzen kann?
 

robertpic71

Bekanntes Mitglied
H2 ist für dieses Vorhaben sicher keine schlechte Wahl. Der Katalog öffnet die Datenbank mit "FILE:/c:/Dir/Dbname" (ConnectionString) und startet zusätzlich den TCP-Server. Dann kann man die Datenbank auch gleichzeitig von außen ansehen/prüfen.

Ich habe eine ähnliche Anwendung laufen (allerdings als Weblösung). Dabei werden ca. 15.000 Nodes bzw. die dazugehörigen html-Seiten und in meinem Fall auch die 60.000 Einzelartikel in der H2 Datenbank gespeichert (ca. 400 MB). Die Seiten selber werden in den Feldtyp CLOB (Character Large Object) gespeichert. Die Bilder habe ich im Filesystem liegen. Theoretisch könnte man diese auch in der Datebank (BLOB) speichern - da sehe (spez. bei der Webanwendung) aber keinen Vorteil.

Die Volltextsuche habe ich noch über eine eigene RAM-Instanz gelöst. Mittlerweile bietet H2 auch eine Volltextsuche an - eine eigene - oder eine mit Lucene.

Hier noch mein Katalog.
 

Survivor

Mitglied
Was ist denn die "bessere" Oberfläche? Ich möchte eine schöne (lokale) Anwendung haben, die nicht alzuschwer zu designen ist.

@ll: Danke für die bisherigen Antworten. Werde h2 als Emblemed Database einsetzen!
 

freez

Top Contributor
Naja, wenn Java und lokal, dann bleibt swt, swing und awt. Wobei ich dir nur zu den ersten beiden raten würde, da sie zeitgenössischer aussehen (bei Swing hast du zusätzlich die Möglichkeit verschiedene Look And Feels anzubieten).

Zu einer Datenbank würde ich dir auf alle Fälle raten, da die in der Regel durch APIs gut zu "bedienen" sind. Wenn du selbst entscheiden möchtest, wie die Daten gespeichert werden, dann hast du auf alle Fälle viele Zeilen Code mehr und hast wahrscheinlich nicht annähernd die Performance einer richtigen DB.

Da es eine lokale Anwendung ist, könnte sogar db4o sehr gute Dienste leisten und ist vollständig und einfach unter Java anzusprechen (legt die Daten in ein File) ... sie speichert einfach die Objekte (also dein Rezept)
 

Survivor

Mitglied
@freez: h2 ist doch eine Datenbank oder wie meinst du das? Naja, die Daten sollen halt ein einziges Mal gespeichert und dann halt abgerufen werden. Editieren soll ein Benutzer nicht können.
 

Volvagia

Top Contributor
Ja, darum geht es ja. :D
Ist ja kein Problem. Nur die Möglichkeit zur Edition solltest du schon anbieten, irgendwann wird sich ja etwas ändern. :D
 

faetzminator

Gesperrter Benutzer
Naja, wenn Java und lokal, dann bleibt swt, swing und awt. Wobei ich dir nur zu den ersten beiden raten würde, da sie zeitgenössischer aussehen
Swing setzt auf AWT auf und ist im Gegensatz zu SWT nicht nativ. Also sollte IMHO gar kein Plain AWT verwendet werden.
(bei Swing hast du zusätzlich die Möglichkeit verschiedene Look And Feels anzubieten).
Im Gegensatz zu SWT, welches native ist und darum so aussieht wie es halt in deinem System so aussieht... ;)
 

Kevin94

Top Contributor
Ich persönlich bevorzuge Swing weil es weiterverbreitet ist und im JDK enthalten, auserdem sieht das neue Nimbus LaF echt geil aus, aber das ist geschmacksache.
Wenn dir GUI Programmierung mit Java zu kompliziert ist und es nicht unbedingt mit Java sein muss kann ich auch eine Browser GUI empfehlen: z.B. lokal ausgeführtes PHP auf einem XAMPP.
In XAMPP ist sowohl der Apache Server als auch PHP/Perl und MYSQL enthalten. Und alles vollkommen lokal und trotzdem mit der Möglichkeit es jederzeit ohne neuen Quellcode im Web zur verfügung stellen zu können.
 

theuserbl

Bekanntes Mitglied
1. Womit lässt sich eine schöne Oberfläche zeichnen, die auch programmiertechnisch nicht ZU schwierig umsetzbar ist? Mir fallen nur Swing oder AWT ein, wobei die Anwendungen da vom optischen her nicht sonderlich viel hermachen.

Das sind auch die beiden, die ich empfehlen würde.

- Swt das viele gut finden, ist eine eigene Plattformabhängige Bibliothek. D.h. wenn Du das Programm für Linux, Windows und MacOSX zur Verrfügung stellen willst, mußt Du für jedes Betriebsystem ein Paket "schnüren" in dem das entsprechende Swt-Binary fürs System auch zu finden ist.

- Andere in Java geschriebene Bibliotheken sind nicht so umfangreich und leistungsstark wie Swing. Außerdem gibt es dazu dann nicht so viel Informationen, Beispiele und Hilfe im Internet.

Somit bleiben nur AWT und das dadrauf aufsetzende Swing.
Wenn die Anwendung sehr schnell sein soll und Du nur ein Textfeld und ein Listenfeld brauchst, dann könnte auch AWT reichen.
Ansonsten ist Swing zu empfehlen. Vor allem, wenn Du Dir im Nachhinein noch überlegen solltest GUI-Features einsetzen zu wollen, die AWT nicht hat.

Grüße
theuserbl
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Java Anwendung machen Anleitung Allgemeine Java-Themen 5
P JavaFX Anwendung beendet sich selbst nur als Jar Allgemeine Java-Themen 40
OSchriever Externe Anwendung beenden Allgemeine Java-Themen 41
I Eine Anwendung so gut wie möglich beschützen Allgemeine Java-Themen 9
J exe Anwendung CPU-/Speicherverbauch Allgemeine Java-Themen 5
alderwaran Hoher Sys-Load bei Multithreaded Anwendung Allgemeine Java-Themen 8
S Anwendung die alle Abhaengigkeiten einer Library listet..? Allgemeine Java-Themen 5
P Methoden Anwendung der allMatch()-Methode Allgemeine Java-Themen 5
D Anwendung öffnet hinter Taskleiste Allgemeine Java-Themen 7
I Anwendung auf Netzlaufwerk von mehreren Usern gleichzeitig nutzbar. Allgemeine Java-Themen 3
A Garbage Collector in NetBeans vs. exe Anwendung Allgemeine Java-Themen 33
D Java Anwendung mit dll File Allgemeine Java-Themen 5
B JAVA Prozesse in einer eigenen Anwendung laufen lassen Allgemeine Java-Themen 9
D RMI Einfache Chat-Anwendung mit RMI Allgemeine Java-Themen 0
J Jasper ireport - wieso beendet die Anwendung wenn ich die Preview schließe Allgemeine Java-Themen 1
Tort-E Datenmodell / Struktur der Anwendung Allgemeine Java-Themen 4
E Anwendung verhält sich unter Mac anders als Unter Windows. Allgemeine Java-Themen 4
S Anwendung zum ausrechnen der Differenz von zwei Tagen Allgemeine Java-Themen 9
B Web-Anwendung funktioniert mit Java 1.8, aber nicht mit Java 1.7 (auf Client) Allgemeine Java-Themen 5
L Stack overflow bei einer endrekursiven Funktion (Anwendung: Spezialform des Package Merge) Allgemeine Java-Themen 4
P Anwendung läuft nur mit JDK Allgemeine Java-Themen 2
D Java-Anwendung mit DB, GUI, etc. Allgemeine Java-Themen 3
D OOP Design Pattern für GUI - Datenbank Anwendung Allgemeine Java-Themen 1
F Unlimited Strength Policy. Frage Verbreitung der Anwendung Allgemeine Java-Themen 1
T Bot für Mql-Anwendung Allgemeine Java-Themen 10
F Java Anwendung Remote starten geht nicht Allgemeine Java-Themen 0
D neuen Prozess starten und anwendung beenden. Allgemeine Java-Themen 3
L Input/Output IO Anwendung Allgemeine Java-Themen 6
M Suche Framework/API für Monitoring-Anwendung Allgemeine Java-Themen 3
M Problem beim Starten der Anwendung Allgemeine Java-Themen 3
C Anwendung läuft nicht auf Mac OS X Allgemeine Java-Themen 2
M Java Anwendung ausführen Allgemeine Java-Themen 5
eskimo328 Swing Client Anwendung für MAC OS (Update Routine) Allgemeine Java-Themen 6
M Process wird gestoppt und nach beenden der Anwendung fortgeführt Allgemeine Java-Themen 4
J Interpreter-Fehler Anwendung startet nicht Allgemeine Java-Themen 5
W Framework für RichClient Anwendung? Allgemeine Java-Themen 4
D Mini Webserver für GUI Anwendung Allgemeine Java-Themen 5
Ollek MVC - Anwendung auf mein Projekt Allgemeine Java-Themen 18
U (Land-)Karten in Java Anwendung einbinden (GoogleMaps/OpenStreetMap) Allgemeine Java-Themen 7
S Wie eine verteilte Anwendung in die Cloud? Allgemeine Java-Themen 4
E Anwendung nutzt plötzlich nicht mehr 100% CPU Allgemeine Java-Themen 2
R Geht das? JRE 1.4 global, 1.6.20 nur für eine Anwendung? Allgemeine Java-Themen 9
K Anwendung bringt JAVA Speicherfehler Allgemeine Java-Themen 11
C Java Anwendung nur einmalig starten Allgemeine Java-Themen 10
eskimo328 Offline/Online Web-Anwendung, Datensynchronisation etc. Allgemeine Java-Themen 9
E Anwendung starten Allgemeine Java-Themen 3
W Java Anwendung in HTML Allgemeine Java-Themen 2
DEvent Aktuelle Uhrzeit per Anwendung Allgemeine Java-Themen 4
C Idee für Anwendung/ Bücher Allgemeine Java-Themen 8
Y Anwendung starten(JAR) - Entscheidung Konsole oder Swing Allgemeine Java-Themen 5
P Java Anwendung mehr Speicher zur Verfügung stellen?? Allgemeine Java-Themen 3
C Kontextmenü erweitern und mit Java Anwendung verknüfen. Allgemeine Java-Themen 3
7 Problem mit webbasierter Anwendung Allgemeine Java-Themen 6
D Java Anwendung in der Shell Allgemeine Java-Themen 5
D Versuch Server - Client anwendung Allgemeine Java-Themen 9
T Welcher Server? JSP und Client-Anwendung Allgemeine Java-Themen 4
M Anwendung des MVC Konzepts Allgemeine Java-Themen 7
R Ausführbare Java Anwendung Allgemeine Java-Themen 27
A Java-Anwendung "richtig" schließen ohne JVM zu beenden Allgemeine Java-Themen 2
B In Anwendung jar file bauen Allgemeine Java-Themen 2
A Webspace für Grails-Anwendung Allgemeine Java-Themen 3
M WebStart Anwendung nicht dauerhaft Cachen Allgemeine Java-Themen 3
A An alle Cracks: Anwendung beenden mit ShutdownHook? Allgemeine Java-Themen 13
D Anwendung startet im Remote Desktop nicht Allgemeine Java-Themen 14
S Testen einer Anwendung durch klicken von Koordinaten Allgemeine Java-Themen 7
M SMS aus Desktop-Anwendung verschicken Allgemeine Java-Themen 8
G Unterschied Enterprise Anwendung und Web Anwendung Allgemeine Java-Themen 30
? Swing Anwendung aus Konsole starten Allgemeine Java-Themen 7
G Weboberfläche für Java Anwendung? Allgemeine Java-Themen 10
Y ProcessBuilder, Prozess wird gestartet, aber Anwendung nicht Allgemeine Java-Themen 5
S jar aus anwendung heraus ausführen Allgemeine Java-Themen 2
J Konsolen Anwendung mit while(true) Allgemeine Java-Themen 6
-MacNuke- Frage zu einer 3-Tier Anwendung Allgemeine Java-Themen 9
M Anwendung nur einmal starten / Zeichen in String zählen Allgemeine Java-Themen 7
F Hilfe beim Starten einer Java Anwendung unter Windows gesuch Allgemeine Java-Themen 8
L Java 1.5 - Anwendung unter 1.6 JRE sehr langsam geworden Allgemeine Java-Themen 8
B getResourceAsStream - standalone Anwendung vs. Web-Anwendung Allgemeine Java-Themen 2
J I18n einer existierenden Anwendung Allgemeine Java-Themen 2
C Java-Anwendung beenden Allgemeine Java-Themen 3
G Auslesen mit welcher Java-Version Anwendung kompiliert wurde Allgemeine Java-Themen 2
C Anwendung nur einmal Starten Allgemeine Java-Themen 11
Z Uralt-Applet in JFrame Anwendung konvertieren Allgemeine Java-Themen 12
J OpenOffice.org Events in eigene Anwendung umleiten Allgemeine Java-Themen 4
T Socket Server Anwendung - Empfang eines Byte-Arrays Allgemeine Java-Themen 7
G Datenbank-Anwendung schnell erstellen. Allgemeine Java-Themen 7
M Versionswechsel bei einer Web-Anwendung Allgemeine Java-Themen 5
A Client/Server-Anwendung Allgemeine Java-Themen 3
G java als anwendung? Allgemeine Java-Themen 11
N externe Anwendung aktivieren (nicht starten!) Allgemeine Java-Themen 3
L Speicherverbrauch einer Anwendung unter Windows Allgemeine Java-Themen 2
C Fehler bei der Anwendung von Transformen. Allgemeine Java-Themen 2
M 1. Probleme mit MouseListener, 2. Anwendung in Infobar Allgemeine Java-Themen 8
P Anwendung minimiert starten Allgemeine Java-Themen 11
G Java Anwendung für Multi-User Allgemeine Java-Themen 2
N Linux-Commands über Java Anwendung ausführen Allgemeine Java-Themen 12
E Anwendung ließt .ini-Datei nicht Allgemeine Java-Themen 3
M Java-Anwendung von CD-ROM Allgemeine Java-Themen 19
E externe Anwendung aufrufen und sich selbst beenden Allgemeine Java-Themen 8
M Datei auf Anwendung ziehen und starten Allgemeine Java-Themen 11
T unsatisfiedlinkerror -> Diese Anwendung konnte nicht gest Allgemeine Java-Themen 2

Ähnliche Java Themen


Oben