Technologietrends zur Webentwicklung 2019

Einführung

Die digitale Transformation erfasst jedes Jahr immer mehr unterschiedliche Lebens- und Wirtschaftsbereiche. Wenn ein Unternehmen wettbewerbsfähig sein will, reichen gewöhnliche Informationsseiten nicht mehr aus, es werden mobile und Webanwendungen benötigt, die den Benutzern nicht nur Informationen liefern, sondern ihnen auch die Ausführung bestimmter Funktionen ermöglichen: Waren und Dienstleistungen empfangen oder bestellen, Tools bereitstellen.

Technologietrends zur Webentwicklung 2019

Beispielsweise reicht es für moderne Banken nicht mehr aus, über eine Website mit Informationen zu verfügen; sie benötigen Online-Tools für ihre Kunden, ein persönliches Konto, in dem der Benutzer Konten, Investitionen und Kredite verwalten kann. Selbst kleine Unternehmen benötigen praktische Tools, um ihre Conversions zu steigern, etwa einen Termin beim Arzt oder Friseur zu vereinbaren oder einen Tisch in einem Restaurant oder im Kinderspielzimmer für eine Geburtstagsfeier zu reservieren.

Und die Eigentümer selbst müssen zeitnah und in bequemer Form Informationen über den Zustand ihres Unternehmens erhalten, beispielsweise über die Erfassung statistischer Daten und Analysen für verschiedene Produktionsabteilungen oder über die Produktivität der Abteilungen. Oft sammelt jede Abteilung diese Daten auf ihre eigene Art und Weise und verwendet möglicherweise sogar unterschiedliche Tools. Der Eigentümer muss viel persönliche Zeit aufwenden, um all dies zu verstehen. Dies kann sich indirekt oder direkt auf die Effizienz des Unternehmens und letztendlich auf den Gewinn auswirken. Auch hier helfen die digitale Transformation und die Entwicklung von Web- oder mobilen Anwendungen.

Technologien stehen nicht still und entwickeln sich ständig weiter. Was vor einigen Jahren verwendet wurde, ist heute möglicherweise nicht mehr relevant, oder was vor einigen Jahren nicht möglich war, ist bereits Realität geworden. Es gibt modernere Tools, mit denen Sie Web- und Mobilanwendungen schneller und besser erstellen können. Basierend auf persönlichen Beobachtungen und Erfahrungen möchte ich meine Vision darüber teilen, welche Technologien und Tools in naher Zukunft gefragt sein werden und warum Sie bei der Erstellung einer modernen Webanwendung darauf achten sollten.

Einseitige Bewerbung

Lassen Sie uns die Terminologie ein wenig definieren. Single Page Application (SPA) ist eine Webanwendung, deren Komponenten einmal auf einer Seite geladen werden und deren Inhalt nach Bedarf geladen wird. Und beim Wechseln zwischen Abschnitten der Anwendung wird die Seite nicht vollständig neu geladen, sondern nur die erforderlichen Daten geladen und angezeigt.

Single-Page-Anwendungen profitieren hinsichtlich Geschwindigkeit und Benutzerfreundlichkeit erheblich von klassischen Webanwendungen. Mithilfe von SPA können Sie den Effekt erzielen, dass eine Website wie eine Anwendung auf einem Desktop funktioniert, ohne Neustarts und erhebliche Verzögerungen.

Während Single-Page-Anwendungen vor einigen Jahren die Suchmaschinenoptimierung praktisch nicht unterstützten und hauptsächlich für die Erstellung persönlicher Konten und Administrationspanels verwendet wurden, ist die Erstellung einer Single-Page-Anwendung mit vollständiger Unterstützung für Suchmaschinenoptimierung (SEO) heute viel einfacher geworden. Durch die heutige Verwendung servergerenderter Einzelseitenanwendungen ist dieses Problem vollständig verschwunden. Mit anderen Worten, es handelt sich um dieselbe Single-Page-Anwendung, aber bei der ersten Anfrage generiert der Server nicht nur Daten, sondern erstellt eine anzeigebereite HTML-Seite und Suchmaschinen erhalten vorgefertigte Seiten mit allen Metainformationen und semantischem Markup .

Mit der Entwicklung von Tools zum Erstellen clientseitiger Webanwendungen wird die Entwicklung und der Übergang zu Single-Page-Anwendungen in diesem und den folgenden Jahren nur noch zunehmen. Wenn Sie eine alte Anwendung haben, die veraltet ist und langsam arbeitet und beim Wechseln zwischen Abschnitten sogar einen kompletten Neuladen der Seite verursacht, dann können Sie dieses Jahr bedenkenlos auf eine schnelle einseitige Anwendung upgraden – jetzt ist ein guter Zeitpunkt, die Technologie erlaubt es Ihnen bereits um dies recht schnell und effizient zu erledigen.

Eine moderne und schnelle Website zu haben ist sehr gut, aber ich sage Ihnen ganz ehrlich: Nicht alle Anwendungen lassen sich problemlos in Single-Page-Anwendungen umwandeln, und die Umstellung kann teuer sein! Daher müssen Sie verstehen, wer einen solchen Übergang braucht und warum.

Um Ihnen das Verständnis zu erleichtern, gebe ich in der folgenden Tabelle einige Beispiele dafür, wann die Entwicklung oder Umstellung auf ein SPA angemessen und gerechtfertigt ist und wann nicht.

ЗА

Wenn Sie eine moderne, schnelle Anwendung erstellen möchten und nicht nur die Webversion, sondern auch die mobile oder sogar Desktop-Version verwenden möchten und alle Prozesse und Berechnungen auf einem Remote- oder Cloud-Server stattfinden. Darüber hinaus verfügen alle Clients über eine Interaktionsschnittstelle und es ist nicht erforderlich, beim Hinzufügen eines neuen Clients jede Änderung am Servercode vorzunehmen.

Zum Beispiel: soziale Netzwerke, Aggregatoren, SaaS-Plattformen (Software as a Cloud Service), Marktplätze

Wenn Sie ein Geschäft oder einen Webdienst haben, wissen Sie, dass dieser langsam ist und die Leute ihn verlassen, Sie möchten ihn schneller machen, Sie verstehen den Wert der Kunden und sind bereit, über eine Million Rubel für ein Upgrade zu zahlen.

Sie haben eine mobile Anwendung, die die API der Website verwendet, aber die Website ist langsam und lädt beim Wechseln zwischen Seiten den Inhalt vollständig neu

GEGEN

Wenn Ihre Zielgruppe keine modernen Browser und Geräte verwendet.

Zum Beispiel: spezifische Unternehmensbereiche, wie die Entwicklung interner Systeme für Banken, medizinische Einrichtungen und Bildung.

Sie betreiben Ihre Hauptaktivitäten offline und sind nicht bereit, online irgendwelche Dienstleistungen anzubieten, sondern müssen lediglich Kunden gewinnen.

Wenn Sie einen Online-Shop oder Webservice haben, der sich bereits gut verkauft, kommt es weder zu Kundenabwanderungen noch zu Beschwerden

Wenn Sie eine funktionierende Anwendung haben, die nicht für SPA angepasst werden kann, Sie einfach alles von Grund auf neu schreiben und andere Technologien verwenden müssen, und Sie nicht bereit sind, mehrere Millionen dafür auszugeben.

Zum Beispiel: Es gibt eine Box-Site oder eine Art selbstgeschriebenen alten, monolithischen Code.

Progressive Webanwendungen

Progressive Webanwendungen sind das Produkt der gemeinsamen Entwicklung einer nativen Anwendung und einer Website. Im Wesentlichen handelt es sich dabei um eine Webanwendung, die wie eine echte native Anwendung aussieht und sich verhält, Push-Benachrichtigungen empfangen, im Offline-Modus arbeiten usw. kann. In diesem Fall muss der Benutzer die Anwendung nicht aus dem AppStore oder Google Play herunterladen, sondern sie einfach auf dem Desktop speichern.

Als Technologie bzw. Entwicklungsansatz entwickelt sich PWA seit 2015 weiter und erfreut sich in letzter Zeit im E-Commerce-Bereich enormer Beliebtheit.

Einige Beispiele aus dem wirklichen Leben:

  • Letztes Jahr konnte das Best Western River North Hotel seinen Umsatz um 300 % steigern, nachdem es eine neue PWA-fähige Website eingeführt hatte;
  • Arabic Avito OpenSooq.com konnte nach der Einführung der PWA-Unterstützung auf seiner Website die Besuchszeit der Website um 25 % und die Anzahl der Leads um 260 % ​​steigern;
  • Der bekannte Dating-Dienst Tinder konnte durch die Entwicklung einer PWA die Ladegeschwindigkeit von 11.91 Sekunden auf 4.69 Sekunden reduzieren; außerdem wiegt die Anwendung 90 % weniger als ihr natives Android-Pendant.

Dass es sich lohnt, dieser Technologie Aufmerksamkeit zu schenken, zeigt auch die Tatsache, dass einer der größten Engines zur Erstellung von E-Commerce-Projekten, Magento, 2018 eine frühe Entwicklungsversion von PWA Studio auf den Markt brachte. Mit der Plattform können Sie ein sofort einsatzbereites React-basiertes Frontend für Ihre E-Commerce-Lösungen mit PWA-Unterstützung erstellen.

Tipp für diejenigen, die bereits ein Internetprojekt haben oder einfach nur eine Idee für einen neuen Dienst mit Unterstützung für mobile Geräte haben: Beeilen Sie sich nicht, eine vollwertige native Anwendung zu schreiben, sondern schauen Sie sich zunächst die PWA-Technologie an. Dies ist möglicherweise die Lösung mit dem besten Preis-Leistungs-Verhältnis für Ihr Produkt.

Ein wenig aus der Praxis. Um eine einfache native mobile Nachrichtenanwendung zu erstellen, benötigen Sie etwa 200–300 Arbeitsstunden pro Plattform, sofern Sie bereits über einen vorgefertigten REST-Server verfügen. Da der durchschnittliche Marktpreis für eine Entwicklungsstunde 1500–2000 Rubel/Stunde beträgt, kann eine Anwendung etwa 1 Million Rubel kosten. Wenn Sie eine Webanwendung mit vollständiger Unterstützung für PWA entwickeln: Push-Benachrichtigungen, Offline-Modus und andere Extras, dann wird die Entwicklung 200–300 Arbeitsstunden in Anspruch nehmen, aber das Produkt wird sofort auf allen Plattformen verfügbar sein. Das bedeutet eine Ersparnis von etwa dem Doppelten, ganz zu schweigen von der Tatsache, dass Sie keine Gebühren für die Platzierung in App-Stores zahlen müssen.

Serverlos

Dies ist ein weiterer moderner Entwicklungsansatz. Aufgrund des Namens denken viele Leute, dass es sich hier um eine wirklich serverlose Entwicklung handelt, dass kein Back-End-Code geschrieben werden muss und jeder Front-End-Entwickler eine vollwertige Webanwendung erstellen kann. Aber das ist nicht so!

Wenn Sie eine serverlose Anwendung erstellen, benötigen Sie weiterhin einen Server und eine Datenbank. Der Hauptunterschied dieses Ansatzes besteht darin, dass der Back-End-Code in Form von Cloud-Funktionen dargestellt wird (ein anderer Name für Serverless ist FaaS, Functions as a Service oder Functions-as-a-Service) und eine schnelle und schnelle Skalierung der Anwendung ermöglicht leicht. Beim Erstellen einer solchen Anwendung kann sich der Entwickler auf geschäftliche Probleme konzentrieren und muss nicht an die Skalierung und Einrichtung der Infrastruktur denken, was anschließend die Anwendungsentwicklung beschleunigt und deren Kosten senkt. Darüber hinaus hilft Ihnen der Serverless-Ansatz, Servermieten zu sparen, da er genau so viele Ressourcen verbraucht, wie für die Erledigung der Aufgabe erforderlich sind. Wenn keine Auslastung vorliegt, wird die Serverzeit überhaupt nicht verbraucht und nicht bezahlt.

So konnte beispielsweise das große amerikanische Medienunternehmen Bustle durch die Umstellung auf Serverless die Hosting-Kosten um mehr als 60 % senken. Und das Unternehmen Coca-Cola konnte bei der Entwicklung eines automatisierten Systems für den Verkauf von Getränken über Verkaufsautomaten die Hosting-Kosten durch die Umstellung auf Serverless von 13000 US-Dollar auf 4500 US-Dollar pro Jahr senken.

In den letzten Jahren wurde Serverless aufgrund seiner Neuheit und seiner Einschränkungen hauptsächlich für kleine Projekte, Start-ups und MVPs verwendet, doch heute entstehen dank der Weiterentwicklung der Software, der Vielseitigkeit und Leistungsfähigkeit der Server-Containerisierung Tools dafür ermöglichen es Ihnen, Einschränkungen zu beseitigen, die Entwicklung von Cloud-Anwendungen zu vereinfachen und zu beschleunigen.
Dies bedeutet, dass Unternehmensszenarien, in denen eine Cloud-Modernisierung zuvor als unmöglich galt (z. B. für Edge-Geräte, Daten bei der Übertragung oder zustandsbehaftete Anwendungen), jetzt Realität sind. Gute, vielversprechende Tools sind kNative und Serverless Enterprise.

Trotz alledem ist Serverless kein Allheilmittel für die Entwicklung von Webanwendungen. Wie jede andere Technologie hat sie ihre Vor- und Nachteile, und Sie müssen dieses Werkzeug mit Verständnis auswählen und nicht „Nägel mit einem Mikroskop einschlagen“, nur weil es technologisch fortschrittlicher ist.

Um Ihnen dabei zu helfen, dies herauszufinden, finden Sie hier einige Beispiele dafür, wann Sie Serverless bei der Entwicklung eines neuen oder der Erweiterung eines aktuellen Webdienstes in Betracht ziehen sollten:

  • Wenn die Auslastung des Servers periodisch ist und Sie für ungenutzte Kapazität bezahlen. Wir hatten zum Beispiel einen Kunden mit einem Netzwerk von Kaffeemaschinen und es war nur ein paar hundert oder tausend Mal am Tag erforderlich, Anfragen zu bearbeiten und Statistiken zu sammeln, und nachts sank die Anzahl der Anfragen auf mehrere Dutzend. In diesem Fall ist es viel effizienter, nur für die tatsächliche Nutzung der Ressourcen zu zahlen. Deshalb haben wir eine Lösung auf Serverless vorgeschlagen und implementiert;
  • Wenn Sie nicht vorhaben, sich mit den technischen Details der Infrastruktur zu befassen und zu viel für die Einrichtung und Wartung von Servern und einem Balancer zu bezahlen. Wenn Sie beispielsweise einen Marktplatz entwickeln, wissen Sie nicht genau, wie hoch der Datenverkehr sein wird, oder umgekehrt – Sie planen viel Datenverkehr und damit Ihre Anwendung der Belastung sicher standhält, ist Serverless eine ausgezeichnete Wahl.
  • Wenn Sie einige Streaming-Ereignisse in der Hauptanwendung ausführen, Nebendaten in Tabellen schreiben und einige Berechnungen durchführen müssen. Sammeln Sie beispielsweise Analysedaten von Benutzeraktionen, verarbeiten Sie sie auf eine bestimmte Weise und speichern Sie sie in einer Datenbank.
  • Wenn Sie den aktuellen Betrieb der Anwendung vereinfachen, vereinheitlichen oder beschleunigen müssen. Erstellen Sie beispielsweise leistungssteigernde Dienste für die Arbeit mit Bildern oder Videos, wenn der Benutzer Videos in die Cloud hochlädt und eine separate Funktion die Transkodierung übernimmt, während der Hauptserver normal weiterarbeitet.

Wenn Sie Ereignisse von Drittanbieterdiensten verarbeiten müssen. Verarbeiten Sie beispielsweise Antworten von Zahlungssystemen oder leiten Sie Benutzerdaten an CRM weiter, um die Bearbeitung von Anfragen potenzieller Kunden zu beschleunigen
Wenn Sie eine große Anwendung haben und einige Teile der Anwendung mit einer anderen Sprache als der Hauptsprache optimaler implementiert werden können. Wenn Sie beispielsweise ein Projekt in Java haben und neue Funktionen hinzufügen müssen, aber keine freien Hände haben oder die Implementierung in einer bestimmten Sprache möglicherweise länger dauert und es bereits eine Lösung in einer anderen Sprache gibt, dann kann Serverless helfen auch damit.

Dies ist nicht die vollständige Liste der Tools und Technologien, die Aufmerksamkeit verdienen; ich habe nur mitgeteilt, was wir selbst jeden Tag bei unserer Arbeit verwenden und weiß genau, wie sie dem Unternehmen helfen können.

Source: habr.com

Kommentar hinzufügen