Programmieren mit Swift – Das umfassende Training

Loslegen mit Apples neuer Programmiersprache!
4.7 (3 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
30 students enrolled
$120
Take This Course
  • Lectures 72
  • Length 8 hours
  • Skill Level Intermediate Level
  • Languages German
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 6/2015 German

Course Description

Sie wollten schon immer einmal Apps für das iPhone oder iPad programmieren? Oder für die brandneue Apple Watch? Apple macht es Ihnen mit Swift nun besonders leicht, Anwendungen für iPhone, iPad und den OS-X-Desktop zu entwickeln. In diesem Video-Training führt Sie der Software-Entwickler Jan Brinkmann zunächst gründlich in die Sprachgrundlagen und die modernen Konzepte von Swift ein. Dann entwickeln Sie zusammen mit Ihrem Trainer Schritt für Schritt unterschiedliche Beispiel-Apps für alle Apple-Plattformen. Der perfekte Einstieg für alle, die mit Swift schnell ans Ziel kommen wollen!

- Die neue Programmiersprache für OS X und iOS verständlich erklärt

- Alle Sprachgrundlagen, inkl. funktionale und objektorientierte Programmierung

- Swift in der Praxis: Anwendungen für iOS und OS X entwickeln

- Brandneu: Jetzt Apps für die neue Apple Watch entwickeln!

Jan Brinkmann ist Software-Entwickler mit Schwerpunkt in der Entwicklung von Webseiten und Apps. Neben Swift und Objective-C programmiert er auch in Java, C++ und PHP. Seit vier Jahren betreibt er eine Webseite zum Thema Programmierung und bietet Webinare und Online-Kurse an.

What are the requirements?

  • Dies ist ein umfassender Kurs, daher sind Vorkenntnisse nicht erforderlich.
  • Interesse an der Programmierung von Apps für Apple-Geräte

What am I going to get from this course?

  • Swift und Xcode bieten neue Sprachelemente und Konzepte wie die »Playgrounds«, die die Programmierung enorm erleichtern. Ihr Trainer stellt sie Ihnen in anschaulichen Beispielen vor.
  • Die Sprache Swift macht es Ihnen leicht, OOP-Konzepte umzusetzen. Lernen Sie, wie Sie Klassen definieren, Objekte verarbeiten, und welche Besonderheiten Sie beachten sollten.
  • In konkreten Praxisbeispielen erfahren Sie, wie Sie mit Swift eine App für iOS und OS X programmieren. Und das Beste: Sie können mit dem beigelegten Übungsmaterial sofort mitmachen!
  • Sie lernen in diesem Training auch, wie Sie mit Apples Framework »WatchKit« Apps für das neueste, heiß dikutierte Gerät aus der Apple-Familie entwickeln: die Apple Watch!

What is the target audience?

  • Jeder, der die neuen Konzepte von Swift lernen will
  • Alle, die mit Swift objektorientiert entwickeln möchten
  • Programmierer, die Anwendungen für iOS und OS X schreiben wollen
  • Jeder, der Apps für die neue Apple Watch erstellen will

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Einführung in Swift
00:21

Jan Brinkmann gibt Ihnen in diesem Einleitungsvideo eine Übersicht über die Inhalte des Kapitels. In den folgenden Videos lernen Sie, wie Sie die Entwicklungsumgebung Xcode einrichten, und erfahren, welche Vorteile Swift gegenüber Objective-C bietet.

02:10

Die Entwicklungsumgebung Xcode, in der Sie Swift-Code schreiben und testen können, hilft Ihnen bei der Programmierung. In diesem Video zeigt Ihnen Jan Brinkmann, wie Sie Xcode aus dem App-Store herunterladen und auf Ihrem Mac installieren.

06:37

»Spielplätze« nennen sich die neuen Testumgebungen innerhalb von Xcode. Sie bieten die Möglichkeit, Swift-Code schnell auszuprobieren und dabei die Werte von Variablen während des Programmablaufs zu verfolgen. Jan Brinkmann stellt Ihnen die »Playgrounds« in diesem Video vor.

09:14

Jan Brinkmann zeigt Ihnen in diesem Video, welche Vorteile Swift gegenüber anderen Sprachen bietet. Dazu zählen das Playground-Konzept, die einfache Syntax und ein breite Unterstützung für internationale Zeichensätze – sogar im Quellcode selbst.

02:13

In diesem Video stellt Ihnen Jan Brinkmann verschiedene Dokumentationen und Hilfeseiten zu Swift vor. Sie lernen das Resource-Center kennen und erfahren, wo Sie den offiziellen Sprachführer für Swift finden.

11:44

Sie erfahren in diesem Video, welche Neuerungen Swift gegenüber Objective-C bietet. Neben der automatischen Typerkennung und der vereinfachten Syntax stellt Ihnen Jan Brinkmann auch Optionals, den Datentyp »Tupel« und ein neues Schleifenkonstrukt vor.

Übungsdateien zu den einzelnen Abschnitten
Article
Section 2: Die Swift-Sprachgrundlagen
00:13

Dieses einleitende Video gibt Ihnen einen Überblick über die Inhalte des Kapitels. In den folgenden Videos lernen Sie die wichtigsten Sprachgrundlagen wie Variablen, Datentypen und Optionals kennen.

03:44

Variablen und Konstanten dienen dazu, Werte zu speichern. Während Variablen jederzeit neue Werte annehmen können, sind Konstanten unveränderlich. In diesem Video lernen Sie, wie Sie Variablen und Konstanten anlegen und welche Namenskonventionen Sie dabei beachten müssen.

10:31

In diesem Video gibt Ihnen Jan Brinkmann einen Überblick über die wichtigsten Datentypen in Swift. Sie erfahren, mit welchen Datentypen Sie Ganz- und Gleitkommazahlen darstellen sowie Zeichenketten und Wahrheitswerte abbilden.

03:01

Unterschiedliche Datentypen können nicht ohne Weiteres miteinander verrechnet werden. In diesem Video lernen Sie, wie Sie mit einer expliziten Typumwandlung einen Datentyp verändern und wieso die Genauigkeit der einzelnen Datentypen dabei eine wichtige Rolle spielt.

05:11

In einem Tupel können Sie mehrere, logisch zusammenhängende Werte gruppieren. Ihr Trainer zeigt Ihnen im Praxisbeispiel, wie Sie auf diese Weise Koordinaten zwischenspeichern und aus den Tupel-Werten anschließend einzelne Variablen erstellen.

05:38

Al »Optional« werden in Swift Variablen oder Konstanten gekennzeichnet, die möglicherweise keinen Wert erhalten werden. Jan Brinkmann zeigt Ihnen, welchen speziellen Operator Sie verwenden, um Variablen diese Eigenschaft zuzuweisen oder wieder zu entziehen.

06:14

Natürlich können Sie in Swift auch mit Variablen und Werten rechnen. In diesem Video lernen Sie die Operatoren für alle Grundrechenarten kennen und erfahren, wie Sie Restwerte berechnen und Werte inkrementieren.

09:07

Sie lernen in diesem Video, wie Sie Werte zuweisen und bereits bei der Zuweisung berechnen. Jan Brinkmann zeigt Ihnen außerdem, wie Sie Werte miteinander vergleichen und die Ausführung von Programmcode an eine Bedingung knüpfen.

04:53

Mit dem Bereichsoperator sind Sie in der Lage, einen Wertebereich zu definieren, der im Programmcode verarbeitet werden soll. Jan Brinkmann zeigt Ihnen die Unterschiede zwischen offenen und geschlossenen Bereichen und erläutert deren Besonderheiten.

06:34

Mit logischen Operatoren können Sie Bedingungen in Swift miteinander verknüpfen. Sie lernen in diesem Video, wie Sie Bedingungen umkehren, mit verschiedenen Operatoren verbinden und mehrere logische Operatoren kombinieren.

05:40

Arrays sind Felder oder auch Listen eines einheitlichen Datentyps. Jan Brinkmann zeigt Ihnen in diesem Video, wie Sie ein Array definieren, einzelne Array-Werte über den Index auslesen, ein Array nachträglich erweitern und Werte entfernen.

06:59

In diesem Video lernen Sie die assoziativen Listen (»dictionaries«) kennen, in denen Schlüssel-Wert-Paare gespeichert werden. Sie erfahren, wie Sie Werte über den Schlüssel auslesen, neue Werte hinzufügen und das gesamte Dictionary mit einer Schleife durchlaufen.

12:16

Schleifen dienen dazu, Programmcode mehrfach zu durchlaufen. Jan Brinkmann zeigt Ihnen in diesem Video die verschiedenen Schleifenkörper, für die Sie die Bedingung für den Durchlauf entweder im Kopf oder im Fuß der Schleife definieren.

10:10

Jan Brinkmann zeigt Ihnen in diesem Video, wie Sie eine Fallunterscheidung programmieren, die es Ihnen ermöglicht, für beliebig viele Fälle unterschiedlichen Programmcode auszuführen.

Section 3: Objektorientierte Programmierung (OOP)
00:14

In diesem Einleitungsvideo gibt Ihnen Ihr Trainer eine Übersicht über die Kapitelinhalte. In den folgenden Videos lernen Sie, wie Sie in Swift objektorientiert programmieren.

06:24

Strukturen und Klassen bilden die Grundpfeiler der Objektorientierung. Jan Brinkmann zeigt Ihnen in diesem Video, wie Sie Klassen und Strukturen anlegen, Objekte instanziieren und Werte direkt bei der Erstellung der Instanzen zuweisen.

07:13

Strukturen sind in Swift Wertetypen, während Klassen Referenztypen sind. In diesem Video erfahren Sie, welche Unterschiede sich dadurch bei der Wertezuweisung und Weiterverarbeitung ergeben.

09:10

In diesem Video lernen Sie, wie Sie Eigenschaften wahlweise in Strukturen oder Klassen definieren. Swift unterscheidet dabei zwischen verschiedenen Eigenschaftstypen, bei denen Werte entweder direkt definiert, erst beim Zugriff zugewiesen oder automatisch berechnet werden.

06:27

Sie haben in Swift die Möglichkeit, Eigenschaften und deren Werte zu beobachten und Aktionen durchzuführen, sobald eine Änderung eintritt. Jan Brinkmann zeigt Ihnen, wie Sie dazu einen »Observer« einrichten und statische Eigenschaften nutzen.

07:38

Neben den Eigenschaften können Objekte auch Methoden besitzen, in denen bestimmte Funktionen gespeichert werden. In diesem Video lernen Sie, wie Sie eigene Methoden definieren, Werte an eine Methode übergeben und die Rückgabewerte korrekt verarbeiten.

05:39

Jan Brinkmann zeigt Ihnen in diesem Video, wie Sie die Lesbarkeit des Codes mithilfe von externen Parametern verbessern. Sie erfahren außerdem, worin sich statische und mutierende Methoden unterscheiden.

06:10

Ein wesentlicher Bestandteil der objektorienterten Programmierung ist die Vererbung von Methoden, damit Codeteile mehrfach wiederverwendet werden können. In diesem Video lernen Sie, wie Sie Subklassen erzeugen und vererbte Methoden mit dem Schlüsselwort »override« überschreiben.

09:53

Jan Brinkmann zeigt Ihnen in diesem Video, wie Sie Initialwerte beim Erstellen einer Instanz zuweisen. Sie lernen außerdem, wie Sie die Konstruktoren eines Objekts anpassen, vererben und Objekte wieder deinitialisieren.

03:18

In diesem Video stellt Ihnen Jan Brinkmann das Konzept der Subskripte vor. Diese können in Klassen, Strukturen und Aufzählungen verwendet werden und erlauben einen Schnellzugriff auf die einzelnen gespeicherten Werte.

10:16

Sie lernen in diesem Video, wie Sie ein sogenanntes »Downcasting« durchführen, um den Datentyp eines Objektes nach der Vererbung zu ändern. Jan Brinkmann zeigt Ihnen außerdem, wie Sie generische Datentypen einsetzen.

Section 4: Fortgeschrittene Konzepte
00:19

Jan Brinkmann gibt Ihnen in diesem Einleitungsvideo einen Überblick über die Inhalte des Kapitels. In den folgenden Videos lernen Sie fortgeschrittene Swift-Konzepte wie Extensions und Protokolle näher kennen, die Ihnen auch komplexere Programmierarbeiten ermöglichen.

04:03

Mit Extensions können Sie bestehende Strukturen und Klassen um neue Funktionen erweitern. Jan Brinkmann zeigt Ihnen in diesem Video, wie Sie so auch Kernfunktionen an Ihre Erfordernisse anpassen.

08:19

In Protokollen können Sie festlegen, dass ein Datentyp oder eine Klasse gewisse Voraussetzungen erfüllen muss. Sie lernen in diesem Video, wie Sie erforderliche Methoden definieren und festlegen, wie der Zugriff auf Eigenschaften erfolgt.

03:41

Mit den sogenannten »Generics« können Sie den Datentyp von Objektvariablen beim Aufruf einer Methode bestimmen. Jan Brinkmann zeigt Ihnen in diesem Video, wie Sie mit solchen generischen Datentypen doppelten Code vermeiden und die erlaubten Datentypen einschränken.

04:04

Aufzählungen können in Swift mit dem Datentyp »enum« umgesetzt werden. Die in einer Aufzählung gespeicherten Werte werden im Unterschied zu assoziativen Listen in Konstanten gespeichert. Jan Brinkmann zeigt Ihnen, wie Sie solche Aufzählungen in Swift verwenden.

08:35

Funktionen können in Swift auch außerhalb von Objekten definiert werden. In diesem Video lernen Sie, wie Sie Standardwerte für die Parameter festlegen, die Parameteranzahl variabel halten und mit In-out-Parametern arbeiten.

07:36

Jan Brinkmann zeigt Ihnen in diesem Video, wie Sie Funktionen als Datentyp definieren oder als Parameter für eine Methode einsetzen. Im Praxisbeispiel lernen Sie, wie Sie auf diese Weise die kleinste oder größte Zahl einer unsortierten Liste ermitteln und zurückgeben.

15:58

In diesem Video zeigt Ihnen Jan Brinkmann, wie Sie anonyme Funktionen, die sogenannten »closures« definieren. Sie lernen, wie Sie Closures und Kurzschreibweisen für Argumente (»shorthand arguments«) nutzen, um Ihren Code übersichtlicher zu machen.

Section 5: Die erste iOS-App entwickeln
00:14

Dieses einleitende Video gibt Ihnen einen Überblick über die Inhalte der folgenden Videos. In diesem Kapitel lernen Sie, wie Sie Ihre erste eigene iOS-App erstellen und die grafische Oberfläche gestalten.

12:04

In diesem Video gibt Ihnen Jan Brinkmann einen Überblick über die Benutzeroberfläche von Xcode. Sie lernen, wie Sie eigene Projekte erstellen, den Editor wechseln, die Ansicht Ihrer App anpassen und die verfügbaren View-Elemente in der Objektbibliothek anzeigen.

12:01

Swift verwaltet den benötigten Speicher aller erstellten Objekte automatisch. Jan Brinkmann erläutert Ihnen in diesem Video Details des Speichermanagements von Swift. Dieses sieht vor, dass der Speicherplatz eines Objekts freigegeben wird, wenn keine Referenzen mehr auf das Objekt existieren.

12:09

Das automatische Speichermanagement von Swift kann bei gegenseitigen Abhängigkeiten, den sogenannten »Strong Reference Cycles«, zu Problemen führen. Jan Brinkmann zeigt Ihnen, wie Sie dieses Problem umgehen, indem Sie schwache Referenzen festlegen und Abhängigkeiten auflösen.

09:02

In diesem Video zeigt Ihnen Jan Brinkmann, wie Sie View-Elemente einfügen und verknüpfen. Sie lernen, wie Sie ein Textfeld platzieren, es anschließend mit dem Quellcode verknüpfen und den angezeigten Wert des Labels ändern.

06:21

Jan Brinkmann zeigt Ihnen in diesem Video, wie Sie das Praxisbeispiel der Mitarbeiterliste weiter ausbauen und mehrere Datensätze hinterlegen. Sie lernen dabei, wie Sie die Datensätze in einem Dictionary speichern und die einzelnen Einträge in die Textfelder einsetzen.

04:37

Sie erfahren in diesem Video, wie Sie Schaltflächen in Ihre iOS-App einfügen und mit einer Aktion verknüpfen. Im Praxisbeispiel zeigt Ihnen Jan Brinkmann, wie Sie mit einer Schaltfläche zwischen den Datensätzen einzelner Mitarbeiter umschalten.

06:18

Um Bibliotheken von Objective-C in Swift nutzen zu können, stehen Ihnen die sogenannten »Bridging Headers« zur Verfügung. In diesem Video lernen Sie, wie Sie eine solche Header-Datei implementieren und was es dabei zu beachten gilt.

Section 6: App-Projekte: To-do-Liste und Mitarbeiterliste
00:15

Sie erhalten in diesem Einleitungsvideo einen Überblick über die Inhalte des Kapitels. In den folgenden Videos zeigt Ihnen Jan Brinkmann, wie Sie eine interaktive To-do-Liste und eine Mitarbeiterliste programmieren.

04:39

Jan Brinkmann zeigt Ihnen in diesem Video, wie Sie die grafische Oberfläche Ihrer To-do-Liste einrichten. Sie lernen außerdem, wie Sie einen Navigation-Controller einrichten und Views mit einem sogenannten »Segue« miteinander verbinden, um später in der App die Ansichten zu wechseln.

04:26

In diesem Video lernen Sie, wie Sie Tabellen in Ihre Apps einfügen und gestalten. Jan Brinkmann zeigt Ihnen, wie Sie die dafür notwendige Tabellenansicht einrichten und per Outlet mit dem Quellcode verbinden.

10:51

Damit die verfügbaren Datensätze in der Tabelle angezeigt werden, müssen Sie die Datenquelle mit der Tabellenansicht verbinden. Jan Brinkmann zeigt in diesem Video, wie Sie die Datenquelle festlegen und die im Protokoll festgelegten Methoden implementieren.

10:39

In diesem Video lernen Sie, wie Sie Eingabefelder einrichten, damit Sie neue Einträge in die To-do-Liste aufnehmen können. Jan Brinkmann erläutert Ihnen dabei den Einsatz von »Cocoa Touch Classes« und zeigt Ihnen, wie Sie die View-Elemente ausrichten.

09:14

Jan Brinkmann zeigt Ihnen in diesem Video, wie Sie neue Einträge in der To-do-Liste speichern. Sie lernen dabei das Konzept der »delegates« kennen und erfahren, wie Sie Einträge an die Hauptansicht übergeben.

09:29

Sie sehen in diesem Video, wie Sie den Quellcode der To-do-Liste als Grundlage für Ihr zweites App-Projekt nutzen – eine Mitarbeiterliste. Dabei lernen Sie, wie Sie einen zusätzlichen View-Controller für die Detailansicht anbinden.

03:47

In diesem Video zeigt Ihnen Jan Brinkmann, wie Sie die Tabelle der To-do-Liste nutzen, um die Mitarbeiterliste aufzubauen. Die Mitarbeiter werden dabei als Schlüssel-Wert-Paare in einem Dictionary gespeichert, um einen effektiven Zugriff zu gewährleisten.

04:13

Jan Brinkmann zeigt Ihnen in diesem Video, wie Sie die interne Speicherstruktur der Mitarbeiterdaten optimieren. Sie lernen dabei, wie Sie die Mitarbeiterdaten in eine eigene Klasse auslagern, um jederzeit zusätzliche Eigenschaften ergänzen zu können.

08:24

In diesem Video zeigt Ihnen Jan Brinkmann, wie Sie den Datensatz eines ausgewählten Mitarbeiters an die Detailansicht übergeben, indem Sie die Verbindung zur Detailansicht herstellen und die zugehörigen Daten senden.

08:30

Sie erfahren in diesem Video, wie Sie eine Eingabemaske für neue Mitarbeiter in Ihrer App realisieren. Jan Brinkmann zeigt Ihnen, wie Sie die notwendigen Text- und Eingabefelder einrichten und die eingebenen Daten dann richtig übergeben.

Section 7: Projekt: Timer-App für die Apple Watch
00:20

In diesem Einleitungsvideo gibt Ihnen Jan Brinkmann eine Übersicht über die Inhalte der folgenden Videos. In diesem Kapitel lernen Sie, wie Sie Apps für die neue Apple Watch entwickeln.

06:48

Das WatchKit-Framework ist die Grundlage für alle Apps, die auf der Apple Watch laufen. In diesem Video lernen Sie, wie Sie ein entsprechendes iOS-Projekt erstellen, die Apple Watch als Zielgerät festlegen und eine passende Vorlage auswählen.

05:34

Jan Brinkmann gibt Ihnen in diesem Video einen Überblick über die verschiedenen App-Ansichten auf der Apple Watch. Sie haben die Wahl, ob Sie normale Apps auf dem Bildschirm anzeigen, reine Informationen als sogenannte »glances« anzeigen oder Meldungen ausgeben, auf die der Nutzer reagieren kann.

09:41

In diesem Video gestalten Sie die grafische Oberfläche Ihrer ersten eigenen App für die Apple Watch. Ihr Trainer zeigt Ihnen dabei, wie Sie einen Timer einrichten, der über Schieberegler-Elemente eingestellt werden kann.

11:15

Sie lernen in diesem Video, wie Sie die Startwerte des Timers setzen. Anschließend erfahren Sie, wie Sie das aktuelle Datum bestimmen, ein neues Zieldatum definieren und den Timer starten.

12:10

Jan Brinkmann zeigt Ihnen in diesem Video, wie Sie die Schieberegler-Elemente einstellen. Sie lernen außerdem, wie Sie den Timer automatisch aktualisieren, sobald Sie einen Stunden- oder Minutenwert anpassen.

05:27

Tages- oder Monatswechsel erkennt unser Timer in seinem derzeitigen Zustand noch nicht. In diesem Video zeigt Ihnen Jan Brinkmann, wie Sie diese Funktionalität nachrüsten und Datumswerte korrekt berechnen, damit der Timer in jeder Situation einwandfrei läuft.

Section 8: rojekt: Desktop-App für OS X
00:16

Jan Brinkmann gibt Ihnen in diesem einleitenden Video einen Überblick über die Kapitelinhalte. In den folgenden Videos lernen Sie, wie Sie mit Swift eine Notizen-App als Beispiel für eine Desktop-Anwendung programmieren.

08:37

In diesem Video erläutert Ihnen Ihr Trainer den Aufbau einer mit Swift erstellten Desktop-Anwendung. Sie lernen die verschiedenen Schichten einer Cocoa-Application näher kennen und erfahren, welche View-Elemente Ihnen zur Verfügung stehen.

07:58

Jan Brinkmann zeigt Ihnen in diesem Video, wie Sie die grafische Oberfläche der Notizen-App erstellen. Sie lernen, welche Schaltflächen Swift dafür bereitstellt und wie Sie mehrzeilige Eingabefelder mit Scroll-Leisten einfügen.

12:03

Die Notizen-App soll eingegebene Texte in einer Datei auf dem Mac abspeichern. Jan Brinkmann zeigt Ihnen in diesem Video, wie Sie dazu den Dateipfad des Dokumente-Ordners bestimmen und die passende Speichermethode programmieren.

05:57

In einem Hinweisfenster können Sie dem Benutzer eine Rückmeldung über ausgeführte Aktionen liefern. In diesem Video lernen Sie, wie Sie ein modales Fenster erzeugen, das den erfolgreichen Speichervorgang bestätigt oder gegebenenfalls Speicherprobleme meldet.

05:34

In diesem Video lernen Sie, wie Sie bereits vorhandene Notizen aus der Textdatei auslesen und anzeigen. Jan Brinkmann zeigt Ihnen, wie Sie den Speicherpfad der Datei auslesen und die Dateiinhalte in das Textfeld laden.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Der Rheinwerk Verlag

Wir sind Deutschlands führender Verlag für Computing, Design und Fotografie. Wir machen Bücher, E-Books und Videokurse für Einsteiger und Experten, für Entwickler, Anwender und Liebhaber, für Kreative, Neugierige und Wissensdurstige, für Ehrgeizige, Pragmatiker und Perfektionisten.

Wir machen Verlagsprodukte – wir publizieren nicht bloß. Wir hören zu, was Kunden wünschen. Wir bringen auf den Weg, wir entwerfen und gestalten, wir schaffen und ermöglichen. Wir machen die Verlagsprodukte, die Sie brauchen.

Ready to start learning?
Take This Course