Does technology matter?

Ist Technologie in der Softwareentwicklung entscheidend für Benutzer und Devs? - Ein Anstoß zum Nachdenken

Does technology matter?

Ein Blick auf beide Seiten des Themas - ein Anstoß zum Nachdenken - Ist es wichtig mit welcher Architektur oder Programmiersprache umgesetzt wird? Kann man eine gute UX nur mit Framework X oder Sprache Y erreichen? - Ist es dem Nutzer egal?

Aus Sicht des User

Als Benutzer ist einem meist relativ egal was einen Service im Hintergrund antreibt, solang der Dienst, die App oder die Website das tut was man erwartet.

Around the box

Aber es ist nicht nur die UX die elementar ist. Muss ich etwas tun damit die Software, der Dienst lauffähig wird? - Eine Runtime installieren oder bestimme  Anforderungen erfüllen? Und wenn ja, sollte das möglichst einfach geschehen, am besten mit einem One-Click-Installer.

Vielleicht sind wir Entwickler ja Sklavehalter ;)

Sicherheit - ein Thema mit steigender Aufmerksamkeit

Datenschutz und Datensicherheit. Die beliebtesten Themen und auch die am heißesten diskutierten in der IT und natürlich auch im Endbenutzerkreis. Jeder will Privatsphäre, Schutz seiner Daten bei gleichzeitig bestmöglicher und intuitiver Benutzung.

Aus Sicht des Entwicklers

Nicht jede Programmiersprache ist gleich. Sowohl in Syntax, Feeling als auch Funktionsumfang. Natürlich kann mit den "General Purpose Languages" in der Theorie alles abgebildet werden. Die Realität sieht allerdings etwas aus.

The toolset matters

Ein gutes Toolset macht es doch einfacher Benutzeranforderungen zu erfüllen. So kann C# unter Windows punkten oder Java wenn es überall laufen soll, allerdings mit Abhängigkeit der vorinstallierten JRE, die ja auch mitgeliefert werden kann.

Aber auch Sprachen wie Dart, die etwas im Unbekannten schwelgen sind oft eine gute Wahl. So ist diese z. B. speziell an die Bedürfnisse von Oberflächenentwicklung angepasst und weniger für die Verwendung z. B. auf der Serverseite.

Kotlin ermöglicht wiederum dem User evtl sogar Script-Files zu erstellen mit einer Art eigener DSL die sofort zur Anpassung des Benutzers verwendet werden kann.

Man könnte wahrscheinlich ewig so weiter machen und könnte unzählige Sprachen sowie deren Vor- und Nachteile aufführen.

Framework/Library-Flut am Exempel

Am Beispiel von JavaScript erkennt man eine Flut an Frameworks. React, Vue, Angular und wie sie alle heißen.

Da verliert man schon mal den Überblick

Ihr Versprechen ist bei allen gleich: "Wir erleichtern dir das Leben".

Jeder der schon mal solch ein Framework oder eine Bibliothek benutzt hat, wird jetzt wahrscheinlich schmunzeln und ein konkretes Beispiel haben, das es nicht immer so ist. Sie fügen jedem Projekt auch einen neuen Layer hinzu. Sowohl an Komplexität als auch an Abhängikeiten. Man macht sich abhängig von Anderen, deren Ansichten, Best Practices und Anschauung "how to do things". Es gibt deshalb immer mehr Verweigerer solcher Technologien. Und Überraschung, sie erstellen genauso und teilweise bessere Software.

Also sind sie ja nicht so elementar wie viele, inklusive mir, so lange dachten. Sie helfen und blockieren an anderer Stelle. Jeder findet hier was zu ihm passt. Gerade im Bezug auf Material Design geht es aber für eine simple Implementierung nicht anders, als auf eine Library oder auf ein Framework zurückzugreifen. Natürlich das der User die beste Experience erhält, bzw. gewohnte Umgebungen vorfindet.

So does it really matter?

Doch ist das wirklich wichtig? - Welche Sprache, Welches Framework?!

The right tools matter

Ich würde ganz klar sagen, ja! - Natürlich kann man eine Schraube auch mit dem Hammer in die Wand schlagen, doch mit einer Bohrmaschine wird man sich wahrscheinlich doch leichter tun.

The world is changing

Wir müssen uns von dem Gedanken verabschieden, das eine Sprache alles erledigt. Man sollte hingegen ein breites Portfolio vorweisen, das für alle Bedürfnisse der Arbeit gerecht wird. Das heißt natürlich nicht. das immer nur die neueste Technologie eingesetzt werden muss. Es spricht nichts dagegen auch mal auf altbewährtes zu setzen, wenn es die Anforderungen gut abdecken kann. Doch am wichtigsten ist doch immer noch, das man als einzelner Entwickler oder als Team mit den Tools auch vertraut ist.

Denn was bringt gutes Werkzeug, wenn die Arbeiter nicht damit umgehen können?

Eine schwere Entscheidung?

Long story short

Man muss nicht jedes neue Tools sofort für alles nutzen, nur weil es gerade im Hype ist. Doch bestimmte Technologien können helfen, Ziele zu erreichen und sowohl uns Devs als auch die Enduser zufrieden zustellen.