איך לבנות בקאנד ל-Vue.js? מדריך צעד אחר צעד

מאמר זה יספק מדריך מקיף כיצד לבנות Backend עבור Vue.js. הוא יספק סקירה על Vue.js, יתרונותיו והגבלותיו, שיטות פריסה זמינות, ומדריך שלב אחר שלב לבניית ואירוח יישום Vue.js.

Vue הוא מסגרת JavaScript לבניית ממשקי משתמש (UI) גמישים וביצועים גבוהים וכן יישומי עמוד יחיד (SPA).

Vue ידוע בטבענו ההתקדמי, מה שאומר שניתן לאמץ אותו בהדרגה בפרויקטים קיימים. Vue מציע גם תחביר הכרזתי, המאפשר לך לתאר את מצב ה-UI הרצוי ולהשאיר את הלוגיקה והעדכונים הבסיסיים לטיפול Vue.

בנוסף לטבעו ההתקדמי ולתחביר ההכרזתי, Vue משתמש ב-Virtual DOM, שהוא ייצוג קל משקל של ה-DOM האמיתי. זה מסייע לו לעבד ולעדכן את ממשק המשתמש ביעילות.

בעת פיתוח יישומי Vue, שילוב של פלטפורמת Backend as a Service (BaaS) כמו Back4app יכול להציע יתרונות רבים, כגון אחסון נתונים ואימות משתמש, שיכולים לפשט את תהליך הפיתוח ולחסוך זמן רב. במאמר זה תכירו את Vue ותלמדו כיצד לבנות יישום Vue תוך שימוש ב-Back4app.

יתרונות Vue

Vue ממשיך לצבור פופולריות בזכות יתרונותיו הרבים, כאשר חלק מהם כוללים את הדברים הבאים:

עקומת לימוד קלה

ל-Vue יש עקומת לימוד יחסית קלה, מה שהופך אותו למתאים למפתחים במגוון רמות מיומנות. התחביר של התבניות שלו מבוסס על HTML מוכר, מה שמקל על מפתחים להבין את היסודות ולעבוד עם Vue בצורה חלקה ומהירה.

עם עיצוב API ברור ועקבי, Vue מפשט את תהליך בניית היישומים על ידי אספקת דפוסים לוגיים ואינטואיטיביים ליצירת רכיבים, שימוש ב-directives וניצול hooks של מחזור החיים.

כדי להקל עוד יותר על תהליך הלימוד, Vue מציע תיעוד מקיף המכיל הסברים כתובים היטב ודוגמאות מעשיות. יתר על כן, קהילת Vue התומכת מספקת סיוע, שיתוף פעולה ושפע של משאבי למידה דרך פורומים וקהילות מקוונות.

מסגרת קלילה

ל-Vue יש גודל קובץ קטן, כאשר ספריית הליבה היא בגודל של כ-20KB בלבד כשהיא ממוזערת (minified) ודחוסה (gzipped). הגודל הקטן של Vue מוביל לזמני טעינה התחלתיים מהירים יותר, מה שמשפר את הביצועים ואת חווית המשתמש.

בנוסף, בזכות העיצוב המודולרי שלו, ניתן לייבא באופן סלקטיבי רק את הפיצ’רים הדרושים, מה שמפחית עוד יותר את גודל הקובץ ומייעל את הביצועים.

ארכיטקטורה מבוססת רכיבים

ב-Vue, יישומים נבנים על ידי יצירת רכיבים (components) ניתנים לשימוש חוזר ועצמאיים. רכיבים ב-Vue הם יחידות עצמאיות המכילות HTML, CSS ולוגיקת JavaScript, מה שהופך אותם לנוחים לניהול ולהבנה. ניתן לעשות בהם שימוש חוזר ברחבי היישום, מה שחוסך זמן ומאמץ בפיתוח.

ארכיטקטורה זו מבוססת רכיבים מאפשרת לך ליצור רכיב פעם אחת ולהשתמש בו מחדש בכל רחבי היישום או בפרויקטים מרובים. שימוש חוזר זה מצמצם קוד מיותר ומקדם מודולריות בקוד.

כל רכיב ניתן לפיתוח, לבדיקה ולעדכון באופן עצמאי מבלי להשפיע על חלקים אחרים ביישום. זה, בתורו, מפשט את תהליך איתור התקלות, שינויי קוד והוספת תכונות חדשות ליישום.

מערכת נתונים ריאקטיבית

נתונים ריאקטיביים מתייחסים לנתונים המשתנים אוטומטית כאשר הערך הבסיסי שלהם משתנה. Vue משיג ריאקטיביות על ידי עטיפת אובייקטים ריאקטיביים ב-Proxy. זה מאפשר ל-Vue לעקוב אחר תכונות שהן בשימוש.

כאשר תכונה כלשהי ניגשת אליה, Vue מוסיף אותה לרשימת התלויות (dependencies). כאשר ערך התלות משתנה, Vue מעדכן אוטומטית את התצוגה.

מערכת הנתונים הריאקטיבית של Vue מועילה מכיוון שאין צורך לעדכן את התצוגה באופן ידני כאשר הנתונים משתנים, Vue מטפל בכך אוטומטית. זה מקל על כתיבת קוד הכרזתי ומאפשר לך להתמקד בתיאור התוצאה הרצויה במקום לשלוט בשלבים הדרושים להשגת התוצאה.

מגבלות Vue

למרות ש-Vue מציע יתרונות רבים, חשוב לקחת בחשבון גם את המגבלות בפיתוח יישומי ווב עם Vue. חלק מהמגבלות הללו כוללות את הדברים הבאים:

מערכת אקולוגית קטנה יותר

כאשר משווים למסגרות Frontend אחרות כמו Angular ו-React, מערכת האקולוגית של Vue קטנה יותר. המשמעות היא ש-Vue עשוי לא להכיל ספריות וכלים רבים כמו Angular ו-React.

מערכת אקולוגית קטנה זו מציבה את Vue במצב מאתגר כאשר מפתחים יישומים גדולים ומורכבים הדורשים ספריות וכלים נרחבים. זה מוביל לעיתים לכך שהמפתחים נאלצים לבנות פתרונות מותאמים אישית לצרכים ספציפיים, מכיוון שהפתרונות הקיימים מוגבלים או אינם נתמכים באופן נרחב.

תמיכה תאגידית מוגבלת

בניגוד ל-React ו-Angular הנתמכים בהתאמה על ידי Google ו-Facebook, ל-Vue יש תמיכה תאגידית מוגבלת. בעוד ש-Angular ו-React נתמכים על ידי חברות גדולות, Vue הוא פרויקט קוד פתוח עם צוות קטן של מתחזים.

תמיכה תאגידית מוגבלת זו עשויה להוות חיסרון בכל הנוגע לפיתוח תכונות חדשות, תיקוני באגים ועדכוני אבטחה. בנוסף, הדבר מעורר חשש בקרב ארגונים המעדיפים מסגרות נתמכות היטב ויציבות לפרויקטים ארוכי טווח.

בניית Backend ליישום Vue

Backend של יישום Vue אחראי לניהול אחסון נתונים, אימות משתמשים, אינטגרציות API ומשימות לוגיקת צד השרת. הוא משמש כבסיס לפונקציונליות היישום ומאפשר תקשורת בין ה-frontend לבין שירותים או מסדי נתונים חיצוניים.

בעת בניית ה-Backend ליישום Vue, ישנם מספר אפשרויות זמינות לשימוש, כולל:

טכנולוגיות צד-שרת מסורתיות

מסגרות backend מסורתיות כמו Laravel (PHP), Ruby on Rails, Node.js ו-ASP.NET (C#) מסגרות backend מציעות פתרונות מקיפים לבניית Backend עבור יישום Vue.

למסגרות אלו יש נוכחות מבוססת ומוכרת, עם קהילות גדולות ותיעוד מקיף, מה שמבטיח יציבות ושיטות עבודה מוכחות לפיתוח יישומים סקלאביליים ובטוחים.

הן מספקות רכיבים מוכנים מראש, כלים ליצירת קוד, וכלי scaffolding המזרזים את תהליך הפיתוח על ידי טיפול במשימות backend נפוצות, מה שמאפשר לך להתמקד בבניית תכונות ספציפיות ליישום.

בנוסף, מסגרות מסורתיות מציעות כלים חזקים ל-Object-Relational Mapping (ORM), המפשטים את פעולות מסד הנתונים ומבטיחים את שלמות הנתונים באמצעות קוד מונחה עצמים.

עם זאת, מסגרות backend מסורתיות עשויות לדרוש הגדרה ותצורה מרובות בהשוואה לאפשרויות אחרות, מה שעלול להוות אתגר למתחילים או למפתחים בעלי ניסיון מוגבל בצד השרת. בנוסף, עקומת הלימוד עבור מסגרות אלו עשויה להיות תלולה יותר עקב מערך הפיצ’רים הנרחב והקונבנצייות שלהן.

Backend-as-a-Service (BaaS)

פלטפורמות Backend-as-a-Service (BaaS), כגון Back4app, מציעות פתרון נוח לבניית Backend עבור יישומי Vue. פלטפורמות BaaS מסתירות את המורכבות של תשתית ה-Backend ומספקות שירותי backend מוכנים מראש ו-APIs שניתן לשלב בקלות ביישומי Vue.

פלטפורמות BaaS מאיצות את תהליך הפיתוח על ידי מתן מגוון רחב של שירותי backend מוכנים מראש, כגון אחסון נתונים, אימות משתמשים, אחסון קבצים והתראות push. שירותים אלו ניתנים לשילוב מהיר ביישומי Vue, מה שמפחית את זמן ומאמץ הפיתוח.

למרות שפלטפורמות Backend-as-a-Service (BaaS) מציעות נוחות וסקלאביליות, יש לקחת בחשבון מספר נקודות. אחד החסרונות הוא האפשרות לנעילה על ידי ספק (vendor lock-in), שכן פלטפורמות BaaS עשויות לשזור את קוד ה-Backend שלך באופן הדוק עם השירותים וה-APIs הייחודיים שלהן.

יתכן שההתאמה האישית והשליטה על ה-Backend יהיו מוגבלים, דבר העלול להוות אתגר עבור יישומים בעלי דרישות ייחודיות.

בניית יישום Vue Blog

כדי ליצור יישום Vue, הפעל את הפקודה הבאה בטרמינל של תיקיית הפרויקט:

npm create vue@latest

קוד זה יחזיר הודעת prompt בה תוכל להגדיר את שם יישום ה-Vue ולבחור את הפיצ’רים שבהם תשתמש ביישום שלך.

scaffold vue app

לאחר הגדרת שם היישום ובחירת Vue Router לניהול הנתיבים ביישום, עבור לתיקיית היישום באמצעות הפקודה cd והריץ את הפקודה npm install להתקנת התלויות.

בתיקיית views של יישום Vue Blog, צור שני views: CreatePosts.vue ו-ReadPosts.vue.

לאחר יצירת ה-views, הוסף את בלוק הקוד הבא לקובץ index.js בתיקיית router:

//index.js
import { createRouter, createWebHistory } from 'vue-router'
import CreatePosts from '../views/CreatePosts.vue'

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path: '/',
      name: 'post',
      component: CreatePosts
    },
    {
      path: '/readposts',
      name: 'read-posts',
      component: () => import('../views/ReadPosts.vue')
    }
  ]
})

export default router

בלוק הקוד לעיל מגדיר מופע של Vue Router עם שני נתיבים: הנתיב '/' המקושר לרכיב CreatePosts והנתיב '/readposts' המקושר לרכיב ReadPosts המיובא בצורה דינמית. מופע זה מנהל את הניווט בתוך יישום ה-Vue שלך.

לאחר מכן, הוסף תג header המכיל נתיבים המוכללים בתוך תגי HTML button בקובץ App.vue שלך כדי לאפשר למשתמשי היישום לנווט לנתיבים הרצויים.

כך למשל:

<!-- App.vue -->
<script setup>
import { RouterLink, RouterView } from 'vue-router';
</script>

<template>
  <header>
    <h1>Vue Blog</h1>

    <nav>
        <RouterLink to="/" class="link"><button>Create Posts</button></RouterLink>
        <RouterLink to="/readposts" class="link"><button>Read Posts</button></RouterLink>
      </nav>
  </header>

  <RouterView />
</template>

בלוק הקוד לעיל מגדיר את הניווט ביישום ה-Blog. הוא מייבא את רכיבי RouterLink ו-RouterView מספריית vue-router בתוך בלוק ה-script setup (תכונה של Vue 3) בקובץ App.vue.

בלוק ה-template מכיל את הסימון HTML עבור קובץ App.vue, הכולל כותרת בשם “Vue Blog” ותפריט ניווט עם שני כפתורים העטופים ברכיב RouterLink המקשר לנתיב המתאים. רכיב RouterView משמש להצגת התוכן של הנתיב הנוכחי.

לאחר הגדרת הניווט, הוסף את בלוק הסגנונות הבא לקובץ App.vue כדי לעצב את ה-header וקישורי הנתיבים:

<style lang= "scss" scoped>
  header{
    padding: 1rem 0;
    display: flex;
    justify-content: space-between;

    nav{
      display: flex;
      gap: 1rem;

      .link{
        text-decoration: none;
        color: inherit;
      }
    }

  }
</style>

שילוב Back4app באפליקציית Vue Blog שלך

התחל בהגדרת אפליקציית Vue שלך, ולאחר מכן צור מופע ב-Back4app כדי ליצור חיבור לאפליקציית Vue שלך. לשם כך תצטרך חשבון Back4app.

אם אינך משתמש Back4app כבר, פעל לפי השלבים הפשוטים הבאים כדי להירשם:

  1. גש לאתר Back4app.
  2. מצא את כפתור ההרשמה (Sign-up) בדף הראשי ולחץ עליו.
  3. מלא את טופס ההרשמה עם פרטיך ושלח.

לאחר שהחשבון שלך מוגדר בהצלחה, התחבר ל-Back4app. חפש את האפשרות NEW APP בפינה הימנית העליונה ובחר בה. זה יוביל אותך לטופס שבו תצטרך לספק את שם האפליקציה שלך. לאחר שהזנת את השם, לחץ על כפתור CREATE כדי לסיים את התהליך.

create new Back4app app

לאחר לחיצה על כפתור ‘CREATE’, האפליקציה שלך תיווצר ותועבר ללוח המחוונים של האפליקציה.

back4app dashboard

חיבור אפליקציית Vue Blog ל-Back4app

כדי לחבר את אפליקציית Vue שלך ל-Back4app, עליך להתקין את Parse JavaScript SDK תחילה.

להתקנת ה-SDK, הרץ אחת מהפקודות הבאות, בהתאם למנהל החבילות שבו אתה משתמש:

#using npm
npm install parse
		or 
#using yarn
yarn add parse

לאחר מכן, יהיה עליך להגדיר את ה-SDK באמצעות שני פרטי האימות של אפליקציית Back4app שלך, Application ID ו-Javascript KEY.

קבל את ה-Application ID ואת JavaScript Key מ-Back4app על ידי מעבר לקטגוריית Security & Keys דרך בחירת App Settings בלוח המחוונים.

Back4app application keys

שמירת מפתחות האפליקציה שלך כטקסט פשוט מהווה סיכון אבטחה, שכן משתמשים זדוניים עלולים לקבל גישה לאפליקציה שלך. לכן, יש לאחסן את פרטי האימות של האפליקציה בצורה בטוחה, באמצעות משתני סביבה או שיטת אחסון מפתחות רגישים המועדפת עליך.

לאחר מכן, ייבא את הגרסה הממוזערת (minified) של Parse מהחבילה parse בקובץ main.js שלך. לאחר מכן, קרוא למתודת initialize על האובייקט Parse והעבר את Application ID ו-JavaScript Key כארגומנטים.

לבסוף, הגדר את המאפיין Parse.serverURL לכתובת ‘https://parseapi.back4app.com/’.

לדוגמה:

import Parse from 'parse/dist/parse.min.js';

Parse.initialize(VUE_APP_PARSE_APPLICATION_ID, VUE_APP_PARSE_JAVASCRIPT_KEY);
Parse.serverURL = '<https://parseapi.back4app.com>';

לאחר הוספת בלוק הקוד הנ”ל, הקובץ main.js שלך צריך להיראות בערך כך:

// main.js
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import Parse from 'parse/dist/parse.min.js';
import './assets/main.css';

const app = createApp(App)

app.use(router)

Parse.initialize(VUE_APP_PARSE_APPLICATION_ID, VUE_APP_PARSE_JAVASCRIPT_KEY);
Parse.serverURL = '<https://parseapi.back4app.com>';

app.mount('#app')

הוספת נתונים ל-Back4app

כדי ללכוד נתונים ממשתמשי הבלוג, יהיה עליך לבנות טופס. עם שליחת הטופס, יפעל פונקציית submitPost() אשר תבצע את הלוגיקה הנדרשת לשמירת הנתונים באינסטנס של Back4app.

הוסף את בלוק הקוד הבא לקובץ CreatePosts.vue שלך כדי ליצור את הטופס:

<!-- CreatePosts.vue -->
<script setup>
import { ref } from 'vue';
import { Parse } from 'parse/dist/parse.min.js';

const blog = ref({
  title: "",
  post: "",
})

function submitPost() {
  try {
      const Post = new Parse.Object("Post");
  
      Post.set("title", blog.value.title);
      Post.set("body", blog.value.post);
  
      Post.save().then(() => {
        console.log("New Post added successfully");
      });
    } catch (error) {
      console.log(error);
    }
  blog.value.title = ''
  blog.value.post = ''
}
</script>

<template>
  <form @submit.prevent="submitPost">
    <input id="blog-title" v-model="blog.title" placeholder="Title"/>
    <textarea id="blog-post" v-model="blog.post" placeholder="Post" rows="20"></textarea>
    <button>Submit Post</button>
  </form>
</template>

בלוק הקוד לעיל הוא רכיב המאפשר למשתמשים לשלוח פוסט בבלוג. הוא משתמש ב-Vue Composition API ומייבא את הפונקציה ref מספריית Vue.

פונקציית submitPost יוצרת אובייקט Parse Post חדש ומגדירה את התכונות title ו-body של האובייקט בהתאם לערכים של blog.title ו-blog.post באמצעות המתודה set.

לאחר מכן, האובייקט Post נשמר ב-Back4App באמצעות המתודה save, ובמקרה של הצלחה או כישלון, מוצג הודעה בקונסול. לאחר שליחת הפוסט, הערכים של title ו-post באובייקט blog מתאפסים למחרוזת ריקה, מה שמנקה את שדות הטופס.

בתוך בלוק ה-<template> של הקובץ מוגדר אלמנט טופס עם מאזין לאירוע @submit.prevent אשר מפעיל את פונקציית submitPost עם שליחת הטופס.

בתוך הטופס נמצאים אלמנטים input ו-textarea המקושרים לתכונות האובייקט blog (blog.title ו-blog.post) באמצעות v-model, מה שמאפשר קישור נתונים דו-כיווני ומוודא ששינויים בשדות הטופס מעדכנים את האובייקט blog באופן אוטומטי.

עצב את ה-view CreatePosts שלך לממשק משתמש מושך יותר על ידי הוספת בלוק הסגנונות הבא לקובץ CreatePosts.vue שלך:

<style lang= "scss" scoped>
  form{
    display: flex;
    flex-direction: column;
    gap: 2rem;
    align-items: center;

    input{
      padding: 1rem;
      background-color: #f2f2f2;
      font-family: 'Poppins', sans-serif;
      border: none;
      border-radius: 12px;
      inline-size: 70%;

      &::placeholder{
        color: #e3e3e3;
        font-weight: bold;
        font-family: 'Poppins', sans-serif;
      }
    }

    textarea{
      padding: 1rem;
      border: none;
      background-color: #f2f2f2;
      font-family: 'Poppins', sans-serif;
      border-radius: 12px;
      inline-size: 70%;

      &::placeholder{
        color: #e3e3e3;
        font-weight: bold;
        font-family: 'Poppins', sans-serif;
      }
    }
  }

</style>

קריאת נתונים מ-Back4app

כדי להציג נתונים ביישום שלך אשר נשמרו באינסטנס של Back4app, עליך קודם כל להיות מסוגל לקרוא נתונים מהאינסטנס של Back4app שלך.

לקריאת נתונים מהאינסטנס של Back4app, עליך ליצור שאילתת Parse עבור המחלקה שממנה ברצונך לשלוף נתונים. לאחר מכן, תוכל להשתמש ב-hook onBeforeMount של Vue כדי לשלוף את הנתונים ולהציגם ביישום.

לדוגמה:

<!-- ReadPosts.vue -->
<script setup>
import { onBeforeMount, ref } from 'vue';
import Parse from 'parse/dist/parse.min.js';

const postList = ref([])

onBeforeMount( async () => {
  try {
      const query = new Parse.Query("Post");

      const post = await query.find();

      console.log('Posts to be read displayed')
      postList.value = post;
      console.log(postList.value)

    } catch (error) {
      console.log(error);
    }
})

</script>

<template>
  <div>
    <ul class="postlist">
      <div class="post" v-for="(post, index) in postList">
        <div>
          <h2>{{ post.get('title') }}</h2>
          <p>{{ post.get('body') }}</p>
        </div>
      </div>
    </ul>
  </div>
</template>

הקובץ ReadPosts.vue מושך ומציג פוסטים מ-Back4app. הסקריפט מייבא את ה-hook onBeforeMount ואת הפונקציה ref מחבילת Vue. הפונקציה פועלת באופן אסינכרוני לפני שהיישום Vue נטען.

הפונקציה מחפשת אובייקט “Post” ממסד הנתונים של אפליקציית Back4app שלך באמצעות המתודה Parse.Query() ולאחר מכן קוראת למתודת find להחזרת מערך עם תוצאות השאילתה. לבסוף, המערך מוחלף במשתנה postList.

בתוך בלוק ה-template, הפקודה v-for עוברת על מערך postList ויוצרת אלמנט div חדש עבור כל post במערך. המתודה post.get() מאחזרת את הערכים של התכונות title ו-body מהנתונים במסד הנתונים של Back4App שלך.

כעת תוכל לעצב את הקובץ ReadPosts.vue שלך על ידי הוספת קוד SCSS הבא בתוך בלוק ה-style:

<style lang= "scss" scoped>
  .postlist{
    display: flex;
    flex-direction: column;
    gap: 2rem;

    .post{
      display: flex;
      justify-content: space-between;
      padding: 1rem;

      h2{
        margin-block-end: 1rem;
        text-transform: uppercase;
      }

      p{
        opacity: 0.4;
        font-weight: bold;
        font-size: 13px;
        margin-block-end: 0.5rem;
      }

    }
  }

</style>

שינוי היישום Vue שלך להוספת פונקציונליות מחיקת פוסטים

פונקציונליות חשובה נוספת שניתן להוסיף ליישום ה-Blog שלך היא היכולת למחוק פוסטים. כדי לממש פונקציונליות זו, השתמש במתודת destroy הקיימת ב-SDK של Parse.

כך לדוגמה:

<!-- ReadPosts.vue -->
<script setup>
import { onBeforeMount, ref } from 'vue';
import Parse from 'parse/dist/parse.min.js';
const postList = ref([])

onBeforeMount( async () => {
  try {
      const query = new Parse.Query("Post");

      const post = await query.find();

      console.log('Posts to be read displayed')
      postList.value = post;
      console.log(postList.value)

    } catch (error) {
      console.log(error);
    }
})

const deletePost = async (id) => {
  try {
      const Post = Parse.Object.extend("Post");
      const todo = new Post();
      todo.id = id;
      await todo.destroy();
      const newPostList = postList.value.filter( (item) => item.id !== id )
      postList.value = newPostList;
    } catch (error) {
      console.log(error);
    }
}

</script>

הסקריפט לעיל הוא עדכון לקובץ ReadPosts.vue המטפל בפונקציונליות מחיקת הפוסטים. פונקציית deletePost יוצרת אובייקט Post חדש באמצעות המתודה Parse.Object.extend, ולאחר מכן מגדירה את המאפיין id של האובייקט בהתאם לפרמטר id המועבר לפונקציה.

לאחר מכן, היא קוראת למתודת destroy של האובייקט Post כדי למחוק את הפוסט עם ה-ID הנתון ממסד הנתונים של Back4app. אחר כך, היא מסננת את מערך postList ויוצרת מערך חדש newPostList המכיל את כל הפוסטים למעט זה שנמחק. מערך newPostList מוקצה לאחר מכן למשתנה postList.

לבסוף, תוכל לקשר את פונקציית deletePost לאירוע click על תג button בתוך בלוק ה-template של הקובץ ReadPosts.vue.

כך לדוגמה:

<template>
  <div>
    <ul class="postlist">
      <div class="post" v-for="(post, index) in postList">
        <div>
          <h2>{{ post.get('title') }}</h2>
          <p>{{ post.get('body') }}</p>
        </div>
        <button @click="deletePost(post.id)">Delete</button>
      </div>
    </ul>
  </div>
</template>

לבסוף, הוסף סגנונות גלובליים כדי לעצב את הכפתורים ואת גוף אפליקציית ה-Vue שלך בתיקיית assets:

/* main.css */
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body{
    inline-size: 90%;
    margin: auto;
    font-family: 'Poppins', sans-serif;
}

button{
    border: none;
    padding: 0.5rem 0.8rem;
    background-color: inherit;
    font-family: 'Poppins', sans-serif;
    font-size: small;
    font-weight: bold;
    color: #333333;
    border-radius: 12px;
}

button:hover{
    color: #e2e2e2;
    background-color: #333333;
  }

בדיקת אפליקציית Vue Blog עם Back4app משולב

כעת, לאחר שבנית ושילבת את Back4app באפליקציית Vue שלך, תוכל להריץ את הפקודה npm בטרמינל הפרויקט כדי לבדוק את היישום:

npm run dev

פקודה זו מהדקת את היישום ומאחסנת את היישום בשרת מקומי בכתובת http://localhost:5173/

כאשר היישום עולה, עליך לראות את ה-view של CreatePosts כנתיב הבית.

vue blog home

לאחר מילוי שדות הקלט, לחיצה על כפתור “Submit Post” תוסיף את הערכים שהוזנו למסד הנתונים של Back4app. בדוק את לוח המחוונים של אפליקציית Back4app או עבור ל-view של ReadPosts כדי לוודא זאת.

vue blogs

לחיצה על כפתור המחיקה תמחוק פוסט. לדוגמה, מחק את ‘SECOND POST’ על ידי לחיצה על כפתור המחיקה שלו.

vue blog

סיכום

Vue מספק למפתחים פתרון עוצמתי וסקלאבילי ליצירת יישומי ווב מודרניים בזכות קישור הנתונים הריאקטיבי, הארכיטקטורה המבוססת על רכיבים ומערכת האקולוגית הרחבה של ספריות.

שילוב Vue עם Back4app מאפשר למפתחים לנהל את ה-Backend של יישומיהם בקלות. Back4app מפחית את המורכבות המסורתית הקשורה לפיתוח Backend ומאפשר יצירת יישומי Full-Stack בצורה חלקה.


Leave a reply

Your email address will not be published.