Ich durchsuche Ihre Inhalte, um Ihnen zu helfen, schnell Antworten auf Ihre Fragen zu finden.
-
Faulheit ist ein wesentliches Merkmal eines äußerst erfolgreichen Programmierers. Amateure investieren viel Zeit in Dinge, die keine Rolle spielen, aber gute Programmierer arbeiten zügig und verschwenden keine Zeit.
Natürlich hat schnelles Programmieren einen geschäftlichen Nutzen, aber die wirklich guten Programmierer arbeiten aus persönlichen Gründen schnell: Es ist besser, sich das Leben leicht zu machen, als hart zu arbeiten. Es ist besser, Komponenten und Code wiederzuverwenden, als alles von Grund auf neu zu erstellen. Einfach bedeutet weniger Arbeit. Weniger Arbeit ist gut.
Die ersten Softwareprogramme wurden von Entwicklern für den persönlichen Gebrauch erstellt, die sich weniger manuelle Arbeit wünschten. Man sollte clever mit dem Code umgehen und die eigentliche Arbeit den Computern überlassen. Dieser Trend hat sich im Zuge der Weiterentwicklung der Branche fortgesetzt und erklärt die Entstehung von Hochsprachen wie Swift (niemand möchte mehr in Maschinensprache programmieren), Code-Bibliotheken, Open-Source-Software und Cloud-Diensten. Eleganz spielt nach wie vor eine Rolle, doch die höchste Form der Eleganz besteht darin, keine Zeit damit zu verschwenden, das Rad neu zu erfinden.
Diese Vorliebe dafür, durch kluges Arbeiten weniger zu arbeiten, findet neuen Ausdruck in Form von „Features-as-a-Service“ (FaaS), der neuesten Entwicklung im Bereich der App-Entwicklung.
Entwickler nutzen bereits seit einiger Zeit Cloud-Dienste im Backend. Ein Großteil der Cloud läuft beispielsweise auf der Infrastruktur von Amazon Web Services, und viele Entwickler nutzen Backend-Dienste von Stripe und PayPal für die Kreditkartenabwicklung. Diese Backend-Dienste machen die Entwicklung deutlich schneller und zuverlässiger, da Programmierer einfach auf diese Dienste zurückgreifen, anstatt sie von Grund auf neu zu entwickeln.
Programmieren nach dem FaaS-Ansatz
Der sich abzeichnende FaaS-Trend dehnt dieses Konzept auf Frontend-Funktionen aus. Wenn ein App-Entwickler Standortdienste als Funktion benötigt, kann er einen FaaS-Anbieter wieMapboxnutzen, um diese Funktion schnell zu integrieren, ohne sie von Grund auf neu entwickeln zu müssen. Oder wenn er soziale Funktionen wünscht, kann er sich für einen FaaS-Anbieter wieTapglueentscheiden und sich so die Arbeit ersparen, sich um Profile, das Folgen von Nutzern, die Einbindung von Newsfeeds und Benachrichtigungen sowie andere soziale Komponenten wie Kommentarfunktionen und das Teilen innerhalb der App kümmern zu müssen.
Viele Funktionen, die App-Entwickler häufig benötigen, sind bereits als FaaS-Dienst verfügbar.
Algolia bietet beispielsweise Suchfunktionen wie die automatische Vervollständigung, erweiterte Suchanfragen, geolokalisierte Suchen und Funktionen wie Feedback-Schleifen auf der Grundlage von Metriken, die Sie selbst definieren. Außerdem unterstützt es mehrere verschiedene Sprachen.
Oder wenn Sie Deeplinking benötigen, können Sie den Dienst vonBranch.io nutzen, der die Erstellung von Links vereinfacht, die den Nutzer zu einer bestimmten Aktion weiterleiten, sobald er auf „Einladen“ oder „Teilen“ klickt, und Daten mit den erstellten Links verknüpft. Diese Daten können beispielsweise für das Onboarding und für Inhalte genutzt werden.
Das ist Faulheit in Reinkultur. FaaS beschleunigt die App-Entwicklung und steigert gleichzeitig die Qualität. Entwickler konzentrieren sich auf das Kernversprechen der App – also darauf, was sie anders macht – und nicht auf Funktionen, die zwar notwendig sind, aber bereits von anderen perfektioniert wurden. Der kluge Programmierer greift auf vorgefertigte Funktionen zurück und kombiniert sie auf neue Weise, wobei er so wenig eigenen Code wie möglich schreibt.
Diese Vorgehensweise entspricht einer intelligenten App-Entwicklung, und ein gutes Beispiel hierfür ist die Echtzeitkommunikation.
Integrierte Video-Chat- und Click-to-Call-Funktionen sind heutzutage für viele Apps von großer Bedeutung. Schätzungsweise 1 Billion US-Dollar des Jahresumsatzes stammen aus der Click-to-Call-Funktion, wie ich bereits in einem Artikel vom letzten Monat mit dem Titel„Warum Click-to-Call für mobile Apps und Websites wichtig ist“ erwähnt habe. Google berichtet, dass etwa 70 Prozent der mobilen NutzerClick-to-Call nutzen, umunterwegsschneller anzurufen, und 40 Prozent nutzen diese Funktion häufig.
Die Integration von Echtzeitkommunikation in Apps ist mit mobilem RTC relativ einfach, doch Kompatibilitätsprobleme, zahlreiche technische Hürden und Probleme hinsichtlich der Nutzererfahrung machen die Integration von Echtzeit-Sprach- und Videofunktionen nach wie vor zu einer Herausforderung. Seriöse Apps müssen beispielsweise sicherstellen, dass ihre Sprach- und Videofunktionen trotz schwankender Mobilfunkverbindung zuverlässig funktionieren.
Anstatt sich selbst mit diesen Problemen auseinanderzusetzen, können Entwickler einen FaaS-Anbieter für Echtzeitkommunikation wie Agora.io einbinden und mit nur wenigen Zeilen Code eine Click-to-Call-Funktionalität realisieren. Ähnlich wie EntwicklerStripe fürdie sofortige Zahlungsabwicklung im Backend nutzen, können sie Agora.io für schlüsselfertige Sprach- und Videofunktionen im Frontend einsetzen und es dem Anbieter überlassen, sich um Netzwerkaspekte, Codec-Optimierung und andere Themen wie Kompatibilität zu kümmern.
Intelligentes Arbeiten
Der Einsatz von FaaS zur Einführung neuer Funktionen und zur Lösung häufiger Frontend-Probleme bedeutet, dass Entwickler ohne großen Aufwand zuverlässige Funktionen erhalten. Das ist intelligentes Programmieren und zugleich der nächste Schritt in der Softwareentwicklung.
Das Tempo der Softwareentwicklung ist mittlerweile so hoch und die Erwartungen der Verbraucher so groß, dass selbst Programmierer, die ihre Zeit nicht besonders schätzen, verstehen können, warum FaaS fast schon eine unvermeidliche Entwicklung ist. Mit FaaS lässt sich mit weniger Aufwand mehr erreichen, wodurch Zeit für jene Aspekte der App-Entwicklung frei wird, die eine grundlegendere Abkehr von bisherigen Vorgehensweisen darstellen.
Bei Apps, die bestehende Technologien und Funktionen für neue Anwendungen nutzen, beschleunigt FaaS den Prozess. Bei Apps, die eine grundlegendere technische Innovation beinhalten, können Entwickler FaaS nutzen, um sich auf diese Kerninnovation zu konzentrieren und den Rest den Anbietern von Funktionsdiensten zu überlassen.
So oder so: FaaS macht das Leben einfacher. Jeder gute Programmierer weiß das zu schätzen.