it-swarm.com.de

Aufbau einer neuen Website

Lassen Sie mich zunächst feststellen, dass ich kein professioneller Webdesigner bin. Ich muss eine Website für eine kleine Firma erstellen, die einem Freund gehört. Ich möchte sicherstellen, dass alles, was ich tue, in Zukunft erweitert und bei Bedarf erweitert werden kann. Ich bin verwirrt, ob ich bei Null anfangen oder ein Framework wie Drupal oder Joomla verwenden soll.

Irgendwelche Hinweise?

Die Website hat übrigens die üblichen Verdächtigen: Produkte, Kontakte, über uns usw.

Edit: Als Antwort auf die Antworten von Joshak & Dave gibt es keine Pläne, direkt von der Website zu verkaufen. Die inhaltlichen Änderungen finden etwa alle 3 Monate statt.

1
user3036

Ich weiß nicht, wie viel Programmiererfahrung Sie haben, aber wenn es nicht wichtig ist (z. B. wenn Sie nicht ganz sicher sind, wie gut Ihr Code der Überprüfung anderer Entwickler in einer Team-Entwicklungsumgebung standhält), sollten Sie dies tun Erwägen Sie ernsthaft die Verwendung eines CMS, Frameworks oder CMS-Frameworks.

Ja, Sie können vieles besser lernen, indem Sie eine Website von Grund auf neu entwickeln. Dies ist jedoch nicht nur ein Übungsprojekt für Sie. Dies ist die Geschäftsseite Ihres Freundes. Sie sind also dafür verantwortlich, seinen und nicht Ihren Bedürfnissen Vorrang einzuräumen. Mit einem CMS/Framework können Sie nicht nur die Site schneller einrichten, sondern auch:

  • stellen Sie sicher, dass die Codebasis professionellen Standards entspricht
  • stellen Sie sicher, dass die Codebasis stabil und sicher ist
  • stellen Sie sicher, dass der Code modularisiert und einfach erweiterbar ist
  • stellen Sie sicher, dass andere Best Practices eingehalten werden, damit der Code besser gewartet werden kann

Wenn Sie ein Framework verwenden, müssen Sie wahrscheinlich selbst einen kleinen Controller-Code für eine einfache Site schreiben. In der Framework-Dokumentation wird jedoch beschrieben, wie dieser Code für eine Standard-CRUD-Site geschrieben wird, was ziemlich einfach sein sollte. Offizielle Konventionen bieten nicht nur Standardlösungen für häufig auftretende Probleme mit Frameworks wie CakePHP, sondern verpflichten Sie auch, sich an bewährte Methoden zu halten. Es ist immer noch möglich, Spaghetti-Code zu schreiben, egal welches Framework Sie verwenden, aber die Wahrscheinlichkeit, dass dies passiert, ist sehr gering.

Tatsache ist, es braucht Zeit, um zu lernen, wie man eine professionelle Website erstellt, und es fällt Ihnen schwer, alles in einem einzigen Projekt zu lernen (und es innerhalb eines angemessenen Zeitraums abzuschließen). Ein CMS/Framework bietet eine Abkürzung. Wenn Sie sich den Code und die Konventionen professioneller CMS und Frameworks ansehen, können Sie auch eine Menge Wissen erlangen, das Sie wahrscheinlich Jahre benötigen würde, um es selbst herauszufinden.

Bearbeiten:
Auch wenn die meisten Entwickler dies nicht gerne zugeben, sind die meisten Websites doch ähnlicher als unterschiedlich (in Bezug auf Zweck und Anforderungen), sodass Sie für die meisten Typen in der Regel vorhandene (Open Source-) Lösungen finden von Projekten, die alles weit übertreffen, was ein einzelner Entwickler in angemessener Zeit selbst schreiben könnte.

Aus dieser Perspektive würden Sie das Rad einfach neu erfinden, indem Sie ein weiteres CMS für eine Broschüren-Site, einen Blog, einen E-Commerce-Shop usw. erstellen. Daher wäre es weitaus besser, ein ausgereiftes Open-Source-CMS zu wählen, das Sie anpassen/erweitern und von den Millionen von Arbeitsstunden profitieren können, die andere bereits in das Design, die Codierung, das Testen, das Refactoring, das Patchen usw. investiert haben. Auf diese Weise müssen Sie sich nur darauf konzentrieren, Lösungen für die Probleme zu erstellen, die für Ihr Projekt spezifisch sind , anstatt Probleme zu lösen, die bereits millionenfach gelöst wurden.

Ich meine, es ist unwahrscheinlich, dass ein einzelner Entwickler eine umfangreiche AJAX -Schnittstelle (die sich elegant verschlechtert und browserübergreifend kompatibel ist) schreiben kann, die der von Magento oder Wordpress in weniger als entspricht ein paar Monate, ganz zu schweigen von allen anderen Funktionen, die in gängigen CMS-Systemen Standard sind (automatisches Pingback, Rechtschreibprüfung, Slug-Generierung, Routing-Engine, Tagging, Plugin-Funktionen, Feed-Generierung, Lokalisierungsunterstützung, Datenbereinigung, Datei-Upload, WYSIWYG-Editor, Benutzerverwaltung) , Unterstützung für Mikroformate, Kommentarsystem usw.). Der Versuch, ein CMS selbst zu erstellen, würde also mehr Zeit kosten und Ihrem Freund ein weniger robustes Produkt liefern.

4
Lèse majesté

Wenn Sie den E-Commerce-Weg gehen möchten (ich sehe, dass Sie die Produkte in den Anforderungen aufgelistet haben), würde ich vorschlagen, nach einem E-Commerce-CMS zu suchen, und nicht nach Joomla oder Drupal. Vielleicht möchten Sie sich ZenCart oder anschauen Magento. Wenn weder Sie noch Ihr Freund technische Erfahrung haben und nicht wirklich vorhaben zu lernen, möchten Sie möglicherweise eine gehostete Lösung wie shopify.

Wenn Sie zumindest die Grundlagen des Programmierens erlernen möchten, ist es ziemlich einfach, einen Webshop mit Symfony (Framework für PHP) und Paypal zu erstellen. Es gibt viele gute Orte, an denen man Programmieren lernen kann. Ich empfehle Symfony, da es einen großen Teil der Arbeit für Sie erledigt, damit Sie das Projekt noch während des Lernens erledigen können und die von mir am besten verständlichen Schritt-für-Schritt-Tutorials haben 'habe gesehen.

Viel Glück

2
Joshak

Willkommen in der Webwelt, Alter.

Eine Website hat viele Punkte zu beachten. Programmierung, SEO, Design, Benutzerfreundlichkeit ... Es ist definitiv keine einfache Aufgabe. Schön, dass Sie sich um zukünftige Wartungsarbeiten kümmern, anstatt nur die Arbeit zu erledigen.

Beginnen Sie das Projekt jedoch wie jedes andere anhand seiner Anforderungsdefinitionen. Ein paar Fragen können Ihnen bei der Entscheidung helfen, was besser ist.

  • Muss diese Site online verkauft werden, muss sie irgendeine Art von Zahlung/Transaktion ausführen oder ist sie nur informativ?
  • Wie oft wird der Inhalt geändert? Einmal im Jahr? Wöchentlich? Viele Male am Tag?

Die Antworten führen Sie zum besten Ansatz.

CMS wie Joomla und Drupal werden für die Inhaltsverwaltung verwendet. Sie erleichtern die Eingabe neuer Einträge und Abschnitte. Aber sie sind nicht so nett für andere Programme, wie Verkauf und so weiter. Und ja, sie haben Plugins und Addons, die diese Plattformen hochfahren können.

Frameworks wie Kohana, CodeIgniter, CakePHP und PHP auf Trax eignen sich gut für eine schnelle Entwicklung (aber selbst eine einfache Anwendung zum Einfügen neuer Einträge in eine Datenbank erfordert ein wenig Codierung). Und ja, sie sind einfach zu erweitern, implementieren neue Änderungen und haben eine Menge Addons und Plugins, so dass eine Zahlungsroutine trivial sein kann.

Die andere Möglichkeit besteht darin, alles selbst zu codieren. Sie können viel lernen und trotz aller anderen leistungsstarken Lösungen können Sie auf diese Weise schneller Ergebnisse erzielen, wenn die Anforderungen zu einfach sind. (Sie brauchen kein Flugzeug, um zum nächsten Lebensmittelladen zu gelangen, Sie können einfach zu Fuß gehen).

Davon abgesehen werden Texte, Fotos, Illustrationen, Typografie, visuelle Identität, visuelle Hierarchie wiedergegeben ... Und all dies ist auch nicht einfach. Fragen Sie Ihren Freund nach dem Material, das er zur Verfügung stellen kann.

0
Dave