Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Programmiertechniken Content Management-Systeme & -Frameworks
Eine Übersicht der gängigsten Programmiertechniken und Frameworks
Robin Stenger & Pia Linnemann
Agenda
Programmiertechniken
Was sind Programmiertechniken
Übersicht CMS/F und Programmiertechniken
Content Management Systems & Frameworks
Überblick, Besonderheiten und Anwendungsbeispiele CMS & CMF
1
Die gängigsten Sprachen
1.1
1.2
2
2.1
2.2
Robin Stenger & Pia Linnemann
• 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.
Programmiertechnik – Was ist das?
Robin Stenger & Pia Linnemann
Agenda
Programmiertechniken
Was sind Programmiertechniken
Übersicht CMS/F und Programmiertechniken
Content Management Systems & Frameworks
Überblick, Besonderheiten und Anwendungsbeispiele CMS & CMF
1
Die gängigsten Sprachen
1.1
1.2
2
2.1
2.2
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 Internet-Protokolleinbindung 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)
Robin Stenger & Pia Linnemann
• 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.
JavaScript
Robin Stenger & Pia Linnemann
• 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.
JavaScript
Robin Stenger & Pia Linnemann
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
Agenda
Programmiertechniken
Was sind Programmiertechniken
Übersicht CMS/F und Programmiertechniken
Content Management Systems & Frameworks
Überblick, Besonderheiten und Anwendungsbeispiele CMS & CMF
1
Die gängigsten Sprachen
1.1
1.2
2
2.1
2.2
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 anzulegenRobin 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
Programmiertechniken
Was sind Programmiertechniken
Übersicht CMS/F und Programmiertechniken
Content Management Systems & Frameworks
Überblick, Besonderheiten und Anwendungsbeispiele CMS & CMF
1
Die gängigsten Sprachen
1.1
1.2
2
2.1
2.2
Robin Stenger & Pia Linnemann
Übersicht
Content ManagementSysteme
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 ServerRobin Stenger & Pia Linnemann