Programmieren im Team?

  • 14 Antworten
  • Letztes Antwortdatum
S

Speedy1985

Neues Mitglied
0
Hallo Jungs und Mädels,

mich würde mal interessieren, wie ich das umsetzen kann, mit mehreren Leuten im Team eine App zu entwickeln.

Welche Software ist dafür gut geeignet und vor allem wie funktioniert das Konzept dahinter?
Ich denke mir, dass es ziemlich drunter und drüber geht, wenn mehrere Leute am selben Code rumfummeln.

Bin sehr gespannt!

Gruß Christian
 
Dafür gibt es eigentlich sowas wie Versionverwaltngssoftware.

Bei meinem Arbeitgeber nehmen wir Perforce, die grossen Android-Projekte (CM, AOSP...) nehmen GIT (wurde IMHO mal für den Linux-Kernel entwickelt).

Da kann man siich eine Arbeitkopie lokal ziehen, und die geänderten Dateien an den Server hochladen.

Da gibt es Mechanismen zum Auschecken, wenn man was ändern will, wo man mitbekommt, wenn auch andere an der Datei gerade ändern wollen und ganz wichtig, es gibt merge-Tools um gleichzeite Änderungen einer Datei anschliessend zusammenzumergen.

Aber es bedarf in jedem Fall Abstimmung und koordination...

Grüsse Uwe
 
Hallo Uwe,

danke für die Info! Hab gerade beim Starten von Eclipse einen Link entdeckt, der nennt sich "Team support". Stichwort dazu ist anscheinend CVS (Concurrent Versions System), was wahrscheinlich die englische Variante deiner Versionsverwaltungssoftware darstellt.

Muss mich mal genauer einlesen, aber so wies aussieht kann man da nur abwechselnd dran arbeiten und nicht gleichzeitig an zwei unterschiedlichen Codebereiten eines Projekts.

Mal guggen! Vielen Dank schonmal!

Gruß Chris
 
Für eclipse gibts plugins für die meisten Versionsverwaltungstools.

Wenn Du an einem Android-Projekt mitmachen willst, und GIT bei Dir installierst, wird das auch von Eclipse unterstützt. Und für Perforce gibts auch ein Eclipse-Plugin.

Die besseren Versionsverwaltungstools bieten die ausgefeilteren Möglichkeiten, konkurierende Changes zu resolven, Look-Mechanismen und ganz wichtig, Branches (zwei oder mehr Entwicklungszweige einer Resource) zu öffnen und wieder zusammenzuführen.

Grüsse Uwe
 
Ja das mit Git hab ich auch schon gesehen. Ist Git dann das "Programm/Plugin" ansich und CVS das Verfahren, welches dahinter steckt?
 
CVS ist auch ein Versionsverwaltungs-Tool (war glaube ich früher in Linux mit drin), GIT oder Perforce sind andere Produkte mit anderen Kommunikations-Protokollen und anderen Features.

Wenn man in ein bestehendes Projekt einsteigen will, muss man natürlich genau den Client haben, der zu dem bestehenden Versionsverwaltungs-Server des Projektes passt.

Wenn man ein Projekt neu aufsetzt, ist man frei in der Auswahl.

Wegen der starken Verbreitung würde ich für eine OpenSource-Projekt das ich neu anfange, heute GIT empfehlen. Der Client und der Server sind frei erhältlich.

Für Firmen eigenet sich Perforce (Wird u.a. bei Microsoft (nicht deren eigenes Visual SourceSave!!!) oder SAP eingesetzt), ist aber wegen den Lizens-Kosten für freie Projekte nicht zu empfehlen.

Grüsse Uwe
 
Ich würde auch git empfehlen. Allerdings würde ich, auch wenn es Einarbeitung erfordert, erstmal ohne Eclipse plugin versuchen auszukommen und es über die Kommandozeile machen.
a) ist meiner Erfahrung nach der Merge-Algorithmus von der git Kommandozeile besser als vom Eclipse Plugin. Bedeutet weniger Arbeit bei Konflikten.
b) sind im EGit (Eclipse Git Plugin) immer noch ein paar Unschönheiten, die im Prinzip gegen das eigentlich Handling von Git gehen. Wenn man sich besser mit git an sich auskennt, weiß man eher wie das zu umschiffen ist.
 
Mit EGit habe ich noch nicht gearbeitet, aber beim Perforce-Plugin ist es so ähnlich. Man kann es gut verwenden, um eine Datei, die man im Eclipse bearbeitet, aus dem Repository auszuchecken.

Alles andere macht man besser nicht mit dem Plugin, sondern mit dem 'Echten' Preforce-Client.

In GIT muss ich mich jetzt mal tiefer einarbeiten, aber nicht weil ich privat im Team arbeite, aber weil ich mir für Zuhause einen GIT Server als 'Backup' aufsetzen will....

Grüsse Uwe
 
Warum erwähnt hier eigentlich keiner svn? Xd

Gesendet von meinem GT-I9300 mit der Android-Hilfe.de App
 
Also wir nutzen eigentlich Saros. Ich habe mal ein kleines Tutorial dazu gemacht.
Tutorial Saros auf droidenschmiede.bplaced.net

Ist sehr praktisch, man hat eine live Ansicht, was der andere gerade macht, hat ein whiteboard und das teilen vom Bildschirm.

Gruß
 
haha black wollts auch grade verlinken xD Also das Tutorial is eh das beste aufm Markt, und die Apps von droidenschmiede eh und generell ;)
 
  • Danke
Reaktionen: blackfire185
Super, danke für die vielen Anregungen!

Dagobert, was gibt's zu svn zu sagen? Vielleicht gibst du gleich mal ein Statement ab, wenn du es eh verwendest.

Das Tool von Black und Brain hört sich gut an. Ich mein ich kenn mich ja nicht aus, aber es hört sich für mich etwas nach Bandbreitenfresser und Spielerei an mit dieser Live-Arbeiten als nach professionellem Arbeiten. Nicht böse sein, sollte es eine Fehleinschätzung sein. ehrlich gesagt hab ich diese Art von Team-Programmierung sogar gesucht. :rolleyes2:
Was meinen die Anderen dazu? Hat schon jemand Erfahrung damit?

Gruß Chris
 
Wenn ich das richtig verstehe hört sich Saros aber nicht nach einem Versionskontrollsystem an. Es kommt also drauf an was man möchte.
Wenn ich das richtig verstanden habe, dass die Benutzer editieren und die Änderungen live rüberkommen stelle ich mir das ziemlich blöd vor, wenn einer Zwischenstände speichert die so nie kompilieren oder starten und ich will was testen und muss warten bis der fertig ist? Was ich meine ist, dass es ziemlich schwierig ist die Auswirkungen der eigenen Änderungen zu sehen wenn der Rest vom Code (den ich nicht angefasst habe) nicht statisch ist. Das macht in meinen Augen alles ziemlich unvorhersehbar..
 
Das stimmt man muss warten bis der andere alles fehlerfrei hat, aber man kann via VoIPZUSMMEN an einem problem arbeiten. Bi uns geht es wenn wir an einem problem arbeiten sehr schnell voran.

Wenn allerdings gerade nicht alle on sind, und jeder was anderes macht, weis ich nicht, wie die versionskontrolle ist. Evtl. Ist eine kombination mit svn am besten.

Gesendet von meinem GT-S5660 mit der Android-Hilfe.de App
 
Zuletzt bearbeitet von einem Moderator:
Jo wie gesagt, kommt drauf an was man will.
Versionskontrolle -> git
Live-Collaboration -> Saros und Konsorten
 
Zurück
Oben Unten