2013-05-08 6 views
9

Also bin ich neu bei node.js, javascript frameworks und meteor.com. Ich versuche zu lernen, wie man soziale Netzwerke baut, und ich bin naiv/versuche zu verstehen, warum Meteor.js (meteor.com) nicht in der Lage wäre, all die großartigen Dinge zu tun, die man jetzt auf Twitter, Facebook, Instagram sieht sind dabei?Kann das Web-Framework meteor.js eine Social-Networking-Architektur effektiv unterstützen?

Es gibt die Kometen-Technologie zwischen Client/Server, Authentifizierungskonfigurationen, asynchrone Kodierung für Skalierung und Leistung und auf node.js.

Ich versuche, mehr über Long-Polling, Kometen, gridFS oder wie Dateien gespeichert werden und im Allgemeinen Dinge wie Replikationssätze und Sharding, um mit der Leistung zu helfen (besonders seit Redhat diese OpenShift-Plattform, die wir bauen können unsere eigenen privaten Wolken mit).

Ich habe etwas Informatik Hintergrund, aber es scheint wie Magie, also was fehlt mir? Wenn Sie alle an ein paar Schlagworte denken könnten, die ein soziales Netzwerk kreuzen, das Meteor.js nicht unterstützt, was wäre es?

Ich höre Dinge über Parallelität und Gleichzeitigkeit (Webworkers behebt das, zum Teil, nein?), Websockets, die High-Level-Sprachen wie Python oder Java sind besser dran zu unterstützen. Es gibt nur einen, der meine Antworten lernt, und zwar auf diese Weise, aber ich dachte, jemand könnte mich über diesen Thread in die eine oder andere Richtung lenken. Vielen Dank!

Antwort

5

Diese Frage umfasst eine wirklich breite Idee und allein die Verwendung von Meteor allein würde dieses Problem lösen. Hier sind ein paar Punkte zu beachten:

  1. Ich glaube nicht, dieser Rahmen ein guter Ausgangspunkt wäre, lang Polling zu lernen, gridFS, etc etc. Meteor zielt darauf ab, einen Rahmen zu sein, mehr zu sein scheint eines Ökosystems von Paketen, z Sie können sicherlich Ihre eigenen Strategien anwenden - für dynamische Updates verwendet Meteor jedoch sein eigenes Data Delivery Protocol (DDP), das von einer Reihe von Kernpaketen wie Spark unterstützt wird.

  2. Parallelverarbeitung und Concurrency kann besser getan werden andere Sprachen verwenden, aber warum nicht mit? Da Meteor basiert weitgehend auf node.js, und node.js ist wirklich gut mit den oben genannten Sachen plus es kann sehr gut mit anderen Sprachen spielen, so dass Sie reibungslos integrieren können. Meteor verlangt nicht wirklich, dass Sie sich darauf verlassen, denn andere Sprachen würden dasselbe sagen. Es ist alles in der allgemeinen Planung für Ihr Projekt. There are already lots of really good stuff out there that rely on Meteor, mach mit! Hab keine Angst. Alles läuft auf die Planung hinaus (und den Mut/die Ausdauer, es natürlich zu schaffen).

  3. Im Moment können wir nicht sagen, ob Meteor unfähig, die üblichen großen Sachen von riesigen Websites sei. Sicher, wir können Live-Updates, (eigene Art von) veröffentlichen/subscribe-Muster, und leistungsstarke Zeug zu steigern Entwicklung (siehe die sieben core concepts von Meteor, um dies am besten zu verstehen). Es ist nicht unmöglich zu replizieren, was bereits da draußen ist, wirklich. Wir können es momentan nur mit Ungewissheit sagen, hauptsächlich weil .. (siehe nächster Punkt)

  4. Das Framework ist so jung! Zum Zeitpunkt des Schreibens liegt es immer noch bei 0.6.x. Bitte nehmen Sie sich die Zeit, um sich die Meteor Roadmap anzusehen, um zu sehen, wie es um die breitere Unterstützung für Persistenz/Datenbanken, Leistungsüberlegungen und die offizielle DDP-Spezifikation geht.

Ich hoffe, ich habe Ihre Anfrage beantwortet (und mehr, hoffe ich). Ich bin wirklich aufgeregt für Meteor selbst, da es leicht das nächste große Ding sein könnte. Wir haben auch ein paar (For-) Produktionsprojekte mit Meteor, so dass Sie direkte Einblicke von einer Person erhalten, die ziemlich viel Hacking (und Tonnen von Forschung und Erfahrung aus erster Hand) in Meteor gemacht hat. Nicht, dass ich sage, ich bin ein Experte oder so, es macht einfach so viel Spaß mit Meteor zu arbeiten und ich mache dir keinen Spaß.

Hoffe, das hilft!

S.S .: Eine faire Warnung obwohl, Ressourcen und Dokumentation ist wirklich spärlich an dieser Stelle. Ich versuche so viel wie möglich zu der Community beizutragen (einer meiner Startpunkte ist hier, auf SO).