• Erledigen Sie die Anwendungssicherheit auf die richtige Weise! Erkennen, schützen, überwachen, beschleunigen und mehr…
  • Erstellen Sie API-gesteuerte moderne Anwendungen!

    APIs ähneln den Benutzeroberflächen, mit dem einzigen Unterschied, dass ein Benutzer eine Maschine oder Software ist.

    Lassen Sie uns den API-First-Design-Ansatz verstehen und warum es sinnvoll ist, ihm zu folgen. Wir werden uns auch mit JavaScript und seiner Beliebtheit befassen und schließlich die beliebtesten JavaScript-Frameworks zum Erstellen von APIs und Microservices diskutieren.

    API-First-Ansatz

    Wir alle haben den Begriff API First Design oder nur APIs gehört. Tatsächlich wurde der Begriff API First Design populär, nachdem die Branche den Begriff Cloud-native Anwendung erwähnte. Im Laufe der Zeit seit der Entwicklung einer monolithischen Anwendung begannen Programmierer, diese Anwendungen in Mikrodienste zu zerlegen.

    Alle Interaktionen mit diesen Microservices von Web-, Android- oder iOS-Geräten müssen über APIs erfolgen. Daher spielt das Design für diese APIs eine wichtige Rolle bei der Bereitstellung von Daten für diese Schnittstellen. Dies bedeutet, dass Microservices nur ein Kommunikationsmedium haben, das nichts anderes als APIs ist.

    Somit kommt hier das API-First-Design-Prinzip ins Spiel. Wir müssen zuerst überlegen, unsere API zu entwerfen, bevor wir überhaupt die Implementierung für unsere Microservices / Backend-Services schreiben.

    Denken Sie daran: APIs sind Geschäftstreiber. Entwickeln Sie sie daher zu Beginn der Entwicklung eines Systems.

    Beim API-First-Design-Ansatz wird eine API als erstklassiger Bürger betrachtet. Wenn wir die obigen Aussagen zusammenfassen, erhalten wir die folgenden drei Schlüsselpunkte, die als Prinzip des ersten API-Ansatzes angesehen werden können.

    • API ist die erste Benutzeroberfläche unserer Anwendung.
    • API kommt zuerst und dann die Anwendung.
    • API wird beschrieben (und möglicherweise sogar selbstbeschreibend)

    Es gibt viele Unternehmen, die API-First-Ansätze verwenden, wie z Twillio, NETFLIX, Streifen, Algolia, SendGrid, Etsy, Adobe, Amazonund viele mehr.

    Amazon gehörte zu den ersten Unternehmen, die ihre Mitarbeiter anwiesen, diesen Ansatz anzuwenden. Die Bedeutung dieses Ansatzes könnte mit einer Inzidenz verstanden werden, wenn Jeff Bezos(CEO von Amazon) erteilte ein Mandat namens Bezos Mandat(irgendwann um 2002), mit einer Warnung Jeder, der diesen Prozess nicht befolgt, wird entlassen.

    Vorteile des API-First-Ansatzes

    Viel!

    Das Folgende sind einige von ihnen.

    • Wiederverwendbares / zusammensetzbares Unternehmen
    • Ermöglicht parallele Entwicklung
    • Reduziert die Gesamtkosten über die Laufzeit des Projekts.
    • Reduziert das Ausfallrisiko
    • Schnelleres Wachstum
    • Freiheit von Zwängen

    Lassen Sie uns nun eine der leistungsstarken Sprachen des Webs erkunden, mit deren Hilfe wir den oben diskutierten Ansatz implementieren können.

    JavaScript: Eine Sprache des Webs

    JavaScript ist eine der wichtigsten Sprachen von heute und morgen.

    JavaScript ist eine interpretierte clientseitige Skriptsprache auf hoher Ebene. Es wird verwendet, um Webseiten interaktiver zu gestalten. Damit können wir komplexe und schöne Designs implementieren. JavaScript ist eine objektbasierte Skriptsprache, die Kapselung, Polymorphismus und in gewissem Umfang auch Vererbung unterstützt.

    Im Gegensatz zu C, C ++ und Java muss es auch nicht kompiliert werden.

    JavaScript kann im Browser und auf dem Server sowie auf jedem Gerät mit einer Javascript-Engine ausgeführt werden.

    Dies ist gut zu erwähnen, dass JavaScript nichts mit Java zu tun hat. Dann ist die Frage, warum es JavaScript heißt? Als JavaScript ursprünglich veröffentlicht wurde, wurde es aufgerufen Mokka; es wurde später in umbenannt Live-Skript und dann zu JavaScript als Netscape und SUN eine Lizenzvereinbarung getroffen haben.

    JavaScript wird bei der Entwicklung nahezu aller Arten von Webprodukten und -anwendungen verwendet, z. B. Smartwatches, Spiele, Websites, Mobilgeräte und Webanwendungen. Einige der beliebtesten Websites wie Google, Facebook, Netflix und Amazon verwenden JavaScript, um ihre Produkte zu erstellen.

    Ist es auf die Client-Seite beschränkt?

    JavaScript wurde ursprünglich entwickelt, um in einem Browser als clientseitige Programmiersprache ausgeführt zu werden. Aber jetzt hat es sich sehr weiterentwickelt und ist mehr als das, was es früher war. Darüber hinaus ist JavaScript nicht nur die clientseitige Sprache, sondern auch JavaScript-basierte Frameworks werden auch zur serverseitigen Programmierung verwendet.

    Ein Beispiel für einen solchen Rahmen ist NodeJs.

    Dies ist nicht das Ende der Funktionen von JavaScript. Neben der Verwendung als Client- und Serverseite kann es auch zum Entwerfen einer Anwendung mit einer einzigen Codebasis und zum Ausführen auf einem Mobiltelefon (Android, iOS) und im Internet verwendet werden.

    Ein Beispiel für einen solchen Rahmen ist Reaktionen.

    Popularität von JavaScript

    JavaScript ist heute wohl eine der wichtigsten Sprachen.

    Der Aufstieg des Webs hat JavaScript-Orte eingenommen, für die es nie gedacht war. Derzeit haben wir mehr als 100 Programmiersprachen und jedes Jahr werden neue Sprachen eingeführt. Unter diesen bringen einige mächtige Sprachen schnelle Veränderungen auf den Markt, und JavaScript ist definitiv eine davon.

    Es war schon immer in der Liste der gängigen Programmiersprachen. Gemäß StackOverflowJavaScript ist die beliebteste und am häufigsten verwendete Programmiersprache.

    Weißt du es?

    Fast 70% der professionellen Entwickler, die auf die in JavaScript codierte Umfrage zum Stapelüberlauf 2020 geantwortet haben.

    Schauen wir uns nun einige der beliebtesten JavaScript-Frameworks zum Erstellen von APIs und Microservices an.

    Hapi

    Hapi ist ein einfaches, sicheres und Open-Source-Javascript-Framework. Es wird verwendet, um leistungsstarke, skalierbare Anwendungen mit minimalem Overhead zu erstellen. Es wurde ursprünglich für die Black Friday-Skala von Walmart entwickelt, aber jetzt ist Hapi weiterhin die bewährte Wahl für Backend-Anforderungen für Unternehmen.

    Unternehmen mögen Beats Musik, Vrbo, Conde Nast, AuthO, Brave, und viele mehr nutzen und sind zufrieden mit Hapi.

    Kostenloser Support ist immer auf der verfügbar GitHub. Um jedoch eine schnellere Antwort zu erhalten, treten Sie dem bei Schlafkanal - Hier hängen viele Community-Mitglieder ab und helfen sich gegenseitig.

    Restifizieren

    Restifizieren ist für den Bau optimiert semantisch korrekt RESTful-Webdienste, die für den produktiven Einsatz in großem Maßstab bereit sind. Wenn es semantisch korrekt sagt, bedeutet es der Spezifikation treu bleiben, Dies war eines der wichtigsten Ziele des Restify-Projektteams.

    Es optimiert die Selbstbeobachtung und Leistung und wird in den meisten der größten Node.js-Bereitstellungen verwendet. Eine der coolsten Funktionen von Restify ist, dass automatisch DTrace-Sonden für Sie erstellt werden, wenn Sie eine neue Route / einen neuen Handler hinzufügen. In Restify werden tatsächlich drei separate Clients ausgeliefert:

    • JsonClient: sendet und erwartet application / json
    • StringClient: sendet die URL-codierte Anfrage und erwartet Text / Plain
    • HTTP-Client: Thin Wrapper über die HTTP / HTTPS-Bibliotheken des Knotens

    Die ausführliche Entwicklungsanleitung finden Sie hier hier.

    Restify wird von einigen der angesehensten Unternehmen der Branche wie Netflix, Joyent und Pinterest verwendet, um einige der größten Bereitstellungen durchzuführen.

    ExpressJS

    ExpressJs ist ein Projekt der OpenJS Foundation.

    Aufgrund seiner Robustheit basieren viele beliebte Frameworks (wie Feathers, Kraken, Sails, Kites, NestJs usw.) auf Express. Es handelt sich um ein minimales und flexibles Node.js-basiertes Webanwendungsframework, das eine Reihe robuster Funktionen für Web- und Mobilanwendungen bietet.

    Da es eine Schicht darüber bietet node.jskönnen wir effizient auf die zugreifen JavaScript-Funktionen. Es eignet sich zum Schreiben von Anwendungen mit Server-Rendering, da es viele Template-Engines (wie Mops und Lenker) unterstützt. Für die API-Entwicklung enthält es Zwischenhandler und viele HTTP-Dienst- / Dienstprogrammmethoden.

    SailsJS

    SailsJS ist ein MVC-Framework, das unter der Firma Sails mit Hauptsitz in Austin, TX, erstellt wurde. Es wurde von entwickelt Mike McNeil um sein Team beim Aufbau skalierbarer Node.js-Projekte für Startup- und Unternehmenskunden zu unterstützen. Seit seiner Veröffentlichung im Jahr 2012 hat sich Sails zu einem der weltweit am häufigsten verwendeten Webanwendungs-Frameworks entwickelt.

    Es ist ein Leichtgewicht, das auf Express sitzt. Es ist mit jedem Frontend kompatibel: Angular, React, iOS, Android. Sails behauptet, über sein leistungsstarkes ORM namens Waterline in jede Datenbank integriert zu werden. Es verwendet Express zur Verarbeitung von HTTP-Anforderungen und wraps socket.io zur Verwaltung von WebSockets.

    Actionheld

    Actionheld ist ein Multi-Transport-API-Server mit integrierten Clusterfunktionen und verzögerten Aufgaben. Das Ziel von Actionhero ist es, ein benutzerfreundliches Toolkit für die Erstellung zu erstellen wiederverwendbar & skalierbaren APIs für HTTP, WebSockets und mehr. Es wurde von Grund auf neu entwickelt und enthält alle Funktionen, die wir von einem modernen API-Framework erwarten.

    Die Art der Arbeitslast, mit der sich Actionhero auszeichnet, umfasst das Erstellen und Konsumieren von APIs, das Speichern und Abrufen von Daten aus Datenbanken, das Ändern von Dateien und ähnliche Jobs.

    Actionhero hat 5 Schlüsselkonzepte, aus denen jede Anwendung besteht: AktionenAufträgeInitialisiererChatund Server.

    LoopBack

    LoopBack ist ein hoch erweiterbares Open-Source-Framework für Node.js und TypeScript, das auf Express basiert. Es ermöglicht uns, schnell APIs und Microservices zu erstellen, die aus Backend-Systemen wie Datenbanken und SOAP- oder REST-Services bestehen.

    Es handelt sich um ein neues, verbessertes Programmiermodell mit Dependency Injection und neuen Konzepten wie Komponenten, Mixins, Repositorys usw., die dieses Modell am erweiterbarsten machen. Mit LoopBack können wir mithilfe von OpenAPI-to-GraphQL eine GraphQL-Schnittstelle für jede REST-API erstellen.

    Wir können in kürzester Zeit mit Loopback beginnen, indem wir nur den Schritten folgen Erste Schritte. Ihre Dokumentation ist anhand von vier Quadranten kategorisiert.

    • Lernorientiert: Tutorials bieten praktische Lektionen, in denen Benutzer das Framework lernen können.
    • Problemorientiert: Anleitungen enthalten Rezepte zur Lösung bestimmter Ziele, die beim Erstellen eines LoopBack-Projekts auftreten können.
    • Verständnisorientiert: Auf den Konzeptseiten werden Architekturkonzepte, eine breitere Sicht und ein tieferes Wissen über das Framework erläutert.
    • Informationsorientiert: Referenzhandbücher enthalten eine technische Beschreibung der Maschine und ihrer Verwendung.

    Unternehmen wie GoDaddy, Symantec, Sapient, Fundrails, ShoppinPal und WhiteBoard nutzen LoopBack in großem Umfang.

    Federn

    Gefieder ist eine Reihe von Tools und ein Architekturmuster, mit denen sich skalierbare REST-APIs und Echtzeitanwendungen einfach erstellen lassen. Wir können Prototypen in Minuten und produktionsbereite Apps in Tagen erstellen. Federn können mit jeder Back-End-Technologie interagieren, über ein Dutzend Datenbanken unterstützen und mit jeder Front-End-Technologie wie React, VueJS, Angular, React Native, Android oder iOS arbeiten.

    Befolgen Sie die Anweisungen, um mit der ersten Feathers-Anwendung zu beginnen Schnellstartanleitung. Wenn Sie nicht weiterkommen oder eine Frage haben, können Sie Hilfe auf den verschiedenen Kanälen erhalten, einschließlich Slack, GitHub, StackOverflow, Telegramm usw.

    KoaJS

    Das Team hinter Express entwirft Koa. Es soll eine kleinere, ausdrucksstärkere und robustere Grundlage für Webanwendungen und APIs sein. Koa bündelt keine Middleware in seinem Kern und bietet eine elegante Reihe von Methoden, mit denen Server schnell und unterhaltsam geschrieben werden können.

    Durch die Nutzung asynchroner Funktionen können wir mit Koa Rückrufe vermeiden und die Fehlerbehandlung erheblich verbessern. Starten Sie es in drei Befehlen wie unten.

    $ nvm install 7
    $ npm i koa
    $ node my-koa-app.js

    AdonisJS

    AdonisJs ist ein Node.js MVC-Framework, das von a verwaltet und unterstützt wird lebendige Gemeinschaft. Es bietet ein stabiles Ökosystem zum Schreiben von serverseitigen Anwendungen, sodass Sie sich auf die Geschäftsanforderungen konzentrieren können, um zu entscheiden, welches Paket ausgewählt werden soll oder nicht. Es ist wie jedes andere npm-Modul mit etwas Code oben, um reibungslos mit AdonisJs Anwendungen zu arbeiten.

    Es gibt keine festen Voraussetzungen für die Verwendung von AdonisJs, aber ein herkömmliches Verständnis von JavaScript, Async-Programmierung und Node.js ist sehr hilfreich. Lesen Sie unbedingt die Installation -Guide.

    Im Falle von Fragen oder Fehlern kann man über die folgenden Kanäle mit dem AdonisJs-Team kommunizieren.

    • Github: Fehler teilen oder Feature-Anfragen erstellen
    • Forum: Stellen Sie Fragen, präsentieren Sie Ihr Projekt und nehmen Sie am Leben des AdonisJs Framework teil.
    • Discord: Treten Sie dem Discord-Server bei, um sofort mit anderen Mitgliedern der Community zu chatten.
    • Twitter: Bleiben Sie mit den täglichen Fortschritten in Verbindung und informieren Sie sich über großartige Projekte der Community.

    GesamtJS

    Total.js Die Plattform ist eine Sammlung von Bibliotheken, Paketen, UI-Komponenten, Vorgehensweisen und vollständigen Produkten, die in JavaScript geschrieben wurden. Die Basis der Plattform ist ein serverseitiges Framework namens Total.js Framework und eine clientseitige Bibliothek namens jComponent.

    Beide Teile wurden von Grund auf neu geschrieben.

    In den meisten Fällen müssen wir keine Abhängigkeiten mit der Total.js-Plattform verwenden, da diese alles enthält, was wir für die Entwicklung benötigen.

    Die gesamte Total.js-Plattform - Produkte, Bibliotheken, Module, Pakete und UI-Komponenten - ist Open Source unter MIT-Lizenz.

    Molekül

    Molekül ist ein schnelles, modernes und leistungsstarkes Microservices-Framework für Node.js. Es bietet viele Funktionen zum Erstellen und Verwalten Ihrer Microservices, z.

    • Promise-basierte Lösung (async / await kompatibel)
    • Anfrage-Antwort-Konzept
    • Unterstützen Sie die ereignisgesteuerte Architektur mit Balancing
    • integrierte Serviceregistrierung und dynamische Serviceerkennung
    • Anforderungen und Ereignisse mit Lastenausgleich (Round-Robin, zufällig, CPU-Auslastung, Latenz, Sharding)
    • Fehlertoleranzfunktionen (Leistungsschalter, Schott, Wiederholung, Zeitüberschreitung, Rückfall)
    • integrierte Caching-Lösung (Memory, MemoryLRU, Redis)
    • steckbare Logger (Konsole, Datei, Pino, Bunyan, Winston, Debug, Datadog, Log4js)
    • Transporter (TCP, NATS, MQTT, Redis, NATS-Streaming, Kafka, AMQP 0.9, AMQP 1.0)
    • Serializer (JSON, Avro, MsgPack, Protokollpuffer, Thrift)
    • Master-freie Architektur, alle Knoten sind gleich
    • integrierte Metrikfunktion mit Reportern (Konsole, CSV, Datadog, Ereignis, Prometheus, StatsD)
    • Rückverfolgungsfunktion mit Exporteuren (Konsole, Datadog, Ereignis, Jaeger, Zipkin)

    Fasten

    Beginnen Sie Ihre Reise mit Fastify.

    Fasten konzentriert sich stark darauf, die beste Entwicklererfahrung mit dem geringsten Overhead und einer leistungsstarken Plugin-Architektur zu bieten. Hapi und Express inspirieren es und es ist eines der schnellsten Web-Frameworks der Branche.

    Beginnen Sie Ihre Reise mit Fastify.

    npm install fastify

    Es bietet eine hohe Leistung und hängt von der Codekomplexität ab. Es kann bis zu 30 Anfragen pro Sekunde bedienen. Es ist über seine Hooks, Plugins und Dekoratoren vollständig erweiterbar.

    Auch wenn dies nicht obligatorisch ist, empfiehlt Fastify die Verwendung JSON-Schema Um Ihre Routen zu validieren und Ihre Ausgaben zu serialisieren, kompiliert Fastify das Schema intern in einer leistungsstarken Funktion.

    Fazit

    Das Erstellen einer API kann eine Herausforderung sein, aber mit dem richtigen Framework ist das Leben viel einfacher. Entdecken Sie das oben aufgeführte Framework für Ihre nächste API und Microservices und wählen Sie die am besten geeignete. Vergessen Sie nicht, sobald Ihre API fertig ist Monitor Them.