Sie haben vielleicht bemerkt, dass wir mit einer ganzen Reihe verschiedener Technologien arbeiten (falls Sie dies nicht getan haben, schauen Sie sich unsere an Serviceseite der Website).
Wir brauchen all diese Technologien, um zu bauen hochwertige digitale Lösungen für unsere Kunden.
Aber was steckt hinter all diesen Tools? Und warum bevorzugen wir einige mehr als andere?
Fast alles kann mit jeder Programmiersprache implementiert werden. Natürlich gibt es Programmiersprachen, die für bestimmte Anwendungen besser geeignet sind. Wie Python oder R für maschinelles Lernen, weil dort bereits viele Tools und Bibliotheken verfügbar sind. Oder C/C++ und Rust für hardwarenahe und leistungsstarke Anwendungen.
Basierend auf den positiven Erfahrungen von Valudio haben wir spezialisiert auf die Programmiersprachen C# und JavaScript/TypeScript. Wir sind ein Unternehmen, das aufgrund von C# bevorzugt Tools aus dem Microsoft-Ökosystem verwendet, wie Azure DevOps, Azure-Pipelines oder Azure-Cloud.
Die Frage nach dem Warum ähnelt der Frage, warum jemand einen BMW und keinen Mercedes fährt. Wir konnten hervorragende Ergebnisse erzielen mit Tools wie ASP.NET oder ReactJS. Viele der großen Unternehmen arbeiten mit Microsoft zusammen. Daher ist es für interne und externe Entwickler (wie wir) sinnvoll, die Microsoft Cloud Platform zu verwenden, wenn der Kunde nicht seine eigene Infrastruktur oder seinen eigenen Cloud-Anbieter verwendet.
Was ist Microsoft Azure?
Microsoft Azure, früher bekannt als Windows Azure, ist Microsofts öffentliche Cloud-Computing-Plattform. Es bietet eine Reihe von Cloud-Dienste, einschließlich Rechenleistung, Analytik, Speicher und Netzwerk, notwendig für die Entwicklung und Verwaltung von Apps.
Wir verwenden Microsoft Azure immer dann, wenn unsere Kunden nicht über die erforderlichen eigenen IT-Ressourcen verfügen.
Cloud-Computing-Plattformen wie Microsoft Azure sind so erfolgreich wie sie, weil sie praktisch sind und Entwicklern viel Arbeit abnehmen; spezielle Dienste, die als Arbeitsgrundlage benötigt werden, können einfach gemietet werden, ohne dass sie sich um deren Wartung oder Sicherheit kümmern müssen.
Wir haben Microsoft Azure für die Entwicklung unserer verwendet SaaS-Lösung Lablyze.
Was ist C#? Und was ist.NET (vormals .NET Core)?

C# (übrigens ausgesprochen c-sharp) ist eine Programmiersprache, die innerhalb der kostenlosen Open-Source-Framework .NET. Die Sprache, wie auch das Framework .NET, stammen von Microsoft, können aber auch plattformübergreifend ausgeführt werden (zum Beispiel: unter macOS oder Linux).
Das.NET-Ökosystem bietet für jede Plattform ein spezielles Framework:
ASP.NET für Webentwicklung
WPF für Desktop-Anwendungen
Xamarin für mobile Anwendungen
Einheit für Gaming- und 3D-Anwendungen
.NET und ASP.NET werden ständig weiterentwickelt und verbessert.
Wir haben C# und ASP.NET Core für die Entwicklung von verwendet Phonio.
Was ist SignalR?
SignalR ist eine kostenlose .NET-Bibliothek, die bei der Implementierung hilft Kommunikation in Echtzeit über Websockets. Es wird beispielsweise für Chat-Anwendungen verwendet, in denen mehrere Teilnehmer/Anwendungen Informationen in Echtzeit austauschen möchten.
Was ist das Azure Bot Framework?
Das Azure Bot Framework hilft bei der Implementierung Chatbot-Anwendungen. Dies können einfache Anwendungen sein, bei denen Sie einen Bot standardisierte Prozesse erledigen lassen, komplexere Anwendungsfälle wie Verarbeitung natürlicher Sprache (NLP) oder sogar Fragen zu beantworten. Das Weiterleiten von Anfragen an eine reale Person kann mit dem Azure Bot Framework ebenfalls einfach eingerichtet werden.
Was ist Identity Server?
Identity Server 4.0 ist eine Identität und Authentifizierungsverwaltungsserver das kümmert sich um die Zentralisierung von Authentifizierungsprozessen.
Dies ist hilfreich, wenn ein Unternehmen eine Vielzahl von Anwendungen in Betrieb hat und Benutzeridentitäten und aktive Sitzungen zentralisieren möchte. Konkret besteht der Vorteil darin, dass Benutzer, die sich an einer Anwendung anmelden, automatisch und reibungslos angemeldet werden, wenn sie zu einer anderen Anwendung wechseln, die mit der ersten verbunden ist, ohne dass sie ihre Benutzerdaten wiederholt eingeben müssen. Offiziell wird Identity Server als Authentifizierungsserver (basierend auf .NET) beschrieben, der OpenID Connect (OIDC) und OAuth 2.0-Protokolle.
Was ist React.js?
React.js wird am häufigsten verwendet JavaScript-Framework zum Entwickeln Benutzeroberflächen, oder für die Entwicklung Webschnittstellen die Nutzer letztendlich sehen und erleben werden. React.js ist eine Open-Source-Bibliothek, die von Facebook und einer Open-Source-Entwickler-Community betrieben wird.

Warum ist React.js so beliebt?
React.js und andere komponentenbasierte Frameworks wie Angular und Vue entstanden aus dem Bedürfnis heraus, zunehmend komplexe Benutzeroberflächen.
Komponenten sind die Bausteine jeder React-Anwendung. Einmal programmiert, können solche Komponenten innerhalb ein und derselben wiederverwendet werden, aber auch in anderen React-Anwendungen, die wiederum reduziert die Entwicklungszeit. In der Zwischenzeit bei Valudio wir haben auch unsere erstellt eigene Komponentenbibliothek.
Das virtuelles DOM, eine Darstellung der HTML-Struktur im Speicher, reduziert die Aktualisierungen und Berechnungen, die der Browser durchführen muss, und verbessert so die Leistung.
Das vordefinierte Struktur und der standardisierte Ablauf der Daten zwischen den Komponenten, erleichtern es Programmierern, sich in einer Anwendung zurechtzufinden und Fehler zu lokalisieren.
Unter anderem verwendeten wir React.js für die Entwicklung von Das Kundenportal von Redsol.
Was ist Next.js?
Next.js ist ein Javascript-Framework basierend auf React.js.
Was ist der Unterschied zwischen ReactJS und Next.JS?
React.js, wie oben erwähnt, ist eine Technologie, mit der wir webbasierte Benutzeroberflächen programmieren können. Standardmäßig wird das HTML/CSS jedoch immer zuerst im Browser gerendert (Client-Site gerendert = CSR). Dies ist kein Problem für Portale, die erst nach dem Einloggen sichtbar sind, aber wenn es sich um eine Website, einen Webshop oder eine Anwendung handelt, die in der Google-Suche sichtbar sein soll, ist CSR eher suboptimal.
Next.js ist ein Framework, das uns in genau dieser Situation helfen kann. Next.js basiert auf React.js. Das bedeutet, dass wir unsere Weboberflächen weiterhin mit React.js programmieren können. Darüber hinaus ermöglicht es uns wählen Sie zwischen den verschiedenen Renderoptionen:
Kundenseite gerendert (CSR) — für Anwendungen, die ohne Google-Ranking auskommen.
Server-Site gerendert (SSR) — für Anwendungen mit dynamischen Inhalten, die aber von Google relevant indexiert werden sollten.
Übrigens:
In beiden Fällen wird der Inhalt bei jeder Anfrage neu gerendert, d. h. das HTML/CSS wird bei jeder Anfrage neu generiert, was Zeit und Ressourcen verschlingt.
Zeit und Ressourcen können jedoch mit einem sogenannten „statische Seitengenerierung“ (SSG). SSG eignet sich für Anwendungen oder Websites, bei denen sich der Inhalt nicht so oft ändert.
Bei der SSG-Methode wird der Inhalt einmal gerendert und die fertigen HTML-Dateien werden auf dem Webserver gespeichert. Im Gegensatz zu SSR wird die Performance weiter erhöht, da die Webseite nicht bei jeder neuen Anfrage gerendert werden muss. Das bringt auch Ladezeitvorteile und macht Websites schneller, da das HTML nicht vorab generiert werden muss, sondern direkt heruntergeladen wird und somit direkt vom Browser angezeigt werden kann.
Ein weiterer Vorteil von SSG ist seine Skalierbarkeit. Da nichts auf dem Server gerendert werden muss, benötigen Sie auch keine Rechenleistung und können daher problemlos Tausende von Anfragen gleichzeitig bedienen.
Was ist React Native?
React Native ist ein JavaScript-Framework, das zur Entwicklung verwendet werden kann plattformübergreifende mobile Apps. Das heißt, es kann eine einzige App entwickelt werden, die auf beiden funktioniert Android und iOS, anstatt eine iOS-App mit Swift und eine Android-App mit Java oder Kotlin zu entwickeln.
Hier ist eine Liste bekannter Apps, die auf React Native basieren.
Unter anderem bauten wir die Nemi App mit React Native.
Entdecken Sie, wie Spitzentechnologie
kann deine Vision zum Leben erwecken.
Was ist Azure Pipelines?
Mit Azure Pipelines stellt Microsoft sogenannte Cloud-gehostete Pipelines für kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD) für Linux, macOS und Windows, die Erstellungs- und Bereitstellungsprozesse automatisieren.
Einer unserer DevOps-Dienste ist zu erstellen und zu konfigurieren Pipelines erstellen und veröffentlichen für andere Unternehmen.
Was ist der Microsoft SQL Server?
Das ist ein relationales Datenbankverwaltungssystem und eine der führenden Datenbanktechnologien. Wenn wir wählen können, mit welcher SQL-Datenbank wir arbeiten möchten, entscheiden wir uns fast immer für den Microsoft SQL Server.
Was ist Docker?
Docker ist ein Behältertechnik das die Entwicklung und Bereitstellung von Anwendungen vereinfacht und standardisiert. Ein Docker-Image enthält die komplette Konfiguration der Umgebung, in der eine Anwendung ausgeführt wird. Das hat den Vorteil, dass die Konfiguration immer dieselbe ist — sei es während der Entwicklung auf dem lokalen Computer oder in der Produktionsumgebung.
Sie können es mit einem Snapshot einer virtuellen Maschine vergleichen. Docker bietet jedoch noch mehr Vorteile. Virtuelle Maschinen enthalten in der Regel vollständige Kopien der Betriebssysteme, der auszuführenden Anwendung, Binärdateien und Bibliotheken. Mit Docker wird all dies in einem Docker-Ausführungscontainer zusammengeführt und kann auch vom zugrunde liegenden System isoliert werden.
Was ist Microsoft Appcenter?
Das Microsoft Appcenter ist eine Plattform für Entwicklung, Test und Verwaltung von Apps für verschiedene Betriebssysteme.
Einer der vielen Vorteile dieser Plattform besteht darin, dass eine einmal erstellte App sofort an die Apple- und Google-Stores gesendet werden kann. Wir können unseren Kunden auch Testversionen einer App über das Appcenter senden. Das Microsoft Appcenter ist somit das Äquivalent zu Azure Pipelines für mobile Anwendungen.
Mit dem Microsoft Appcenter haben wir das Lingoda App möglich.
Was ist Electron?
Electron ist ein Framework für die Entwicklung von Desktop-Anwendungen mit Javascript, HTML und CSS auf verschiedenen Plattformen. Am Ende erhalten Sie Code, der unter Windows, Mac oder Linux gleich gut funktioniert.
Desktop-Anwendungen werden vor allem dann benötigt, wenn Dinge miteinander kommunizieren müssen, die physisch mit einem Computer verbunden sind — zum Beispiel ein Barcodescanner mit der Hardware eines Computers.
Wir haben Electron verwendet, um zu entwickeln Die Web-App von Phonio. Jedes Mal, wenn das Kundenserviceteam einen Anruf erhält, wird der eingehende Anruf per Pop-up in der Web-App angezeigt.
Was ist MongoDB?
MongoDB ist ein Nicht-SQL-Datenbank, was bedeutet, dass es dokumentenorientiert statt tabellenorientiert und kann Sammlungen von JSON-ähnlichen Dokumenten verwalten. Wir verwenden MongoDB, um Daten zu speichern, die nicht immer dieselbe Struktur haben sollten. Im Allgemeinen haben Nicht-SQL-Datenbanken Vor- und Nachteile. Ob und wann sie verwendet werden, ist sehr situationsabhängig.
Für die Hitachi-Webplattform, MongoDB war am besten geeignet.
