Applikation mit Java Backend, bestes Frontend?

th30r3tisch

Cadet 3rd Year
Registriert
Dez. 2014
Beiträge
60
Guten Abend,

mein Freund und ich wollen mal versuchen eine Applikation zu programmieren.
Er möchte das Backend in Java machen und nun suche ich eine Möglichkeit das auf den Bildschirm zu bringen (desktop, mobile).

Ich hab mich schon ein bisschen erkundigt und gelesen weiß aber nicht wirklich was da jetzt gut ist und was nicht zu empfehlen ist.
Die erste Möglichkeit die mir eingefallen ist das mit Wordpress zu machen. Das wäre dann eine Webseite die sich responsive anpasst an das Gerät.
Oder mit Cordova in Visual Studio. Das macht dann halt eine Cross-Plattform kompatible App (win10, mobil) was ja auch ok wäre.

Ich habe schon einiges mit Wordpress und Webseiten gemacht, und auch schon kleine Applikationen gemacht mit c# und Visual Studio (nur für PC).
Aber ich habe das noch nie so getrennt mit Java Backend und dann das Frontend.
Könnt ihr mir da vielleicht was empfehlen ? Soll ich das mit Wordpress oder Cordova machen?
Habt ihr vielleicht ein Tutorial oder so wo erklärt wird wie ich die Kommunikation zwischen meinem Frontend und dem Java Backend hinbekomme?
Ich habe schon gegoogelt aber da keine gute Anleitung gefunden, weder für Wordpress noch für Cordova.
Und ich würde ungerne anfangen ohne vorher sicher zu sein das ich am ende dann auch den Datenaustausch zwischen Backend und Frontend hinbekomme.

Sind ne ganze menge Fragen auf einmal, aber ich hoffe Ihr wisst was ich meine.
Vielen Dank!
 
Wordpress ?! Dir ist bewusst was das ist?

Was habt ihr denn vor zu machen? Soll die Java Applikation ein Server sein, auf den viele Clients zugreifen? Soll zu jedem Frontend ein eigene Instanz von Java laufen?

Muss es wirklich Java sein?
 
Ja mir ist bewusst was Wordpress ist, habe damit schon öfters gearbeitet.
Und ja das ist keine dolle Lösung.. aber ich habe ein bisschen gesucht und das sollte klappen mit php. (auch wenn ich noch nicht wirklich weiß wie)
Aber das mit Cordova scheint mit ein wenig einfacher auch wenn ich da erst noch einiges lernen muss.

Das Java soll einfach die Funktionen bereit stellen und ausführen. Und ich lese dann "einfach" die Daten (Arrays, variabeln...) aus und stelle sie dann halt dar auf dem Bildschirm. Im Moment speichert das Java die Daten nur in einem XML File. Aber das soll dann später noch in eine Datenbank umgeändert werden.
Und ja es muss Java sein. (Mein Freund möchte das mehr üben).

Wie das mit dem Java genau ist weiß ich nicht, jetzt in Bezug auf ob die auf dem Server laufen soll.
Kann man das machen wie man möchte?
Wenn ich das alleine machen würde, würde ich das alles einfach mit php und Wordpress versuchen zu realisieren.

EDIT:
Ich denke mal wenn man das mit Cordova machen würde dann müsste Java lokal laufen, weil man sich die App ja dann runterläd, oder ? Bei Wordpress weiß ich nicht, da läd man ja nichts runter, außer ein Plugin vielleicht.
 
Zuletzt bearbeitet:
Du kannst Wordpress *nicht* auf einem Client ausführen. PHP (und damit Wordpress) kommt auf einen Server, der dann in der Regel HTML, CSS und Javascript ausgibt. Mit diesen 3 Dingen wird dann die Website vom Browser dargestellt.

Wenn ich dich richtig verstehe, willst du einfach irgendwelche Daten, die das Java Programm erzeugt auf jeden beliebigen Gerät darstellen. Das einfachste wäre hierfür ein Server (kann z.B. PHP sein), der die Daten als HTML ausgibt.

Da Wordpress mit einzubauen ergibt überhaupt kein Sinn.

Du musst schon wissen, ob die Daten lokal generiert werden sollen oder ob die Daten von einer zentralen Stelle kommen.



Um dir gescheite Antworten liefern zu können musst/müsst du/ihr erst mal selbst wissen, was genau du/ihr willst/wollt. Und das uns dann verständlich erklären.
 
Zuletzt bearbeitet:
Ja deswegen meine ich ja das man im falle von Wordpress Java auf dem Server laufen lassen müsste (oder habe ich dich falsch verstanden ?)
Man könnte ja Java und PHP auf dem Server laufen lassen und dann mit Wordpress arbeiten oder?
Weil mit Wordpress würde einem ja einiges an Arbeit abgenommen werden weil man dann immerhin schon einige Funktionen bereit gestellt bekommt.

Spielt das eine Rolle wo die Daten generiert werden ?
Die Applikation soll auf alle Fälle "personalisiert" sein. Also jeder User hat seine eigene eigenen Daten.
Später kann man das dann vielleicht noch erweitern, das die User ihre Daten teilen können mit anderen oder so.
Aber eigentlich ist es egal ob die Daten lokal gespeichert und generiert werden, oder auf dem Server und dann von der Applikation abgerufen werden.
Wobei es wahrscheinlich besser ist wenn die alles auf dem Server gemacht wird wenn man später das mit dem Teilen der Daten noch in Betracht zieht.
Oder bringe ich da jetzt was durcheinander ?

Was hältst du von Cordova?

EDIT:
Wir wollen eine Applikation machen wo man Essen eingeben kann mit den Kalorien und die dann ausrechnet wie viel man schon gegessen hat und oder verbraucht hat z.b.
Wo also jeder seine eigenen Daten hat erst mal.
 
Zuletzt bearbeitet:
Dein Freund wird mit Sicherheit einen Webservice bauen, den du per HTTP-Request Auslesen bzw. befüllen kannst (GET & POST). Sowas geht zwar mit WordPress aber das ist dafür denkbar ungeeignet. Nimm dir einfach ein Frontend Framework wie AngularJS.
 
Ok, dann würdet ihr also Cordova empfehlen? Das wäre dann ja mit AngularJS.
Und da kann ich dann einfach mit GET/POST die Daten auslesen.
Dann würde Java auf dem Server laufen, oder ?

Muss das dann ein bestimmter Webservice sein ?
 
Das mit Wordpress ist einfach komplett Sinnlos, aber gut, lassen wir das mal so stehen.

Auf dem Server läuft Java (auch wenn das meiner Meinung nach eine schlechte Wahl ist), auf Android/iOS dann Cordova.

Du kannst einfache HTTP-Requests nutzen, wie blablub1212 schon sagte, oder du nutzt etwas spezifiziertes wie z.B. REST, Soap oder WSDL.




Viel sinnvoller wäre meiner Meinung ja aber: Node.js als Server - HTML, CSS und JS als Website. Willst du "native" Apps haben, das ganze dann zusätzlich in Cordova und/oder Electron packen. Als Kommunikationsmittel kannst du dann z.B. Socket.IO nutzen.
 
Ok, Wordpress ist keine Option! =)

Wenn ich Node.js als Server nehme, dann kann ich mit dem Java Code nichts anfangen ?
Oder gibt es eine möglichkeit Node.js als server zu nehmen und den java code auch zu verwenden?

Wenn ich das mit Visual Studio und cordova mache, dann würde das da standard mäßig mit Node.js gehen wenn ich mich nicht irre.
Und dann würde ich dort dann halt eine win10/ adroid/ios apps machen. Mit angularJS, typescript, html und css.
Dann könnte ich aber nicht http requests nehmen , sondern müsste socket.IO nehmen?
 
Node.js = Javascript -> Kein Java, richtig.

Cordova nutzt glaub kein Node.js, aber Electron macht das. Aber das spielt hier auch keine Rolle, da das Clientseitig wäre. Ich meine die Nutzung als Server.

Doch, du kannst auch da HTTP Requests nehmen - Socket.IO macht im Prinzip auch nichts anderes, aber es vereinfacht es extrem.

Server:
Code:
socket.on('getCalories', (callback) => {
   callback(database.getCalories(user));
});

Client:
Code:
io.emit('getCalories', (calories) => {
   alert('You\'re calories are ' + calories);
});

Da sind 2 Zeilen Code auf jeder Seite - einfacher gehts nicht.
 
Hmm ok, ja das kann sein ich habe da bis jetzt nur ein paar Tutorials geschaut.
Ich glaube ich würde es trotzdem mit Cordova machen , das habe ich mir schon herunter geladen und in Visual studio installiert und schon ein wenig rumprobiert.
Kann ich bei Electron auch mit Visual studio arbeiten? Würdest du Electron empfehlen? Cordova finde ich recht übersichtlich und gut für Anfänger gemacht (zumindest was ich bis jetzt gesehen habe), habe von Electron aber noch nie was gehört.

Aber Java muss sein, das möchte er auf alle Fälle..
Wieso findest du Java auf dem Server nicht gut ?

Könnte ich socket.io auch mit Java auf dem Server benutzen ?
 
Mit Electron kannst du keine Apps für Android/iOS machen. Das ist nur für Desktop.

Java finde ich einerseits nicht gut weil... Java (aber das ist ja nur meine subjektive Meinung). Und eben weil es für den Einsatzzweck Server geeignetere Dinge gibt, die speziell für den Einsatzzweck als Webserver designt worden sind.


Wenn es für Java einen Socket.IO Client gibt, dann ja. Weiß ich aber nicht.
 
Zuletzt bearbeitet:
Ah, ok gut.

Ja zu Java und node.js kann ich nichts sagen ich habe noch nie mit node.js gearbeitet, mit Java schon aber noch nicht mit Servern.
Aber das mit dem Server kann mir ja dann sowieso "egal" sein in Bezug auf das Projekt.

Wenn also in Java ein Webservice eingebaut ist dann kann ich einfach mit Get und Post damit Daten austauschen, so wie in PHP. (oder es den socket.io clienten gibt)

Vielen Dank für eure Hilfe ! (speziell Bagbag)
Jetzt habe ich so ungefähr eine Ahnung und kann mich nochmal gezielter erkundigen.
 
Bagbag schrieb:
Java finde ich einerseits nicht gut weil... Java. Und eben weil es für den Einsatzzweck Server geeignetere Dinge gibt, die speziell für den Einsatzzweck als Webserver designt worden sind.
Hättest du jetzt gesagt, die Java Server-Welt ist zu komplex, für Einsteiger zu kompliziert und man findet kein "Wald und Wiesen"-Hosting dafür, hätte ich ja nichts gesagt, aber so ist das einfach nur grober Unfug.

Ich schließe mich dem Vorschlag AngularJS (2) mit Typescript an. Man kann damit wunderbar per simplen HTTP-Requests die vom Java-Backend bereitgestellten Rest-Controller abgrasen und alle Daten holen, die man so braucht.

Responsiveness ist einzig und allein eine Frage von CSS. Da gibt es ein paar gängige Frameworks, die dir einiges schenken, allen voran Bootstrap.
 
Also ist ein Java-server zu "erstellen" nicht einfach ? Und es ist nicht leicht einen guten Hoster zu finden ?

Bei Cordova in Visual studio ist standartmäßig ionic mit dabei (zumindest in dem Tutorial das ich gemacht habe).
Aber mit ionic habe ich noch nie was gemacht, mit bootstrap dagegen schon.
Kann ich das austauschen, ohne viel Ahnung von Cordova zu haben ?
Oder geht das nicht?
 
Wenn man sich damit auskennt ist es sehr einfach. Wenn nicht, dann nicht. Es ist was ganz anderes, als eine typische Wordpress-Installation auf einem Webspace, wo man nur ein paar Daten per FTP hochschiebt. Java läuft in einer JVM, während PHP erst bei der Anfrage interpretiert wird. Also ein ganz anderes Funktionsprinzip. Java findet man eher im Unternehmensumfeld.

Als Hoster kommt im Prinzip nur ein richtiger (V-)Server in Frage, auf dem man sich per SSH einloggen kann und Java installieren kann. Vielleicht findet sich irgendwo ein exotischer Hoster, der JVMs bietet, aber üblich ist das nicht. Eher noch gibt es Hoster, die cloudmäßig dein Artefakt hochfahren, aber das führt alles zu weit für diesen Anwendungsfall hier.

Aber wenn ich dich richtig verstanden habe, ist das ja gar nicht deine Baustelle.

Cordova ist zum Bauen von Hybrid-Apps, also nicht-nativen Implementierungen (das wäre sonst Java für Android, Swift für iOS). Ob du das brauchst, hängt davon ab, ob du gezielt eine App bauen willst oder ob es dir reicht, wenn du eine Website baust mit Angular, die sich einfach vom Design her auf Mobilgeräten anpasst.
 
Zum Lernen sind so Sachen wie OpenShift in der Regel völlig ausreichend - und kostenlos. Produktiv kostet es Geld, wenn man einigermaßen Erfolg - sprich Last - hat.

Was man als Backend nimmt, ist relativ egal, wenn man die Anbindung ohnehin über HTTP abwickelt. Wenn der Freund sich dort mit Java austoben möchte, warum nicht?
 
Tumbleweed schrieb:
Als Hoster kommt im Prinzip nur ein richtiger (V-)Server in Frage, auf dem man sich per SSH einloggen kann und Java installieren kann. Vielleicht findet sich irgendwo ein exotischer Hoster, der JVMs bietet, aber üblich ist das nicht.

Na das hört sich ja nicht so toll an =D Hmm.

Ja genau so eine Hybrid App wollte ich ja bauen und das ist ja auch mit angular.
Es ging mir nur darum das ich halt nicht 3 mal eine eigenständige Applikation bauen muss (ios, android, pc) sondern alles 3 in einem habe und halt nur geringfügige Anpassungen machen muss.
Und da sind mit nur eine webseite mit Wordpress oder Cordova eingefallen. Wobei sich Wordpress jetzt ja als nicht gut herausgestellt hat.

Und mit vielen Sprachen die man da braucht kenne ich schon ein bisschen, da muss ich nicht so viel neues lernen und kann ein bisschen das schon gelernte anwenden.

Meine Baustelle ist halt nur irgendwie die Daten von dem Java backend nach Cordova zu bekommen, damit ich da dann damit arbeiten kann.

EDIT:
soares schrieb:
Zum Lernen sind so Sachen wie OpenShift in der Regel völlig ausreichend - und kostenlos. Produktiv kostet es Geld, wenn man einigermaßen Erfolg - sprich Last - hat.

Was meinst du damit ? Also mit OpenShift brauche ich keinen Server zu bezahlen? Was für testzwecke ja völlig ok ist.
 
Zuletzt bearbeitet:
th30r3tisch schrieb:
Was meinst du damit ? Also mit OpenShift brauche ich keinen Server zu bezahlen?

Genau. Die haben eine kostenlose Einstiegslösung, die zum Testen ausreichen sollte. Dort kannst Du den Server selbst so konfigurieren, wie Du ihn brauchst (Java, Node.js, PHP, diverse Datenbanken) und für alles einen dezidierten Container (Gear) nutzen (3 sind frei).
 
Ohh das hört sich ja richtig gut an.

Wenn ich das dann schaffe da mit Visual Studio bzw. Cordova drauf zu zu greifen wäre das perfekt.
Cool da werde ich mich mal mit beschäftigen. Danke !
 
Zurück
Oben