Webentwicklung - Online oder Offline?

Wie entwickelt ihr bei etwas größeren Projekten

  • Immer direkt und alles Online

    Abstimmungen: 1 8,3%
  • Immer erst alles Offline und dann Online stellen

    Abstimmungen: 10 83,3%
  • Irgendwie anders (bitte unten beschreiben)

    Abstimmungen: 1 8,3%

  • Anzahl der Umfrageteilnehmer
    12

nepda

Erfahrenes Mitglied
Hallo,
ich bin jetzt schon einige Jahre bei der PHP-Entwicklung dabei. Inzwischen habe ich eigene Techniken entwickelt, die ich ständig anwenden kann und soweit auch zufrieden bin.
Es gibt aber eine Sache, mit der komm ich einfach nicht zurecht. (PHP-)Editoren gibt es ja viele, die einen sind extra für PHP, die anderen kann man mit Plug-Ins oder so erweitern und welche, die kann man einfach als PHP-Editor "missbrauchen".
>> Das wird kein "Welcher PHP-Editor ist der Beste" Beitrag
In meinen ~8 Jahren Entwicklung hab ich viele Editoren ausprobiert, bis heute ist mir keiner richtig ans Herz gewachsen.
Ich will eigentlich direkt auf dem Server schreiben, d.h. ich will per SSH oder FTP (ist mir relativ egal) eine Datei öffnen, editieren, hochladen. Das machen viele Plug-Ins recht gut. Doch da gibt es immer wieder Fehler (heute wieder, hat das Eclipse-PlugIn ~300 Zeilen mühsamen Code gelöscht!).

Wie macht Ihr das bei etwas größeren Projekten? Erst komplett offline erstellen und dann auf den Server schieben? Oder, so wie ich bis jetzt alles sofort auf dem "echten" Server?

P.S.: Ich arbeite unter Linux (zur Zeit mit Eclipse). Ihr könnt ja auch kurz euren Editor nennen.
 
Auf der Arbeit haben wir einen Online-Editor, der per JavaScript relaisiert ist.
Hat viele Funktionen und wenige Fehler. Die Fehler sind aber meist noch erträglich.
Geschwindigkeit lässt natürlich zu wünschen übrig...

Man muss dazusagen dass wir eine Verwaltungssoftware anbieten. Mein Themengebiet ist die weiterentwicklung der Tools und Module, hab somit selten mit dem Onlineeditor zu tun der meist für die Kundenseiten da ist.

Zuhause Arbeite ich nur mit Notepad++. Ich hab viel lieber meine Arbeiten lokal auf meinem PC und lade das in gewissen Abständen ins Netz, als dass ich Online Arbeite. Hab da immer Angst meine Daten zu verlieren...
Gefühlt auch immer langsamer als lokal. (Auch vom Arbeitstempo her, frag nicht warum, ich weiß es nicht ^^)
 
Konzeption, Entwicklung und Alpha Tests gibt es lokal auf meinem PC, dann wird es per SVN mit einem Entwicklungsbereich synchronisiert (Tortoise SVN einfach per Rechtsklick auf den Ordner) und später wird es dann mit der Liveumgebung synchronisiert...

Direkt auf dem Server arbeiten empfinde ich als viel zu fehleranfällig und hat keinerlei Rollback Möglichkeiten.
Versionierungssoftware ist bei jedem größeren Projekt Pflicht, wie ich finde.

SVN empfehle ich, gibt aber auch noch Git und andere die mir gerade nicht einfallen wollen.
 
Ich programmiere mit PSPad immer erst lokal. Dann schieb ichs auf einen kleinen Testserver den mir nen Kollege bereitstellt damit das was ich programmiert habe von mehreren Leuten in der Praxis getestet wird. Bei größeren BUGs hat PSPad eine FTP Funktion eingebaut mit der ich dann direkt auf dem Testserver die Dateien editiere. Dann wird alles von test auf den Hauptserver geschoben.

so far,
Christian
 
Ich entwickle normalerweise lokal, teste lokal und checke das dann bei Gefallen in ein subversion-Repository ein. Das hat dann einen post-commit-Hook, der die Website auf dem Webserver deployed.

Unter Linux kann man sich übrigens mal sshfs anschauen, damit kann man beliebe Daten über ssh in das lokale Filesystem einhängen und eclipse so vorgaukeln, die Dateien lägen lokal.
 
Ok, vielen Dank mal soweit! (aber gerne weitere Beiträge!)

Wenn Ihr doch in der Überzahl erstmal offline arbeitet, wie gestaltet sich das bei euch?
Habt ihr lokal eine Kopie der Server-Konfiguration inkl. Server laufen, wenn ja, wie macht ihr das zum Beispiel mit Datenbanken? Wenn nein, programmiert ihr dann einfach nur im Editor (ohne zwischendurch mal zwischenergebnisse zu sehen?)

Einen lokalen Server aufzusetzen ist natürlich kein Problem, aber das Synchronisieren stell ich mir etwas zeitaufwändig vor!?

So etwas, wie Heute (der Verlust von mühseligen Zeilen von Code) darf natürlich nie passieren. Abgesehen davon, dass ich das ganze jetzt mehr und mehr geschäftlich mache. So wie's aussieht werde ich wohl in der Hinsicht meine Technik ändern müssen.
 
wie macht ihr das zum Beispiel mit Datenbanken? Wenn nein, programmiert ihr dann einfach nur im Editor (ohne zwischendurch mal zwischenergebnisse zu sehen?)

Einen lokalen Server aufzusetzen ist natürlich kein Problem, aber das Synchronisieren stell ich mir etwas zeitaufwändig vor!?

Das mit den Datenbanken interessiert mich auch. Vor allem, weil man die Struktur aus dem Konzept irgendwann ändert und dann frage ich mich immer wie man so etwas ganz simpel synchronisiert.

Nur im Editor programmieren ohne mal zwischendurch zu schauen hat sich bei mir als böse erwiesen. Oft saß ich stundenlang nur im Editor, lass es laufen und versuche ein paar Ausnahmen für bestimmte Benutzereingaben zu simulieren. Da findet sich immer was und zwar so stark das ein Teil vom Code wieder ganz weg muss. Von daher mach ich nur noch kleine Schritte.

Das Synchronisieren per SVN oder ähnlichem ist nicht zeitaufwändig. So etwas läuft je nach Datenmenge und Bandbreite recht schnell durch.
 
Auch wenn Programmierung und Webentwicklung nicht mein Haupteinkommen ist, mal n paar simple Worte :

Ich habe eine Synology DS109, als NAS inklusive Web/Mysql-Server, alles auf Linuxbasis. Am momentanen Projekt schreibe ich alles quasi "Offline", nutze auch keine IDE, die das Projekt beherrschbar macht, sondern alles kalt&hard in EditpadLite. Die Unterschiede bezüglich php-Modulen etc. erkenne ich "meist" bei einem Testlauf online, danach scheine ich weiterarbeiten zu können. Nebenbei könnte ich die NAS um fehlende Module erweitern oder die Onlieumgebung darauf nachbilden.. Backups oder Versionen speichere ich als Komplettordner weg. Das ist nicht grad "modern", funktioniert aber :D

mfg chmee
 
Hm, ich arbeite bei unseren Webentwicklungen normalerweise niemals lokal. Zum Entwickeln verbinde ich mich mit unserem Testserver, welcher unter SVN steht. Dort bearbeite ich dann das komplette Modul oder die Anpassung. Wenn es dann gefällt, dann gibt es erstmal einen commit in das SVN und dann wird das Ergebnis schlicht auf den produktiven Server deployed (synchronisiert).

Nur wenn ich eine sehr langwierige Anpassung realisieren muss, und damit quasi den Testserver blockieren würde ziehe ich mir einen Branch auch mal auf meinen PC um dort zu arbeiten. Kam bisher allerdings erst einmal vor, dass ich dachte, die Entwicklung täte zu lange (ich hatte zu dem Zeitpunkt auf knapp einen Monat getippt, was eindeutig zu lange gewesen wäre).
 
Die Datenbank ist bei mir grundsätzlich online auf dem Testserver.
Kurz eine erstellen, Tabellen reinpacken und verbinde dann von lokal auf den Testserver. Die minimale Zeit die das länger braucht als alles lokal zu haben stört mich nicht.

Danach kopier ich das ganze mit SQLyog von der Testdatenbank nach live und fertig.
 

Neue Beiträge

Zurück