สิ่งสำคัญของฉันตอนนี้คือการใช้ประโยชน์จากประสบการณ์การพัฒนาเว็บเพื่อสร้างแอปโดยใช้ประสบการณ์นั้นในวันนี้ ไม่ใช่การเรียนรู้เฟรมเวิร์กใหม่เช่น Flutter หรือ React Native

ในวิดีโอใหม่นี้ ฉันจะแสดงทีละขั้นตอนวิธีการสร้างแอปแชทแบบเรียลไทม์ที่จะทำงานในเว็บเบราว์เซอร์ อุปกรณ์ IOS และ Android โดยใช้ Vue Ionic Framework และ Ionic Capacitor

ฉันใช้เวลาอธิบายทุกอย่างตั้งแต่การตั้งค่าโปรเจ็กต์ใน Appwrite Cloud การสร้างอินเทอร์เฟซผู้ใช้โดยใช้ Ionic Framework Vue Components และสุดท้ายคือปรับใช้แอปพลิเคชันโดยใช้ Ionic Capacitor ไม่เพียงแต่ใน IOS แต่ในอุปกรณ์ Android

นี่เป็นวิดีโอขนาดยาว แต่อัดแน่นไปด้วยข้อมูลมากมายเพื่อให้คุณเริ่มต้นใช้งาน Appwrite Cloud และ Vue JS เพื่อสร้างแอปพลิเคชันมือถือที่ยอดเยี่ยมโดยใช้ประโยชน์จากประสบการณ์การพัฒนาเว็บที่คุณมีอยู่

ฟังก์ชันฐานข้อมูลเรียลไทม์ที่ Appwrite
Appwrite เป็นแพลตฟอร์มแบ็กเอนด์สำหรับการพัฒนาแอปพลิเคชันบนเว็บ อุปกรณ์เคลื่อนที่ และ Flutter สร้างขึ้นด้วยชุมชนโอเพ่นซอร์สและปรับให้เหมาะสมสำหรับประสบการณ์นักพัฒนาในภาษาการเขียนโค้ดที่คุณชื่นชอบ

เขียนเพลย์ลิสต์ — https://youtube.com/playlist?list=PL2PY2-9rsgl3K7oyzl8zQtYCc3nxbSper

การใช้งานบนมือถือและฟังก์ชันการทำงานที่จัดทำโดย Ionic Capacitor
Capacitor เป็นรันไทม์เนทิฟโอเพ่นซอร์สสำหรับการสร้างแอปเนทิฟบนเว็บ สร้าง iOS, Android และ Progressive Web App ข้ามแพลตฟอร์มด้วย JavaScript, HTML และ CSS

วีดีโอ

จุดเด่นของโค้ด

การเข้าสู่ระบบ

try {
  const session = await appwrite.account.createEmailSession(
    data?.email,
    data?.password
  );

  if (session) {
    userId.value = session.$id;
    const user = await appwrite.account.get();
    userInfo.value = user;

   // load chats
    loadData();
  }
} catch (error) {
  alert((error as Error).message);
}

การสร้างบัญชีผู้ใช้

try {
  const user = await appwrite.account.create(
    appwrite.ID.unique(),
    data?.email,
    data?.password,
    data?.displayName
  );
 userInfo.value = user;

if (user) {
    // have to login after creating the user
    const session = await appwrite.account.createEmailSession(
      data?.email,
      data?.password
    );
    userId.value = session.$id;

 // load chats
    loadData();
  }
} catch (error) {
  alert((error as Error).message);
}

การสร้างข้อความแชทใหม่

await appwrite.databases.createDocument(
  import.meta.env.VITE_APPWRITE_DB,
  import.meta.env.VITE_APPWRITE_COLLECTION,
  appwrite.ID.unique(),
  {
    message: messageText.value,
    owner: userId.value,
    displayName: userInfo.value.name,
  }
);

กำลังโหลดข้อความแชทเมื่อเริ่มต้น

const { documents } = await appwrite.databases.listDocuments(
  import.meta.env.VITE_APPWRITE_DB,
  import.meta.env.VITE_APPWRITE_COLLECTION,
  [Query.orderAsc("$updatedAt")]
);

กำลังฟังข้อความแชทใหม่

appwrite.client.subscribe(
    `databases.${import.meta.env.VITE_APPWRITE_DB}.collections.${
      import.meta.env.VITE_APPWRITE_COLLECTION
    }.documents`,
    ({ payload }) => {
      let prev = messages.value;
      messages.value = [...prev, payload];

 setTimeout(() => {
        contentRef.value?.$el.scrollToBottom(500);
      }, 1000);
    }
  );

ลิงค์

เผยแพร่ครั้งแรกที่ https://dev.to เมื่อวันที่ 28 มิถุนายน 2023