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.

Das Grundprinzip und die Einsatzmöglichkeiten von Blockchains

Die Blockchain – Eine sichere dezentrale Datenhaltung

Vielen ist der Begriff “Blockchain” aus dem Kontext der Kryptowährungen bekannt. Ihr berühmtester Vertreter ist der Bitcoin, der gleichzeitig die älteste noch bestehende Blockchain ist. Doch auch in anderen Bereichen können Blockchains zum Einsatz kommen und über die ursprüngliche Idee eines dezentralen Buchungssystems in der Finanzwelt weit hinausreichen.

Wozu eine Blockchain?

Grundsätzlich dienen sie der Verbesserung und Verifizierung von Transaktionen in verteilten Systemen.

Die Grundidee einer Blockchain ist es, einen weltweiten Austausch von Werten zu ermöglichen und dabei auf eine übergeordnete Aufsichtsinstanz, komplizierte Verifizierungsverfahren oder Gebühren zu verzichten.

Somit können bei Transaktionen Kosten gespart, Zeit gewonnen und Transparenz erhöht werden.

Wie funktioniert die Blockchain?

Sehr vereinfacht gesagt, ist die Blockchain eine sehr große, verschlüsselte Textdatei, die alle Transaktionen beinhaltet. Technisch gesehen, handelt es sich um eine Log-Datei, in der alle Peer-to-Peer-Verbindungen aufgezeichnet werden. Angefangen wird dabei immer mit dem Initial-Block. Neue Blöcke werden über ein sogenanntes Konsensverfahren geschaffen und anschließend an die Blockchain angehängt.

Das populärste Konsensverfahren ist hierbei die Proof-of-Work-Methode. Es existieren zahlreiche andere Formen, Konsens herzustellen. Dazu zählen: Proof-of-Stake, Proof-of-Burn, Proof-of-Activity. Die Daten in einer Blockchain können nicht ohne Weiteres manipuliert werden, da sie aufeinander aufbauen und bei Manipulation die Integrität des kompletten Systems zerstört wäre.

Dadurch wird die Möglichkeit von böswilligen Änderungen erheblich erschwert. Der dezentrale Kontrollmechanismus macht eine dritte Instanz zur Bestätigung der Integrität von Transaktionen überflüssig.

Noch detaillierter wird die Funktionsweise im folgenden Vortrag vom Chaos Communication Congress 2016 beleuchtet.

Klicken Sie auf den unteren Button, um den Inhalt von media.ccc.de zu laden.

Inhalt laden

Was kann die Blockchain bewirken?

Beim Kauf z. B. von Immobilien, verdienen unter anderem immer auch Notare, Städte und Gemeinden mit. Der Aufwand für die Dokumentation von Wertübertragungen ist teuer. Auch die Art und Weise, wie heute Verträge zustande kommen oder Urheberrechte verwaltet werden, könnte sich dramatisch verändern. Digitale Verträge könnten sich in Zukunft selber überwachen. Auch ein Fachbegriff für diese Art von Verträgen existiert bereits: “Smart Contracts”. Eine einzelne Aufsichtsinstanz ist damit nicht mehr notwendig.

Weitere Optimierungspotenziale sind in folgenden Bereichen vorstellbar:

  • die Reduzierung von Risiken bei Finanzgeschäften
  • die Vereinfachungen interner Betriebsabläufe
  • effizienter Umgang zwischen Regulierern und den von ihnen beaufsichtigten Finanzunternehmen
  • Zeitersparnisse bei der Verbuchung und Abwicklung von Finanzgeschäften
  • eine bessere Nutzung des Eigenkapitals und der liquiden Mittel eines Unternehmens
  • geringere Gefahr von Betrügereien

Die Digitalisierung, derzeit auch in Form von Blockchain, sorgt zunehmend dafür, dass durch Technologie ein Macht- und Kontrolltransfer stattfindet. Dieser erfolgt immer stärker von zentralen Systemen hin zu den verteilten Massen der Anwender und Netzwerke, die sich in Zukunft immer stärker selber kontrollieren.

Lassen Sie sich von den Digitalisierungsexperten der kreITiv GmbH beraten, wenn es um Sicherheit und Zukunftstechnologien geht. Smarte Verträge, die selbst auf ihre Einhaltung achten, sind heute nur der Anfang von etwas sehr Spannendem.

Moderne App-Entwicklung für Smartphones und Tablets

App-Entwicklung für Android und iOS in der Praxis

Dem Thema “mobile” und der App-Entwicklung geht die Luft nicht aus – ganz im Gegenteil, die oft zurückhaltende Unternehmenswelt entdeckt gerade erst die vielfältigen Möglichkeiten zur Digitalisierung von Geschäftsprozessen mittels Apps fürs Smartphone und Tablet. Immer wieder bekommen auch wir Kundenanfragen zur Entwicklung von Anwendungen für mobile Endgeräte, denen wir mit unserer kreITiv Softwareentwicklung gern nachkommen.

Wie man Apps für Unternehmen entwickelt

Im konkreten Fall gilt es zunächst, die Anforderungen und Wünsche der Kunden für die gewünschte Lösung zu analysieren und zu prüfen. Oft eignen sich Webanwendungen, die über den Browser überall und von jedem Gerät aus verfügbar sind – die sogenannten Web-Apps.

Für uns in der Webentwicklung ist es mittlerweile zum Standard geworden, Webanwendungen responsive zu erstellen und das Design somit von vornherein für alle Endgeräte zu optimieren. Viele Firmen legen zusätzlich aber auch Wert darauf, in den App Stores von Apple und Android vertreten zu sein und die eigene App zum Download zur Verfügung zu stellen. Dadurch können natürlich Umsatzsteigerungen durch neue Kunden realisiert werden. Außerdem ergreift man damit u. U. die Chance, der Konkurrenz einen Schritt voraus zu sein.

  • In einigen Fällen steht beim Kunden bereits eine Responsive Webseite oder Webanwendung zur Verfügung. Diese können wir in kurzer Zeit in eine native App – also eine speziell für die mobilen Plattformen entwickelte Anwendung – umsetzen. Anschließend wird die App in den Google Play Store für Android-Geräte übertragen oder auf der Webseite des Kunden zum Download zur Verfügung gestellt.
  • Bei Apps für das iPhone ist dies nicht ganz so einfach, da Apple strengere Richtlinien für seinen App Store verfolgt und Anwendungen aus diversen Gründen auch gern ablehnt. Über das sogenannte Volume Purchase Program (VPP) von Apple haben wir allerdings die Möglichkeit, die entwickelte App im B2B-Store für iPhones und iPads anzubieten und somit doch auf allen Endgeräten zu platzieren.

Wann empfiehlt sich eine native App und wann reicht die Web-App?

Oft ergeben sich in der App-Entwicklung funktionelle Anforderungen, die in einer reinen Web-App nicht umgesetzt werden können, nach denen also eine native Anwendung durchaus sinnvoll oder auch zwingend erforderlich ist. Dies empfiehlt sich insbesondere, wenn die App auf die Hardware von Endgeräten (wie z. B. GPS-Funktionen oder die Kamera für einen Barcode-Scanner) zugreifen soll. Aber auch Anforderungen wie Push-Benachrichtigungen, Hintergrunddienste, Bluetooth oder Near Field Communication (NFC) erfordern die Entwicklung einer nativen App.

Mitunter kann auch der spätere Gebrauch der App darüber entscheiden, ob es sinnvoll ist, die App nativ für Android und/oder iOS zu entwickeln. Häufig sollen in kurzer Zeit Daten erfasst werden, um Prozesse zu digitalisieren. Für einen echten Produktivitätsgewinn muss dies flüssig und ohne Unterbrechungen am Stück geschehen. Wenn es sich hierbei um größere Datenmengen handelt und eventuell nicht immer eine Internetverbindung verfügbar ist, ist es sinnvoll die Daten zunächst auf dem Gerät zu speichern.

Nach Abschluss des Vorgangs können diese Informationen dann von der App an den Server über das Internet übertragen werden. Eine native App eignet sich somit bspw. auch, wenn Sie sensible Daten speichern, diese aber nicht in eine Cloud oder nach Außen übertragen wollen.

Ihre App zum Download oder im App Store von Google & Apple

Wie bereits erwähnt, kann es bei Anwendungen für Apple-Geräte vorkommen, dass diese nicht zur Veröffentlichung im öffentlichen App Store zugelassen werden. Doch nicht immer ist es überhaupt nötig oder vom Kunden auch gewünscht, dass die App für jedermann im Store zugänglich ist. In solchen Fällen übertragen wir die entwickelten Apps in den separaten Store für B2B-Kunden. So wird sichergestellt, dass die Anwendung auch nur an berechtigte Nutzer verteilt wird und z. B. im internen Gebrauch bei Unternehmen verwendet werden kann.

Für Android-Nutzer ist der Prozess deutlich weniger kompliziert. Das Ergebnis der App-Entwicklung ist eine APK-Datei, die beliebig an ausgewählte Nutzer verteilt und zum Download zur Verfügung gestellt werden kann. Der Weg über den Google Play Store ist nicht zwingend nötig, kann sich aber speziell im B2C-Bereich ebenso anbieten.

Individuelle App-Entwicklung von kreITiv

Bei der Entwicklung von Apps verhält es sich ganz ähnlich wie bei jedem herkömmlichen Softwareprojekt. Zunächst ist es immer wichtig, die Anforderungen genau zu analysieren und anschließend zu entscheiden, welcher der richtige Weg zum Ziel ist. Dank der zahlreichen technischen Standards, die Smartphones und Tablets heute bieten, ergeben sich auch ganz neue Möglichkeiten für intelligente Softwarelösungen, welche Unternehmensprozesse digitalisieren und zu mehr Produktivität im alltäglichen Arbeiten führen können.

Wir beraten Sie gern in der Konzeption Ihrer App und unterstützen Sie in jedem Schritt der Umsetzung nach Ihren individuellen Vorstellungen.

Kostenlose Beratung anfordern!
Sprachassistenten – Digitaler Trend und Chance für Softwareentwickler

Sprachassistenten – Digitaler Trend und Chance für Softwareentwickler

Sprachassistenten liegen im Trend und immer mehr Menschen nutzen sie im privaten wie auch im beruflichen Umfeld z. B. für Sucheingaben oder zum Verfassen von Textnachrichten. Sie hören auf die Namen Siri, Alexa oder Cortana und stammen aus den Häusern der ganz Großen der Digitalbranche: Google, Apple, Amazon und Microsoft. Im Alltag bereichern sie das Smart Home, auf Arbeit ergänzen sie moderne ERP-Systeme.

Geschichte der Mensch-Maschine-Kommunikation

Schaut man sich die Entwicklung von Benutzeroberflächen bei Computern und Anwendungen an, dann lässt sich eine eindeutige Tendenz erkennen: Sie bilden immer besser die menschliche Interaktion untereinander nach.

Dabei lässt sich folgende Evolution sehr gut nachvollziehen…

  1. In den Anfängen war Computerarbeit so abstrakt, dass sie nur Spezialisten vorbehalten war.
  2. Bildschirme und bessere Eingabegeräte, wie Tastaturen, machten das im nächsten Schritt für ein größeres Publikum bereits deutlich einfacher.
  3. Die grafische Benutzeroberfläche in Kombination mit der Maus als Eingabegerät versuchte daran anschließend viele Vorgänge bildhaft zu gestalten.
  4. Mit Touchscreens reagierten die Geräte dann auf bereits bekannte und natürliche Gesten, wie das Wischen und Tippen.
  5. Die natürliche Sprache wäre nun die logische, nächste Stufe der Evolution für eine effiziente Form der Nutzung und Steuerung von elektronischen Geräten und Anwendungen.

Die Herausforderung für Sprachassistenten

Einerseits möchte der Nutzer, dass der digitale Assistent ihn genauso gut versteht, wie ein Mensch. Gleichzeitig weiß der kleine Helfer alles, was das Internet an Informationen bereithält. Durch selbständiges Lernen und Beachtung von Wahrscheinlichkeiten kennt er uns so gut, dass er sich fehlende oder fehlerhafte Informationen ggf. selbst erschließen kann. Diese Entwicklungen zusammengenommen könnten einen enormen Wandel des Alltags auslösen. Viele Situationen, in denen bislang eine Suchmaschine oder eine App zum Einsatz kamen, würden nun vom digitalen Assistenten abgedeckt.

Deshalb vermuten manche, dass das Onlinemarketing und hier besonders die Optimierung mit Hinblick auf Suchmaschinen, vor neuen Herausforderungen steht. Ganz konkret bedeutet das: Es muss auch bei der Entwicklung von bspw. Webportalen verstärkt auf die Sichtbarkeit in Suchmaschinen Wert gelegt werden. Denn Sprachassistenten geben nicht den fünften oder zweiten Treffer einer Suchergebnisliste aus, sondern lediglich den ersten Platz. Umso entscheidender ist das perfekte Zusammenspiel von Software (z. B. in Form einer Webseite) und Onlinemarketing.

Chance für Softwareentwicklung und Onlinemarketing

Mit der kreITiv GmbH haben Sie einen Digitalisierungspartner an Ihrer Seite, bei dem Softwareentwickler und Onlinemarketing-Spezialisten zusammentreffen. Wir betrachten Anforderungen und Lösungsmöglichkeiten ganzheitlich und achten dabei stets auf digitale Trends und Zukunftstechnologien.

Die Integration von Sprachassistenten in die IT-Landschaft Ihres Unternehmens ist nur eines von unzähligen Projekten, die wir gemeinsam im Hinblick auf die Digitalisierung Ihrer Geschäftsprozesse angehen können.

directCOURSE, wie Kurssoftware in der Cloud

directCOURSE – die webbasierte Kurssoftware von kreITiv

Sie suchen eine leistungsfähige Software, die Sie in der Planung, Organisation, Durchführung und Abrechnung von Kursen aller Art unterstützt? Sie stellen sich in der alltäglichen Verwaltung Ihrer Kurse regelmäßig Fragen, wie z. B.:

  • Welcher Dozent lehrt in Kurs A welchen Inhalt?
  • Wo finde ich die Teilnehmerlisten der gestrigen Kurse und wie sieht es mit den Zulassungsvoraussetzungen zur Prüfung aus?
  • Welche Teilnehmer aus Kurs B werden durch welche Institution gefördert?
  • Wie sieht es mit dem Anwesenheitsgrad der jeweiligen Teilnehmer aus?
  • Können wir schnell und einfach an den Förderer Bericht erstatten?
  • Und warum kann unsere Software diese Fragen nicht schnell und einfach beantworten?

Dann haben wir mit directCOURSE genau das Richtige für Sie und Ihr Unternehmen. Hier stellen wir unsere neueste kreITion vor.

Interne Verwaltung entlasten – Wettbewerbsfähig bleiben

Wir alle stehen vor der täglichen Herausforderung, uns zu verbessern und vom Wettbewerb abzuheben. Das ist in der Bildungsbranche nicht anders. Seminarräume sollten gefüllt und Dozenten ausgelastet sein, der Außenauftritt muss passen und die interne Verwaltung sollte schlank sein und reibungslos laufen. Dies funktioniert garantiert nicht mit Excel-Listen und Outlook.

Wir haben uns als Spezialist für webbasierte Softwareentwicklung über dieses Thema für Sie Gedanken gemacht. Das Ergebnis dieses Prozesses ist directCOURSE, unsere Kurssoftware in der Cloud.

Ihre Teilnehmer profitieren von einer komfortablen Bedienung und von der Möglichkeit, Kursmaterialien direkt downloaden zu können. Dozenten können sämtliche Informationen zu Teilnehmern zentral verwalten, indem sie ein digitales Klassenbuch führen. Sie behalten wichtige Informationen zu Unternehmen, die Kurse für ihre Mitarbeiter buchen, im Blick. Die Dokumentationspflicht im Hinblick auf Anwesenheit und Abwesenheit wird damit zum Kinderspiel.

Dank der Entwicklung als Web-App greifen alle beteiligten Personen und Organisationen komfortabel und geräteunabhängig auf die Software zu und planen so z. B. auch mobil auf dem Smartphone die nächste Unterrichtsstunde, reichen Unterlagen ein oder kommunizieren mit den Teilnehmern.

directCOURSE, keine Kurssoftware von der Stange

Sie möchten eine flexible Kurs- und Ressourcenplanung, ein Dozenten- und Kursfeedback und idealerweise eine Anbindung an Ihre Buchhaltungssoftware realisieren?

Alle diese Wünsche lassen sich in Ihr directCOURSE integrieren. Dies bedeutet für Sie ein Höchstmaß an Individualität und Effizienz. Dabei handelt es sich um Nichts von der Stange, sondern um eine modular aufgebaute Kurssoftware. Denn wir wissen, kein Bildungsinstitut ist wie das andere.

Vielfältige Einsatzmöglichkeiten ergeben sich jedoch nicht nur im Bildungssektor. Auch beliebige andere Businessevents (bspw. Online-Schulungen und -Seminare, Messe- und Eventmanagement oder die Terminplanung im medizinischen Bereich) sowie Freizeitveranstaltungen (u. a. Fitnesskurse, Künstlergruppen oder Hobbytreffen) lassen sich über unsere Software flexibel organisieren und verwalten.

Weitere Einblicke und die Möglichkeit zur Kontaktaufnahme erhalten Sie auf unserer directCOURSE-Unterseite.

Sie kennen Ihre Anforderungen am besten!

Wir wollen Ihre passende Kurssoftware kreieren. Daher besprechen wir mit Ihnen gemeinsam in einem Erstgespräch, was Ihnen wichtig ist. Um Ihre individuellen Prozesse und Abläufe zu unterstützen, müssen wir diese natürlich kennenlernen.

Sprechen Sie uns an und lassen Sie uns COURSE auf Ihre Zukunft setzen!

Webseiten und Web-Apps mit dem Laravel Framework

Laravel Framework – Die beste Option für Ihr Unternehmen

Webanwendungen erlauben einen universellen und flexiblen Zugang zu den unterschiedlichsten Dienstleistungen. Mit einer rasant steigenden Nutzung des Internets bieten auch zahlreiche Unternehmen ihre Waren, Dienstleistungen und Kenntnisse als Web-Content an. Zuverlässige, sichere und effiziente Applikationen sind somit der Schlüssel zum Erfolg für viele moderne Firmen.

Oft wird die Umsetzung solcher Web-Apps an Spezialisten und Agenturen abgegeben. Trotzdem ist es auch für den Auftraggeber wichtig, die unterschiedlichen Herangehensweisen bei der Entwicklung zu kennen, um zu verstehen, wie sich diese auf das eigene Unternehmen auswirken können.

7 Gründe, warum wir auf das Laravel Framework setzen

Für die Softwareentwicklung von kreITiv haben wir uns, wenn es um komplexe und langlebige Webanwendungen geht, für das PHP-Framework Laravel entschieden. Aus der Unternehmersicht, waren die folgenden Kriterien für diesen Schritt ausschlaggebend.

1

Ladezeit/Geschwindigkeit der Anwendung

Statistiken von Google aus dem Jahr 2016 belegen, dass 53% aller Nutzer eine Webseite verlassen, wenn deren Ladezeit mehr als drei Sekunden beträgt. Dies zeigt, dass die Geschwindigkeit von Web-Applikation höchste Priorität haben sollte.

Anders als bspw. beim mittlerweile sehr komplexen CMS WordPress, beinhaltet eine Laravel-Applikation ausschließlich die Funktionen, die auch wirklich gebraucht werden. Das Resultat ist ein nahezu perfekt auf den Verwendungszweck zugeschnittenes Produkt.

Bei großen Erweiterungen, welche die Ladegeschwindigkeit immer begrenzen, bietet Laravel diverse Optimierungsoptionen, bei denen unter anderem Caching eingesetzt wird.

2

Möglichkeiten zur späteren Weiterentwicklung

Laravel ist das beliebteste PHP Framework 2017 und kommt mit einer breiten Community von Programmierern und Unterstützern. Das bedeutet, dass es keine Probleme bei der späteren Überarbeitung eines Produktes gibt, da Laravel vollständig dokumentiert ist und zahllose Hilfestellungen zu finden sind. Projekte können durch die Skalierbarkeit Laravels stets wachsen und haben keine Limitierungen in diesem Bereich.

Außerdem beinhaltet Laravel ein Versionsmanagement für die Datenbankentwicklung, welches bei der späteren Expansion des Projektes hilfreich ist.

3

Client-Side Framework Unterstützung

Die komplizierten Funktionalitäten einer Web-App verstecken sich immer hinter dem Design. Daher ist es von hoher Wichtigkeit, dass die Benutzeroberfläche einfach zu bedienen ist und mit einer gewissen Eleganz beim Nutzer einen bleibenden Eindruck hinterlässt.

Laravel unterstützt eine Vielzahl an unterschiedlichen Client-Side Frameworks, welche für eine professionelle Entwicklung der Seitendarstellungen benötigt werden. Somit können sowohl statische als auch dynamische Seiten erstellt werden und es gibt keinerlei Limitationen, wenn es um die Interaktivität und Komplexität der Webanwendung geht.

4

Verwendung neuester Techniken bei der Entwicklung

PHP-Frameworks wie Laravel sind grundsätzlich ein Schritt in die Zukunft der Webentwicklung, da durch die Abstraktion keine einfachen Fehler und Sicherheitsprobleme auftauchen und die Programmierung effizienter und schneller geschieht.

Laravel ist ein ideales Grundgerüst für jegliche Webanwendungen, dank dem sich der Entwickler auf die eigentlichen Funktionalitäten der Applikation konzentrieren kann. Ein Beispiel dafür sind die Datenbankzugriffe, welche bei Laravel über vorgefertigte und abgesicherte Methoden laufen, was dazu führt, dass die Entwicklung schneller und die Verwendung sicherer ist.

5

Programmiererfreundliche Entwicklung

Durch den logischen Aufbau und die durchdachte Struktur der Laravel-Applikationen, ist das Handling für Produktentwickler um vieles angenehmer. Das führt dazu, dass viel weniger Logik- und Strukturfehler entstehen. Durch den besseren Überblick erkennen Programmierer schon bei der Entwicklung viel mehr Sicherheitsfehler und Bugs. Auch spätere Erweiterungen oder Änderungen der App können ohne Probleme durchgeführt werden, da es auch für einen projektfremden Entwickler einfach ist, die Struktur und Funktionalitäten zu verstehen und darauf basierend weiterzuentwickeln.

6

Überprüfte und instand gehaltene Sicherheitsoptionen

Laravel baut auf ein vollwertiges und häufig getestetes Authentifizierungssystem. Hinter dem Open Source Framework steht eine große Community. Dadurch werden Sicherheitslücken und allgemeine Fehler schnell erkannt und behoben.

Dieses Authentifizierungssystem umfasst das ganze Framework, wodurch die Absicherung von bestimmten Seiten und einzelnen Prozessen realisiert werden kann. Aufbauend darauf, wurden verschiedene Erweiterungen/Pakete entwickelt, mit denen man komplexere Systeme entwickeln kann. Genauso wie die nativen Laravel-Funktionen, sind diese Erweiterungen community-unterstützt und daher sehr verlässlich.

7

Erweiterte Möglichkeiten bei der Datenverarbeitung und -bereitstellung

Anders als bei vielen CMS und anderen Frameworks, liegt die Datenbankverwaltung ganz in den Händen der Programmierer. Es erlaubt den Zugriff auf alle Daten und ermöglicht eine Verwertung dieser Daten in einer großen Vielfalt.

Eloquent ist eine Laravel-Klasse, welche eine effizientere Datenverarbeitung erlaubt. Über automatisierte Verknüpfungen zwischen Datenbanktabellen und Laravel-Modellen wird der Datenzugriff erleichtert. Dadurch können jegliche Informationen verarbeitet werden und im Anschluss für Marketing, Prozessanalysen, und Kundenbetreuung sowie -service verwendet werden.

Moderne Webanwendungen von kreITiv

Egal, ob Webseite, Web-App oder cloud-gestützte lokale Anwendung, die Softwareentwicklung von kreITiv aus Dresden realisiert auch Ihr Projekt. Wir bauen auf moderne Webtechnologien und die Ablösung isolierter Systeme zugunsten flexibler und zukunftsweisender Onlinelösungen. Fragen Sie uns an.

Frameworks erleichtern heute das Arbeiten für Webentwickler

Frontend Development Frameworks in der Webentwicklung

Das World Wide Web wächst noch immer beständig und mit ihm auch der Umfang an Endgeräten, mit denen wir darauf zugreifen. Aus diesem Grund werden auch die Jobs der Webdesigner und Entwickler deutlich komplexer.

Schließlich sollen Webanwendungen auf möglichst vielen Geräteklassen mit den unterschiedlichsten Bildschirmauflösungen zum einen wie geplant funktionieren und zum anderen gut aussehen.

Warum überhaupt Frameworks in der Webentwicklung?

Vor einigen Jahren waren die Dinge deutlich einfacher. Man konnte davon ausgehen, dass die eigene Webseite stets über Desktop-Rechner mit einem Standardbrowser aufgerufen wurde. 960 Pixel wurden mehr oder weniger als eine gute Breite für eine Webseite betrachtet. Mit dem Boom von mobilen Endgeräten in den letzten sieben bis acht Jahren hat sich alles geändert. Wir haben die Einführung von Smartphones und Tablets aller Größen, eReadern, Browser in TV-Geräten und vieles andere erlebt. Die Vielfalt an Geräteklassen steigt nahezu täglich.

Bei der Arbeit mit unbekannten Darstellungsgrößen ist das “Responsive Design” eine der primären Strategien, die verwendet werden. Dieser Mechanismus stellt definierte Layouts bzw. Stylesheets auf der Grundlage der Größe der Browserfenster bereit.

Für Designer und Entwickler ist es wichtig zu verstehen, wie man mit dieser mobilen Welt umgehen kann. Es wurden bereits Technologien und Werkzeuge entwickelt, die das Leben der Web-Spezialisten vereinfachen sollen. Hier kommen die sogenannten Frontend Development Frameworks ins Spiel. Sie erlauben es, reaktionsfähige, standardkonforme Webseiten mit minimalem Aufwand zu erstellen und gleichzeitig alles einfach und konsistent zu halten.

Für Entwickler, welche die heutige Webentwicklung ernst nehmen, sind Frameworks keine Option, sondern ein Muss.

Es existiert eine Vielzahl dieser Frameworks; einige von ihnen heben sich aber von der Masse ab. Eines der mächtigsten und beliebtesten Frontend Frameworks ist Bootstrap.

Bootstrap, das beliebteste freie CSS-Framework

Bootstrap ist ein kostenloses Framework für die Gestaltung von Webseiten und Webanwendungen. Es wird Open Source unter einer Creative Commons Lizenz entwickelt und enthält HTML- und CSS-basierte Designvorlagen für Typografie, Formulare, Schaltflächen, Navigation und andere Schnittstellenkomponenten sowie optionale JavaScript-Erweiterungen. Im Gegensatz zu vielen Web-Frameworks handelt es sich nur um ein reines Frontend-Entwicklungstool.

Ursprünglich war Bootstrap nur für die interne Verwendung bei Twitter gedacht. Sein großer Erfolg ist auf folgende Punkte zurückzuführen:

  • Das responsive Grid-System,
  • eine nahezu komplette Bibliothek an User-Interface-Komponenten (inklusive JavaScript)
  • und eine hohe Usability.

Damit kommt das Framework auch in Sachen Effizienz und Zeitersparnis einer immer noch jungen, sich professionalisierenden Branche entgegen.

Auch wir in der kreITiv Webentwicklung setzen natürlich auf bewährte Technologien und halten ebenso die Augen für neue Trends der Softwareentwicklung offen. Kontaktieren Sie uns und realisieren Sie mit uns Ihr nächstes Webprojekt.

Das "Manifest für agile Softwareentwicklung" dokumentiert allgemeine Prinzipien

Scrum oder Kanban – Die Grundlagen agiler Softwareentwicklung

Im Projektmanagement und der Prozesssteuerung existieren heute zahlreiche agile Methoden und Tools, die jeweils eigenen Regeln und Vorgehensweisen folgen. Einige dieser Ansätze ziehen einen sehr engen Rahmen, andere lassen mehr Freiheiten. Trotz aller Unterschiede basieren sie aber alle auf denselben Prinzipien, die im „Manifest für agile Softwareentwicklung“ dokumentiert sind.

  • Das Manifest besagt unter anderem, dass es wichtiger ist, schnell auf geänderte Anforderungen zu reagieren, als strikt einem Plan zu folgen.
  • Als wichtiger Erfolgsfaktor für agil geführte Projekte gilt, dass alle Beteiligten die richtige Einstellung haben, um in einem agilen Projektumfeld arbeiten zu können.
  • Die Offenheit, möglichst auch verschiedene Komponenten unterschiedlicher Methoden zu kombinieren, ist ein weiterer wichtiger Aspekt des Manifests. Im Ergebnis sollen die eigenen Ansprüche optimal bedient werden. Wichtig sind das Bewusstsein und die Möglichkeit zur Kombination.

Auch die Softwareentwicklung folgt seit den letzten Jahren häufig einer agilen Methode. Die zwei verbreitetsten Ansätze auf diesem Gebiet sind Scrum und Kanban.

Vergleich von Scrum und Kanban

Ein oft erwähnter Vorteil solcher Methoden ist, dass Projekte durch den Einsatz der agilen Prinzipien schneller abgeschlossen werden können. Erreicht wird das durch Prozessoptimierung. Höhere Transparenz soll Optimierungspotenziale aufzeigen und dadurch eine Effizienzverbesserung ermöglichen.

Sowohl Scrum als auch Kanban setzen voraus, dass die Beteiligten ihre Umgebung anpassen. Es existieren Gerüste aus Regeln, in denen die Teams den gegebenen Spielraum nutzen können. Grundsätzlich kann man sagen, dass Kanban einen etwas flexibleren Rahmen vorgibt als Scrum. Aber ziehen wir einmal einen Direktvergleich…

  • leicht verständlich und schnell einführbar
  • lassen die Beteiligten entscheiden, wann sie welche ToDos bearbeiten
  • basieren auf fortlaufender Prozessoptimierung
  • betonen, dass die schnelle Anpassung wichtiger ist, als einem festen Plan zu folgen
  • setzen auf Transparenz, um Prozessverbesserungen zu beschleunigen
  • sind darauf ausgerichtet, Software schnell auszuliefern
  • unterteilen anfallende Aufgaben in kleinere Pakete
  • helfen dabei, durch empirische Daten kontinuierlich den Release-Plan zu optimieren
  • kurze Kommunikationswege
  • hohe Flexibilität/Agilität durch adaptives Planen
  • hohe Effektivität durch Selbstorganisation
  • hohe Transparenz durch regelmäßige Meetings und Backlogs
  • zeitnahe Realisation neuer Produkteigenschaften bzw. Inkremente
  • kontinuierlicher Verbesserungsprozess
  • kurzfristige Problem-Identifikation
  • geringer Administrations- und Dokumentationsaufwand
  • direkte Visualisierung des Projektablaufs macht Probleme anhand von Ticket-Häufungen schnell sichtbar
  • übergreifendes System, das prinzipiell auf jeden bestehenden Entwicklungsprozess aufgesetzt werden kann
  • negatives Multitasking optimal vermieden
  • geringe Größe der einzelnen Tickets hat zur Folge, dass die Beschreibung der verschiedenen Tasks auf das Wesentliche beschränkt ist
  • Board dient als Kommunikationsgrundlage und Fundament, über das sich das Team synchronisiert

 

Start in die agile Softwareentwicklung mit einem Kanban Board

Ein einfaches Kanban Board, Bildquelle: Kanban Tool (CC BY-SA 2.0)

Ein Kanban Board repräsentiert den individuellen Bearbeitungsprozess eines Teams, das klassische Scrum Board ist dagegen immer gleich aufgebaut. Letzteres begrenzt die Arbeitsbelastung indirekt durch die Einschränkung der Anzahl der Karten im Sprint Backlog. Ein Kanban Board kann die Anzahl der Karten je Spalte direkt begrenzen.

Kanban oder Scrum – Was ist besser?

Neben Scrum und Kanban gibt es noch weitere agile Ansätze, von denen einige auf den beiden vorgestellten Methoden basieren. Jedes Team, das agil arbeiten möchte, muss für sich die relevanten Elemente der verschiedenen Ansätze finden und passend kombinieren. Da es keine Allround-Methode für alle denkbaren Projekte gibt, ist Ausprobieren und Variieren notwendig, um die optimale Lösung zu finden.

Auch wir arbeiten seit vielen Jahren nach den Prinzipien agiler Softwareentwicklungsmethoden, was nicht nur bei Mitarbeitern, sondern insbesondere bei Partnern und Kunden für erfolgreiche Projektabschlüsse sorgt. Gerne beraten wir Sie auch zu diesen Themen.

Wir beleuchten die Usability von Webanwendungen im kreITiv-Blog

Grundlagen für Usability von Webanwendungen

Webanwendungen oder Web-Apps sind Softwaresysteme, die auf den Standards und Technologien des WWW beruhen. Sie stellen Ressourcen bereit, die über den Browser als einziges User-Interface verwendet werden können.

Warum überhaupt Usability?

Webanwendungen gewinnen zunehmend an Bedeutung und ihre Nutzung ist in den vergangenen Jahren kontinuierlich angestiegen. Dies begründet einen erhöhten Wettbewerbsdruck im Markt der Web-Apps. Eine schlechte Usability führt somit bei gleichem Funktionsumfang der Anwendung zu einem Wettbewerbsnachteil.

Unabhängig davon, ob “normale” Webseite oder ausgereifte Webanwendung: Die erste Verbindung zum Nutzer entsteht über die grafische Benutzeroberfläche. Der Nutzer erlebt die Usability des Produktes Webanwendung stets unmittelbar während des Arbeitens und entwickelt dadurch seine Entscheidung über eine weitere Benutzung. Das kann zum Problem werden, da eine Vergleichbarkeit zu anderen Wettbewerbern im Internet besonders ausgeprägt ist.

Weiterhin weisen Nutzer ein hohes Maß an Ungeduld auf. Daher muss eine Benutzerfreundlichkeit sichergestellt werden, die dem User in kurzer Zeit den komfortablen Umgang mit der Seite erlaubt.

Usability entwickeln über Seitengestaltung und Navigation

Diese Punkte führen dazu, dass Usability einen hohen Stellenwert im Umfeld des Webdesigns einnimmt. Eine Vielzahl an Ansätzen kann helfen, Usability sicherzustellen. Dazu zählen unter anderem die Seitengestaltung und die Navigation.

1. Die Seitengestaltung ist Grundlage der Usability.

Der Aufbau soll den Interessen der Nutzer entsprechen und die Durchführung typischer Aufgaben unterstützen. Es gilt horizontale Bildläufe zu vermeiden. Bei vertikalen Bildläufen sollten Navigationselemente jederzeit sichtbar sein. Grundsätzlich empfiehlt es sich, den Erwartungen des Nutzers zu entsprechen. Dabei spielt der Aufbau eine elementare Rolle. Sehr verbreitet sind hierarchische Strukturen. Diese sind insbesondere zur Darstellung komplexer Inhalte geeignet. Nutzer sind damit vertraut und finden sich schnell zurecht.

Lineare Informationsstrukturen eignen sich vorrangig bei Sachverhalten, die tatsächlich einem linearen Muster folgen. Gitterstrukturen werden eingesetzt, um abhängige Elemente miteinander in Beziehung zu setzen. Netztopologien werden für komplexe Systeme eingesetzt. Das Suchen auf solchen vernetzten Seiten gestaltet sich mitunter schwierig, da der Aufbau selten einer nachvollziehbaren Logik folgt.

2. Die Navigation innerhalb einer Webanwendung stellt den zweiten wichtigen Faktor der Usability dar.

Jede Bewegung innerhalb einer Webanwendung wird als Navigation bezeichnet. Fühlt sich ein Nutzer desorientiert, kann das der ausschlaggebende Grund für den Misserfolg der Anwendung darstellen. Auch bei der Einrichtung und Präsentation der Bewegungsmöglichkeiten sind daher die Nutzererwartungen einzubeziehen und die Anwender zu führen.

Nutzerfreundliche Webanwendungen bzw. Web-Apps von kreITiv

Wir von kreITiv bieten unseren Kunden maßgeschneiderte Webanwendungen mit hoher Usability, denn wir kennen die Anforderungen. Wenn Sie auf der Suche nach einem kompetenten Ansprechpartner in Sachen Webentwicklung sind, stehen Ihnen die Experten der kreITiv gern mit Rat und Tat zur Seite.

Laravel vs. WordPress - Duell des Webdesigns

Laravel vs. WordPress – Duell des Webdesigns

Zur Entwicklung von Webseiten gibt es grundlegend drei verschiedene Ansätze: die Nutzung eines Content Management Systems (CMS), eines (PHP)-Frameworks oder einer kompletten Eigenentwicklung. Mit den allgemeinen Vor- und Nachteilen dieser Auswahl haben wir uns bereits befasst.

Für Dienstleister, die regelmäßig Webseiten erstellen, sind Eigenentwicklungen für die alltägliche Arbeit schon aus Zeitgründen keine wirkliche Alternative. Dieser Blogartikel soll daher beleuchten, welche Kriterien für ein CMS wie WordPress oder Drupal beziehungsweise für ein Framework wie Laravel oder Symfony sprechen.

1. Welche Funktionen soll die Anwendung bieten?

Welchen Entwicklungsansatz man wählt, wird maßgeblich durch das Ziel, also die Webseite, die am Ende entstehen soll, beeinflusst. Viele Seiten sind rein Content-basiert – zum Beispiel Blogs oder Nachrichtenseiten. Für sie funktioniert WordPress in der Regel besser, da es alle für das normale Content Management nötigen Features wie Kategorien oder eine Bildergalerie enthält. Mit Laravel müssten viele dieser Features erst nachgebildet werden.

Andere Seiten basieren stärker auf der Interaktion mit dem Besucher. Registrierungssysteme, Up- und Downloads von Dateien, Profilverwaltung etc. – die Möglichkeiten sind hier umfangreich. Seiten dieser Art sind effektiver mit Frameworks zu entwickeln. Zwar kann mithilfe von Plugins auch WordPress eine Menge dieser Funktionalitäten leisten, daraus ergibt sich aber auch eine Abhängigkeit vom Funktionsumfang und der künftigen Weiterentwicklung dieser Plugins. Gerade bei längeren Projekten ist das eher unerwünscht.

2. Welche Gimmicks kann ich nutzen?

Zeit ist Geld – das gilt auch für Webentwickler. Dank Plugins, Zusatzcontent oder der Wiederbenutzung von Ansätzen aus anderen Projekten können oft umständliche Arbeitsschritte eingespart werden. Das Entscheidungskriterium hier: Welche Plattform bietet das, was ich benötige und für welches System gibt es die Erweiterungen, die mir Arbeit abnehmen? Das kann genauso ein WordPress-Plugin sein wie ein Laravel Package.

Allgemein sind Frameworks aber sicherer (nicht Open Source), schneller und besser individualisierbar – aber eben auch aufwändiger.

3. Was möchte der Kunde?

Die meisten Projekte haben drei Stellschrauben: Qualität, Geschwindigkeit und Preis. WordPress eignet sich gut für Projekte, die eher klein und statisch sind, denn für diese liefert es das passende Werkzeug gleich mit.

Mit Frameworks wie Laravel dagegen können vergleichsweise komplexere Anforderungen realisiert werden. Sinnvoll ist das vor allem dann, wenn das Projekt langlebig ist oder eventuell zu einem späteren Zeitpunkt erweitert werden soll. Das dauert jedoch entsprechend länger, wodurch in der Regel auch das Projekt teurer wird.

Hier muss letztlich der Kunde abwägen, was seine Ansprüche in puncto Sicherheit, Geschwindigkeit, Individualisierbarkeit oder eben auch Preis sind.

Laravel vs. WordPress: Wer hat die Nase vorn?

Ein eindeutig besserer Entwicklungsansatz ist keine der Alternativen. Je nach Art des Projektes können beide Möglichkeiten sinnvoll sein. Im Duell der Webentwicklung steht es also unentschieden, wobei beide Varianten ihre Nische haben – CMS für kleinere Projekte und Frameworks für komplexere langlebige Anwendungen.

Wir von kreITiv bieten unseren Kunden sowohl Lösungen mit Frameworks, als auch per CMS an oder programmieren und designen auf Wunsch komplett selbst. Wenn Sie auf der Suche nach einem kompetenten Ansprechpartner in Sachen Webentwicklung sind, stehen Ihnen die Experten der kreITiv gern mit Rat und Tat zur Seite. Melden Sie sich noch heute.