Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Daedra22

Treue Seele

  • »Daedra22« ist der Autor dieses Themas

Beiträge: 115

Wohnort: Osten

Beruf: Student Informationstechnik

  • Private Nachricht senden

1

19.08.2014, 14:06

Internetplattform erstellen- Voraussetzungen

Hallo,

ich habe die Idee eine Internetplattform zu realisieren, dabei sind Nutzer auf der Plattform registriert und in einer Datenbank sind ihnen Daten zugeordnet.
Ein kleiner Server verwaltet die Seite. Jeder Nutzer kann sich auf der Seite anmelden und mittels einer Applikation in seiner Client Rolle Daten von der Website herunterladen, ausführen oder bearbeiten.
Vorhandene Grundkenntnisse:
- Java, C++, C

Vorhandele Webdesign/ Informationsstrukturierungssprachen:
- HTML, CSS

Welche Voraussetzungen sind weiterhin nötig ?
(SQL ? PHP ?)

Welche Software benötige ich weiterhin ?

Ist das ganze auf einem RaspberryPi lauffähig ? (Java + Debian = *KABUSCH*)

Gibt es gute Ebooks/ Tutorials, die das ganze schön beschreiben ?

Danke für Zeit und Tipps

Grüße
Daedra
Who are you? - I am a game designer.
No you are not! - I am a game designer.
What kind of a designer ? - I am a game designer.
You mean you play games ? - I am a game designer.

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

2

19.08.2014, 14:30

Keine Ahnung was das genau werden soll, klingt aber nach einfachem Webserver -> PHP/Python/Java + HTML/CSS/JS.
Der kann dann theoretisch auch auf einem RaspberryPi laufen, ist aber je nach Auslastung schnell überfordert.

Erklär mal genauer was die Seite technisch können soll.

3

19.08.2014, 15:27

Java für so ein kleines Projekt overkill wäre, ausser du willst für sowas kleines einige Stunde lang dein Projekt konfigurieren, tausende Zeilen code schreiben, ewig auf deployment warten etc :)

Schaue dir auch mal NodeJS+MongoDB an. Deine Idee kannst damit innerhalb von ein paar Stunden mit ein Paar Zeilen code realisieren.
Oder wie schon gesagt, ein vorhandenes CMS anschauen.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

4

19.08.2014, 15:35

Java für so ein kleines Projekt overkill wäre, ausser du willst für sowas kleines einige Stunde lang dein Projekt konfigurieren, tausende Zeilen code schreiben, ewig auf deployment warten etc
Äh, wa? Es gibt da sehr schöne kleine (REST-)Frameworks. Die setzt man in wenigen Minuten auf und der eigene Code ist minimal. Etwas JQuery vorn dran und fertig. Gegen NodeJS ist allerdings auch nichts einzuwenden.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

5

19.08.2014, 15:37

Java für so ein kleines Projekt overkill wäre, ausser du willst für sowas kleines einige Stunde lang dein Projekt konfigurieren, tausende Zeilen code schreiben, ewig auf deployment warten etc
Äh, wa? Es gibt da sehr schöne kleine Frameworks. Die setzt man in wenigen Minuten auf und der eigene Code ist minimal.

Ok, es war ein wenig übertrieben. Habe nur schlechte Erfahrungen mit JSF und deshalb ne Java Allergie :) Aber du hast Recht, es gibt auch gute Java frameworks. Play Framework ist z.b. ganz nett

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

6

19.08.2014, 15:48

Mich würde eher weniger interessieren, was der Server am Ende machen soll, sondern eher, was der Benutzer mit dem System machen können soll. (Daraus ergeben sich erst Anforderungen an die technische Seite.)
Soll der Benutzer dort irgendeine Art von Profil haben oder etwas präsentieren? Das wäre das, was man auf fast jeder Seite im Internet macht, sei es ein Blog, Forum, eine Handelsplattform (amazon.de, ebay.com), ein Wiki, ein soziales Netzwerk oder etwas, mit einem speziellerem Zweck (Projektvorstellungen wie bei pewn.de)
Sollen Dokumente bearbeitet werden? Dann wäre es eine online Office-Umgebung.
Soll online Software oder ein Spiel entwickelt werden? Entweder wäre es dann etwas, wo man nur einzelne Teile testweise umsetzt, wie jsfiddle.net, oder es wäre eine Kombination mit einer Plattform, auf der die Ergebnisse auch gesammelt werden, siehe bspw. Puzzle Script.

Sehr merkwürdig finde ich, dass "Daten ausgeführt" werden sollen. Es stimmt zwar, dass Programmcode auch nur aus Daten in einer bestimmten Form besteht, aber nicht alle Daten stellen Programmcode dar.


Ansonsten gibt es viele verschiedene Möglichkeiten, wie man die Entwicklung serverseitig betreibt. Es wurden bereits exemplarisch Sprachen genannt, grundsätzlich wären auch C++, Ruby, JavaScript, Perl, D usw. mögliche Optionen. Bei den meisten Sprachen wird es erforderlich sein, dass auf dem Server auch die entsprechende Ausführungsumgebung vorhanden ist. Wenn man ausreichenden Zugriff auf den Server hat (bspw. ein vServer, Root Server oder ein Rechner, der bei einem lokal steht), ist das grundsätzlich kein Problem, bei den meisten Anbietern für Webspace ist das aber eingeschränkt.
Welche Sprache (und damit zusammenhängen welche weiteren serverseitigen Mittel) du verwendest, hängt sehr von deinen Möglichkeiten ab. Kannst du keinen Server bereitstellen, der mehr als Perl, Python und PHP kann, musst du eine der Sprachen verwenden.

Auf Clientseite ist man, sofern man eine im Browser verwendbare Anwendung erstellt, auf HTML, CSS und JavaScript beschränkt wenn man gänzlich ohne Plugins entwickeln will, auf Flash/Adobe Air, Silverlight oder Java Applets wenn die Nutzung von Plugins vertretbar wären und so ziemlich alles andere, wenn eine separate Clientanwendung möglich wäre. Bedenke, dass es das einfachste ist, eine Webanwendung zu schreiben, da so ziemlich jeder Benutzer, der das Internet nutzt, auch einen Webbrowser hat und im, Gegensatz zu einem eigens entwickelten Client, sowohl Desktopbetriebssysteme, als auch Mobilplattformen bereits bedienen kann. (Ein Client für alle Plattformen wäre auch ohne Webbrowser möglich, nur würde das sehr wahrscheinlich einen größeren Aufwand bedeuten.)
Bedenke, dass es wesentlich einfacher für einen Benutzer ist, auf einen Link zu klicken, als erst einen Client runterzuladen, zu installieren und dann auszuführen, eine im Browser laufende Anwendung dürfte also mehr Benutzer erreichen. Auch dürften diverse Plugins nicht überall vorhanden sein, weshalb auf die Verwendung dieser evtl. auch verzichtet werden sollte.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

7

20.08.2014, 01:47

huhu,

deine Anfrage ist extrem abstrakt gehalten und ich finde es schwer darauf irgendwie spezifisch zu antworten. Deutlich leichter wäre es wenn du etwas genauer beschreibst was du vorhast. Eine Internetplattform auf der Nutzer registriert sind und ihnen in einer Datenbank Daten zugeordnet sind und ein Server die Daten verwaltet ist so allgemein das es auf so ziemlich jede Technik und jede Sprache zutrifft mit der man Webanwendungen entwickeln kann ;)

Es wäre auch sehr hilfreich wenn du das mit der Applikation und der Client Rolle nochmal genauer definieren könntest. Ich stimme da Sacaldur zu. Du solltest dir genau überlegen ob dein Konzept wirklich einen richtigen nativen Client benötigt, denn die Hürde das eine native Software oder ein Plugin von einem Benutzer installiert wird ist nicht zu unterschätzen. Wenn du dann z.B. noch Tablet oder Smartphone Benutzer nicht verlieren willst wirds mit der Client Software die nötig ist um Daten von der Website zu laden sehr schwer. Generell sollte man einen guten Grund haben das überhaupt ein nativer Client gebraucht wird um Daten von einer Website zu laden. Aber spezifischere Tipps kann ich dazu erst geben wenn du sagst was du genau vor hast. Bis jetzt kann ich nur sagen: Es eignet sich jede existierende Sprache mit der man Webanwendungen und Client-Software programmieren kann für dein Vorhaben.


Zitat

Java für so ein kleines Projekt overkill wäre, ausser du willst für sowas kleines einige Stunde lang dein Projekt konfigurieren, tausende Zeilen code schreiben, ewig auf deployment warten etc


Ich muss mal eine Lanze für JSF und JavaEE brechen: ich finde spätestens seit JavaEE 6 ist der JavaEE Stack mit JSF, CDI, JPA, EJB, JCA etc. durchaus für schnelle Fortschritte und auch einfache Webanwendungen sehr zu gebrauchen. Nicht umsonst ist seit JavaEE 6 Convention over Configuration das Credo ;) Und ich bin immer noch Meinung das man mit JavaEE und speziell der Servlet API 3.0+ Dinge anstellen kann wo man mit PHP einfach an Grenzen stößt. Allerdings ist es durchaus für viele Anwendungen ein Ausschlusskriterium das dazu nicht mehr einfacher Webspace mit einem PHP-Fähigen Apache ausreicht, sondern man mindestens einen Virtual Server/Root Server braucht um einen richtigen Application-Server zu installieren.

Aber spätestens seit JavaEE 6 ist das mit der Stundenlangen Konfiguration und den tausenden Zeilen Code passé. Und mit Netbeans 8.1 und GlassFish 4.1/Wildfly sind auch die Deployment Zeiten extrem gesunken. Aber natürlich sind diese immer noch vorhanden, was bei PHP oder anderen Interpreter-Sprachen natürlich naturbedingt etwas anders ist. Aber ich glaube viele der Java Vorurteile basieren auf der pre JavaEE 6 Ära und wenn das der Fall ist stimme ich absolut zu, aber befürworte eine Neubewertung auf JavaEE 7 und bald auf JavaEE 8 Basis ;)
https://pewn.de - Eine Plattform für Hobby-/Indiespieleprogrammierer und Gamer

Daedra22

Treue Seele

  • »Daedra22« ist der Autor dieses Themas

Beiträge: 115

Wohnort: Osten

Beruf: Student Informationstechnik

  • Private Nachricht senden

8

20.08.2014, 14:27

Danke für die zahlreiche Resonanz.
So wie es beschrieben wird sollte ich von der externen Clientanwendung abweichen und stattdessen eine browserseitige Anwendung ( Appletanwendung ) ausführen?

Daten ausführen bedeutet, Daten herunterladen und diese innerhalb einer Applikation nutzen und die Applikation erfolgreich ausführen.


Also mein Vorhaben detaillierter:
Bei mir zuhause steht ein Rechner dieser ist ein Server, ich habe auf dem Rechner eine Website (Html +CSS Datei).
Gleichzeitig eine Datenbank. Verwaltet durch SQL, MySQL, ... (Keinerlei Grundkenntnisse zu Datenbanken vorhanden...)

Jeder Nutzer soll in der Lage sein eine kleinere Menge an Links/URLs hochzuladen und diese sollten verwaltet werden.
Jeder Nutzer soll die Möglichkeit haben Links von anderen Nutzern herunterzuladen und in einem Skript zu "verarbeiten".
Während der Verarbeitung kommuniziert die Applikation die der Client/Nutzer ausführt mit dem Server (Punktestand wird erhöht), bei erfolgreicher Durchführung werden die Daten des Clients zu dessen Vorteil verändert.

Die Datenbank weist dabei jedem Nutzer eine LoginID ein PW und eine Menge an Links und ggf. einen Ganzzahlenwert als "Punktezahl" (stark abstrahiert) zu.
Wichtig ist dabei, dass jeder Nutzer die Möglichkeit hat eine Java-Applikation / kurzes Skript (basierend auf Java) auszuführen, sei es browserseitig oder als executable File (jar) (welches er von der Website herunterlädt).

CMS klingt doch schonmal sehr gut, SQL müsste ich noch komplett mich einarbeiten. Ansonsten möchte ich nicht noch weitere Sprachen dazu lernen müssen, Java müsste ausreichen, zumal ich mein Java-"Code" (ich möchte nicht Skript schreiben) innerhalb von Applets ausführen kann. (Selenium im Applet ausführen ist dabei mein Ziel )

Dies ist mein Vorhaben, habe ich irgendwelche weiteren Denkfehler ?
Gibt es gute Tutorials, Ebooks, Bücher die die Erstellung eines CMS Systems, mit dem Fokus auf Java Applets innerhalb des Browsers legen und auch für SQL Neulinge das ganze schön beschreiben.

Habe folgende Java OpenSource CMS gefunden, kann mir einer eines davon besonders empfehlen?
http://en.wikipedia.org/wiki/List_of_con…agement_systems

Danke für eure hilfreichen Tipps und eure Zeit im voraus.
Grüße
Daedra
Who are you? - I am a game designer.
No you are not! - I am a game designer.
What kind of a designer ? - I am a game designer.
You mean you play games ? - I am a game designer.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Daedra22« (20.08.2014, 14:40)


DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

9

20.08.2014, 14:54

Puh also so ganz verstanden habe ich das zwar noch nicht, aber ich würde auf keinen Fall Nutzerprogramme auf dem Server ausführen. Selbst wenn es sich "nur" um Java handelt.
Du hast ja schon selbst gesagt Java Applet, das kann man auch nutzen damit der Client im Browser compilieren und ausführen kann, ab von deinem Server.

Der Rest klingt nicht so spektakulär, da würde ich PHP nehmen. Wenn du jetzt allerdings schon alles aufgesetzt hast kannst du natürlich weiter Java nehmen (da könnte ich dir aber nicht helfen ;)). Eine Apache Server wäre halt sehr einfach und schnell aufgesetzt.

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

10

20.08.2014, 15:25

Mir wiederum reicht die Beschreibung nicht aus.
Bist du sicher, dass "Links und URLs" hochgeladen werden? Das wären ja dann nur Zeichenketten, wie "www.google.com", "ftp.example.org", "mail.gmail.com/test/example/foo" usw., ich gehe also davon aus, dass damit etwas anderes gemeint ist. (Anhand des restlichen Text würde ich darauf tippen, dass es sich um ausführbaren Code oder ein ausführbares Programm irgendeiner Art handelt.)
Was soll der Benutzer da ausführen bzw. was soll ein anderer Benutzer dafür vorher Programmieren? Ist die Art des Programms auf irgendeine Art und Weise eingeschränkt? (Bspw. nur algorithmen, nur Funktionen, die sich grafisch darstellen lassen, nur GUIs, nur Skripte für eine bestimmte Umgebung, ...)

Du musst grundsätzlich aufpassen, wenn Benutzer ausführbaren Code anderer ausführen, auch wenn es diverse Sicherheitsmechanismen gibt (gibt Dateizugriff aus einem Applet heraus), sollte man sich nicht zu sehr darauf verlassen. In jedem Fall sollte eine recherche angestellt werden, was tatsächlich nicht funktioniert und was ggf. nicht unterbunden wird. Auch wenn man am Anfang nichts hat, was unzulässigerweise noch möglich ist, können dennoch Sicherheitslücken bestehen.


Bezüglich Client:
Ein Browser hat, wie bereits erwähnt, dieverse Vorteile gegenüber anderen Clients. Welcher Client verwendet wird, hängt von den Anforderungen ab, ob diese bspw. den einen oder anderen Client gänzlich ausschließen oder ob sie einfach nur ein paar mehr Vorteile haben.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Werbeanzeige