Development

  • Browse + Razor = Blazor
    Bei Blazor handelt es sich um ein Open Source Framework von Microsoft. Es verwendet wie andere Web Frameworks HTML und CSS zur Darstellung. Ein Unterschied besteht jedoch darin, dass die Logik nicht mit JavaScript, sondern mit C# und der Razor Syntax ausgeführt wird. Bevor wir also konkret einsteigen können, müssen wir diese technischen Hintergründe aufklären. Die Basis für den neuen Ansatz ist die WebAssembly (wasm)-Technologie. WebAssembly ist ein binäres Befehlsformat für die virtuelle Maschine im Browser. Es wurde als portables Kompilierungsziel für Programmiersprachen entwickelt und ermöglicht die Bereitstellung im Web für Client- und Serveranwendungen. Ziel der Entwicklung ist eine Ergänzung […]
  • Schnell und effektiv entwickeln mit Low Code Tools
    Low Code Tools erobern die Fachabteilungen und versprechen eine zügige Entwicklung von der Idee bis zur Auslieferung. Kunden und Entwickler arbeiten hier idealerweise Hand in Hand zusammen. Das Ziel: Die Software soll zeitnah zur Verfügung stehen.Aus wirtschaftlichen Aspekten wird seit Jahren versucht, die Programmentwicklung zu vereinfachen und zu beschleunigen, zum Beispiel durch den Einsatz von Komponenten für wiederkehrende Aufgaben oder für ein schnelles Gestalten der Programmoberfläche. Diese Entwicklung ist nicht neu und hat alle Bereiche der Softwareentwicklung erfasst. Low Code und No Code sind die neuen Begriffe. Gegenüber den bekannten Tools aus dem Bereich des Rapid Applications Developments (RAD) gehen […]
  • Arbeitsplatz für die Programmierung von mobilen Apps mit Xamarin
    Die Programmierung von mobilen Apps benötigt immer einige Überlegungen zur Einrichtung der Entwicklungsumgebung. Im Falle der Entwicklung mit Xamarin hat sich beispielsweise folgende Arbeitsumgebung bewährt: Betriebssystem: Wir entwickeln unter macOS. Da für das Erstellen einer iOS-App ein Apple-PC notwendig ist, bietet sich u.E. ein Mac-PC an. Die Alternative ist die Verwendung eines Windows PCs und das Adressieren des Mac-PCs über das lokale Netzwerk. Mit dem Ziel die Infrastruktur so minimalistisch wie möglich zu halten, hat sich die Entwicklung unter macOS bewährt. Entwicklungsumgebung: Mit der Wahl des Betriebssystems steht auch die Entwicklungsumgebung fest. Für mobile Apps bietet Visual Studio for Mac […]
  • .NET MAUI im Überblick
    Mit .NET MAUI steht ein neues Framework für plattformübergreifende Apps aus dem Hause Microsoft bereit. Das Ziel ist es, alle wichtigen Gerätetypen und Plattformen mit C# und XAML zu bedienen. Desktop und Mobile Apps stehen dabei gleichermaßen im Fokus.Die Bedeutung der Cross Plattform-Programmierung ist in der letzten Zeit größer geworden. Eine Reihe von Ansätzen versprechen den Entwicklern das lang ersehnte Ziel, den einmal geschriebenen Quellcode auf allen gewünschten Plattformen und Systemen zu einer Anwendung zu „formen“. Im nebenstehenden Textkasten: „Große Auswahl“ haben wir stichpunktartig die wichtigsten aktuellen Ansätze der Cross-Plattform-Programmierung notiert. Unabhängig von der konkreten Vorgehensweise ist es das Ziel […]
  • Minimum Viable Product: Schnell und dennoch gut
    Mit einem Minimum Viable Product die Time-to Market senken und schnelles Kundenfeedback einholen.Was versteht man unter einen Minimum Viable Product?Die Idee ist einfach, logisch und gleichermaßen genial. Bei der Produkt- und damit auch bei der Softwareentwicklung geht es darum festzustellen, ob der eingeschlagene Weg richtig ist. Haben wir die Anforderungen des Kunden passend umgesetzt? Sind wir auf dem richtigen Pfad oder geht die Entwicklung an den Wünschen der Nutzer vorbei? Entscheidend für den Erfolg eines Entwicklungsprojektes sind meist die Kernfunktionen der künftigen Software (Bild 1). Es stellen sich die folgenden Fragen: Ist man in der Lage mit den vorhandenen Ressourcen […]
  • Möglichkeiten der App-Entwicklung
    In diesem Artikel wollen wir die Möglichkeiten der App-Entwicklung etwas sortieren und diese gemäß den App-Arten (nativ, web, hybrid) zuordnen. Beginnen wir mit der nativen App-Entwicklung für iOS. Diese findet bekanntermaßen in der Entwicklungsumgebung Xcode mit der Programmiersprache Swift unter macOS statt. Das User Interface wurde sehr lange Zeit im Interface Builder mit von Storyboards erstellt. Nunmehr wird auch ein deklaratorischer Ansatz verwendet. Über SwiftUI erfolgt die Definition im Quellcode. Die Vorgehensweise ist mit der Arbeitsweise auf anderen Systemen vergleichbar. Statt einem XML-Code bleibt man jedoch auch bei der User Interface-Definition bei Swift. Der Einsatz von SwiftUI vereinfacht im Übrigen […]
  • Nativ – Web – Hybrid – Cross Plattform
    Aus technischer Perspektive kann man bekanntermaßen folgende Arten von Apps unterscheiden: native Apps, Web Apps, hybride Apps. Native Apps werden exklusiv für das Zielsystem, d.h. Android oder iOS erstellt. Man nutzt direkt die API der Systeme. Die Benutzeroberfläche fügt sich exakt in die Vorgaben der Plattform ein und auch die Benutzerführung ist mit der Systemumgebung kompatibel. Nutzer müssen sich also nicht erst länger orientieren, d.h. sie sind mit den üblichen Vorgängen, wie die Auswahl bzw. das Löschen von Elementen oder das Wechseln zwischen den Screens einer Anwendung sofort vertraut. Ein weiterer wichtiger Vorteil besteht darin, dass native Apps keine Einschränkungen […]
  • User Interface-Controls für Tk
    Auch in Tk baut man das Interface mit Hilfe von fertigen UI-Controls. Es stehen folgende Steuerelemente zur Auswahl: Widget: Die Basisklasse aller Steuerelemente. Button: Eine Schaltfläche. Canvas: Ein Steuerelement für Zeichnungen und Grafiken. Checkbutton: Ein Steuerelement, das entweder aktiviert oder deaktiviert sein kann. Entry: Ein einzeiliges Eingabefeld. Label: Ein Steuerelement für Beschriftungen. LabelFrame: Ein Steuerelement für beschriftete Rahmen. Listbox: Eine Liste von Einträgen. Menu: Ein Kontextmenü. Menubutton: Eine Schaltfläche, die ein Kontextmenü anzeigt, wenn sie angeklickt wird. OptionMenu: Eine Schaltfläche, die eine Auswahlliste anzeigt, wenn sie angeklickt wird. Radiobutton: Ein Steuerelement, das entweder aktiviert oder deaktiviert sein kann. Innerhalb einer […]
  • Hello World mit TkInter
    Da TkInter zur Standardbibliothek von Python gehört, ist keine separate Installation notwendig. Ein erstes Fenster („Hello World“) erstellen Sie mit folgendem Code: Wir importieren das Modul tkinter mit allen Funktionen und Methoden (from tkinter import *). Danach wird ein neues Fenster erstellt (window = Tk()), die Eigenschaft title erhält einen Wert und die Programmschleife wird gestartet (window.mainloop()). In dieser Programmschleife verweilt das Programm und wartet auf Reaktionen des Anwenders, ggf. auf ein Beenden, d.h. Schließen des Programmfensters. Speichern Sie den Quellcode als Datei, zum Beispiel unter dem Namen Hello.py ab und starten Sie das Python-Programm. Das können Sie direkt von […]
  • Grafische Benutzeroberflächen mit Python – Ein Überblick
    Python ist eine moderne Programmiersprache, welche bevorzugt im „Hintergrund“ eingesetzt wird. Leistungsfähige Funktionen und Bibliotheken aus dem Bereich der Mathematik oder zur Datenverarbeitung erleichtern es, auch komplexe Algorithmen zu formulieren. Gerade für Anwendungen der künstlichen Intelligenz oder für die Auswertung von umfassenden Datenbeständen hat sich Python bewährt. Viele Programme benötigen jedoch auch eine grafische Benutzeroberfläche für die Interaktion mit dem Anwender. Hier hat man grundsätzlich zwei Optionen: „Fremdes“ User Interface: Die Benutzeroberfläche wird durch ein eigenständiges Programm realisiert. Dabei wird eine Grafikbibliothek oder ein Framework genutzt, mit welchen sich die Anforderungen an die Oberfläche in der gewünschten Form realisieren lassen. […]
  • Cross-Plattform-Programmierung für Desktop-Systeme.
    Windows, macOS und Linux sind die Systeme für den Desktop. Java ist seit langem Standard, wenn es um Anwendungen geht, welche auf allen Systemen laufen. Es gibt aber Alternativen. Von nativen Ansätzen bis zur Web-Technologie ist alles dabei. In diesem Artikel beschäftigen wir uns mit unterschiedlichen Ansätzen, um Applikationen für den Desktop zu erstellen, welche auf den relevanten Systemen Windows, Linux und macOS gleichermaßen laufen und aus einer gemeinsamen Quellcodebasis erstellt werden. Desktop Applikationen werden primär zum produktiven Arbeiten auf PCs und Notebooks eingesetzt. In vielen Bereichen wurden diese zwar in der Vergangenheit durch die deutlich flexibleren Web Anwendungen abgelöst, […]
  • Anforderungsanalyse: Auf das Modell kommt es an!?
    „Nach der Analyse der Anforderungen sollten alle notwendigen und vom Auftraggeber geforderten Funktionen erhoben, dokumentiert und verifiziert sein.“ Dabei ist es nicht nur notwendig die Anforderungen zu kennen, sondern diese auch zu dokumentieren. Nach der klassischen Vorgehensmethode wird dabei meist ein Pflichtenheft erstellt. Dieses Pflichtenheft umfasst im Regelfall alle notwendigen Anforderungen an das zu entwickelnde System. Es ist gut strukturiert und dient am Ende des Entwicklungsprozesses als Basis für die Abnehme des fertigen Produktes. Soweit die Theorie. Hoch komplexe Softwaresysteme – in einer dynamischen Umwelt – machen es insbesondere für den Auftraggeber zu Beginn eines Entwicklungsvorhabens sehr schwer (wenn nicht […]