Mit dem Shift-Left-Ansatz wird die Sicherheit in der Software-Entwicklung deutlich priorisiert. Um Shift-Left-Security erfolgreich zu etablieren, müssen allerdings einige Maßnahmen ergriffen werden.
Bei der Shift Left Securiy geht es darum, ein Software-Produkt von Grund auf sicher zu gestalten. Das hat einige handfeste Vorteile, nicht nur für das Endprodukt, sondern auch für die Software-Entwicklung selbst.
Nicht immer ist es möglich oder sinnvoll, Software aufwändig zu modernisieren. Diese Erkenntnis ist aber nicht immer einfach – die Lösung hingegen oft umso mehr.
GitHub ist nicht ohne Grund eines der bekanntesten Developer-Tools: Funktional in vielen Fällen optimal, lebt der Dienst von hoher Bekanntheit und breiter Software-Unterstützung. Doch es lohnt grundsätzlich, sich auch die Alternativen anzuschauen.
Windows 11 ist da – und Microsoft setzt wie selten zuvor auf die Entwickler-Szene. Eine ganze Reihe neuer oder deutlich optimierter Features wartet darauf, ausprobiert zu werden.
GitHub quillt schier über vor interessanten Open-Source-Werkzeugen. Dabei gibt es durchaus Projekte, die noch Unterstützung verdienen, als Inspirationsquelle dienen – oder schlicht als gute Tools den Alltag erleichtern.
Content-Management-Systeme mit Flat-File-Technologie laufen auch auf einfachsten Webservern. Damit sind sie schlank, leicht zu migrieren – und perfekt geeignet, um Teams bei der Arbeit zu helfen.
Developer werden sich über kurz oder lang mit dem neuem Microsoft-Betriebssystem Windows 11 befassen müssen. Allerdings ist das OS aufgrund TPM-2.0-Zwang und hohen Hardware-Anforderungen längst nicht für jeden PC geeignet. Ist der Umstieg trotzdem sinnvoll oder gar zwingend?
Wer sich in GitHub umschaut, wird schnell das ein oder andere „Herzensprojekt“ entdecken, das sich für die Mitarbeit oder einen Fork eignet. Natürlich dienen solche Projekte oft auch als Basis für eigene Ideen.
Content-Management leicht gemacht: Wer als Entwickler Hilfetexte, FAQs oder einfach eine Website zu einer App bereitstellen will, muss sich nicht selten mit Systemen wie Wordpress befassen, Overhead inklusive. Wesentlich einfacher geht es mit Flat-File-Systemen.
Wordpress lässt sich wunderbar erweitern. Wer in den umfangreichen Plug-in-Repositories nicht findet, was er sucht, kann über eine Schnittstelle des Blog-Systems einfach eigene Erweiterungen entwickeln.
Theme-Entwicklung für Wordpress kann ein einträgliches Geschäft sein: Eine gute Oberflächenvorlage generiert zehntausende Verkäufe auf Märkten wie Themeforest. Doch auch für den eigenen Bedarf ist die Theme-Entwicklung für Wordpress grundsätzlich sinnvoll.
GitHub eignet sich auch für die Entwicklung von Wordpress-Sites, Plug-ins und Themes. Dazu müssen beide Dienste aber miteinander verbunden werden. Das ist zum Glück leicht zu bewerkstelligen – und bietet eine Reihe von Vorteilen.
Das Blog-System Wordpress ist zu einem leistungsstarken Content-Management-System herangewachsen. Dadurch entsteht allerdings auch technischer und administrativer Overhead. Eignet sich Wordpress überhaupt noch als Basis für die Website-Entwicklung?
GitHub ist eine wahre Fundgrube spannender und praktischer Software-Projekte. Entwickler finden hier eine riesige Codebasis, die sie nach Belieben mitbearbeiten oder als Fundament für eigene Anwendungen einsetzen können.
Das Hosting von Code auf GitHub hat eine ganze Reihe von Vorteilen. Insbesondere im Hinblick auf Kollaboration und Versionskontrolle ist der Dienst bei der Softwareentwicklung inzwischen fast unverzichtbar. Doch wie ist es möglich, an einem vorhandenen Projekt mitzuarbeiten?
DevOps vereint Prozesse, Technologie und Mitarbeiter. Um den DevOps-Gedanken optimal durchzusetzen, ist es sinnvoll, die Organisationsstruktur in Unternehmen neu auszurichten und für eine regelrechte „DevOps-Kultur“ im Unternehmen zu sorgen.
Im Zuge von DevOps-Initiativen kann die agile Zusammenarbeit verschiedener Bereiche und Teams die Software-Entwicklung bereichern und deutlich beschleunigen. Dabei sollte jedoch die Qualität und Sicherheit im Auge behalten werden.
Die Organisation von Remote-Teams ist anspruchsvoll: Die Mitarbeiter sind schwerer greifbar als in einem lokalen Team. Außerdem müssen sich alle Teammitglieder stärker auf Absprachen verlassen können. Deshalb gilt bei der Organisation eines Remote-Teams erhöhte Aufmerksamkeit.
Um Remote-Teams sinnvoll führen zu können, ist es wichtig, auch die Logistik im Auge zu halten. Bei der Softwareentwicklung sind dabei einige Faktoren zu beachten.
Moderne Entwicklerteams sind nicht selten kreuz und quer auf dem Globus verteilt. Doch auch lokale Teams müssen sich durch die Corona-Pandemie an Remote-Arbeit gewöhnen. Kommuniziert wird auf relativ unpersönlichem Wege – Grund genug, einige Regeln für die effiziente Kommunikation zu beachten
Egal ob im Home-Office oder in globalen Teams: Messenger-Dienste sind für Development-Teams wichtiger denn je. Eines der bekanntesten Tools ist Slack, mittlerweile Teil des Salesforce-Ökosystems. Doch es gibt einige interessante Alternativen.
Für die Entwicklung von Progressive Web Apps sind einige Kleinigkeiten erforderlich. Allerdings ist die Erstellung eines entsprechenden Angebots angenehm einfach. Wir haben einige praktische Ressourcen für Sie zusammengestellt.
Progressive Web Apps sind eine praktische Möglichkeit, Inhalte ganz ohne App-Store dauerhaft auf Smartphones anzubieten. Viele gängige Content-Management-Systeme wie Wordpress lassen sich hierfür recht einfach nachrüsten.
Progressive Web Apps sind eine praktische Methode, um Webdienste ohne App-Stores als App auf verschiedenen Betriebssystemen anzubieten. Um diese zu entwickeln, sind jedoch einige Werkzeuge vonnöten.
Progressive Web-Apps, oder kurz PWAs, führen App-Entwicklung und Web-Design zusammen. Dadurch entsteht eine ebenso einfache wie effiziente Methode, schnell Apps zu entwickeln. Gegenüber nativen Apps ergeben sich dadurch einige Vor- aber eben auch Nachteile.
Die Entwicklung von KI- und Machine-Learning-Systemen ist aufwändig. Zum Glück gibt es eine Reihe praktischer Gratis-Tools, die Softwareentwickler bei der Arbeit unterstützen können. Wir zeigen, welche das sind.
Machine Learning und KI werden immer wichtiger. Der Weg in die KI-Programmierung ist jedoch nicht ohne Hürden. Software-Entwickler sollten sich deshalb einige Fähigkeiten aneignen, um für die Zukunft gerüstet zu sein.
Wer Software entwickelt, wird hin und wieder ein Tool brauchen, das nicht auf der Workstation installiert ist. Wir stellen 10 praktische Apps für den Browser vor, die bei der Softwareentwicklung hilfreich sind.
Programm- und Website-Code sollte möglichst einfach und aufgeräumt sein. Bei der Erstellung hilft die Idee des Zen-Codings: Es geht darum, möglichst simplen und effizienten Code zu schreiben, um sich voll und ganz auf die Aufgabe zu konzentrieren – und damit für Ruhe und Ordnung bei der Arbeit zu sorgen.
Microsoft sieht wie andere Hersteller das Potenzial der Open-Source-Community und konzentriert sich nicht mehr ausschließlich auf das eigene Windows-Betriebssystem. Linux als Subsystem unter Windows ist in dieser Hinsicht das neueste Feature. Das ist nicht nur für Entwickler praktisch.
Egal ob auf Windows, Linux oder macOS: Eine Entwicklungsumgebung mit VirtualBox ist in der Standard-Konfiguration zwar lauffähig, aber alles andere als optimal konfiguriert. Wir zeigen, wie Sie die virtuelle Maschine auf Touren bringen, ohne das Host-System unnötig zu belasten.
Windows 10 IoT ist Microsofts Alternative zu den diversen Linux-Derivaten, die für den Mini-Rechner Raspberry Pi vorgesehen sind. Doch warum überhaupt auf Windows setzen, wenn es auch Linux sein kann? Wir zeigen, welche Anwendungen und Projekte es gibt.
Ob Mobile-, Web- oder Multi-Plattform-App, die Entwicklung kleiner Anwendungen ist keine Zauberei. Bevor eine App in Auftrag gegeben wird, sind aber einige wichtige Voraussetzungen zu klären. Denn App ist nicht gleich App – und die Begrifflichkeiten sollten klar sein.
Egal ob Admin oder Programmierer: Systemskripte sind jederzeit praktisch, um lästige, sich wiederholende Aufgaben am Rechner durchzuführen. Microsoft bietet dafür seit geraumer Zeit die Windows Powershell. Und die ist erstaunlich mächtig.
Der Software-Lizenzvertrag ist ein kleines, aber wichtiges Detail der professionellen Anwendungsentwicklung und regelt die Nutzung der Software beim Kunden. Doch welche Arten von Verträgen gibt es?
Der Single Board Computer Raspberry Pi war eines der ersten Entwicklerboards und ist entsprechend populär. Einige RasPi-Alternativen auf ARM-Basis können aber schlichtweg mehr – oder eignen sich besser für spezifische Einsatzzwecke. Wir stellen einige dieser Kleinstcomputer vor.
Als vollwertiges Unix-System eignet sich macOS wunderbar für die Software-Entwicklung. Wir stellen einige Tools vor, mit denen das Programmieren leichter von der Hand geht.
Das Linux-Subsystem in Windows 10 eignet sich hervorragend für die Entwicklung und das Testing von Software. Damit es möglichst effizient arbeitet, sind allerdings noch einige Handgriffe notwendig. Außerdem ist das Subsystem nicht für jeden geeignet.
Software-Dokumentation ist nicht gleich Software-Dokumentation: Es gibt verschiedene Spielarten und Varianten, die sich je nach Projekt und Zielgruppe unterschiedlich gestalten können. Wir erklären die gängigsten Arten.
Low-Code-Development ist der neueste Trend bei der Programmierung. Statt harten Codierens wird mit Hilfe von Applikationsdesignern und grafischen Methoden gearbeitet. Das kann Zeit und damit Kosten sparen, hat aber seine Tücken.
Mit der Programmiersprache Java lassen sich plattformunabhängige Anwendungen entwickeln. Nur ein Texteditor, das Java SE Development Kit, kurz JDK, mit Java-Laufzeitumgebung und ein wenig Entwicklungsgeschick werden dafür benötigt.
Apple verspricht mit der Programmiersprache Swift einen einfachen Einstieg in die komplexe Programmierung. Unser Autor hat sich an der Sprache versucht, obwohl er sich bislang kaum mit praktischem Coding befasst hat. Ein Erfahrungsbericht in drei Teilen.
Smart Contracts, die auf der Blockchain-Technologie basieren, ermöglichen automatische Verträge, die bei bestimmten Ereignissen in Kraft treten. Dabei benötigen sie keine menschliche Überwachung. Das kann für Entwickler interessant sein, um Lizenzen zu vergeben oder sichere Anwendungen zu entwickeln.
Linux, macOS und Windows haben ihre ganz spezifischen Stärken und Schwächen. Die Wahl des richtigen Betriebssystems für die Softwareentwicklung ist also keine leichte Entscheidung. Allerdings auch keine, die sich nicht wieder ändern ließe.
Die Entwicklung von KI- und Machine-Learning-Systemen ist aufwändig. Zum Glück gibt es eine Reihe praktischer Gratis-Tools, die Softwareentwickler bei der Arbeit unterstützen können. Wir zeigen, welche das sind.
Egal ob Smartphone-App, Consumer-Software, Game oder komplexe Business-Lösung: Eine umfassende Benutzerdokumentation kann Support-Anfragen reduzieren und Kosten sparen. Doch welche Möglichkeiten gibt es?
Die gute Qualität seiner Software sollte jedem Entwickler am Herzen liegen. Doch was ist eigentlich „Qualität“? Der etwas schwammige Begriff lässt sich konkretisieren, bei Bedarf kann man die Qualität sogar messen.
Apple bietet die Programmiersprache Swift offiziell auch für Ubuntu-Linux an. Dadurch erschließt sich die einfache Welt von Swift auch Anwendern, die keinen Mac verwenden. Leider ist das nicht ganz so komfortabel wie Swift mit XCode auf dem Mac.
Mit Swift hat Apple einen echten Scoop gelandet: Die neue Sprache befindet sich bereits in der Top 10 der beliebtesten Programmiersprachen. Denn Swift eignet sich nicht nur für Apple-Geräte und hat eine sehr aktive Community und breite Unterstützung. Der Einstieg ist dementsprechend leicht.
Eine Online-Benutzerdokumentation ist pflegeleicht und schnell aktualisiert. Um so wichtiger ist es, von Anfang an auf das richtige System zu setzen. Wir zeigen einige Lösungen, um Usern online Anleitung und Hilfe bereitzustellen.
Auf das „theoretische“ Lastenheft folgt das „praktische“ Pflichtenheft: Hier definieren Auftraggeber und Auftragnehmer, wie sie Software-Projekte konkret umzusetzen gedenken. Das Pflichtenheft bildet damit die Grundlage der konkreten Softwareentwicklung – und hilft, Missverständnisse zu vermeiden.
Neben der klassischen Usability für den Endanwender sollten Anwendungsentwickler auch die Barrierefreiheit ihrer Software im Auge behalten. So können auch Personen mit körperlichen Einschränkungen das Programm nutzen. Doch welche Standards sind zu beachten?
Bei der Erstellung einer Benutzerdokumentation ist es wichtig, die richtigen Inhalte für die richtige Zielgruppe zu vermitteln. Das ist immer auch eine Abwägung von Kosten und Nutzen. Wichtig ist in allen Fällen, dass die Anleitung wirkt und funktioniert.
Ob HTML, CSS oder JavaScript: Für Web-Projekte eignet sich nichts besser als ein HTML-Editor, entsprechende Tools gibt es allerdings wie Sand am Meer. Wir haben zehn besonders interessante kostenlose Kandidaten für Sie zusammengestellt.
Wer Software entwickelt, wird hin und wieder ein Tool brauchen, das nicht auf der Workstation installiert ist. Wir stellen 10 praktische Apps für den Browser vor, die bei der Softwareentwicklung hilfreich sind.
Wer Software entwickelt, kommt heute kaum noch an der Filehosting-Plattform GitHub vorbei. Der Dienst hilft bei der Entwicklung, dem Code-Hosting, der Versionsverwaltung und letztlich auch beim Bugfixing. Allerdings existieren zahlreiche Lizenzmodelle – doch welches eignet sich für wen?
Übung macht den Meister! Nachdem unser Autor mehrfach die Swift-Grundlagenkurse auf dem iPad bewältigt hat, macht er sich jetzt an seine erste Mac-App. Das Programm ist natürlich sehr simpel, doch für ihn ein Meilenstein.
GNU/Linux-Derivate bieten als unixoide Betriebssysteme hervorragende Voraussetzungen, um als Coding-Plattform für die Softwareentwicklung zu dienen. Wir zeigen, welche Vor- und Nachteile das freie Betriebssystem für Software-Entwickler hat.
Progressive Web-Apps, oder kurz PWAs, führen App-Entwicklung und Web-Design zusammen. Dadurch entsteht eine ebenso einfache wie effiziente Methode, schnell Apps zu entwickeln. Gegenüber nativen Apps ergeben sich dadurch einige Vor- aber eben auch Nachteile.
Die agile Softwareentwicklung ermöglicht schnellere und effizientere Entwicklung bei minimalem Aufwand. Doch welche Methoden gibt es, um Software agil zu entwickeln?
Nach der Lizenzierung und Einrichtung von GitHub folgt, natürlich, das erste Projekt. GitHub ermöglicht es seinen Nutzern, schnell und einfach Projektdateien anzulegen, zu erstellen und zu pflegen – allein oder zusammen mit anderen Usern
Progressive Web Apps sind eine praktische Methode, um Webdienste ohne App-Stores als App auf verschiedenen Betriebssystemen anzubieten. Um diese zu entwickeln, sind jedoch einige Werkzeuge vonnöten.
Software-Inventarisierung ist in jedem Unternehmen ein Thema: Sie dient dem Schutz vor Sicherheitslücken und der Erfassung und Archivierung aller vorhandenen Lizenzen. Ganz banal ist Software-Inventarisierung jedoch nicht.
Keine Software-Entwicklung ohne Lastenheft: Wenn Sie für Ihr Unternehmen eine Software entwickeln lassen möchten, sollten Sie vorab klar definieren, welche Funktionen diese haben soll. Das Lastenheft dient dazu, die Features genau zu spezifizieren – und Angebote einzuholen.
Mit dem Raspberry Pi 4 ist der Raspberry Pi Foundation der große Wurf gelungen. Der Bastel-Rechner bietet sich dank verbesserter Hardware-Ausstattung nämlich förmlich als preisgünstiger Entwickler-Client und Desktop-Ersatz an.
Wer Software entwickelt, kann zu einer virtuellen Maschine als Entwicklungsumgebung greifen. Die ist sicherer und lässt sich schnell auf andere Systeme übertragen. Wir zeigen, worauf man bei der Einrichtung einer solchen Umgebung achten sollten.
Datenschutz ist richtig und wichtig – und spätestens seit Einführung der DSGVO auch eine nicht unerhebliche Stolperfalle. Auch die Software-Entwicklung ist vom Datenschutz betroffen, weshalb es sinnvoll ist, einige Grundsätze zu beachten.
Die Softwareentwicklung auf dem Mac ist ein teurer Spaß, weil Hardware und macOS-Betriebssystem nicht unabhängig voneinander erhältlich sind. Dafür erhalten Software-Entwickler aber ein Werkzeug, das sich für viele Zwecke eignet.
Mit Macbook, iMac und Co. können Entwickler nicht nur eine zuverlässige Hardware-Basis zurückgreifen, sondern auch Software für alle wichtigen Betriebssysteme entwickeln. Damit das reibungslos klappt, gibt es jedoch ein paar Dinge zu beachten.
Programm- und Website-Code sollte möglichst einfach und aufgeräumt sein. Bei der Erstellung hilft die Idee des Zen-Codings: Es geht darum, möglichst simplen und effizienten Code zu schreiben, um sich voll und ganz auf die Aufgabe zu konzentrieren – und damit für Ruhe und Ordnung bei der Arbeit zu sorgen.
Progressive Web Apps sind eine praktische Möglichkeit, Inhalte ganz ohne App-Store dauerhaft auf Smartphones anzubieten. Viele gängige Content-Management-Systeme wie Wordpress lassen sich hierfür recht einfach nachrüsten.
Nach der strukturierten Analyse eines Software-Auftrags geht es an die strukturierte Programmierung. Dabei handelt es sich nicht um das gleichnamige Programmier-Paradigma, sondern um die Struktur des Quelltextes an sich. Das kann in jeder Programmiersprache umgesetzt werden und bietet einige Vorteile.
Machine Learning und KI werden immer wichtiger. Der Weg in die KI-Programmierung ist jedoch nicht ohne Hürden. Software-Entwickler sollten sich deshalb einige Fähigkeiten aneignen, um für die Zukunft gerüstet zu sein.
Künstliche Intelligenzen sind immer nur so intelligent, wie ihre Algorithmen und Datensätze es erlauben. Sind die bereits von unbewussten Vorurteilen gefärbt, übernimmt die Maschine diese kritiklos.
Der „Bastelcomputer“ Raspberry Pi ist der ideale Gefährte für Internet-of-Things-Anwendungen: Er lässt sich leicht in Systeme integrieren und für beliebige Anwendungen einrichten.
Wer sich in GitHub umschaut, wird schnell das ein oder andere „Herzensprojekt“ entdecken, das sich für die Mitarbeit oder einen Fork eignet. Natürlich dienen solche Projekte oft auch als Basis für eigene Ideen.
Das Blog-System Wordpress ist zu einem leistungsstarken Content-Management-System herangewachsen. Dadurch entsteht allerdings auch technischer und administrativer Overhead. Eignet sich Wordpress überhaupt noch als Basis für die Website-Entwicklung?
Auf den ersten Blick scheint GitHub kompliziert. Doch wer bereits Code-Hosting oder soziale Netzwerke kennt, wird sich schnell mit dem Service zurechtfinden. Wir zeigen, wie ein Konto und die notwendige Umgebung schnell eingerichtet sind.
Content-Management leicht gemacht: Wer als Entwickler Hilfetexte, FAQs oder einfach eine Website zu einer App bereitstellen will, muss sich nicht selten mit Systemen wie Wordpress befassen, Overhead inklusive. Wesentlich einfacher geht es mit Flat-File-Systemen.