Programmiertechniken Content Management

Werbung
Programmiertechniken
Content Management
-Systeme & -Frameworks
Eine Übersicht der gängigsten Programmiertechniken und Frameworks
Robin Stenger & Pia Linnemann
Agenda
1
2
Programmiertechniken
1.1
Was sind Programmiertechniken
1.2
Die gängigsten Sprachen
Content Management Systems & Frameworks
2.1
Überblick, Besonderheiten und Anwendungsbeispiele CMS & CMF
2.2
Übersicht CMS/F und Programmiertechniken
Robin Stenger & Pia Linnemann
Programmiertechnik – Was ist das?
• Eine Programmiertechnik ist eine formale Sprache zur Formulierung
von Datenstrukturen und Algorithmen, d. h. von Rechenvorschriften,
die von einem Computer ausgeführt werden können.
• Sie setzen sich aus Anweisungen nach einem vorgegebenen Muster
zusammen, der sogenannten Syntax.
Robin Stenger & Pia Linnemann
Agenda
1
2
Programmiertechniken
1.1
Was sind Programmiertechniken
1.2
Die gängigsten Sprachen
Content Management Systems & Frameworks
2.1
Überblick, Besonderheiten und Anwendungsbeispiele CMS & CMF
2.2
Übersicht CMS/F und Programmiertechniken
Robin Stenger & Pia Linnemann
Programmiertechniken – Welche sind die wichtigsten?
• Die Wikipedia verzeichnet Hunderte von Programmiersprachen, wirtschaftliche
Bedeutung haben aber nur vergleichsweise wenige davon.
• TIOBE Index
Robin Stenger & Pia Linnemann
Java
• Java ist eine objektorientierte Programmiersprache und eine eingetragene Marke
des Unternehmens Sun Microsystems (Oracle)
• Plattformunabhängig
• Oracle selbst bietet Laufzeitumgebungen für die Betriebssysteme Linux, OS X,
Solaris und Windows an.
• Andere Hersteller lassen eigene Java-Laufzeitumgebungen für ihre Plattform
zertifizieren.
• Auch in Autos, HiFi-Anlagen und anderen elektronischen Geräten wird Java
verwendet.
Robin Stenger & Pia Linnemann
C / C++
•
•
•
•
Imperative Programmiersprache
1970
Anwendungsbereiche: System- und Anwendungsprogrammierung
Zahlreiche Sprachen, wie C++, Objective-C, C#, Java oder PHP, orientieren sich an
der Syntax und anderen Eigenschaften von C.
Robin Stenger & Pia Linnemann
C# (C-Sharp)
•
•
•
•
•
typsichere, objektorientierte Allzweck-Programmiersprache
Plattformunabhängig
.NET
Ursprünglich exklusiv für Windows
OS X, iOS und Android auch möglich
Robin Stenger & Pia Linnemann
Phyton
• ist eine universelle, üblicherweise interpretierte höhere Programmiersprache
• Ihre Entwurfsphilosophie betont Programmlesbarkeit, außerdem ist Python-Code
im Vergleich zu anderssprachigem Code teilweise deutlich kürzer
• Eine Reihe von Web-Application-Frameworks nutzt Python
• Ferner gibt es einen Python-Interpreter für das Symbian-Betriebssystem, so dass
Python auf verschiedenen Mobiltelefonen verfügbar ist.
• Außerdem basieren mehrere bekannte kommerzielle Projekte,
etwa Google und YouTube, in Teilen auf Python.
• Auch in der Spieleindustrie findet die Sprache bisweilen Einsatz
Robin Stenger & Pia Linnemann
PHP
• „Hypertext Preprocessor“, ursprünglich „Personal Home Page Tools“
• Skriptsprache mit einer an C angelehnten Syntax, die hauptsächlich zur Erstellung
dynamischer Webseiten oder Webanwendungen verwendet wird.
• PHP zeichnet sich durch breite Datenbankunterstützung und InternetProtokolleinbindung sowie die Verfügbarkeit zahlreicher Funktionsbibliotheken
aus.
• PHP wurde Anfang 2013 auf etwa 244 Millionen Websites eingesetzt und Ende
2015 von 82 % aller Websites als serverseitige Programmiersprache verwendet.
PHP ist die am häufigsten verwendete Programmiersprache zum Erstellen von
Websites. Zudem ist sie bei den meisten Webhostern vorinstalliert.
Robin Stenger & Pia Linnemann
Visual Basic .NET
• ist eine Programmiersprache, die auf dem Microsoft .NET Framework aufbaut
(objektorientiert)
• Visual Basic .NET produziert einen Zwischencode für eine von Microsoft
entwickelte virtuelle Maschine, die Common Language Runtime (CLR)
• Diese Maschine ist im .NET Framework enthalten.
• Der Zwischencode wird erst zur Laufzeit in Maschinencode übersetzt, durch diese
Zwischenstufe der virtuellen Maschine bleibt sie mit anderen .NET-Sprachen
interoperabel, zur Ausführung wird jedoch das .NET Framework benötigt.
Robin Stenger & Pia Linnemann
HTML (Hypertext Markup Language)
• ist eine textbasierte Auszeichnungssprache zur Strukturierung digitaler
Dokumente wie Texte mit Hyperlinks, Bildern und anderen Inhalten.
• HTML-Dokumente sind die Grundlage des World Wide Web und werden von
Webbrowsern dargestellt. Neben den vom Browser angezeigten Inhalten können
HTML-Dateien zusätzliche Angaben in Form von Metainformationen enthalten, z.
B. über die im Text verwendeten Sprachen, den Autor oder den
zusammengefassten Inhalt des Textes.
• HTML dient als Auszeichnungssprache dazu, einen Text semantisch zu
strukturieren, nicht aber zu formatieren. Die visuelle Darstellung ist nicht Teil der
HTML-Spezifikationen und wird durch den Webbrowser und Gestaltungsvorlagen
wie CSS bestimmt.
Robin Stenger & Pia Linnemann
JavaScript
• JavaScript ist eine Skriptsprache, die ursprünglich für dynamisches HTML in
Webbrowsern entwickelt wurde, um Benutzerinteraktionen auszuwerten, Inhalte
zu verändern, nachzuladen oder zu generieren und so die Möglichkeiten von
HTML und CSS zu erweitern.
• Heute findet JavaScript auch außerhalb von Browsern Anwendung, so etwa auf
Servern und in Microcontrollern.
• In JavaScript lässt sich je nach Bedarf objektorientiert, prozedural oder funktional
programmieren.
Robin Stenger & Pia Linnemann
JavaScript
Typische Anwendungsgebiete von JavaScript im Webbrowser sind:
• dynamische Manipulation von Webseiten über das Document Object Model
• Plausibilitätsprüfung (Datenvalidierung) von Formulareingaben noch vor der Übertragung
zum Server
• Anzeige von Dialogfenstern
• Senden und Empfangen von Daten, ohne dass der Browser die Seite neu laden muss
(Ajax)
• Vorschlagen von Suchbegriffen während der Eingabe
• Werbebanner oder Laufschriften
• Verschleierung von E-Mail-Adressen zur Bekämpfung von Spam
• mehrere Frames auf einmal wechseln oder die Seite aus dem Frameset lösen
• Schreib- und Lesezugriff auf Cookies und den Web Storage innerhalb des Browsers
Robin Stenger & Pia Linnemann
Agenda
1
2
Programmiertechniken
1.1
Was sind Programmiertechniken
1.2
Die gängigsten Sprachen
Content Management Systems & Frameworks
2.1
Überblick, Besonderheiten und Anwendungsbeispiele CMS & CMF
2.2
Übersicht CMS/F und Programmiertechniken
Robin Stenger & Pia Linnemann
Was ist ein CMS?
• Content-Management-System (CMS)
• Ortsunabhängige Web Software
• zur gemeinschaftlichen Erstellung, Bearbeitung und Darstellung von Websiteinhalten
• Meistens ohne Programmierkenntnisse bedienbar  grafische Oberfläche
• je nach System verschiedene Spezialisierung (Content, Shop usw.)
• Zuteilung von individuellen Bearbeitungsrechten
• Basieren auf CMF
Robin Stenger & Pia Linnemann
Welche CMS gibt es?
Robin Stenger & Pia Linnemann
Wann ist ein CMS nötig?
• Content-Management-System (CMS)
• Wenn Seiteninhalte häufig geändert werden z.B. Content News, Blogs, größere
Online Shops, Communitys usw.
• Basic-Websites ohne große spezielle Bedürfnisse
Robin Stenger & Pia Linnemann
Was ist ein Content Management Framework?
• Content-Management-Framework (CMF)
• Basis zur Entwicklung von CMS
• beschleunigt Programmierung einer Website
• Baukastensystem: Software Bausteine stellen grundlegende Funktionalitäten bereit wie z.B.:
Zugriffsschutz, Datenbankschnittstellen, Templates & Suchfunktionalitäten
• meisten CMF sind mittels Skriptsprachen abgebildet
• Programmierkenntnisse nötig
• anfangs teure Entwicklungskosten, langfristig günstiger
• flexibler, da eigene Bedürfnisse besser im Code bearbeitet werden können
•  Vorzüge: geringer zeitlicher Aufwand & Budget schnell sehr professionelle
Oberflächen anzulegen
Robin Stenger & Pia Linnemann
Snstige Technologien
jQuery
• größte Java-Skript Bibliothek, teilweise bei CMS mitgeliefert wie bei Joomla,
Wordpress & Drupal
• JavaScript-Datei, in der alle grundlegenden Ereignis-, Effekt- und Ajax-Funktionen
enthalten sind
• Framework-Datei wird in HTML eingebaut
Bootstrap
• Gestaltungsvorlagen für Typografie, Formulare, Buttons, Tabellen &
Navigationsgestaltungselemente & optional Java Skript Elemente
• z.B. von NASA, und US-Nachrichtensender MSNBC genutzt
Robin Stenger & Pia Linnemann
• Seit 2003, kostenlos & plattformunabhängig, 60% Marktanteil weltweit
• besonders geeignet zum Aufbau und zur Pflege für Webblogs & einfacher
Websites, da jeder Beitrag einer oder mehrerer Kategorien zuordnen kann
• Besonderheiten: u.a Leserkommentare zu prüfen, Linkverwaltung, Zugriffe für
Benutzerrollen & Möglichkeit externer Plug-ins
• große Community die ständig neue Module & Templates entwickelt
• kostenlose Hilfe bei Community
• Beispiel Websites: Crack Magazine, Vouge India
Robin Stenger & Pia Linnemann
Robin Stenger & Pia Linnemann
Robin Stenger & Pia Linnemann
Robin Stenger & Pia Linnemann
Joomla!
•
•
•
•
Seit 2005, kostenlos & plattformübergreifend, 7% Marktanteil weltweit
Durch lange Präsenz – ausgereiftes System
große Community die ständig neue Module & Templates entwickelt
Erweiterungen wie Plugins, Komponenten, Module und Templates meist
kostenfrei vorhanden
• kostenlose Hilfe bei Community
• Beispiel Website: IKEA & Ebay
Robin Stenger & Pia Linnemann
Robin Stenger & Pia Linnemann
Robin Stenger & Pia Linnemann
Robin Stenger & Pia Linnemann
• Seit 1998, kostenlos & plattformunabhängig, 2% Marktanteil weltweit
• besonders viele Erweiterungen, ohne eigenen Programmcode geschrieben
werden muss wie Shopsysteme, Galerien, Gästebuch
• allerdings vergleichsweise hohe Komplexität und hohe Einarbeitungszeit
• Oft genutzt von öffentl. Organisationen wie Beispielseite die Grüne
Robin Stenger & Pia Linnemann
Robin Stenger & Pia Linnemann
Robin Stenger & Pia Linnemann
• Seit 2001, kostenlos & serverunabhängig, 5% Marktanteil weltweit
• Umsetzung von Ansätzen einer Social Software
• unterstützt den Aufbau von Communitys, die gemeinsam an Inhalten arbeiten,
austauschen und informieren wollen
• Nutzer eigene Weblogs anlegen, sich in Foren austauschen oder Artikel
veröffentlichen
• Beispielwebsites: 11 Freunde, die Zeit, Flixbus usw.
Robin Stenger & Pia Linnemann
Robin Stenger & Pia Linnemann
Robin Stenger & Pia Linnemann
Agenda
1
2
Programmiertechniken
1.1
Was sind Programmiertechniken
1.2
Die gängigsten Sprachen
Content Management Systems & Frameworks
2.1
Überblick, Besonderheiten und Anwendungsbeispiele CMS & CMF
2.2
Übersicht CMS/F und Programmiertechniken
Robin Stenger & Pia Linnemann
Übersicht
Content Management
Systeme
Techniken
Wordpress
PHP, MySQL
Typo3
PHP, MySQL, PostgreSQL, Microsoft SQL Server
Joomla!
PHO, MySQL
Drupal
PHP, MySQL, MariaDB, PostgreSQL, SQLite
MS Sharepoint
.NET Framework, SQL Server, Windows Internal Database
MODX
PHP, MySQL
Mombo
PHP, MySQL
Midgard
GLib, D-Bus, PHP, Python, MySQL
eZ Publish
PHP5, MySQL, PostgreSQL, SQL Server
Symphony
PHP, NoSQL, RDBMS through PHOCR
Silverstripe
PHP5, MySQL, PostgreSQL, SQL Server
Robin Stenger & Pia Linnemann
Herunterladen