Blogartikel zum Schlagwort: Softwareentwicklung

Arten der Versionsverwaltung in der Softwareentwicklung

Versionsverwaltung in der Softwareentwicklung

In der heutigen Softwareentwicklung ist eine Versionsverwaltung für große und teambasierte Projekte unabdingbar. Sie ermöglicht es, in nachvollziehbaren Schritten eine Anwendung zu entwickeln. Doch was genau versteht man als Versionsverwaltung und welche Vorteile hat es für die Entwicklung von Software?

Warum überhaupt eine Versionsverwaltung

Versionsverwaltung kurz VCS (Version Control System) ist ein System, mit dem Quellcode verwaltet und nachvollzogen, Anwendungen stetig optimiert oder ggf. auch auf einen früheren Stand eines Projektes zurückgegriffen werden kann. Die wohl bekanntesten Beispiele aus der Praxis, welche mit VCS entwickelt werden, sind das Open Source Projekt für den Linux-Kernel, die Entwicklung des Android Betriebssystems oder auch die Entwicklung der Programmiersprache PHP.

In großen Projekten arbeiten häufig mehrere Entwickler an einer Software und es treffen verschiedene Versionen des Quelltextes aufeinander. Um Fehler zu vermeiden und die Entwicklung zu optimieren, sind die folgenden Funktionalitäten deshalb sehr wichtig:

  • Protokoll der Änderungen,
  • Wiederherstellung und Archivierung von Entwicklungsständen sowie
  • die Koordination von Aufgaben beteiligter Personen.

Die 3 Arten der VCS

Die lokale Versionsverwaltung dient der Versionierung von Dateien oder häufig Dokumenten und wird in der Regel nur auf einem einzelnen System eingesetzt.

Bei der zentralen Versionsverwaltung wird das gesamte Projekt nur auf einem System festgehalten und den berechtigten Personen zur Verfügung gestellt. Die unterschiedlichen Stände der Software sind bloß auf diesem System abgelegt.

Die verteilte Versionsverwaltung bietet allen beteiligten Entwicklern die Möglichkeit, an einer lokal geklonten Version des Projektes zu arbeiten und mit einem zentralen Stand abzugleichen und ggf. auch den Quellcode durch andere Entwickler oder automatisierte Mechanismen überprüfen zu lassen.

Tools zur Versionsverwaltung in Projekten

Welche Tools gibt es, um Versionsverwaltung für das eigene Projekt zu nutzen und welchen Vorteil bieten webbasierte Services gerade im Bereich der Webentwicklung? Die bekanntesten Tools – um nur zwei zu nennen – sind sicherlich Apache Subversion (SVN) oder Git mit seinen webbasierten Repositories GitHub, GitLab oder Bitbucket.

  • SVN als freie Software zählt zu den zentralen Versionsverwaltungssystemen und wird vor allem für die Versionierung von Binärdateien verwendet. Die Unterstützung für die Bearbeitung auf einem zentralen System hat den Vorteil, dass gerade bei großen Binärdateien, z. B. bei grafischen Elementen, die Erkennung weitestgehend automatisch erfolgt und SVN die Änderungen abgleicht.
  • Git im Gegenzug als verteilte Versionsverwaltung ermöglicht im betrieblichen Einsatz eine schnellere Bearbeitung durch die lokale Version auf dem System des Entwicklers. Des Weiteren kann jeder beteiligte Entwickler den Stand einsehen und überprüfen, bevor dieser in die zentrale Version eingespielt werden.

Gerade in der Webentwicklung werden immer häufiger webbasierte Services eingesetzt. So bietet zum Beispiel GitHub mit seiner Vielzahl an frei verfügbaren Open Source Projekten einer Vielzahl von Entwicklern die Möglichkeit, Software kostenfrei zu versionieren.

Im betrieblichen Umfeld muss man meist auf ein kostenpflichtiges Angebot zurückgreifen. Hier kann aber GitLab als webbasierter Service genutzt werden, da man so zusätzlich die sensiblen Daten einer Software in Unternehmen auf einem eigenen Server behalten kann.

Zusammengefasst lässt sich sagen, dass Softwareprojekte heutzutage nicht mehr ohne eine Versionsverwaltung ob lokal, zentral oder verteilt möglich sind. Eine Vielzahl von Tools lassen auch Ihnen die Chance, Ihre Idee zukunftsträchtig zu verwirklichen. Selbstverständlich stehen Ihnen die kreITiv Softwareentwickler bei Fragen und zur Unterstützung gern zur Seite.

Wie wir bei der kreITiv ein stimmiges User Interface entwickeln

Wie wir bei kreITiv ein stimmiges User Interface entwickeln

Dem User Interface kommt als Schnittstelle zum Endanwender eine entscheidende Bedeutung für jede Form von Software zu. Sie bestimmt, ob eine Anwendung – so komplex oder simpel sie auch ist – überhaupt sinnvoll genutzt werden kann.

Fehler im Design können Motivation beim Nutzer und damit den Betreiber viel Geld kosten, wenn bspw. in einem Onlineshop kein Kauf ausgelöst oder in einem Webportal kein Account registriert werden kann. Aus diesem Grund beschäftigen wir uns also auch als Softwareentwickler immer schon frühzeitig mit dem Thema User Interface (UI).

1. Der Komponentenbaum für bessere Übersicht

Die Planung ist und bleibt ein wichtiger Bestandteil der Softwareentwicklung. Auch bei der Entwicklung mit komponenten-basierenden Frameworks, die bereits zahlreiche Vorarbeiten liefern, darf die Planung nicht zu knapp ausfallen. Ein stufenweises Herangehen hat sich inzwischen etabliert und erscheint aus mehreren Gründen sinnvoll.

Wichtig ist es, mit einem Prototypen zu beginnen. Dieser gibt das Design und eine gewisse Teilfunktionalität vor. Drei Arten des Prototypings in der Softwareentwicklung haben wir im Blog schon einmal behandelt. Basierend auf dem Prototyp, kann im nächsten Schritt ein Komponentenbaum aufgebaut werden. Dieser visualisiert den Aufbau der Anwendung und stellt die Zusammenhänge zwischen den Komponenten dar.

2. Ein Storybook zur interaktiven Entwicklung

Aufbauend auf dem Komponentenbaum kann ein sogenanntes Storybook entwickelt werden. Das Storybook dient zur Visualisierung der UI-Komponenten einer Software.

  • Für Entwickler bietet das Storybook die Möglichkeit, diese Komponenten interaktiv zu entwickeln sowie die einzelnen Komponenten intensiv zu testen.
  • Zusätzlich dient es als eine Art Dokumentation, welche es ermöglicht, Komponenten in anderen Projekten wiederzuverwenden. Dies hat den positiven Effekt, dass bei Folgeprojekten Entwicklungszeit eingespart werden kann.

Storybook zur interaktiven SoftwareentwicklungDurch das interaktive Entwickeln bekommt der Kunde auch einen Einblick in die Entstehung der Software und kann den Fortschritt stets mitverfolgen. Eine zeitnahe Feedback-Übermittlung bzw. Gegensteuerung bei ungeplanten oder ungewollten Entwicklungen ist damit jederzeit möglich. Missverständnisse, die oft erst gegen Ende von Projekten sichtbar werden, können deutlich reduziert werden. Das trägt zur Zufriedenheit aller Stakeholder des Entwicklungsprojektes bei.

Zwei Trends in Sachen User Interface

In der Entwicklercommunity ist die Unterstützung für das Thema Storybook in letzter Zeit stark gestiegen. Nicht nur große Firmen, wie Airbnb oder Xebia, setzen auf das Konzept, sondern auch einzelne Entwickler konzentrieren sich jetzt mit Vollzeit auf die Weiterentwicklung des Storybooks. Sehr lesenswerte Ansätze und Ausblicke liefert der Artikel “Storybook: The Next Chapter” auf medium.com

Ein weiterer positiver Trend in diesem Bereich ist die Verwendung von Komponenten-Bibliotheken, wie zum Beispiel Material UI von Google. Entwickler können sich dabei aus einem Repertoire von vorgefertigten Komponenten bedienen, welche bereits über ein gewisses Maß an Grundlogik verfügen. Das Design dieser Elemente ist an Android angelehnt und kann daher intuitiv verwendet werden. So müssen die Grundlagen nicht immer wieder neu erarbeitet, sondern können bei jedem Projekt verfeinert und optimiert werden.

Dieses modulare Vorgehen und die Best-Practice-Ansätze führen zu einer schlanken, einheitlichen und schnellen Entwicklung und werden in zunehmendem Maße auch in die alltägliche Arbeit der kreITiv-Softwareentwicklung integriert.

Erklärung und Vorteile von Progressive Web Apps

Progressive Web Apps – Die mobile Revolution?

Täglich nutzen wir Progressive Web Apps und wissen es nicht einmal. Diese sogenannten PWA’s besitzen alle Funktionalitäten und Möglichkeiten klassischer Smartphone-Apps, laufen aber vollständig im Webbrowser und haben damit den Vorteil, dass sie nicht erst installiert werden müssen. In den letzten Jahren hat der Vormarsch dieser Art von App begonnen und sie ist nun im Begriff, herkömmliche Apps vollständig abzulösen.

Nach der allgemeinen Einführung in die Web Apps, befassen wir uns deshalb noch einmal genauer mit dem Thema und tragen zusammen, was eine Progressive Web App ausmacht, ob sie dem Vergleich zu klassischen Apps standhält und welche Chancen für Unternehmen bietet. Die vielen Vorteile dieser Entwicklungen zeigen wir aber gleich vorweg…

  • Keine Installation notwendig, Nutzung direkt im Browser

  • Updates auf dem Server und nicht beim Nutzer

  • Nutzung dank Caching auch offline möglich

  • Unterschiedlichste Funktionen abdeckbar

  • Inhalte können von Suchmaschinen indexiert werden

  • Simples Teilen der App per URL

  • Geringere Entwicklungs- und Wartungskosten

  • Unabhängigkeit von App Stores

  • Gesicherter Zugriff für geschäftliche Anwender auf Firmendaten möglich

 

Was genau sind eigentlich Progressive Web Apps?

Bekannte Webdienste wie Gmail, Netflix, Trivago, Microsoft Office, Instagram oder Twitter sind Progressive Web Apps. Es sind Anwendungen, die im Webbrowser ausgeführt werden und dem Nutzer das gleiche Erlebnis wie native Apps liefern (also eigens für diese Funktion erstellte Anwendungen, die auf dem Endgerät in einer separaten Umgebung verarbeitet werden). Egal ob Smartphone, Tablet oder Desktop-PC, der Nutzer kann im Browser Mails lesen und schreiben, Flugreisen buchen oder Filme schauen.

PWA’s stellen also Funktionen bereit, die über das reine Anzeigen von Texten und Bildern im Webbrowser hinausgehen. “Progressive” werden sie im Vergleich zu bisherigen Web Apps durch die Möglichkeit, auch offline nutzbar zu sein.

Die Technik dahinter ist nicht allzu komplex. Das wichtigste Element für die Umsetzung von Progressive Web Apps sind die sogenannten Service Worker. Sie arbeiten im Hintergrund der Webseite und ermöglichen das Laden von bestimmten Inhalten in den Cache, ohne dass es einer erneuten HTTP-Kommunikation bedarf. Fordert ein Nutzer bestimmte Inhalte an, hat der Service Worker diese Inhalte bereits in den Cache geladen, da der Entwickler diese vorab definiert hat.

Hierbei kommen moderne Methoden der Webentwicklung, wie das Prerendering, Preloading und Prefetching, zum Einsatz. Während der Entwicklung einer Progressive Web App werden diese Schlüsselressourcen identifiziert, referenziert und vorgeladen. Je nach Nutzerinteraktion weiß die App, welche Inhalte angefordert werden und muss diese nicht extra über die Internetverbindung nachladen.

Dieses Prinzip reduziert die Abhängigkeit von Übertragungsraten speziell des mobilen Internets und verbessert die User Experience.

Die Kontrolle des Cachings schließt noch einen weiteren Aspekt mit ein – das Laden der Inhalte erfolgt wesentlich schneller, somit müssen die Nutzer keine langen Wartezeiten in Kauf nehmen. Der Nutzungsprozess wird dadurch auf einem hohen Niveau trotz schonendem Gebrauch der Netzwerkressourcen gehalten.

Die Vorteile von PWA’s in der App-Entwicklung

Technik, Nutzererfahrung und Onlinemarketing

  • Deutlich hervor sticht, dass man PWA’s nicht aus dem jeweiligen App-Store herunterladen und installieren muss. Somit gehören auch Updates der Vergangenheit an. Mit der Funktion “Add-To-Homescreen”, welche so gut wie jedes mobile Betriebssystem unterstützt, kann der Nutzer den Link wie ein klassisches App-Symbol auf seinem Desktop abspeichern und jederzeit aufrufen.
  • Ein weiterer Vorteil von Progressive Web Apps ist die Nutzung auch bei schlechter oder gar keiner Internetverbindung. Die App muss lediglich einmal online genutzt werden, dann sollten die Inhalte im Cache auch offline verfügbar sein.
  • Des Weiteren haben Entwickler die Möglichkeit, auf mehr Funktionen des Smartphones zuzugreifen, wie bspw. das Senden von Push-Benachrichtigungen auf mobile Geräte.
  • Außerdem ist das Teilen der App sehr simpel. Während bei nativen Apps erst ein Link über den Store aufgerufen werden muss, kann für PWA’s ganz einfach die URL aus dem Webbrowser kopiert werden.
  • Und auch für das Onlinemarketing bieten sich Vorzüge: Bei Progressiven Web Apps können die Inhalte nämlich im Gegensatz zu nativen Apps vollständig von Suchmaschinen indexiert werden.

Unternehmerische Vorteile

  • Die wirtschaftlichen Vorteile sind die geringeren Entwicklungs- und Wartungskosten. Eine zeitintensive Entwicklung für mehrere Betriebssysteme wird überflüssig und Updates können direkt eingespielt werden, ohne dass Nutzer extra darüber informiert werden müssen.
  • Da Progressive Web Apps nicht installiert werden müssen, sind die Betreiber unabhängig von App Stores. Entwickler müssen demnach vom Verkaufspreis keine Anteile für die jeweilige Plattform abgeben.
  • Zudem ist die mentale Hürde zur Installation einer App deutlich höher, als der Schritt zum Aufrufen einer Webseite und dem Abspeichern als Homescreen-Icon. Betreiber einer PWA benötigen also weniger Überzeugungskraft als mit einer App, erzielen aber im Endeffekt eine ähnlich hohe Conversion Rate sowie Kundenbindung.
  • Auch für Businessanwendungen gibt es kaum Grenzen: Geschäftliche Anwender profitieren mit dem gesicherten Zugriff auf Firmendaten von Desktops, Laptops, iOS- und Android-Geräten, welche aus dem Browser heraus ermöglicht werden. Über Services – lokal oder über die Cloud – können diese Daten dann sicher und hochverfügbar bereitgestellt werden. In den Bereichen Datenschutz und Datensicherheit hat sich gerade im Mobile Bereich sehr viel getan, sodass auch die Geräte selbst mittlerweile durchaus für den Unternehmensalltag zum Einsatz kommen können.

Welche Zukunft haben Progressive Web Apps?

Inwieweit sich Progressive Web Apps in der Zukunft durchsetzen werden, bleibt noch abzuwarten. Die technologische Entwicklung in diesem Bereich wird von Google vorangetrieben und war anfangs nur für Android-Geräte und den Chrome-Browser verfügbar. Die großen Konkurrenten der Branche haben ihre Systeme nach langer Zurückhaltung mittlerweile aber ebenfalls für Progressive Web Apps nachgerüstet.

So hat Microsoft im September 2017 angekündigt, den mit Windows 10 eingeführten Edge-Browser für PWA‘s zu optimieren. Im „Redstone 4“-Update des Betriebssystems aus dem Frühjahr 2018 war der PWA-Support dann endgültig enthalten. Apple hat schon seit einiger Zeit Service Worker in das Webkit des hauseigenen Safari-Browsers integriert und damit die Basis für Progressive Web Apps geschaffen. Und auch reine Browserentwickler, wie Mozilla mit seinem Firefox, sind mit von der Partie.

Es ist wohl also nur noch eine Frage der Zeit bis sich Progressive Web Apps auf dem Markt etabliert haben – die Bedingungen dafür erfüllen sie jedoch bereits. Interessieren Sie sich für die Entwicklung von Progressiven Web Apps? Dann lassen Sie sich von der Softwareentwicklung der kreITiv beraten!

Künstliche Intelligenz im privaten und beruflichen Alltag

Gegenwart und Zukunft von künstlicher Intelligenz

Auch wenn man es kaum glauben mag, aber was im Bereich der künstlichen Intelligenz einst als ferne Zukunft galt, ist heute bereits allgegenwärtig. Selbstfahrende Autos, Sprachassistenten, neuronale Netzwerke. All diese Errungenschaften haben unser Leben in den letzten Jahren verändert. Wir möchten einen kurzen Überblick zum Stand der Dinge in Sachen KI im beruflichen und privaten Alltag geben.

Künstliche Intelligenz in Unternehmen

Viele Unternehmen benutzen neben smarten ERP-Systemen schon jetzt auch intelligente Algorithmen, welche den Mitarbeitern bspw. zeitaufwändige Aufgaben abnehmen.

1. Vor allem im Bereich Chatbots und künstliche Telefonie erreicht KI momentan ihren Durchbruch.

Die kürzlich vorgestellte Demo eines komplett autonomen Telefonanrufes von Google Duplex zeigt die Möglichkeiten der digitalen Kommunikation. Die Software führte eigenständig ein Telefonat durch, machte mit dem angerufenen Restaurant eine Reservierung zum Abendessen aus und fügte diese als Termin in den Kalender des Telefons ein.

Diese und weitere Routineaufgaben im Büro oder im Feierabend könnte künstliche Intelligenz uns künftig also auch auf mündlicher Ebene abnehmen.

2. Auch die Schrift- und Bilderkennung funktioniert dank künstlicher Intelligenz heutzutage schon tadellos.

Durch diese Funktionalität kann dem Anwender eine wesentlich intuitivere Nutzererfahrung geboten werden. So können z. B. handschriftliche Notizen digitalisiert, eingescannte Unterschriften erkannt oder Bildersammlungen nach Personen, Orten und Farbstimmungen vorsortiert werden. Unsere Softwareentwickler sind ihren Projekten stets daran orientiert, diese Nutzererfahrungen zu verbessern. Aus diesem Grund evaluieren wir ständig neue Methoden für ein besseres Nutzererlebnis.  

3. In der Medizin als Anwendungsgebiet rettet die KI Menschenleben.

Neben der großen Arbeitserleichterung durch künstliche Intelligenzen, bieten sie außerdem einen erheblichen Vorteil im medizinischen Bereich. Die frühzeitige Erkennung von Krankheiten ist hier ein wesentliches Einsatzfeld. Nur die intelligenten Algorithmen der KI können riesige Datenmengen aufnehmen, verarbeiten, bestimmte Vergleiche ziehen und so u. a. die Prävention unterstützen.

Wie lernt eine KI?

Wir greifen erneut zum Beispiel Google. Dessen quelloffenes Framework für künstliche Intelligenz und maschinelles Lernen “Tensor Flow” ist frei nutzbar und verfolgt zur Erstellung einer KI immer eine ähnliche Schrittweise: 

  1. Es müssen möglichst viele Datensätze einer bestimmten Sache vorliegen. Diese nutzt die KI dann zum Training.
  2. Ein grundlegendes Rechenmodell muss ausgewählt werden. Einige sind z. B. für die Bilderkennung, andere für bestimmte Spracherkennung ausgelegt und optimiert.
  3. Schließlich wird das Modell anhand der Datensätze aus Big Data trainiert.
  4. In verschiedenen Tests wird an neuen unbekannten Beispielen überprüft, wie genau die KI arbeitet.
  5. Nach erfolgreicher Absolvierung der Tests ist die Intelligenz nun praxistauglich.

Mithilfe intelligenter Algorithmen und moderner Frameworks kann Ihnen die kreITiv dabei behilflich sein, auch Ihre Geschäftsprozesse zu optimieren. Wir betrachten Projekte immer aus ganzheitlicher Sicht und stellen spezifisch Teams aus Softwareentwicklern, ERP- und IT-Spezialisten und der Onlinemarketing-Abteilung zusammen. > Kontaktieren Sie uns

Fragen und Antworten zum Einstieg als Programmierer bei kreITiv

Als Praktikant in der Welt der Programmierer und Softwareentwickler

Unser Praktikant Tony findet Antworten auf die 4 wichtigsten Fragen, die sich Schüler und Auszubildende beim Einstieg in die Welt von Softwareentwicklung und IT stellen sollten.

1. Welche Voraussetzungen sollte ich als Praktikant mitbringen?

Die junge Generation wächst heute ganz selbstverständlich mit dem Medium Internet, sowie Smartphones und Tablets auf. Aus dem normalen Alltag ist all das nicht mehr wegzudenken. Doch nur weil man diese nutzen und zu bedienen weiß, heißt das noch lange nicht, dass man die Strukturen dahinter nachvollziehen kann. Jedoch wird mit diesem Grundwissen der Einstieg in das Thema deutlich vereinfacht.

Programmieren ist nicht einfach; es zu erlernen erst recht nicht, denn anders als in herkömmlichen Berufen, entwickelt die Technik sich stetig weiter und die Herausforderungen wachsen mit jedem Projekt. Doch wer ein gewisses Maß an Vorstellungsvermögen und Bereitschaft sich dahinter zu klemmen hat, kann diese Hürde meistern. Eine weitere wichtige Vorrausetzung ist das grundlegende Interesse, diese technischen Vorgänge nachzuvollziehen, weil Fehlersuche zur täglichen Arbeit als Praktikant in der Webentwicklung gehört und sie teils viele Stunden in Anspruch nehmen kann.

2. Wie kann ich Programmieren lernen?

w3schools.com oder Codecademy.com sind gute Anlaufstellen für den Einstieg in Programmiersprachen wie HTML, CSS, Python, PHP, JavaScript. Beide ermöglichen das Programmieren lernen im Browser. Die meisten dieser Kurse sind kostenlos und reichen völlig aus für die Basics. Wer jedoch mehr lernen möchte, kann auch monatlich einen Festpreis dafür zahlen, um auf mehr Übungen und weitere Features Zugriff zu haben.

Die meisten Seiten, Videos und Tutorials sind auf Englisch, was zusätzlich die Sprachkompetenzen mit auffrischt – auch das ist für Entwickler ein Muss. Ebenso gibt es zahlreiche YouTube Channels, die spannende Tutorials vermitteln. Ich lerne z. B. gerade erste WordPress Plugins zu programmieren. Selbstverständlich muss man dabei viel nachschlagen und googeln, doch es macht Spaß, wenn durch die eingegebenen Codezeilen der Computer die Aktionen erwartungsgemäß durchführt und das richtige Ergebnis liefert.

3. Welche Arten von Programmierern gibt es?

Die IT-Branche ist heutzutage sehr weitläufig und bietet für Entwickler zahlreiche Einsatzgebiete, die für viele auch und gerade als Praktikant interessant sind. Unterteilen kann man grob in folgende Kategorien:

Webprogrammierer/innen:

Von einfachen Webseiten bis hin zu komplexen Webshops oder Onlinespielen gehört ein breites Spektrum zu den Aufgaben eines Webprogrammierers. Wichtige Bestandteile sind Skriptsprachen wie JavaScript, des weiteren serverseitige Programmiersprachen wie Python oder PHP und natürlich die Seitenbeschreibungssprachen wie HTML, CSS, XML.

Systemprogrammierer/innen Desktop, Großrechner:

Die Einsatzmöglichkeiten in der Systemprogrammierung sind sehr speziell. Dabei geht es von künstlicher Intelligenz (z. B. Spracherkennung und -verarbeitung) bis hin zu virtueller Realität.

Anwendungsprogrammierer/innen Apps für mobile Geräte:

Hier sollen Apps nach Kundenwünschen entworfen und angepasst oder selber eine zündende Idee umgesetzt werden. Von reinem Coding bis hin zum Design und Aufbau der App ist dieser Beruf sehr vielseitig, abwechslungsreich und aufgrund des sich stark in diese Richtung entwickelnden Marktes sehr zukunftsträchtig.

Anwendungsprogrammierer/innen Desktop:

Sie entwickeln Software speziell für individuelle Nutzer, testen diese und führen regelmäßig Updates durch. Außerdem verbessern sie die Anwendungen hinsichtlich der Funktionalität (Sicherheit, Design) und anpassen sie an den aktuellen Standard an.

4. Wie lange dauert das Programmieren lernen?

Dafür gibt es keinen Richtwert, viel mehr erfordert Programmierung ein lebenslanges Lernen. Die Grundlagen eignet sich jeder unterschiedlich schnell an, aber bis man mit einem Programm das erste Geld verdienen kann, vergehen sicher erst einmal ein paar Jahre.

Und so heißt es in der Softwareentwicklung vom Praktikant bis zum alten Hasen, sich ständig mit neuen Technologien und Sprachen zu befassen und immer am Ball zu bleiben. Auch nach dem aktuellen Mobile-Trend wird es wieder neue Entwicklungen und damit auch Aufgabenfelder für Programmierer geben.

 

Zusammenfassend kann man sagen, dass die Programmierung und Softwareentwicklung ein abwechslungsreicher, spannender und sich stetig entwickelnder Beruf ist. Du hast Lust auf eine neue Erfahrung? Hast schon sehr viele Jahre als Entwickler gearbeitet? Oder würdest gern mal als Praktikant in die Webentwicklung reinschnuppern? Dann findest du in den Stellenanzeigen der kreITiv vielleicht etwas passendes.

Ursprung und Vorteile reaktiver JavaScript Frameworks für moderne Benutzeroberflächen

Reaktive JavaScript Frameworks – Trend in der Entwicklung von Benutzeroberflächen

Reaktives Verhalten, Virtual DOM und Komponenten sind die wesentlichen Bestandteile von reaktiven JavaScript Frameworks und entscheidende Stichworte für den modernen Softwareentwickler bei der Erstellung von Benutzeroberflächen. Richtungsweisend für die Etablierung dieses Trends können die zahlreichen Entwicklungen der letzten Jahre sein, welche auf eben diesen Frameworks basieren, darunter große Projekte wie Netflix, Facebook, Instagram, WhatsApp oder AirBnB.

Wieso man diesem Trend folgen sollte und welche Vorteile er mit sich bringt, möchten wir in diesem Blogartikel aufzeigen.

Ein eindeutiger Trend, doch wo liegt der Ursprung?

In den vergangenen Jahren dominierten Libraries beziehungsweise Frameworks, wie jQuery oder Mootools, den Bereich der Benutzeroberflächenentwicklung. Nun lässt sich jedoch ein eindeutiger Wechsel in Richtung reaktiver JavaScript Frameworks erkennen.

Bei der Entwicklung von großen Webanwendungen kommt es zunehmend darauf an, eine vernünftige Codestruktur zu erzeugen. Vergleicht man hier als Beispiel jQuery mit Vue oder React als Vertreter der reaktiven Frameworks, so stellt man fest, dass jQuery keine Komponenten bietet.

Mittels Komponenten ist ein Entwickler in der Lage, Struktursprachen wie HTML und CSS mit der JavaScript-Logik innerhalb einer Datei zu bündeln. Diese kann dann an beliebiger Stelle innerhalb der Anwendung mehrfach verwendet werden. Zusätzlich besteht die Möglichkeit, diese Komponenten problemlos innerhalb einer anderen Anwendung zu nutzen. Die variabel einsetzbaren Codestrukturen werden dann in übersichtlicher Art und Weise miteinander verknüpft, sodass am Ende die Darstellung über eine Baumstruktur möglich ist.

Der zentrale Vorteil von reaktiven JS-Frameworks ist somit die Reduktion der Komplexität der Codestruktur. Sekundäre Ziele sind dabei die bessere Verständlichkeit und somit auch leichtere Wartung von komplexen Codestrukturen.

Was ist eigentlich dieses reaktive Verhalten?

Innerhalb einer Komponente kann der Entwickler zum Beispiel Formulardaten definieren, welche automatisch über das Model Binding der Logik zugänglich gemacht werden können. Bei jQuery muss an dieser Stelle mit Events gearbeitet werden, bei Vue und Co. ist dies praktisch nicht notwendig.

Zusätzlich gibt es neue Libraries, wie zum Beispiel Elements für Vue. Durch Elements kann ein Entwickler vorgefertigte Komponenten in seine Anwendung implementieren. Diese verfügen damit schon über eine gewisse Logik und sind auch komplett grafisch aufgearbeitet.

In Puncto Geschwindigkeit können reaktive JavaScript Frameworks natürlich auch bestehen, da mindestens ein virtuelles Strukturabbild des HTML-Dokuments im Speicher vorgehalten wird. Dadurch muss nicht das komplette HTML-Dokument neu geladen werden, wenn sich ein Teil dieser Struktur ändert. Der virtuelle DOM prüft selbstständig, welche Bereiche im Dokument neu gerendert werden müssen und imitiert genau dies automatisch. Damit ist die clientseitige Manipulation deutlich effizienter geworden.

Viele Vorteile rechtfertigen die höhere Entwicklungszeit

Fassen wir die zahlreichen Vorteile von reaktiven JavaScript Frameworks zusammen:

  • Wiederverwendbarer Code durch Komponenten

  • Bessere Wartbarkeit der Anwendung

  • Schnellerer Zugriff auf Daten dank Model Binding und reaktiven Verhaltens

  • Effizientere Manipulation von HTML-Strukturen

  • Höhere Geschwindigkeit

Natürlich besitzt jede neue Technologie auch ein oder zwei Schattenseiten. Im Fall von Vue ist dies der doch spürbar höhere Anspruch für die clientseitige Entwicklung. Das führt letztlich zu einer längeren Entwicklungszeit für eine Anwendung.

Zusammenfassend kann man jedoch sagen, dass der Trend eindeutig in Richtung reaktiver JavaScript Frameworks zeigt, da selbst das World Wide Web Consortium W3C an einer sehr analogen Technologie namens „Shadow DOM“ arbeitet.

Eigenes Tippspiel erstellen mit Tippevent, für Unternehmen, Vereine, Freunde und Familie

Tippevent – Das individuelle WM-Tippspiel für Unternehmen

Bis zum Anpfiff der Fußball-Weltmeisterschaft 2018 in Russland zählen wir am Tag dieser Veröffentlichung noch knapp 100 Tage. Am 14. Juni startet das wohl größte Sportereignis der Welt. Grund genug sich zu fragen, wie man dieses Event für sich als Unternehmen nutzen kann. Wir haben mit einer weiteren kreITion aus unserer Softwareentwicklung die passende Antwort: das Tippspiel von Tippevent

Markenreichweite – Mitarbeitermotivation – Umsatzsteigerung

Gestalten Sie Ihr individuelles Tippspiel im Unternehmensdesign mit eigenen Inhalten, Farben und Logos und erhöhen Sie die Sichtbarkeit Ihrer Marke, indem Sie Tippevent unter Ihrer Domain mit Ihrer Webseite verknüpfen und über alle Kanäle transportieren. Steigern Sie Ihre Umsätze durch Sponsorenplatzierungen und maximieren Sie die Motivation Ihrer Mitarbeiter, indem Sie intern ein unkompliziertes Gewinnspiel zur WM anbieten.

 

Wie funktioniert Tippevent?

Da es sich um eine webbasierte Anwendung handelt, ist Tippevent kinderleicht auf jedem Endgerät mit Browser bedienbar. Getippt wird im bekannten Format und Punktesystem, ohne unnötig kompliziertes Regelwerk.

Vor dem Turnier werden die beliebten Bonusfragen gestellt. Nach jedem Spiel folgt für die Nutzer der Blick auf die Rangliste, die auch live während der Partien aktualisiert wird und aus der die einzelnen Ergebnissen ersichtlich werden. Somit kann jeder direkt mitfiebern und sich messen. Sollte ein Teilnehmer einmal vergessen haben, vor einem Spiel zu tippen, wird er rechtzeitig per E-Mail erinnert. Das System ist vollautomatisiert und ausfallsicher.

Tippspiel mit individueller Anpassung und Erweiterungen

Dabei ist Tippevent mehr als nur eine Software. Es ist Plattform und Werkzeug zugleich. Zur Verdeutlichung möchten wir Ihnen hierzu ein Fallbeispiel skizzieren…

Eine Privatbrauerei will zur WM ein Gewinnspiel für seine Kunden ins Leben rufen. Getippt werden sollen nur die Deutschlandspiele. Ziel dabei ist es die Marke zu stärken, die Produkte zu bewerben und somit mehr Umsatz zu generieren. Am Ende und während des Turniers möchte die Brauerei Gewinne ausloben. Wir sind durch eine Marketingkampagne ins Gespräch gekommen und haben uns gemeinsam über die Ziele und Anforderungen ausgetauscht. Das Ergebnis ist ein maßgeschneidertes Tippspiel der Brauerei für ihre Kunden. Die statistische Auswertung fällt dank umfassenden Tracking-Möglichkeiten mit Google Analytics-Anbindung denkbar einfach aus. Die Brauerei ist glücklich damit und konnte ihre Ziele erreichen!

Tippevent bildet den technischen Rahmen und passt sich konzeptionell, inhaltlich und optisch den Anforderungen unserer Kunden an. Über einen komfortablen Administrationsbereich können sämtliche Grundeinstellungen des jeweiligen Tippspiels beliebig angepasst werden. Darüberhinaus bieten wir spezielle Erweiterungen an, die die Anwendung technisch aufwerten und an bestehende Systeme anschließen können.

  • Sie möchten es Ihren Teilnehmern sicher so leicht wie möglich machen, sich bei Ihrem Tippspiel zu registrieren? Dann wählen Sie die Zusatzoption “Facebook-Registrierung”
  • Sie möchten alles für mehr Reichweite und Sichtbarkeit tun? Wählen Sie “Newsletteranbindung” & “Mehrsprachigkeit”.
  • Wie wäre es mit einem Spendentippspiel für einen guten Zweck? Oder ein Gewinnspiel für Mitarbeiter? Unsere hauseigene Softwareentwicklung ermöglicht die Realisierung Ihrer einmaligen Idee! Tippevent ist somit nicht nur per Knopfdruck anpassbar, sondern in jede Richtung individualisierbar.

 

Welche Versionen gibt es und wie buche ich Tippevent?

Wählen Sie das passende Tippevent-Paket aus unserer Tippspiel-Übersicht. Sie erhalten sofort Zugang und passen Ihr Tippspiel an Ihre Anforderungen an. Die Teilnehmer registrieren sich, laden weitere Tipper ein und legen los!

Das Paket PREMIUM stellt die frei anpassbare White-Label Version dar. Sie möchten sich zurücklehnen und Ihre ganz eigene Lösung in der Umsetzung uns überlassen? Dann ist Tippevent ALL-INCLUSIVE Ihre erste Wahl!

Wir als Fußball-Liebhaber fiebern diesem Großevent sehr entgegen und freuen uns, wenn Sie diese Leidenschaft und Begeisterung mit uns teilen!

Sinn und Zweck der Entwicklung eines Prototyps in einem Software-Projekt

3 Arten von Prototyping in der Softwareentwicklung

Prototyping ist ein seit langem verbreitetes Prinzip in der Softwareentwicklung. Doch um was genau handelt es sich dabei und was ist der Unterschied zu einem Mock-up?

Der Grund für die Existenz beider Prinzipien ist das Entwickeln einer gemeinsamen Basis, die dem Kunden auf der einen und dem Entwicklerteam auf der anderen Seite bei der Kommunikation helfen. Eine konkrete Modellierung hilft beiden Parteien, ein besseres Verständnis vom Zielsystem aufzubauen.

Dabei sind Prototypen funktionsfähige Entwürfe, die bereits grundlegende Funktionalitäten beinhalten. Mock-ups dagegen sind Attrappen und besitzen normalerweise keine Funktionalität, sind also nicht mit Programmlogik angereichert. Dafür können Mock-ups dem Kunden ein deutlicheres Bild vom Endergebnis vermitteln als ein teils funktionsfähiger Prototyp.

Ein Prototyp als erster Schritt zur Software

Prototyping steht am Anfang eines Softwareprojekts für die Entwicklung eines Musters. Es ist ein Verfahren, welches im Software-Engineering eingesetzt wird. Gegenstand des Prototypings ist die Entwicklung einer lauffähigen Software bzw. einer Softwarekomponente, die bestimmte Kernfunktionen abdeckt. Das Verfahren ist kostengünstiger, da es weniger Zeit in Anspruch nimmt als die Komplettentwicklung. Der Prototyp kann erstellt und getestet werden. Fehler können somit frühzeitig erkannt und Änderungswünsche besser berücksichtigt werden als bei der fertigen Software.

Empfehlenswert ist der Einsatz vor allem dann, wenn die endgültigen Anforderungen und Spezifikationen für die komplette Software noch nicht ausgearbeitet werden. Dabei kann man es als iterativen Prozess betrachten, der zwischen Entwicklerteam und Auftraggeber stattfindet.

Es haben sich unter anderem folgende Arten herausgebildet: Exploratives, experimentelles und evolutionäres Prototyping. Daneben gibt es noch das Rapid-Prototyping für die schnelle Herstellung eines Musters.

1. Exploratives Prototyping – Ermittlung verschiedener Lösungsansätze

Das explorative Prototyping dient dazu, den Entwicklern einen Einblick in den Anwendungsbereich zu vermitteln, mit dem Auftraggeber verschiedene Lösungsansätze zu diskutieren und die Realisierungsmöglichkeiten abzuschätzen. Dazu wird auf Grundlage der Anwendung und Kundenvorstellungen ein Prototyp entwickelt. Beim explorativen Prototyping geht es in erster Linie um die Funktionalität des Systems, weniger um dessen (optische) Qualität.

2. Experimentelles Prototyping – Verdeutlichung eines Gesamtsystems

Einen anderen Ansatz verfolgt das experimentelle Prototyping. Hierbei sollen sämtliche Teilsysteme für die spätere Implementierung vollständig definiert werden. Anschließend soll die Funktion der Teilsysteme nachgewiesen und die jeweiligen Schnittstellen überprüft werden. Im Vordergrund stehen also die Einzelkomponenten und ihr Zusammenspiel.

3. Evolutionäres Prototyping – Schrittweise zum Endprodukt

Beim evolutionären Prototyping geht es um eine stufenweise Systementwicklung. Das System soll schrittweise nach den exakten, definierten Spezifikationen aufgebaut werden. Jeder Zwischenschritt dient als Grundlage für die inkrementelle Weiterentwicklung, basierend auf weiteren Spezifikationen. Das evolutionäre Prototyping ist eine Vorgehensweise, bei dem der Prototyp grundsätzlich das fertige Produkt darstellt.

Softwareentwicklung bei der kreITiv

Zusammenfassend sehen wir Prototyping in der Softwareentwicklung als effiziente Technik, um die späteren Anwender frühzeitig und kontinuierlich in die Entwicklung einzubeziehen. Dadurch lässt sich das Risiko von Fehlentwicklungen reduzieren und Kunden sind mit dem Endergebnis deutlich zufriedener.

Auch wir als Team der kreITiv wissen um die Mehrwerte, die Prototyping mit sich bringt und setzen vermehrt auf dieses Werkzeug, um bei jedem Projekt von Anfang an mit dem Kunden ein einheitliches und gemeinsames Verständnis vom Endergebnis zu entwickeln.

Unser Überblick über die Arten von Schadsoftware für IT-Systeme

Arten von Schadsoftware im Überblick – Viren, Würmer und Trojaner

Schadsoftware gehört zu den größten Risiken für IT-Systeme. Hierbei existiert eine sehr große Bandbreite. Für eine sichere Erkennung und wirksame Abwehr ist das Wissen über die verschiedenen Arten von Schadsoftware grundlegend. Zwar kennt man im Allgemeinen die Begriffe “Virus”, “Trojaner” oder “Wurm”, aber was genau steckt dahinter und worin unterscheiden sich zum Beispiel “Adware” und “Scareware”? Wir haben eine kleine Kategorisierung vorgenommen, um Ihnen den Einstieg in diese Thematik zu erleichtern.

Computervirus – Die älteste und bekannteste Schadsoftware

Ein Virus verbreitet sich von Rechner zu Rechner, indem er Dateien mit seinem Code infiziert. Im Vergleich zu einem Wurm benötigt ein Virus immer die Hilfe des Anwenders, damit er aktiv wird. Folgende Arten von Computerviren sind verbreitet:

  • Dateiviren: Sie befallen ausführbare Dateien, die beispielsweise mit den Dateinamenserweiterungen “.exe” oder “.com” gekennzeichnet sind. Betroffen sind davon fast alle Bestandteile, von Windows bis hin zu installierten Programmen. Diese Art von Viren schreibt ihren Schadcode in die betroffene Datei. Nachdem der Nutzer die Datei startet, wird der Virus automatisch mit ausgeführt.
  • Bootviren: Sie infizieren Datenträger und verbreiten sich vor allem über USB-Sticks. Ihr Ziel ist der Bootsektor der Festplatte. Bei jedem Systemstart wird der Virus aktiviert und befällt weitere Sektoren oder andere Speichermedien. Heute ist diese Virenart allerdings nicht mehr sehr weit verbreitet, da moderne Rechner Manipulationen des Bootsektors relativ zuverlässig erkennen.
  • Makroviren: Sie verstecken sich in Word- oder Excel-Dokumenten. Beim Laden eines manipulierten Dokuments beginnt das Virus automatisch mit seiner Codeausführung. Diese reicht bis hin zum Löschen von Dateien.

Neben den klassischen Viren gibt es heutzutage jedoch eine ganze Bandbreite an weiteren Angreifern auf Privat- und Unternehmensrechner, IT-Systeme und auch Mobilgeräte, über die man Bescheid wissen sollte.

Der Schädlingskatalog, von A wie Adware bis T wie Trojaner

 

  • Adware

    Als Adware bezeichnet man kostenlose Angebote, die dem Nutzer auf seinem Endgerät Werbung anzeigen. Diese Programme verstecken ihre Absicht in der Regel nicht und bitten den Anwender vor der Installation um Zustimmung. Da es aber Anwendungen gibt, die zugleich Adware und Spyware darstellen, stehen alle Vertreter der Kategorie Adware unter dem prinzipiellen Verdacht, Spyware zu sein.

  • Computerwurm

    Die klassische Eigenschaft eines Computerwurmes ist die schnelle Verbreitung und der bevorzugte Weg der E-Mail-Anhang. Im günstigsten Fall besteht ihr Ziel in ihrer endlosen Vermehrung und der Belegung von Speicherressourcen. Das beeinträchtigt “nur” die Performance eines infizierten Rechners. Würmer haben jedoch bereits ganze Netzwerke stillgelegt. Zudem kommen viele Würmer nicht mehr allein: Ihr Code wird mit den Eigenschaften von Viren kombiniert oder sie haben sogar Trojaner mit an Bord.

  • Hoax

    Hoax bedeutet übersetzt “schlechter Witz” und wird allgemein für eine Falschmeldung benutzt. Derartige Meldungen werden oft mit der Bitte ergänzt, die Nachricht an Freunde oder Bekannte weiterzuleiten. Hoaxes sind nicht wirklich Malware, da sie normalerweise keine bösartigen Absichten verfolgen. Dennoch können solche “Scheinviren” gefährlich werden. Einige Hoaxes fordern den Nutzer zum Beispiel auf, bestimmte und zum Teil wichtige System-Dateien zu löschen.

  • Keylogger

    Ein Keylogger wird eingesetzt, um Tastatureingaben des Anwenders aufzuzeichnen. Kriminelle benutzen Keylogger, um persönliche Daten wie Passwörter direkt abzugreifen. Sie existieren mittlerweile auch auf Smartphones und Tablets und lesen hier die Eingabe auf virtuellen Tastaturen und Touchpanels mit.

  • Scareware

    Scareware dient dazu, Computeranwendern erst Angst zu machen und sie anschließend dazu zu verleiten, eine Software zu installieren. Normalerweise handelt es sich um professionell aufgemachte Programme, die vortäuschen, den Rechner auf Befall, Angriffe oder andere Probleme zu prüfen. Geht der Anwender darauf ein, erhält er anschließend einen umfassenden und beängstigenden Fehlerbericht. Dazu kommt eine Aufforderung, ein Programm zu installieren, das angeblich gefundene Viren oder Probleme entfernt. Natürlich werden von Scareware keine Tests durchgeführt. Auch die angeblichen Systemprobleme oder der scheinbare Virenbefall stehen schon vorher fest.

  • Spyware

    Spyware bezeichnet Programme, die Informationen über Anwender (wie persönliche Daten und Surfgewohnheiten) abgreifen und sie weiterleiten. Die Urheber können so beispielsweise Vorlieben des Anwenders ermitteln und gezielt Werbung auf dem Rechner platzieren. Spyware-Anbieter locken oft mit Tools oder anderer Freeware, in denen die Schadsoftware versteckt ist. Zunehmend wird Spyware auch über Trojaner und Würmer verbreitet.

  • Trojaner

    Als Trojaner bezeichnet man ein scheinbar harmloses Programm mit einer versteckten Schadensfunktion. Diese kann wiederrum ein Virus, Wurm oder Spyware sein. Mit den meisten Trojanern wird bezweckt, schädliche Programme auf den PC zu schleusen. Diese können anschließend unbemerkt sensible Daten wie Passwörter für Onlinebanking oder andere Zugangsdaten ausspähen und an den Urheber übermitteln. Die gefährlichste Form des Trojaners sind die Backdoor-Trojaner. Dabei handelt es sich um Programme, durch die ein Hacker direkt auf den befallenen Computer zugreifen kann.

Diese Liste ist nicht vollständig, da regelmäßig neue, unbekannte oder abgewandelte Formen von Schadsoftware entstehen. Gerade im Zuge der nach wie vor steigenden Nutzung von mobilen Endgeräten und der Heimautomatisierung eröffnen sich für Kriminelle neue Möglichkeiten, Schaden anzurichten.

Um auch auf zukünftige Gefahrenpotenziale vorbereitet zu sein, werden die Entwicklungen im Bereich Schadsoftware von den Mitarbeitern der kreITiv sehr genau verfolgt und regelmäßig diskutiert. Zusätzlich bilden die Empfehlungen und Richtlinien des BSI eine wichtige Grundlage für die Softwareentwicklung in der kreITiv.

Harmonisierte Schritte zur Digitalisierung - Softwareentwicklung, ERP-Beratung, IT-Infrastruktur und Onlinemarketing

Vom IT-Einzelinstrument zum Orchester der Digitalisierung – kreITiv GmbH

Vor ca. zehn Jahren startete die kreITiv mit zahlreichen Einzelinstrumenten im Bereich der IT-Infrastruktur. Die Lösungen waren moderne technische Ausstattungen, wie Einzelcomputer und Server, sowie Dienstleistungen rund um die Vernetzung dieser Hardware im Sinne des Cloud-Gedankens. Unsere Kunden der ersten Stunde haben die melodischen Klänge der Einzelinstrumente für gut befunden – und sie wollten mehr von uns hören. Der perfekte Anlass also, an der Vielseitigkeit unserer Aufführungen zu arbeiten.

Nicht nur die Anzahl und die Harmonisierung der Instrumente, also unserer IT-Dienstleistungen, erweiterte sich in diesem Schritt. Die Leistung der Musiker (unsere Mitarbeiter), die Qualität der Instrumente und auch die Abstimmung der einzelnen Genres entwickelten sich positiv. Auf diese Weise gelang uns die Entwicklung zum digitalen Orchester. In der Folge wuchs auch bei unseren Kunden die Lust auf digitale und genreübergreifende Melodien.

2017 – Unser Jahr der Erneuerung und der Spezialisierung

Bereits seit drei Jahren haben wir den harmonischen Dreiklang der Digitalisierung angestrebt: IT-Infrastruktur, Softwareentwicklung und Onlinemarketing. Für diesen Dreiklang steht unser erfolgreiches Produkt Tippevent.de, das  kreITiv Tippspiel für Unternehmen, exemplarisch. Es wurde von unseren Softwareentwicklern komponiert, von unseren Marketingspezialisten online besungen und durch die IT-Infrastruktur hochskalierend und sicher im Rahmen der Tontechnik vernetzt. Auch für die WM 2018 in Russland ist das Tippspiel wieder kostenfrei und ab sofort für Unternehmen verfügbar.

Genau solche Harmonien möchten wir für unsere Kunden bereitstellen! Und dies möchte auch unser Publikum. Im Jahr 2017 wollten wieder mehr Kunden zu mehr Konzerten kommen – unser digitales Repertoire stieg weiter. So haben wir beispielsweise unsere Onlinemarketing-Spezialisten unter der eigenen Marke mi-marketing positionieren können.

Mit der ERP-Beratung von kreITiv haben wir im gleichen Zug den Weg hin zum digitalen Orchester weiter beschritten. ERP-Software wird als komplexe Verwaltungssoftware in vielen betrieblichen Bereichen von Buchführung bis hin zur Leistungserstellung genutzt. Unsere Berater sind zertifiziert und beherrschen ihre Instrumente im Zusammenspiel unterschiedlichster Stimmen.

Die Digitalisierung schreitet voran und wir geben den Takt vor

Auch 2018 möchten wir das digitale Orchester für Ihr optimales IT-Erlebnis spielen lassen. Und zwar für einen guten Zweck: die digitalen Fortschritte in Ihren Prozessen für Ihre unternehmensweite digitale Transformation. Damit agieren Sie nachhaltig und zukunftssichernd.

Wir starten mit dem Neujahrskonzert. Kommen Sie gern auf uns zu und lassen Sie sich beraten.