Wie kann ich sowas wie Facebook programmieren?

11 Antworten

Hallo, ich bin 14 Jahre alt und meine Kenntnisse in JAVA sind eher naja...

Dann solltest du sie zunächst ausbauen, bevor du weitere Dinge lernst. Für eine Seite wie Facebook kann man im Backend wunderbar Java einsetzen. Schau mal hier. Dort habe ich einige Hinweise zum Lernen von Java zusammengefasst.

Ich möchte gerne sowas Programmieren wie Mark Zuckerberg. Ich weiß, es hört sich albern an, wodurch ich auch bis heute von meinen Mitschülern schikaniert werde, aber sowas bringt mich nicht runter, also bitte lasst das wie " du bist erst 14 und das schaffst du eh nicht" oder " glaub mir lass es lieber" sowas möchte ich nicht hören, bitte.

Grundsätzlich ist es gar nicht so schwierig, eine Seite wie Facebook aufzubauen, es ist nur viel Arbeit. Natürlich kannst du alleine nicht jede einzelne Funktion einbauen, aber zumindest die grundlegenden Dinge sollte man nach 3-4 Jahren Lernen und Erfahrung sammeln durchaus hinbekommen. Sicherlich wird das alles nicht sonderlich optimiert sein, aber als Spaßprojekt ist es in Ordnung. Als reeles Projekt solltest du dies jedoch nicht ansehen, da ich glaube, dass das aus heutiger Sicht keinen Sinn mehr machen würde und du damit wahrscheinlich keinen Erfolg haben würdest.

a.) Woher bekomme ich das ganze Wissen und wie kann ich es nachher einsetzen

Hier habe ich grundlegende Hinweise dazu gegeben. Um wirklich zum "Profi" zu werden, ist jedoch weitaus mehr Know-How erforderlich, siehe: https://www.gutefrage.net/frage/wie-viel-prozent-einer-grossen--webseite-macht-der-htmlcss-code-aus#answer-269303077

Wie du dieses Wissen einsetzen kannst, sollte dir anschließend klar sein, wenn du dir genügend Zeit zum Verstehen und Sammeln von Erfahrung genommen hast.

b.) Wie groß wird der Aufwand sein und wie lang werde ich dafür brauchen.

Das ist ganz individuell und kommt zum Einen darauf an, wie schnell du lernen und entwickeln kannst, zum Anderen, wie viel Zeit du zur Verfügung hast. Natürlich spielt auch die Menge an Funktionalitäten eine Rolle. Ich schätze, dass man für ein grundlegendes Social Network, welches jedoch gut aussieht - nicht so wie die erste Facebook-Version - ca. vier Monate bis zwei Jahre benötigt, wenn man alles from Scratch schreibt. Mit zahlreichen Frameworks, Bibliotheken und fertigen Plattformen kann man dies sogar schon in ein paar Wochen schaffen, doch wirklich selbst gemacht ist das nicht und interessant erst recht nicht. Spannend ist es immer, wenn man alles selbst macht. Dabei lernt man nämlich auch etwas.

c.) Ist android studio gut dafür

Wenn du eine App entwickeln möchtest, ja. Allerdings eignet sich Android Studio nur für Android-Apps, wie der Name schon sagt. Für die App-Entwicklung solltest du dir diese Antwort mal ansehen: https://www.gutefrage.net/frage/welche-programmiersprache-ist-die-beste-fuer-mich-----101?foundIn=list-answers-by-user#answer-264722172

Allgemein rate ich jedoch dazu, mit einer Website zu starten und erst bei Bedarf eine App zu entwickeln.

Habt noch einen schönen Tag

Den wünsche ich dir ebenfalls. Viel Erfolg und Spaß!

Das Hauptproblem bei solchen Systemen ist nicht der Client, sondern die Datenverwaltung im Backend auf den Servern. Wenn so ein System nämlich wirklich von vielen Nutzern angenommen wird, dann entstehen da tonnenweise Daten, die effizient und ausfallsicher gespeichert werden müssen, und wo insbesondere auch schnelle Such- und Ranking-Operationen durchgeführt werden müssen.

Der Server muss den Clients (also z. B. Webschnittstelle, Apps für die verschiedenen Mobile Devices usw.) Schnittstellen zur Verfügung stellen, über die dann effizient Funktionen wie "gib mir mal die Timeline", oder "hänge da einen Kommentar dran" bereitgestellt werden müssen.

Mit einer relationalen Datenbank wie MySQL o. ä. kommt man bei Projekten in so einer Dimension nicht weiter. Das wäre viel zu langsam. Da müssen eigene Datenstrukturen her, wo insbesondere auch für Ranking- und Empfehlungsaspekte passende Indizes aufgebaut/mitgeführt werden müssen. Diese Daten müssen dann noch dazu sehr effizient gespeichert werden, weil es um sehr große Datenmengen geht, wo man selbst mit heutigen Servern schnell in Speicherplatznot kommt.

Denkbar ist auf der Serverseite eine Realisierung z. B. in C++. Die Sprache eignet sich insofern gut, als dass sie einerseits objektorientiert arbeitet, zum anderen noch sehr maschinennah und damit performant ist. Die OO-Modellierung braucht man, weil dieser ganze Social-Media-Quatsch nunmal sehr gut in (geschachtelten) Objekten abbildbar ist.

Wie solche Objektstrukturen aussehen können, magst Du Dir vielleicht mal am Beispiel Twitter selbst anschauen. Die Twitter-API inklusive des nach außen sichtbaren Objektmodells ist nämlich offengelegt. Da kannst Du Dir mal anschauen, was für Daten grundsätzlich anfallen, und was für Operationen man unterstützen muss.

Das wäre im übrigen auch eine Anregung, wie Du da weiterkommen könntest: anstatt das ganze Ding von vorn bis hinten selbst bauen zu wollen, könntest Du Dich erstmal auf die Clientseite konzentrieren und z. B. versuchen, einen eigenen Client für Twitter zu entwickeln. Oder zumindest für ein paar Basisfunktionen. Da gibt es im übrigen in der Open Source durchaus teilweise auch quelloffene Implementierungen für einzelne Funktionalitäten, wo Du Dir Dinge "abgucken" könntest.

Hinter einer Seite wie Facebook stehen Millionen von Arbeitsstunden. Aber etwas einfaches in der Art kann man tatsächlich selber programmieren. Mein Rat: fang einfach mit etwas einfachem an. Welche Technologie du dafür verwendest bleibt dir überlassen. Auf der einen Seite wirst du für das sogenannte Frontend HTML und CSS Kentnisse brauchen, später auch Javascript. Im Backend kannst du Java nutzen oder auch PHP, Python, Javascript (Node.js) oder eine von vielen anderen Prgrammiersprachen. Ich persönlich bin kein Fan von Java aber das bleibt jedem selber überlassen.

Also: fang einfach an und ziehe es durch. Für ein solides Grundwissen kann ich empfehlen tatsächlich ein paar gute Bücher durchzuarbeiten. Weitergehendes Wissen findest du im Internet in Form von Artikeln, Tutorials, YouTube Videos und Foren. Das Wissen liegt sozusagen auf der Straße.

Später solltest du dich mit Frameworks beschäftigen denn so gut wie niemand programmiert so was heutezutage noch in reinem Code sondern verwendet einige der vielen Frameworks die einen bei der Programmierung unterstützen. Aber am Anfang solltest du erst mal die Grundlagen ohne Framework lernen.

Android Studio ist für so eine Aufgabe ungeeignet, das verwendest du nur um Android Apps zu programmieren.

Programmiere ist übrigens mehr als nur das Verstehen von Syntax und Strukturen eine Programmiersprache und Auswendiglernen von Funktionsaufrufen. Das ist nur der Anfang. Um ein guter Programmierer zu werden muss man viel über Design Patterns, Best Practices, Automatisiertes Testing, Entwickungsstrategien, Versionenkontrolle und noch viele andere Themen lernen. Es ist ein weites Feld das sich ständig weiterentwickelt.

Wie bekomme ich Respekt? Von meinen Mitschülern & Freunden,?

Hallo. Ich bin weiblich, 14 Jahre alt und habe zwar auch viele Freunde, aber habe trotzdem das Gefühl dass die denken die könnten es mit mir machen. Vor allem meine Klassenkameraden. Ich werde nicht direkt gemobbt, so kann man das nicht nennen, aber öfter 'schikaniert'. Genug Selbstbewusstsein hab ich eigentlich. Trotzdem, wie schaffe ich es dass sie mich mehr respektieren? Es gibt ja wirklich manche Mädchen die total nett sind, aber trotzdem irgendwie andere leicht einschüchtern, auch mich ab und zu. Diese Mädchen haben dann aber auch keine Probleme.

...zur Frage

Schöne HTML/PHP Seiten machen?

Hey, ich bin in html/php ziemlich gut. Das Problem ist, ich schaffe es nicht professionelle Seiten hinzukriegen, die mit einem schlichten schönen „luxuriösen“ Style mithalten können. Irgendwelche CSS Tipps?

...zur Frage

Eigene kleine Spielekonsole selber bauen bzw. programmieren (Hobbymäßig)?

Auch wenn dies ein bisschen albern klingt, so frage ich mich, ob es möglich ist (Natürlich will ich das jetzt nicht umbedingt machen) eine eigene Konsole zu bauen, also keine große, gute wie z.b die PS4 oder sowas, sondern eher sowas wie eine NES oder eine N64. Sowas in der Art.

Wenn ja, was müsste man dann alles können? Ist das wirklich möglich? Kann jeder programmieren lernen?

Ich möchte hierbei bitten, nicht abwertend zu werden, da ich lediglich aus reiner Interesse frage.

Vielen Dank im Voraus! :)

Bitte keine Beleidigungen und nur ernstgemeinte Antworten!

Euer DrDollar!

...zur Frage

Gibt es eine gute Seite, wo man Leute mit gleichen interessen kennenlernen kann?

Ich suche keine Flirtseite für Singles oder sowas, sondern eine Seite wo sich Leute kennenlernen bzw. autauschen können, die die selben interessen/ Hobbys teilen.

Kennt jemand so eine Seite oder muss ich die erst selber Erfinden und so reich wie Mark Zuckerberg werden? ^^

...zur Frage

Wie hat Mark Zuckerberg, Jeff Bezos, Larry Page das Programmieren gelernt?

Ich will wissen wie die das Programmieren gelernt haben und was sie dazu benutzt haben welches Buch zumbeispiel und welche Programmiersprache mit was sie angefangen haben oder was könntet ihr mir empfehlen (ich bin 15) und will mit dem Programmieren anfangen und irgendwann das flüssig draufhaben. Ich will so sozial Networks programmieren können........

...zur Frage

Ausbildung zum Fachinformatiker - Kenntnisse Pflicht?

Ich wollte später mal in Richtung IT arbeiten und wollte deswegen eine Ausbildung als Fachinformatiker (Anwendungstechnik) machen.

Jedoch habe in Stellenanzeigen zu 90% gelesen, dass Programmiererkenntnisse Pflicht sind und man schon programmieren einigermaßen gut beherrschen sollte...

Ich habe gedacht das eine Ausbildung dafür da ist um es dort zu lernen. Weil es heißt ja nicht umsonst Ausbildung...

Ich habe jetzt keine Programmierkenntnisse, aber bringe alle anderen Voraussetzungen mit. Wie gute Englisch, Mathe- kenntnisse... Und natürlich großes Interesse.

Reicht das eigentlich nicht?

Des ist so als ob man eine Ausbildung zum Elektroniker machen will, aber die Kenntnisse von einem "Meister" mitbringen sollte...??

Von wo sollte ich den die Programmierkenntnisse mitbringen? Es gibt keinen in meiner Familie/ Freundeskreis der sowas macht!

Ist das wirklich ein MUSS programmieren zu können um eine Ausbildung zu machen?

...zur Frage

Was möchtest Du wissen?