• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

Projekt: Einen Messenger programmieren

Serenity999

Neu angemeldet

Registriert
9 Sep. 2014
Beiträge
4
Hallo ngb,

bevor ihr weiterlest: ich bin (fast) ein absoluter Laie, was das programmieren angeht. Einblicke, die ich in der Schule erhielt, weckten jedoch mein Interesse am programmieren.
Ich bin bereit viel Zeit in so ein Projekt zu stecken, und hier schien mir der beste Ort, um damit anzufangen.

Mein Ziel ist es, einen Messenger für Android-Handys zu programmieren. Vorrangig geht es mir dabei um Anonymität beim Versenden von Nachrichten, d.h. es soll so schwer wie möglich ermittelbar sein, von welchem Handy diese Nachricht an jenes Handy geschickt wurde. Nachrichten sollen nicht gespeichert werden.

Ich kann mir vorstellen, dass sich das ziemlich optimistisch anhört, weswegen ich mir hier Meinungen einholen will.
Könnt ihr mir eventuell auch Literatur o.Ä. empfehlen?
Und was denkt ihr, wie lange es für einen Laien, der bisher nur rudimentären Kontakt zur Programmiersprache PERL hatte, dauert, bis er das nötige Wissen besitzt?

Für eure Hilfe wäre ich sehr dankbar!!

mfg, Ser
 

War-10-ck

střelec

Registriert
14 Juli 2013
Beiträge
5.951
Ort
Schießstand
Les dir erstmal Grundlagen in Java und OOP an. Überleg dir einfachere Dinge die du umsetzen kannst um die Basics zu lernen. Das würde ich auch zuanfang eher als Konsolenanwendung machen bevor ich mich an die, doch gewöhnungsbedürftige, Entwicklung von Android Apps wagen würde.

Dazu wie man beim Lernen vorgeht gibts schon viele viele viele Threads. Einfach mal bei Google schaun und bei speziellen Fragen hier nochmal einen Thread aufmachen.

Für den Anfang würd ich mir einfach sowas hier nehmen um Grundlagen anzulesen. Ganz wichtig ist auch, dass du lernst mit der API umzughen.
 

godlike

Warp drölf

Registriert
13 Juli 2013
Beiträge
14.301
Ort
Topkekistan
Ich bin bereit viel Zeit in so ein Projekt zu stecken
Ich glaube du bist dir der Tragweite eines solchen Vorhabens nicht ganz bewusst. Wenn du da von 0 anfangen möchtest, das Ganze Hand und Fuß haben soll, dann rechne mal mit 8 Stunden am Tag, die nächsten paar Monate. Oder hast du von irgendwas eine Ahnung worauf du aufbauen kannst?
 

Patroklos

NGBler

Registriert
20 Aug. 2013
Beiträge
459
Da bastel dir doch lieber einen Webchat der die Nachrichten verschlüsselt, nicht speichert & nutz SSL. (Shoutbox mit Login remix)

//Ein schöner anwenderfreundlicher Jabber Client fürs Handy wäre mal toll. :D
 

Brother John

(schein)heilig

Registriert
1 Aug. 2013
Beiträge
235
Ich sehe das ähnlich wie godlike. So einen Messenger als Anfängerprojekt anzugehen ist ungefähr so, als hättest du gerade dein erstes Bild an die Wand genagelt hast und würdest anschließend beschließen, jetzt ein Haus zu bauen. Vielleicht kriegst du das handwerklich noch irgendwie hin, aber wahrscheinlich hast du dann ein krummes und schiefes Haus mit der Eingangstür im ersten Stock, das beim ersten Gewitter vollläuft und umfällt.

Mit Software ist das ähnlich. Programmieren lernen ist das eine, aber um eine komplette Software zu bauen, brauchst du eine Architektur dafür, du braucht ein Konzept für die Interaktion mit dem Nutzer, für die Verschlüsselung, die Anonymisierung und vieles mehr. Als Anfänger auf der grünen Wiese halte ich das für nicht zu stemmen. Das klappt vielleicht noch beim typischen Mini-Anfängerprojekt wie einem Taschenrechner (obwohl der auch schon nicht ganz ohne ist, wenn er wirklich einsetzbar sein soll), aber nicht bei einem ausgewachsenen Messenger.

Ich empfehle dir, dir einen existierenden Open-Source-Messenger zu suchen, den du auch selber benutzen willst. Dort kannst du mit kleineren Projekten anfangen: Fehlerchen rausmachen, kleine Features neu einbauen, da wird sich genug finden; und es ist für den Anfang eine realistische Größenordnung. Dazu liest du ständig fremden Code und kriegst mit, wie andere Leute bestimmte Probleme gelöst haben. Der Lerneffekt dabei ist enorm.

Es kommt dabei auch nicht einmal darauf an, ob dein Code offiziell in das Projekt einfließt, oder ob es erstmal deine eigene Privatversion bleibt.
 

Hector

Board-Paladin

Registriert
16 Juli 2013
Beiträge
4.383
Beim Programmieren übernimmt man sich extrem schnell.
Selbst die einfachsten Dinge, die im Kopf wirklich überschaubar wirken, können plötzlich in der Praxis unendlich komplex werden, weil man vieles einfach nicht bedacht hat.
Da ist ein Messenger in der Tat eine Ecke zuviel. Und dann auch noch einer, der "sicher" sein soll. Meinst du, du kannst das, woran sich viele große Unternehmen die Zähne ausbeißen? Ich glaube nicht ;)
Gerade beim Thema "Sicher" kommst du zum Thema "Verschlüsselung". Also auch Kryptographie. Und dann gebe ich dir schon einmal direkt den Kotzeimer.

Wie es oben schon steht, nimm was vorhandenes und probiere ein bisschen damit rum. Wenn es schon in diese Richtung gehen soll. Vielleicht auch erstmal auf dem PC, einfach ein Programm dass übers Netzwerk Daten schicken kann. Das ist, als Anfänger, imho schon genug arbeit, wenn man auch wirklich verstehen will, was man da macht.
 

Asseon

Draic Kin

Registriert
14 Juli 2013
Beiträge
10.353
Ort
Arcadia
Schau dir doch mal Antox an, das ist ein Tox basierter Android Messanger.
vlt kannst du dich da ein bisschen einbringen, außerdem verschafft das einen groben Überblick über die Komplexität des ganzen.

zum thema tox Zitiere ich mich mal eben selbst.
Tox ist als freie skype alternative entstanden, aber mit dem ziel sichere Kommunikation zu ermögliche.
es hat ein ziemlich cooles durchgehen verschlüsseltes P2P Protokoll das eben nicht nur Text sondern auch Audio und Video Streams übertragen kann.
 

Larius

OutOfOrder

Registriert
12 Juli 2013
Beiträge
5.792
Ich seh das genauso wie War-10-ck und der Rest: Ohne große Java-Erfahrung würde ich mich nicht direkt auf Android stürzen da die Lernkurve dabei relativ gigantisch sein dürfte. Beginn dich zuerst einmal an etwas Kleinerem bevor du so ein komplexes Projekt beginnst und dann entmutigt aufgibst weil du scheitern wirst.
 

evillive

EXIL

Registriert
24 Juli 2013
Beiträge
930
wie willst du die Kommunikation den machen? Du musst einen Client programmieren und einen Server. Du musst dich dann also um die Client-Server Kommunikation kümmern und um die Client-zu-Client Kommunikation oder Client-zu-Server-zu-Client


zu erst musst du Java lernen. Du musst anfangen objektorientiert zu programmieren. Dann schaust du dir z. B. bei "Java ist auch eine Insel" , wie man mit Sockets arbeitet. Wenn du ein Beispiel suchst, dann kannst du in google z. B. "Socket Java Insel" eingeben.. Wenn du die Grundlagen kannst - dauert vielleicht ein bis drei Jahre. Dann kannst du folgendes machen:

Ich empfehle dir, dir einen existierenden Open-Source-Messenger zu suchen, den du auch selber benutzen willst. ... Dazu liest du ständig fremden Code und kriegst mit, wie andere Leute bestimmte Probleme gelöst haben. Der Lerneffekt dabei ist enorm.

Aber such dir für den Anfang ein kleines Beispiel Programm. Sonst blickst du sehr wahrscheinlich nicht durch. Ein Problem hast du aber bei fremden Code. Da du noch nicht gut programmieren kannst, wirst du es sehr schwer haben guten Code von schlechten zu unterscheiden. Und es gibt da leider viele Projekte, die murks sind. Alles ist static und ähnliches.
 

accC

gesperrt

Registriert
14 Juli 2013
Beiträge
5.250
ich bin (fast) ein absoluter Laie, was das programmieren angeht.
(...) der beste Ort, um damit anzufangen.
(...) Mein Ziel ist es, einen Messenger für Android-Handys zu programmieren. Vorrangig geht es mir dabei um Anonymität beim Versenden von Nachrichten, d.h. es soll so schwer wie möglich ermittelbar sein, von welchem Handy diese Nachricht an jenes Handy geschickt wurde. Nachrichten sollen nicht gespeichert werden.

Meinst du nicht, dass du dir erst mal eine einfachere Aufgabe stellen solltest?
Für einen eigenen Chatclient brauchst du Client, Server, musst dich mit Crypto auseinandersetzen, Netzwerkprotokollen, Parallelität usw.
 

Chaoslian

Neu angemeldet

Registriert
15 Juli 2013
Beiträge
70
Ich sehe das ähnlich wie die Anderen hier. Die Zeit die du brauchen wirst um alles zu lernen was dafür erforderlich ist würde ich auch eher in Jahren anstatt in Monaten bemessen. Gerade bei einem Messenger hast du viele Bereiche drin die wirklich "eklig" werden können. Insbesondere die Kryptographie ist ein Bereich den du nicht unterschätzen solltest. Damit allein kannst/wirst du schon unglaublich viel Zeit verbringen.

Setze dir kleine Ziele und lerne erst einmal zu Programmieren. Im Idealfall direkt Objektorientiert. Java bietet sich (wie bereits mehrfach angesprochen) an.
 

Serenity999

Neu angemeldet

Registriert
9 Sep. 2014
Beiträge
4
  • Thread Starter Thread Starter
  • #12
Erstmal möchte ich euch allen für die zahlreichen Antworten danken!

Solche Antworten habe ich bereits erwartet, ist aber nicht so schlimm. Es geht mir teils auch darum, meine Freizeit mit etwas sinnvollem zu füllen, und Programmieren eigent sich perfekt dazu.
Ich denke, dass einige der hier gennanten Dinge mir beim Anfangen sicher helfen werden, und bitte natürlich um mehr :)

Ich hoffe, ich kann eines Tages mal ein Projekt von mir vorstellen! :D
 

BurnerR

Bot #0384479

Registriert
20 Juli 2013
Beiträge
5.347
So weit weg ist ein Messenger aber nun nicht.
Server würde ich auch weg lassen, IPs grabben und ne Direktverbindung zwischen zwei Phones aufbauen.
Gibt doch bestimmt Android orientierte Einführungen. Besorg dir so ein Buch, zieh dir das rein und danach kannst du schon alles oder alles außer der Kommunikation zwischen den Geräten.
Dann hast du jedenfalls einen Aufhänger und ein mittelfristiges Ziel, findest in jedem Kapitel was was dir später beim Messenger hilft. Und am Ende kann dein Kumpel sich deine App installieren und ihr chattet über euer Ding :).
 

Patroklos

NGBler

Registriert
20 Aug. 2013
Beiträge
459
Allerdings ist beim Verbindungsaufbau zu beachten, dass sich IP Adressen ändern können u. Feuerwände das vorhaben verhindern.
Lieber über ein Stream-Socket zum Server und von dort aus verteilen.
 

KaPiTN

♪♪♫ wild at heart ♪♫♫♪

Registriert
14 Juli 2013
Beiträge
28.561
@Ripper_Roo:

Muß der TS dies jetzt schon in seine Planung mit einbeziehen, oder kann er sich das noch einmal überlegen, wenn er sich etwas eingearbeitet hat?
 

Brother John

(schein)heilig

Registriert
1 Aug. 2013
Beiträge
235
Ich seh bei einem komplett eigenen Messenger auch das Problem, dass es *noch* schwieriger ist, jemanden zum benutzen zu bewegen als bei einem verbreiteten offenen Protokoll.

»Wie, es gibt nur die Android-App? Was mach ich dann am iPad und am Windows-PC? Nee, lass mal lieber weiter skypen.«

Das ist doch auch frustrierend, wenns auch im engen Freundeskreis keiner auch nur mit dem Hintern anschaut. Also sollte es schon halbwegs ein Standardprotokoll sein. Aber ob man als Anfänger gleich selber z.B. XMPP implementieren will? Andererseits: der Lerneffekt über Netzwerkprogrammierung ist dabei definitiv enorm. Und wenn mans halbwegs sinnvoll wegkapselt, kann man bei Bedarf immer noch irgendwann zu einer vorhandenen XMPP-Lib wechseln, die mehr Features unterstützt. Vielleicht wäre das gar kein schlechter Anfang für ein eigenes Projekt.
 

Larius

OutOfOrder

Registriert
12 Juli 2013
Beiträge
5.792
Naja wobei, ich denk mal das wenn man einen kleinen Messenger programmieren will als Fun-Projekt muss man nciht unbedingt soforta uf sowas umfangreiches wie XMPP einsetzen. Sicher, irgednwann später kann man es bestimmt austauschen, nur nachdem ich hier im Thread lesen muss das kaum bzw. gar keine Erfahrung in Java vorhanden ist nehme ich mal an das das Weg-Kapseln von der eigentlichen Logik und die Austauschbarkeit gar nicht mal sooo gegeben sind...

Aber wie gesagt, was kleineres zu Beginn ist einfach empfehlenswerter.
 

BurnerR

Bot #0384479

Registriert
20 Juli 2013
Beiträge
5.347
Lasst den armen doch einfach mal zum Einstieg auf ein Projekt hinarbeiten bzw. verwirklichen auf das er Bock hat. XMPP, oh dear :D.

Das ist doch auch frustrierend, wenns auch im engen Freundeskreis keiner auch nur mit dem Hintern anschaut.
Kommt drauf an, was genau seine Motivation ist. Für mich wäre es das erschaffen an sich unabhängig davon obs dann einer benutzt.
 

Brother John

(schein)heilig

Registriert
1 Aug. 2013
Beiträge
235
Ja, klar kommt das auf die Motivation an. Zumindest mich hätte es am Anfang ziemlich frustriert, etwas zu bauen, was praktisch gar nicht einsatzfähig ist. Und Serenity meint doch, er will viel Zeit investieren. ;) Zumindest kann es sicher nicht schaden, in XMPP mal intensiver reinzuschauen, anstatt allein auf der komplett grünen Wiese anzufangen. Die haben sich ja einige Gedanken gemacht, wie man so ein Protokoll designt und offenbar ist es ja nicht so ganz schiefgegangen.
 
Oben