Bagaimana cara menggunakan AI untuk pengembangan web?

Sampul Pengembangan Web AI Back4app

Sejak dirilisnya ChatGPT, alat bantu AI telah menarik perhatian yang signifikan, membuat banyak pengembang web memasukkan beberapa tingkat AI ke dalam alur kerja mereka.

Pada artikel ini, kami akan menjelaskan bagaimana penggunaan AI dalam pengembangan web dapat menguntungkan Anda. Selain itu, kita akan melihat contoh praktis penggunaan pengembangan web secara otomatis dengan teknologi AI.

Dalam contoh kita, kita akan menggunakan Back4app Agent – asisten DevOps bertenaga AI, untuk membangun dan menerapkan aplikasi web ke Back4app.

Keuntungan menggunakan AI dalam pengembangan web

Ada banyak keuntungan menggunakan AI dalam pengembangan web. Mari kita lihat beberapa di antaranya.

Pembuatan Kode Otomatis

Alat berbasis AI seperti ChatGPT, GitHub Copilot, dan Back4app Agent dapat membantu Anda mempercepat proses pengembangan.

Mereka dapat menyediakan potongan kode yang bermanfaat, penyelesaian kode, analisis kode, mengotomatiskan DevOps, dan banyak lagi.

Kelemahan utama dari alat ini adalah halusinasi. Selain itu, mereka mungkin menghasilkan kode yang salah atau tidak optimal. Pastikan untuk menganalisis semua kode yang dihasilkan oleh alat AI secara menyeluruh.

Pengujian Kode yang Ditingkatkan

Menulis kode itu menyenangkan, tetapi menulis tes, tidak terlalu menyenangkan. Pengujian adalah keuntungan pengembangan aplikasi web AI yang kedua.

Dengan memanfaatkan AI, Anda dapat secara otomatis membuat pengujian berdasarkan kode sumber Anda. Hal ini dapat membantu Anda memvalidasi kode Anda dan membuatnya tidak terlalu rentan terhadap kesalahan serta lebih dapat diandalkan.

Pengoptimalan SEO

Alat bantu AI unggul dalam menganalisis dan mengoptimalkan konten web untuk mesin pencari. Alat ini dapat menghasilkan kata kunci, metadata, dan tag yang efektif untuk meningkatkan visibilitas online.

Selain itu, alat-alat ini dapat beradaptasi dengan tren dan algoritme SEO yang terus berkembang, sehingga memastikan situs web tetap berada di peringkat tinggi dalam hasil mesin pencari.

Pembuatan dan Kurasi Konten

AI dapat digunakan untuk menghasilkan konten yang relevan dan menarik secara otomatis. Hal ini bisa sangat berguna untuk menjalankan blog atau strategi pemasaran serupa.

Selain itu, alat-alat ini dapat membuat konten yang berbicara kepada pembaca Anda, membuat mereka lebih tertarik dan cenderung mengambil tindakan, seperti membeli produk atau mendaftar.

Bagaimana cara menggunakan AI untuk menerapkan aplikasi web?

Pada bagian ini, kami akan menjelaskan cara mengintegrasikan alat AI pada proses pengembangan. Kita akan menggunakan Back4app Agent untuk membangun dan menerapkan aplikasi web full-stack.

Kami akan mencoba melakukan semuanya dengan kekuatan percakapan dan dengan menulis sedikit kode.

Prasyarat

Apa yang dimaksud dengan Back4app Agent?

Back4app Agent adalah AutoGPT untuk pengembang. Ini mengintegrasikan alat pengembangan berbasis AI dengan eksekusi cloud, memungkinkan Anda melakukan tugas cloud dengan kekuatan percakapan.

Back4app Agent dirancang untuk secara otomatis berinteraksi dengan Back4app BaaS dan Back4app Container.

Yang terbaik dari semuanya, Back4app Agent dapat belajar secara real-time dan mengoptimalkan dirinya sendiri melalui interaksi langsung dengan lingkungan cloud. Ini tersedia di Platform Back4app dan sebagai plugin ChatGPT.

Perlu diingat bahwa Back4app Agent bukanlah alat ajaib. Ini mungkin membuat kesalahan. Jika itu terjadi, terserah Anda untuk memperbaikinya. Selain itu, mengirimkan perintah yang sama ke Back4app Agent mungkin akan memberikan hasil yang berbeda.

Jika Anda ingin meningkatkan petunjuk LLM Anda, lihat Bagaimana cara membuat aplikasi menggunakan ChatGPT?

Gambaran Umum Proyek

Di sepanjang artikel ini, kita akan mengerjakan aplikasi web manajemen acara dan menggunakan AI untuk penerapan aplikasi web yang efisien. Aplikasi ini akan memungkinkan kita untuk mengelola tempat dan acara. Setiap acara akan berlangsung di tempat tertentu.

Kita akan membangun backend menggunakan Back4app dan kemudian beralih ke frontend. Frontend akan dibuat dengan React, di-docker, dan kemudian di-deploy ke Back4app Containers. Terakhir, untuk menghubungkan frontend dengan backend, kita akan menggunakan Parse SDK.

Saya sarankan Anda mengikuti aplikasi web manajemen acara. Aplikasi ini dirancang untuk memberi Anda pemahaman yang kuat tentang Platform Back4app dan cara kerja Back4app Agent dalam praktiknya.

Backend

Pada bagian artikel ini, kita akan membangun backend aplikasi web.

Aplikasi Back4app

Pertama, buka browser web favorit Anda dan buka halaman Back4app Agent. Buat agen baru dengan mengklik tombol “Agen Baru”.

Agen Back4app Agen Baru Agen Baru

Untuk menerapkan backend ke Back4app, Anda harus terlebih dahulu membuat aplikasi Back4app.

Minta agen untuk membuat aplikasi Back4app yang baru. Saya akan menamai aplikasi saya “back4app-ai-agent”:

Create a new Back4app app named "back4app-ai-agent".
Aplikasi Agen Back4app Dibuat

Seperti yang Anda lihat, agen berhasil membuat aplikasi Back4app. Ini memberi kami “ID Aplikasi”, “URL Dasbor”, dan semua informasi bermanfaat lainnya yang mungkin kami perlukan.

Ide Aplikasi dan Basis Data

Untuk meningkatkan respons agen, kita perlu memberikan lebih banyak konteks tentang apa yang kita bangun.

Lanjutkan dan jelaskan ide aplikasi dan struktur basis data kepada agen:

We're building a backend for an event management app. The app will allow us to manage venues and events. Each event will happen in a specific venue. Please create the following database classes:

1. `Venue`: `name`, `location`, `capacity`
2. `Event`: `name`, `description`, `date`, `venue`
Model Basis Data Agen Back4app

Agen berhasil membuat kelas basis data yang diminta. Secara otomatis menentukan hubungan antara acara dan tempat serta memberi kami ikhtisar dari setiap bidang kelas basis data.

Selanjutnya, minta agen untuk mengisi basis data untuk mendapatkan beberapa data uji yang dapat digunakan nanti:

Please populate my database with 5 venues and 10 events. Some of the events should be music events.
Database Agen Back4app Terisi

Pastikan semuanya bekerja dengan memeriksa struktur database dan isinya secara manual. Untuk melakukannya, buka dasbor Back4app, pilih aplikasi Anda, dan klik “Database > Browser” di bilah sisi.

Tampilan Basis Data Back4app

Kelas Event dan Venue harus ada di dalam database Anda, dan masing-masing harus memiliki beberapa baris contoh.

Kode Cloud

Back4app Agent juga hebat dalam menulis fungsi Cloud Code khusus. Misalkan kita menginginkan titik akhir API yang akan mengembalikan semua peristiwa di tempat tertentu.

Minta agen untuk membuat dan menggunakan fungsi yang baru saja disebutkan:

Create a Cloud Code function called `eventsByVenue(venueId)` that will allow me to provide a venue ID, and it'll return all the events happening in that venue.
Kode Cloud Agen Back4app

Untuk mengujinya, minta agen untuk membuat perintah cURL yang menuju ke titik akhir API:

Write me a cURL command that hits `eventsByVenue(venueId)` to get all the events of some venue in my database.
Perintah cURL Agen Back4app

Salin perintah, ganti placeholder, dan jalankan di konsol Anda:

$ curl -X POST \
    -H "X-Parse-Application-Id: <Your-App-Id>" \
    -H "X-Parse-REST-API-Key: <Your-REST-API-Key>" \
    -H "Content-Type: application/json" \
    -d '{"venueId":"<Venue-Object-Id>"}' \
    https://<Your-Parse-Server-Url>/functions/eventsByVenue

Anda akan mendapatkan respons yang serupa:

{
   "result": [
      {
         "id": "peae9x7MAH",
         "name": "Classical Evening",
         "description": "...",
         "date": "2023-07-15T19:30:00.000Z"
      },
      {
         "id": "uIeSmK0KJj",
         "name": "Symphonic Extravaganza",
         "description": "...",
         "date": "2023-12-25T19:30:00.000Z"
      }
   ]
}

Jika Anda penasaran dengan kode yang dihasilkan di latar belakang, buka dasbor Back4app, pilih aplikasi Anda, dan klik “Cloud Code > Functions & Web Hosting” pada bilah samping.

Kode Cloud Back4app

Hebat, itu dia!

Kami telah berhasil membuat backend yang lengkap tanpa kode. Yang harus kami lakukan adalah mengirimkan beberapa perintah ke agen AI. Tidak ada yang lebih mudah dari ini.

Frontend

Di bagian artikel ini, kita akan membangun dan menggunakan bagian depan aplikasi web kita.

Init Proyek

Saat bekerja dengan LLM, sebaiknya tanyakan tentang langkah-langkah umum terlebih dahulu. Setelah Anda mengetahui langkah-langkahnya, Anda dapat meminta klarifikasi lebih lanjut. Mari kita coba.

Jelaskan ide frontend kepada agen dan mintalah panduan langkah demi langkah:

Describe the steps of building a React application for my backend. I want my app to have three endpoints:

1. `/` displays all the events
2. `/<objectId>/` displays the specific event's details
3. `/venue/<objectId>/` displays all the events in a specific venue 

Please use Vite to generate a React application.
Langkah-langkah Frontend Agen Back4app

Agen menjawab dengan daftar langkah-langkah singkat. Mari kita lakukan.

Bootstrap proyek React baru menggunakan Vite:

$ npm create vite@latest my-app -- --template react 
$ cd my-app

Instal dependensi:

$ npm install

Mulai server pengembangan:

$ npm run dev

Buka browser web favorit Anda dan arahkan ke http://localhost:5173/. Anda seharusnya dapat melihat halaman arahan default Vite.

Halaman Indeks Vite + React

Rute

Seperti yang disarankan oleh agen AI, kita akan menggunakan react-router-dom untuk menangani perutean. React Router DOM adalah paket yang sangat baik untuk menangani perutean dalam aplikasi React tanpa me-refresh halaman.

Pertama, mintalah klarifikasi tentang cara mengatur dan menggunakan react-router-dom:

How to install and use `react-router-dom` to implement the previously-mentioned routes?
Agen Back4app React Router DOM

Agen berhasil menyediakan kode dengan sebuah router yang memenuhi persyaratan kita. Setiap rute merender komponen React yang berbeda dari folder komponen (yang akan kita buat pada langkah selanjutnya).

Instal paket melalui NPM:

$ npm install react-router-dom

Selanjutnya, ganti konten App.jsx Anda dengan yang berikut ini:

// src/App.jsx

import {BrowserRouter as Router, Route, Routes} from 'react-router-dom';
import './index.css';

import EventsList from './components/EventList';
import EventDetails from './components/EventDetails';
import EventsByVenue from './components/EventsByVenue';

function App() {
  return (
    <Router>
      <Routes>
        <Route exact path='/' element={<EventsList/>}/>
        <Route path='/:objectId' element={<EventDetails/>}/>
        <Route path="/venue/:venueId" element={<EventsByVenue/>}/>
      </Routes>
    </Router>
  );
}

export default App;

Kemudian, buat struktur file berikut ini di folder src Anda:

src/
└── components/
    ├── EventDetails.jsx
    ├── EventList.jsx
    └── EventsByVenue.jsx

Selanjutnya, masukkan yang berikut ini ke dalam file EventsList.jsx:

// src/components/EventsList.jsx

import React from 'react';

const EventsList = () => {
  // fetch the events from the backend

  return (
    <div>
      {/* Map through the events data and display them */}
    </div>
  );
};

export default EventsList;

Kemudian file EventDetails.jsx:

// src/components/EventDetails.jsx

import React from 'react';
import {useParams} from 'react-router-dom';

const EventDetails = () => {
  let {objectId} = useParams();

  // use objectId to fetch data from the backend

  return (
    <div>
      {/* render the specific event details using objectId */}
    </div>
  );
};

export default EventDetail;

Dan terakhir adalah file VenueEventsList.jsx:

// src/components/VenueEventsList.jsx

import React from 'react';
import {useParams} from 'react-router-dom';

const VenueEventsList = () => {
  let {objectId} = useParams();

  // use objectId to fetch data from the backend

  return (
    <div>
      {/* render the events for a specific venue using objectId */}
    </div>
  );
};

export default VenueEventsList;

Mulai server pengembangan dan uji apakah rute bekerja seperti yang diharapkan.

Parse SDK

Cara termudah untuk menghubungkan frontend ke backend berbasis Back4app adalah melalui Parse SDK.

Mari kita tanyakan kepada agen untuk mengklarifikasi lebih lanjut bagaimana hal ini dilakukan:

How to install and use Parse SDK to connect my frontend with the backend?
Instal Parse Agen Back4app Instal

Responsnya mengandung sedikit kesalahan. Alih-alih index.jsx, seharusnya tertulis main.jsx, karena kita menggunakan proyek Vite. Namun demikian, mari kita lakukan langkah-langkahnya.

Instal paket:

$ npm install parse

Selanjutnya, modifikasi sedikit main.jsx untuk menginisialisasi instance Parse:

// src/main.jsx

import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App.jsx';
import './index.css';
import Parse from 'parse';

Parse.initialize(
  '<parse-application-id>',  // replace me with your actual app id
  '<parse-javascript-key>',  // replace me with your actual js key
);
Parse.serverURL = 'https://parseapi.back4app.com/';

ReactDOM.createRoot(document.getElementById('root')).render(
  <React.StrictMode>
    <App/>
  </React.StrictMode>,
);

Mulai ulang server pengembangan dan buka aplikasi web Anda. Buka konsol dan periksa apakah ada kesalahan. Tidak ada kesalahan menunjukkan bahwa koneksi ke backend telah berhasil.

Logika Aplikasi

Selanjutnya, minta agen untuk membuat logika aplikasi yang sebenarnya:

Write me the code for `EventList.jsx`, `EventDetails.jsx`, and `EventsByVenue.jsx`. 
Use Parse to fetch the required information. I want each page to have a `loading`
and `error` state.

Agen AI akan memberikan kode untuk masing-masing rute. Berikut ini sebuah contoh:

// src/components/EventList.jsx

import {useEffect, useState} from 'react';
import {Link} from 'react-router-dom';
import Parse from 'parse';

const EventsList = () => {

  const [events, setEvents] = useState([]);
  const [loading, setLoading] = useState(true);
  const [error, setError] = useState(null);

  useEffect(() => {
    const eventObject = Parse.Object.extend('Event');
    const query = new Parse.Query(eventObject);

    query.find().then((results) => {
      const eventsData = results.map((event) => ({
        id: event.id,
        ...event.attributes,
      }));
      setEvents(eventsData);
      setLoading(false);
    }, (error) => {
      console.error('Error while fetching events', error);
      setError(error);
      setLoading(false);
    });
  }, []);

  if (loading) return <div>Loading...</div>;
  if (error) return <div>Error: {error}</div>;

  return (
    <div>
      <h1>Event List</h1>
      <p>Here is a list of all the events.</p>
      <ul>
        {events.map((event) => (
          <li key={event.id}>
            <Link to={`/${event.id}`}>
              {event.name}
            </Link>
          </li>
        ))}
      </ul>
    </div>
  );
};

export default EventsList;

Salin kode dan tempelkan di EventsList.jsx. Kemudian ubah dua file lainnya:

  1. EventDetails.jsx
  2. EventsByVenue.jsx

Setelah selesai, frontend Anda kurang lebih sudah selesai. Mulai server pengembangan:

$ npm run dev

Buka peramban web favorit Anda dan arahkan ke http://localhost:5173/. Anda akan melihat bahwa data sekarang diambil dari backend . Coba klik di sekitar untuk melihat apakah semuanya berfungsi.

Aplikasi Acara Back4app

Dockerisasi

Kita akan menggunakan Back4pp Containers, sebuah platform CaaS yang dapat digunakan secara gratis, untuk men-deploy frontend kita. Seperti namanya, platform ini digunakan untuk men-deploy kontainer; oleh karena itu, untuk men-deploy frontend kita, kita harus melakukan dockerisasi terlebih dahulu.

Buat berkas Dockerfile di root proyek seperti ini:

# Dockerfile

FROM node:18-alpine3.17 as build

WORKDIR /app
COPY . /app

RUN npm install
RUN npm run build

FROM ubuntu

RUN apt-get update
RUN apt-get install nginx -y

COPY --from=build /app/dist /var/www/html/

EXPOSE 80

CMD ["nginx", "-g", "daemon off;"]

Dockerfile ini menggunakan build multi-tahap. Ini terdiri dari dua tahap, yaitu tahap build dan tahap runner.

Tahap build menyalin proyek, menginstal dependensi, dan membangun proyek. Di sisi lain, runner menyajikan keluaran build dengan Nginx.

Untuk mengurangi ukuran gambar, kita juga dapat menentukan file .dockerignore:

# .dockerignore

.idea/

node_modules/
out/
build/

Pastikan untuk menyesuaikan file .dockerignore yang sesuai.

Sebelum menggunakan citra Docker, sebaiknya Anda mengujinya secara lokal.

Bangun citra Docker:

$ docker build -t back4app-events:1.0 .

Jalankan kontainer menggunakan gambar yang baru dibuat:

$ docker run -it -p 80:80 back4app-events:1.0

Aplikasi web Anda harus dapat diakses di http://localhost/.

Kode Dorong

Back4app Containers terintegrasi erat dengan GitHub. Untuk menerapkan kode Anda ke sana, Anda harus terlebih dahulu mendorongnya ke repositori GitHub jarak jauh.

Pertama, buka GitHub dan buat repositori baru. Catat URL jarak jauhnya, mis:

[email protected]:<username>/<repository-name>.git

Example:
[email protected]:duplxey/back4app-ai-agent.git

Selanjutnya, inisialisasi Git, VCS semua file, dan komit:

$ git init
$ git add .
$ git commit -m "project init"

Gunakan remote dari langkah sebelumnya untuk mendorong kode:

$ git remote add origin <your_remote_url>
$ git push origin master

File Anda seharusnya ditampilkan di repo GitHub jika Anda telah melakukan semuanya dengan benar.

Menyebarkan Kode

Setelah kode berada di GitHub, kita dapat dengan cepat menerapkannya dengan meminta agen AI:

Connect to my "<username>/<repository-name>" repository on GitHub and deploy it to Back4app Containers.
Penyebaran Agen Back4app

Tunggu beberapa menit hingga proyek diterapkan.

Setelah siap, klik URL aplikasi dan pastikan semuanya berfungsi dengan menguji aplikasi.

Kesimpulan

Sebagai kesimpulan, kami telah berhasil membangun dan menerapkan aplikasi web full-stack ke Platform Back4app dan menjelaskan cara memasukkan AI ke dalam alur kerja pengembangan web.

Meskipun kami tidak menulis banyak kode secara mandiri, banyak pengetahuan teknis yang masih diperlukan.

Back4app Agent, yang dikombinasikan dengan alat berbasis AI lainnya seperti GitHub Copilot, dapat secara signifikan mempercepat proses pengembangan Anda.

Dengan memanfaatkannya, Anda dapat mengotomatiskan tugas-tugas yang biasa dan berulang-ulang, dan fokus pada hal-hal yang lebih menarik.

Ambil kode sumber akhir dari repositori GitHub back4app-ai-agent.


Leave a reply

Your email address will not be published.