DEV Community

Cover image for Wie man eine Next.js-Echtzeit-Chat-Anwendung erstellt
PubNub Developer Relations for PubNub [Deutsch]

Posted on

Wie man eine Next.js-Echtzeit-Chat-Anwendung erstellt

Willkommen zu unserem Tutorial über die Erstellung einer Echtzeit-Chat-Anwendung mit Next.js und PubNub. Dieser Leitfaden zeigt Ihnen, wie Sie eine hochgradig interaktive Chat-Anwendung mit einer nahtlosen Benutzererfahrung erstellen können. Durch die Nutzung der Leistungsfähigkeit von Next.js, einem beliebten Framework, das auf Node.jsaufbaut, zusammen mit den Echtzeit-Fähigkeiten von PubNub, werden Sie in der Lage sein, auf einfache Weise eine vollwertige Chat-App zu entwickeln. Fangen wir an!

Warum Next.js für die Entwicklung von Chat-Apps verwenden?

Next.js ist eine Open-Sourcerobustes JavaScript-Framework, das auf React basiert und die Entwicklung von server-gerenderten React-Anwendungen vereinfacht. Es ist ideal für die Erstellung von Chat-Anwendungen und bietet mehrere Vorteile, die den Entwicklungsprozess rationalisieren.

Vorteile der Verwendung von Next.js für Echtzeit-Chat

  1. Server-seitiges Rendering: Next.js unterstützt von Haus aus serverseitiges Rendering (SSR) und verbessert damit die Performance und SEO Ihrer Chat-Applikation. SSR ermöglicht ein schnelles und effizientes Laden Ihrer Anwendung, auch bei langsamen Verbindungen.

  2. Automatisches Code-Splitting: Next.js optimiert Ihre Chat-App automatisch, indem es den Code in kleinere Teile aufteilt, so dass die Benutzer nur die notwendigen Teile der Anwendung laden. Dies sorgt für ein schnelleres und reaktionsschnelleres Erlebnis.

  3. Integrierte Entwicklungsumgebung: Mit Next.js können Sie Ihre bevorzugten Tools wie CSS-in-JS, TypeScript oder GraphQL verwenden. Diese Flexibilität ermöglicht es Ihnen, eine Chat-App zu erstellen, die Ihren Bedürfnissen am besten entspricht.

  4. Aktualisierungen in Echtzeit: In Verbindung mit PubNub ermöglicht Next.js eine Echtzeit-Chat-Funktionalität mit geringer Latenz, die es den Nutzern ermöglicht, Chat-Nachrichten sofort zu senden und zu empfangen. PubNub's Chat-API erleichtert die Implementierung von Funktionen wie Benachrichtigungen, Nachrichtenverlauf und Präsenz.

  5. Einfache Bereitstellung: Mit minimaler Konfiguration können Next.js-Anwendungen auf verschiedenen Plattformen wie AWS, Vercel oder Netlify bereitgestellt werden. Diese einfache Bereitstellung ermöglicht es Ihnen, sich auf die Entwicklung Ihrer Chat-App zu konzentrieren, anstatt sich um die Infrastruktur zu kümmern.

Wenn Sie Next.js für Ihre Chat-App verwenden, profitieren Sie von seinen leistungsstarken Funktionen und der nahtlosen Integration mit PubNub. Zusammen bilden sie eine hervorragende Grundlage für den Aufbau einer Echtzeit-Chat-Anwendung, die sowohl performant als auch skalierbar ist.

Wie man eine Next.js Echtzeit-Chat-Anwendung erstellt

Richten Sie das Next.js Projekt ein: Zuerst müssen Sie eine neue Next.js-Anwendung mit create-next-app erstellen.

PubNub SDK installieren: Um die Echtzeit-Funktionalität von PubNub in Ihre Chat-Anwendung zu integrieren, müssen Sie das PubNub JavaScript SDK mit npm installieren. Führen Sie den folgenden Befehl aus, um es zu Ihrem Projekt hinzuzufügen:

npm install pubnub
Enter fullscreen mode Exit fullscreen mode

PubNub konfigurieren: Richten Sie als nächstes Ihr PubNub-Konto ein, um Ihre API-Schlüssel zu erhalten. Sie können sich hier für ein kostenloses Konto anmelden. Sobald Sie Ihre API-Schlüssel haben, speichern Sie sie in Ihrer .env-Datei:

PUBNUB_PUBLISH_KEY=your-publish-key
PUBNUB_SUBSCRIBE_KEY=your-subscribe-key
Enter fullscreen mode Exit fullscreen mode

Initialisieren Sie das PubNub-Objekt: Nun werden wir das PubNub-Objekt initialisieren, das uns später das Senden und Empfangen von Nachrichten über verschiedene Kanäle hinweg ermöglichen wird.

// pubnub.js

import PubNub from 'pubnub';

const pubnub = new PubNub({
  publishKey: process.env.NEXT_PUBLIC_PUBNUB_PUBLISH_KEY,
  subscribeKey: process.env.NEXT_PUBLIC_PUBNUB_SUBSCRIBE_KEY,
  uuid: "yourUniqueUserId" // Unique identifier for each user
});

export default pubnub;
Enter fullscreen mode Exit fullscreen mode

Chat-Komponenten erstellen: Nun ist es an der Zeit, die Frontend-Komponenten für Ihre Chat-App zu erstellen. Mithilfe von React Hooks und CSS werden Sie Komponenten für die Chat-Eingabe und die Nachrichtenliste erstellen. Die useState- und useEffect-Hooks werden die Zustandsverwaltung und die Seiteneffekte Ihrer Komponenten verwalten.

Chat-Eingabe-Komponente: Für Benutzer zum Eingeben und Senden von Nachrichten.

// ChatInput.js

import React, { useState } from 'react';
import pubnub from './pubnub';

const ChatInput = () => {
  const [message, setMessage] = useState('');

  const sendMessage = () => {
    if (message) {
      pubnub.publish({
        channel: 'chat-channel',
        message: { sender: pubnub.getUUID(), content: message }
      });
      setMessage('');
    }
  };

  return (
    <div>
      <input
        type="text"
        value={message}
        onChange={(e) => setMessage(e.target.value)}
        placeholder="Type your message here"
      />
      <button onClick={sendMessage}>Send</button>
    </div>
  );
};

export default ChatInput;
Enter fullscreen mode Exit fullscreen mode

Chat-Nachrichten-Komponente: Zur Anzeige eingehender Nachrichten.

// ChatMessages.js

import React, { useEffect, useState } from 'react';
import pubnub from './pubnub';

const ChatMessages = () => {
  const [messages, setMessages] = useState([]);

  useEffect(() => {
    pubnub.subscribe({ channels: ['chat-channel'] });
    pubnub.addListener({
      message: (event) => {
        setMessages((msgs) => [...msgs, event.message]);
      }
    });

    return () => {
      pubnub.unsubscribeAll();
    };
  }, []);

  return (
    <div>
      {messages.map((msg, index) => (
        <div key={index}>{msg.content}</div>
      ))}
    </div>
  );
};

export default ChatMessages;
Enter fullscreen mode Exit fullscreen mode

Implementierung von Echtzeit-Chat-Funktionalität: Mit diesen Komponenten haben Sie bereits die Echtzeit-Chat-Funktionalität von PubNub integriert, indem Sie das PubNub SDK zum Senden von Nachrichten und zum Abonnieren von Kanälen verwenden.

Implementieren Sie die Authentifizierung (auth): Um Ihre Chat-App zu sichern, müssen Sie eine Benutzerauthentifizierung implementieren. Sie können verschiedene Authentifizierungsmethoden verwenden, z. B. JWT-Tokens oder OAuth-Anbieter wie Google oder Facebook. Denken Sie daran, Ihre serverseitigen Endpunkte und clientseitigen Komponenten mit geeigneten Authentifizierungsprüfungen zu sichern.

Gestalten Sie*die Chat-App*: Schließlich können Sie das Aussehen Ihrer Chat-App mithilfe von CSS oder einem anderen bevorzugten Styling-Ansatz anpassen. Sie können auch Komponentenbibliotheken wie Material-UI oder Bootstrap verwenden, um diesen Prozess zu beschleunigen.

Wenn diese Schritte abgeschlossen sind, haben Sie eine voll funktionsfähige Echtzeit-Chat-Anwendung, die auf Next.js basiert und von PubNub betrieben wird. Weitere Ressourcen, Quellcodes und Beispiele finden Sie in unserer Dokumentation die Ihnen helfen, weitere Funktionen hinzuzufügen und Ihre Chat-Anwendung zu verbessern.

Next.js Chat App Beispiele

Hier finden Sie einige Beispiele für Echtzeit-Chat-Apps, die mit Next.js und PubNub erstellt wurden, um Sie zu inspirieren. Diese Beispiele zeigen die Vielseitigkeit und Skalierbarkeit von Next.js in Kombination mit PubNub's Echtzeit Messaging Fähigkeiten.

  1. Gruppen-Chat-Anwendung: Eine Gruppen-Chat-Anwendung, bei der die Benutzer verschiedenen Chat-Räumen beitreten, Nachrichten senden und sehen können, wer online ist. Ein Tutorial, wie man eine ähnliche Anwendung mit Node.js und PubNub erstellt, finden Sie hier.

  2. Web-basierte Chat-Anwendung: Eine webbasierte Chat-Anwendung, die es Benutzern ermöglicht, Nachrichten zu senden und Dateien mit anderen zu teilen. Diese Anwendung demonstriert die Integration von Echtzeit-Chatfunktionen in eine Webanwendung mit PubNub. Sehen Sie sich das Tutorial hier.

  3. Chatbot-Anwendung: Eine Chat-App, die einen KI-gesteuerten Chatbot wie GPT-3 von OpenAI integriert, um Benutzeranfragen zu beantworten und Hilfe zu leisten. Ein Tutorial zur Erstellung einer Chatbot-App mit GPT-3 und PubNub finden Sie hier.

  4. Kunden-Support-Chat-App: Eine Kunden-Support-Chat-Anwendung, die Nutzer in Echtzeit mit Support-Agenten verbindet und es ihnen ermöglicht, Probleme schnell und effizient zu lösen. Diese App zeigt die Echtzeit-Messaging- und Präsenzfunktionen von PubNub in einem Kundensupport-Kontext.

Diese Beispiele dienen als Ausgangspunkt für Ihre eigene Next.js Chat-Anwendung. Mit Next.js und PubNub können Sie eine Vielzahl von Chat-Applikationen erstellen, die auf unterschiedliche Anwendungsfälle zugeschnitten sind - von einfachen Messaging-Plattformen bis hin zu hochentwickelten KI-gesteuerten Chatbots.

Erste Schritte mit PubNub für Ihre Chat-App

Gehen Sie folgendermaßen vor, um PubNub für Ihre Echtzeit-Chat-Anwendung zu nutzen:

  1. Registrieren Sie sich für ein PubNub-Konto: Melden Sie sich zunächst für ein kostenloses PubNub-Konto um Ihre API-Schlüssel zu erhalten. Die API-Schlüssel sind unerlässlich für die Integration der Echtzeit-Messaging-Dienste von PubNub in Ihre Chat-Anwendung.

  2. Erforschen Sie die PubNub-Dokumentation: Machen Sie sich vertraut mit der Dokumentation von PubNub um die verschiedenen Funktionen, Dienste und SDKs, die Ihnen zur Verfügung stehen, besser zu verstehen. Die Dokumentation bietet umfassende Anleitungen und Tutorials, die Ihnen helfen, PubNub erfolgreich in Ihre Chat-App zu integrieren.

  3. Wählen Sie ein PubNub-SDK: PubNub bietet SDKs für verschiedene Sprachen und Plattformen, darunter JavaScript, Node.js, React, Angular und viele mehr. Für Ihre Next.js-Chat-App werden Sie das PubNub JavaScript SDK.

  4. Integrieren Sie PubNub in Ihre Chat-Anwendung: Sobald Sie das passende SDK ausgewählt haben, folgen Sie der Schnellstart-Anleitung um PubNub in Ihre Chat-Anwendung zu integrieren. Sie müssen die PubNub-Instanz mit Ihren API-Schlüsseln initialisieren und dann die erforderlichen Funktionen implementieren, z. B. das Senden von Nachrichten, das Abonnieren von Kanälen und die Verwaltung der Benutzerpräsenz.

  5. Testen Sie Ihre Chat-Anwendung: Testen Sie Ihre Chat-Anwendung während der Entwicklung gründlich, um sicherzustellen, dass die Echtzeit-Nachrichtenfunktion wie erwartet funktioniert.

  6. Stellen Sie Ihre Chat-Anwendung bereit: Sobald Sie Ihre Chat-Applikation erstellt und getestet haben, stellen Sie sie auf Ihrer bevorzugten Hosting-Plattform bereit. Next.js-Anwendungen können auf verschiedenen Plattformen wie Vercel, Netlify oder AWS bereitgestellt werden.

Wenn Sie diese Schritte befolgen, sind Sie auf dem besten Weg, eine robuste Echtzeit-Chat-Anwendung auf Basis von Next.js und PubNub zu erstellen. Siehe auch die PubNub-Dokumente oder github für zusätzliche Anleitungen und Unterstützung während Ihrer Entwicklung.

Wie kann PubNub Ihnen helfen?

Dieser Artikel wurde ursprünglich auf PubNub.com veröffentlicht.

Unsere Plattform hilft Entwicklern bei der Erstellung, Bereitstellung und Verwaltung von Echtzeit-Interaktivität für Webanwendungen, mobile Anwendungen und IoT-Geräte.

Die Grundlage unserer Plattform ist das größte und am besten skalierbare Echtzeit-Edge-Messaging-Netzwerk der Branche. Mit über 15 Points-of-Presence weltweit, die 800 Millionen monatlich aktive Nutzer unterstützen, und einer Zuverlässigkeit von 99,999 % müssen Sie sich keine Sorgen über Ausfälle, Gleichzeitigkeitsgrenzen oder Latenzprobleme aufgrund von Verkehrsspitzen machen.

PubNub erleben

Sehen Sie sich die Live Tour an, um in weniger als 5 Minuten die grundlegenden Konzepte hinter jeder PubNub-gestützten App zu verstehen

Einrichten

Melden Sie sich für einen PubNub-Account an und erhalten Sie sofort kostenlosen Zugang zu den PubNub-Schlüsseln

Beginnen Sie

Mit den PubNub-Dokumenten können Sie sofort loslegen, unabhängig von Ihrem Anwendungsfall oder SDK

Top comments (0)