Does technology matter?
Ist Technologie in der Softwareentwicklung entscheidend für Benutzer und Devs? - Ein Anstoß zum Nachdenken
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.
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.
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?
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.