Benutzer-Werkzeuge

Webseiten-Werkzeuge


new

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
new [2016/10/26 14:39]
webproducer angelegt
new [2020/12/01 10:32] (aktuell)
webproducer
Zeile 2: Zeile 2:
  
  
-Jedes Projekt ist individuell. Und genauso sollten auch für jedes Projekt individuelle Entscheidungen getroffen werden. +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.
-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.+
  
 ---- ----
Zeile 9: Zeile 8:
 ===== Die richtige Entwicklungsumgebung (IDE) ===== ===== Die richtige Entwicklungsumgebung (IDE) =====
  
-Wenn es um ein Internet-Projekt mit den typischen Sprachen HTML, PHP, JavaScript und CSS handelt ist meine klare Empfehlung [[php:​phpstorm|PhpStorm]].+Wenn es um ein Internet-Projekt mit den typischen Sprachen HTML, [[php|PHP]][[JavaScript|JavaScript]] ​und [[css|CSS]] handelt ist meine klare Empfehlung [[php:​phpstorm|PhpStorm]].
  
 ---- ----
Zeile 28: Zeile 27:
 ===== Die Providerauswahl ===== ===== Die Providerauswahl =====
  
 +Mit dem Slogan "Ideen umsetzen mit [[git:​all-inkl|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.
  
-Es gibt unglaublich viele Provider auf dem Markt. Einige bieten 24-Stunden-Supporteinige viel Leistung ​für viel GeldAber meist wird in der Entwicklungsphase weder eine 24-Stunden-Hotline noch viel Leistung benötigtda es noch nicht von Usern produktiv benutzt wirdDaher ist das hiergerade in der Entwicklungsphase[[git:provider|meine Providerempfehlung]]. Der Provider bietet viel "​Spielraum"​ für wenig GeldDas Highlight ist die im Paket bereits integrierte Versionsverwaltung. +Ich empfehle den Tarif ALL-INKL Premium, da er SSH-Zugänge sowie kostenlose Let's Encrypt SSL-Zertifikate beinhaltet. 50 mySQL-Datenbanken50 Cronjobs und sagenhafte 250 GB stehen hier für Ihr neues Webprojekt zur Verfügung. 
-Kostengünstig ​in der Entwicklungsphase ​und ein Aufstocken ​des Pakets ist später ohne weiteres möglich.+ 
 +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-AdressenWeiterleitungen,​ FTP-Zugänge usw.) per Schnittstelle aufgerufen werden kann. 
 + 
 +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 aussehenDenn 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 leistenDurch 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//​ 
 + 
 +[[git:​all-inkl|Weitere Infos und Link zur Webseite ​des Providers.]]
  
 ---- ----
  
-===== Der Einsatz von Frameworks ​=====+===== Mehrsprachigkeit/​multi language ​=====
  
-Es gibt mindestens genau so viele Frameworks wie Internet-Provider auf dem Markt. Hier giltWeniger ist mehr. +Wenn von vorn herein nicht zu 100 % ausgeschlossen werden kann, dass Ihr Projekt einmal in mehr als einer Sprache verfügbar sein soll, ist es ratsam, von vornherein die beiden folgenden Punkte zu beachten
-Jedes Framework wird zusätlich ausgeführt und benötigt beim Seitenaufruf zusätzliche RechenzeitAndererseits können Frameworks dafür sorgendass das Projekt übersichtlicher wird und später leichter weiterentwickelt ​werden kann. Ich persönlich beschränke mich hier auf ein minimum an Frameworks ​und setze meist nur die [[php:twig|Template-Engine Twig]] ein. Twig zwingt einem dazu, das MVC-Prinzip einzuhalten. In den Twig-Templates wird nähmlich kein PHP-Code verwendet. Der PHP-Code steht im Controller und ruft zum Schluss das Template auf und übergibt alle benötigten Variablen. So ist eine strikte Trennung zwischen view und controller möglich.+ 
 +  * Alle Texte in einer eigenen Sprachdatei anlegen (zB. in JavaScript)damit die Sprache jederzeit im Frontend gewechselt ​werden kann. 
 +  * Datum und Zeiten, ​die von PHP geliefert werden (auch durch Ajax-Aufrufe) sollten in einem neutralen Format übertragen werden (aus PHP z. B. mit "date( '​c'​)"​). Somit können Sie in [[js:datetimeformat|JavaScript länderspezifisch]] angezeigt werden.
  
 +----
 +
 +===== 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.
 + 
 +[[laravel:​start|Eine ausführliche Beschreibung von der Installation über viele Beispiele gibt es hier.]]
 + 
 ---- ----
  
Zeile 54: Zeile 101:
  
 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. 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.1477485546.txt.gz · Zuletzt geändert: 2016/10/26 00:00 (Externe Bearbeitung)