Benutzer-Werkzeuge

Webseiten-Werkzeuge


new

Neues Projekt planen - Wie fange ich an?

Jedes Projekt ist individuell. Und genauso sollten auch für jedes Projekt individuelle Entscheidungen getroffen werden. Dieser Leitfaden soll dabei helfen, sich vor der Umsetzung eines neuen Internet-Projekts Gedanken zu machen um von Anfang an die richtigen Entscheidungen zu treffen.


Die richtige Entwicklungsumgebung (IDE)

Wenn es um ein Internet-Projekt mit den typischen Sprachen HTML, PHP, JavaScript und CSS handelt ist meine klare Empfehlung PhpStorm.


Versionierung - ja oder nein?

Wenn die Spezifikation des Projektes kein Content-Management-System (CMS) vorsieht bin ich grundsätzlich immer für den Einsatz einer Versionsverwaltung. Gerade im Team, aber auch alleine, ist der Einsatz sinnvoll weil:

  • jederzeit ein Rücksprung auf eine frühere Version möglich ist
  • eine zeitgleiche Entwicklung von verschiedenen Versionsständen (Branches) mögich ist (z. B. Neuentwicklung und Hotfix-Erstellung)
  • immer ein Backup von dem Projekt exisitert, da jeder ausgecheckte Version auch ausserhalb des lokalen PC's gespeichert wird

Bei dem Einsatz von CMS ist der Einsatz meinst nicht sinnvoll, da die relevanten Daten in Datenbanken gespeichert werden.


Die Providerauswahl

Mit dem Slogan „Ideen umsetzen mit ALL-INKL.COM“ wird der Internet-Service-Provider zurecht. Der Provider überzeugt schon alleine durch hohe Verfügbarkeit und sehr schnelle Zugriffszeiten. Der Serverstandort Deutschland (wichtig für das Thema „Datenschutz“) und eine 24-Stunden-Hotline gehören ebenfalls zu den nennenswerten Vorteilen.

Ich empfehle den Tarif ALL-INKL Premium, da er SSH-Zugänge sowie kostenlose Let's Encrypt SSL-Zertifikate beinhaltet. 50 mySQL-Datenbanken, 50 Cronjobs und sagenhafte 250 GB stehen hier für Ihr neues Webprojekt zur Verfügung.

Mein persönliches Hightlight jedoch ist die API-Schnittstelle, mit der jede Funktion, die in der Admin-Oberfläche für die Verwaltung zur Verfügung steht (z. B. Anlegen von E-Mail-Adressen, Weiterleitungen, FTP-Zugänge usw.) per Schnittstelle angesprochen werden.

Die 9,95 Euro pro Monat, die nach den ersten 3 kostenfreien Monaten berechnet werden, sind gar nicht so viel, wie sie auf dem ersten Blick aussehen. Denn im Tarif sind 10 kostenfreie Domains inklusive. Und wenn diese genutzt werden, ist das Webhosting sogar kostenlos! Das glauben Sie nicht? Hier ein kleines Rechen-Beispiel:

TLD Stückpreis pro Jahr Anzahl Gesamtpreis pro Jahr
.de 9,90 € 4 39,60 €
.com 14,90 € 2 29,80 €
.net 14,90 € 2 29,80 €
.org 14,90 € 1 14,90 €
.info 14,90 € 1 14,90 €
Gesamt: 10 129,00 €

Diese oben aufgeführten 10 Domains kosten also normalerweise 129,00 Euro pro Jahr. Der Premium-Tarif mit den 10 Inklusiv-Domains hingegen kostet nur 9,95 Euro * 12 Monate = 119,40 Euro pro Jahr.

Außerdem gibt es die Möglichkeit, einen Rabatt auf Vorauszahlung zu leisten. Durch eine Vorauszahlung können nochmal zwischen 3 % (3 Monate) und 20 % (36 Monate) eingespart werden. Der Vorauszahlungszeitraum kann in der Members Area angepasst werden.

Alle Preise verstehen sich inkl. 19 % MwSt. Stand: 04.10.2019

Weitere Infos und Link zur Webseite des Providers.


Der Einsatz von Frameworks

Ein Framework ist ein Programmiergerüst für Webentwickler und stellt Klassen und Methoden zur Verfügung um die typischen Aufgaben der meisten Webprojekte zu übernehmen. Als typische Aufgaben in einem Webprojekt sind z. B. die Validierung von Userdaten, die Registrierung von Usern, die Erstellung eines Login-Bereichs sowie die Überprüfung von Berechtigungen (welcher User darf welche Webseite sehen) gemeint. Ein Framework stellt jedoch keine eigenständige Software für Endanwender dar.

Des weitern kann ein Framework dem Webentwickler die gesamte Kommunikation mit der Datenbank abnehmen. Wenn ein Webentwickler einen sicheren Umgang mit solch einem Framework hat kann sich die Erstellungszeit für neue Projekte drastisch verkürzen, da die typischen Aufgaben einfach eingebunden und verwendet werden können.

Allerdings sollte hier auch erwähnt werden, dass die Nutzung von Frameworks einen nicht unerheblichen sogenannten „Overhead“ produziert. Es werden also bei jedem Seitenaufruf Klassen und Methoden geladen, die evtl. gar nicht im Projekt benötigt werden. Daher ist hierfür entsprechende Rechnerleistung vom auszuführenden Server mit einzuplanen.

Gerade für größere Projekte mit vielen Seiten und mehreren Datenbank-Tabellen empfehle ich das PHP-Web-Framework Laravel. Laravel folgt strikt dem Model-View-Controller-Prinzip und hat hierfür eine eigene Template-Engine integriert und bietet ein Kommandozeilentool für die einfache Erstellung von Model und Controller. Des weiteren sorgen ORM Eloquent (Zuständig für die Kommunikation mit Datenbanken inklusive Beziehungen zwischen Datenbank-Tabellen) und Bootstrap (für ein Endgerät- und Auflösungsunabhängiges Design) für die Entwicklung einer Webseite nach zeitgemäßen Standard.

Ablauf in Laravel beim Aufruf einer Webseite

Laravel arbeitet mit Routen. Eine HTTP bzw. HTTPS-Anfrage wird an den in der Route eingerichteten Controller weitergeleitet. Wenn mit der Anfrage Benutzerdaten (z. B. über GET oder POST) übertragen wurden werden im Controller als erstes diese Daten mit dem integrierten Validator überprüft. Als nächstes führt der Controller in der Regel die hinterlegte Programmlogik aus und stellen alle für die Ausgabe benötigen Variablen (z. B. durch Datenbankabfragen) bereit. Zum Schluss ruft der Controller in der Regel eine View auf und übergibt die Variablen. Die View wurde mit der integrierten Template-Engine „Blade“ erstellt.

Eine ausführliche Beschreibung von der Installation über viele Beispiele gibt es hier.

—-

Ordnerstruktur - Ordnung muss sein

Auch sollte man sich schon am Anfang Gedanken über eine feste Ordnerstruktur machen. Das erspart am Ende lästige Änderungen, die dazu führen können, das Dateipfade nicht mehr gefunden werden. Hier ein Beispiel für eine Ordnerstruktur:

  • css
  • controller
  • images
  • javascript
  • mapper
  • model
  • view

In diesem Beispiel wird die Verfolgung des MVC-Prinzips vorausgesetzt. Es sollte für jede mySQL-Tabelle ein eigenes model im gleichnamigen Verzeichnis angelegt werden. SQL-Anweisungen sollten sich idealerweise ausschließlich in Dateien im „mapper“-Verzeichnis befinden. So sollten sich auch andere Entwickler und letztlich auch man selbst in ein paar Jahren wieder im Projekt zurechtfinden.

new.txt · Zuletzt geändert: 2019/10/04 21:18 von webproducer