Bagaimana Cara Menerapkan Aplikasi Node.js?

how_to_deploy_nodejs_app

Dalam artikel ini, kami akan menjelaskan cara men-deploy aplikasi Node JS. Kita akan membahas tentang kelebihan dan kekurangan Node, dan opsi-opsi penerapan – termasuk IaaS, PaaS & BaaS. Terakhir, kita akan men-deploy aplikasi Node ke Back4app.

Apa itu Node.js?

Node.js adalah runtime JavaScript sumber terbuka dan lintas platform yang dibangun di atas mesin JavaScript V8 milik Chrome. Node bertujuan untuk memungkinkan para pengembang JavaScript untuk melakukan full-stack dengan mengizinkan mereka membuat kode operasi sisi server. Kasus penggunaannya meliputi skrip sisi server, aplikasi real-time, aplikasi web streaming, aplikasi halaman tunggal (SPA), alat kolaborasi, dan permainan web.

Node memiliki arsitektur berbasis peristiwa yang mampu melakukan I/O asinkron. Node sangat cepat, karena kemampuannya untuk mengkompilasi JavaScript ke dalam kode mesin asli. Node dapat menangani sejumlah besar koneksi aktif dan memungkinkan pengembang untuk dengan mudah membangun aplikasi berkinerja tinggi yang dapat diskalakan.

Teknologi ini pertama kali diperkenalkan pada tahun 2009 oleh penciptanya, Ryan Dahl, di acara tahunan JSConf Eropa. Teknologi ini segera menjadi salah satu perangkat lunak yang paling menarik dalam ekosistem JavaScript.

Popularitas Node mencapai puncaknya pada tahun 2017 dan masih tetap tinggi. Node adalah salah satu alat pengembangan paling populer yang digunakan oleh banyak perusahaan multi-juta seperti IBM, LinkedIn, Microsoft, Netflix, dan sebagainya. Kesederhanaan dan kemampuannya untuk meningkatkan skala membuatnya sangat cocok untuk semua ukuran perusahaan – termasuk perusahaan rintisan.

Dalam dua bagian berikutnya, kita akan membahas kelebihan dan kekurangan Node.

Keuntungan dari Node.js

Kinerja tinggi

Seperti yang telah disebutkan di bagian pendahuluan, Node didukung oleh mesin JavaScript berkinerja tinggi dari Google. V8 dapat mengkompilasi dan menjalankan JavaScript dengan kecepatan secepat kilat, terutama karena V8 mengkompilasi JavaScript ke dalam kode mesin asli.

Node juga menggunakan event loop yang memungkinkannya untuk melakukan operasi I/O tanpa pemblokiran – meskipun JavaScript adalah bahasa pemrograman berulir tunggal. Hal ini menjadikannya salah satu opsi tercepat di pasaran.

Skalabilitas

Salah satu manfaat utama dari Node.js adalah kemampuannya untuk menskalakan. Aplikasi Node dapat menskalakan secara horizontal maupun vertikal. Penskalaan horizontal dicapai dengan menambahkan node tambahan ke sistem yang sudah ada, sedangkan penskalaan vertikal berarti menambahkan sumber daya tambahan ke node tertentu. Opsi penskalaan platform yang hebat membuatnya sesuai untuk startup serta perusahaan besar dengan puluhan juta pengguna harian seperti LinkedIn, Netflix, dan PayPal.

Node juga sangat cocok untuk arsitektur layanan mikro, yang memungkinkan pengembang untuk membuat komponen kecil yang sesuai dengan pipeline pengiriman berkelanjutan dan yang dapat dengan mudah ditingkatkan sesuai permintaan.

Mudah dipelajari

Dasar Node dalam JavaScript membuatnya sangat mudah dipelajari oleh para pengembang yang sudah mengetahui dasar-dasar JavaScript. Node tidak memiliki kurva pembelajaran yang curam dan dapat dikuasai hanya dalam beberapa minggu. Kesederhanaan Node membuatnya sangat cocok untuk semua jenis proyek.

Waktu yang lebih cepat ke pasar

Waktu ke pasar adalah salah satu tolok ukur penting bagi banyak tim pengembangan. Semua orang ingin membawa produk mereka ke pasar sesegera mungkin dan Node memungkinkan Anda untuk melakukan hal itu.

Kesederhanaan Node dan jumlah paket npm yang sangat banyak secara drastis mengurangi waktu ke pasar. Ada banyak proyek bersumber terbuka di GitHub dan platform lain yang dapat digunakan sebagai templat untuk membuat proyek Anda berjalan secepat mungkin.

Alat yang telah teruji dalam pertempuran

Node merupakan alat yang sudah teruji dan matang yang telah ada sejak 2009. Stabilitasnya telah diuji oleh perusahaan-perusahaan besar seperti eBay, Netflix, dan LinkedIn yang memiliki jutaan pengguna harian.

Karena fasilitasnya yang luar biasa, Node disertakan dalam sejumlah tumpukan teknologi (biasanya dalam kombinasi dengan Express dan basis data NoSQL). Beberapa tumpukan teknologi dengan Node meliputi:

  • MERN
  • BERARTI
  • DERN

Komunitas yang hebat

Node.js memiliki komunitas pengembang dan penggemar yang kuat dan aktif yang terus berkontribusi pada Node untuk membuatnya lebih baik dan lebih baik lagi. Jika Anda mengalami masalah atau memiliki pertanyaan, ada banyak tempat yang berbeda di mana Anda dapat mencari bantuan. Karena popularitas Node, tidak sulit untuk menemukan solusi dan kode yang sudah jadi di GitHub.

Hal hebat lainnya tentang Node.js adalah manajer paketnya yang bernama npm (Node Package Manager). Npm memungkinkan pengembang untuk mendorong dan menggunakan paket JavaScript yang sudah jadi alih-alih membuat ulang dari awal. Paket-paket tersebut dapat secara signifikan mengurangi biaya pengembangan dan kompleksitas aplikasi. Pada saat artikel ini ditulis, ada lebih dari 1,3 juta paket yang dihosting di npm.

Keterbatasan Node.js

Penurunan kinerja untuk tugas-tugas yang kompleks

Kelemahan terbesar dari Node.js adalah ketidakmampuannya untuk melakukan tugas-tugas yang membutuhkan komputasi berat. Saat ini banyak program dan algoritma yang membutuhkan paralelisasi untuk memberikan hasil yang optimal. Seperti yang telah Anda ketahui, Node.js didasarkan pada JavaScript, yang dirancang untuk menjadi bahasa frontend berulir tunggal dan tidak mendukung banyak utas.

Dengan pembaruan 10.5, tim Node.js meluncurkan dukungan multithreading dalam bentuk worker threads. Modul ini memungkinkan pengembang untuk memanfaatkan utas tambahan dari kumpulan utas. Bahkan dengan thread pekerja, Node masih belum sesuai untuk komputasi berat. Jika kebutuhan proyek Anda mencakup perhitungan yang kompleks, komputasi berat, atau paralelisasi, Anda mungkin lebih baik menggunakan bahasa pemrograman lain.

Model pemrograman asinkron

Node.js menggunakan model pemrograman asinkron. Karena itu, Node.js sangat bergantung pada penggunaan callback. Callback adalah fungsi yang berjalan di latar belakang dan (pada suatu saat) mengembalikan sebuah hasil. Dengan menggunakan callback, kode Anda dapat menjadi lebih berantakan dan lebih sulit untuk di-debug. Selain itu, jika Anda menaruh callback di beberapa tingkat, Anda mungkin akan berakhir dengan apa yang disebut“nerakacallback.

Callback hell dan masalah pemrograman asinkron lainnya dapat dengan mudah dihindari dengan mengikuti prinsip-prinsip kode bersih.

API yang tidak stabil

Masalah besar lainnya dengan Node.js adalah ketidakstabilan antarmuka pemrograman aplikasi (API). API Node sering berubah dengan perubahan yang tidak kompatibel dengan versi sebelumnya yang dapat merusak kode. Sebagai konsekuensinya, para pengembang Node perlu mengawasi perubahan dan memastikan basis kode mereka kompatibel dengan versi API Node.js terbaru.

Kurangnya sistem pendukung perpustakaan yang kuat

JavaScript tidak dilengkapi dengan sistem pustaka yang baik dibandingkan dengan bahasa pemrograman lainnya. Hal ini memaksa banyak pengembang untuk mendukung berbagai tugas umum seperti pemrosesan gambar, penguraian XML, pemetaan relasional objek (ORM), menangani basis data, dan banyak lagi.

Registri modul yang terlalu banyak dan belum matang

Node memiliki komunitas pengembang yang sangat besar yang menghasilkan ribuan modul sumber terbuka yang dipublikasikan di npm. Masalahnya adalah npm tidak mengimplementasikan pemeriksaan apa pun untuk memastikan bahwa kode modul berfungsi dan ditulis dengan baik.

Banyak modul yang secara acak menjadi tidak didukung atau rusak dengan versi Node yang lebih baru dan kemudian para pengembang dipaksa untuk mencari alternatif. Di masa lalu, beberapa modul npm juga diretas dan disuntik dengan virus dan penambang kripto. Karena itu, sulit untuk menemukan modul yang dapat digunakan di lingkungan perusahaan.

Jangan salah paham, menurut saya npm sangat bagus, tetapi Anda tetap harus berhati-hati saat memasang modul acak.

Opsi Penerapan Node.js

Ada beberapa cara untuk men-deploy aplikasi Node.js. Secara umum, kita dapat membaginya ke dalam empat kelompok berikut ini:

  1. Hosting konvensional
  2. Infrastruktur sebagai Layanan (IaaS)
  3. Platform sebagai Layanan (PaaS)
  4. Backend sebagai Layanan (BaaS)

Kita dapat menampilkannya dalam bagan piramida berdasarkan tingkat abstraksinya:

Model penerapan cloud

Opsi penyebaran menangani lapisan abstraksi berikut ini:

IaaS vs PaaS vs BaaS

Mari kita lihat masing-masing grup. Kita akan melewatkan hosting konvensional karena saya yakin Anda tahu cara kerjanya.

Layanan IaaS seperti AWS

Infrastructure as a Service (IaaS) adalah model layanan komputasi awan yang menyediakan sumber daya komputasi seperti server, jaringan, sistem operasi, dan penyimpanan dalam lingkungan tervirtualisasi. Server cloud ini biasanya disediakan untuk organisasi melalui API tingkat tinggi atau dasbor tingkat lanjut yang memberikan klien kendali penuh atas seluruh infrastruktur.

IaaS sangat terukur. Hal ini memungkinkan pelanggan untuk dengan mudah meningkatkan skala baik secara vertikal maupun horizontal tergantung pada permintaan. Vendor IaaS biasanya mengikuti model bayar sesuai pemakaian, yang berarti Anda hanya membayar sumber daya yang Anda gunakan.

IaaS mulai dikenal pada awal tahun 2010-an dan sejak saat itu menjadi model abstraksi standar untuk berbagai jenis beban kerja. Bahkan dengan munculnya teknologi baru seperti layanan mikro dan tanpa server, IaaS tetap menjadi pilihan yang paling populer.

Berbeda dengan PaaS dan BaaS, IaaS menyediakan kontrol sumber daya tingkat terendah di cloud. Hal ini menjadikannya model komputasi awan yang paling fleksibel. Kelemahannya adalah pelanggan bertanggung jawab penuh untuk mengelola aspek-aspek seperti aplikasi, OS, middleware, dan data yang biasanya memakan banyak waktu.

Beberapa contoh umum dari IaaS adalah:

  • Amazon Web Services (AWS)
  • Google Compute Engine (GCE)
  • Microsoft Azure
  • DigitalOcean
  • Linode
  • Rackspace

Layanan PaaS seperti Heroku

Platform as a Service (PaaS) adalah model layanan komputasi awan yang menyediakan lingkungan awan bagi pengguna untuk mengembangkan, mengelola, dan mengirimkan aplikasi. Selain menyediakan sumber daya komputer, PaaS hadir dengan banyak alat prebuilt untuk mengembangkan, menyesuaikan, dan menguji aplikasi. Sebagian besar vendor PaaS memungkinkan Anda untuk menyiapkan dan menjalankan aplikasi Anda dalam beberapa klik saja!

PaaS memungkinkan pengguna untuk fokus pada aplikasi mereka alih-alih mengelola infrastruktur yang mendasarinya. Penyedia PaaS melakukan banyak pekerjaan berat untuk Anda seperti mengelola server, sistem operasi, perangkat lunak server, pencadangan, dan banyak lagi.

Beberapa keuntungan PaaS adalah:

  • Kecepatan yang lebih cepat ke pasar
  • Peningkatan keamanan
  • Efektivitas biaya
  • Skalabilitas
  • Ketersediaan tinggi
  • Lebih sedikit kode yang diperlukan

Kelemahan dari PaaS adalah kemungkinan besar Anda akan bergantung pada kemampuan vendor, ada risiko penguncian, dan kurangnya fleksibilitas dan kontrol. Namun, Paas masih memungkinkan pengguna untuk membangun aplikasi dengan lebih cepat dan tidak terlalu merepotkan untuk dikelola.

Layanan PaaS meliputi:

  • Heroku
  • AWS Batang Kacang Elastis
  • Platform Aplikasi DigitalOcean
  • Layanan Aplikasi Microsoft Azure
  • Platform Fly (Fly.io)
  • Render

Layanan BaaS seperti Back4app

Backend as a Service (BaaS) adalah platform yang mengotomatiskan sisi backend pengembangan dan menangani infrastruktur cloud. Selain itu, BaaS juga menyediakan fitur-fitur seperti manajemen pengguna, notifikasi email, notifikasi push, fungsi kode cloud, integrasi media sosial, penyimpanan file, dan pembayaran.

Hal ini memungkinkan pengembang untuk fokus pada bisnis inti dan membangun frontend tanpa perlu mengkhawatirkan backend dan infrastruktur yang mendasarinya. Frontend biasanya dikembangkan melalui API dan SDK khusus yang ditawarkan oleh vendor BaaS. Hal ini membuat aplikasi tidak terlalu rumit dan lebih mudah dipelihara.

BaaS memberikan semua manfaat dari IaaS dan PaaS sambil menyertakan abstraksi backend. Tim yang memanfaatkan BaaS sangat mengurangi waktu ke pasar, menurunkan biaya teknik, dan membutuhkan lebih sedikit insinyur.

BaaS dapat digunakan untuk berbagai jenis proyek – termasuk membuat MVP (Minimum Viable Product), aplikasi yang berdiri sendiri atau aplikasi yang membutuhkan sejumlah kecil integrasi & aplikasi perusahaan yang tidak memiliki misi penting.

Kelemahan dari BaaS adalah kurang fleksibel dibandingkan IaaS dan PaaS, memberikan tingkat kontrol dan kustomisasi yang lebih rendah, dan ada kemungkinan penguncian untuk platform non-open source.

Beberapa contoh BaaS:

  • Back4app
  • AWS Amplify
  • Firebase
  • Mengurai
  • Cloudkit
  • Backendless

Proses Penerapan Node.js

Pada bagian artikel ini, kita akan melihat Back4app dan mempelajari cara membangun dan menggunakan aplikasi Node JS

Apa itu Back4app?

Back4app adalah salah satu solusi Backend as a Service (BaaS) sumber terbuka terbaik yang ada di pasaran. Ini menawarkan berbagai fitur dan manfaat bagi penggunanya yang memungkinkan pengembang untuk membangun aplikasi web dan seluler dengan cepat. Dengan menggunakan Back4app, Anda akan dapat fokus pada bisnis inti tanpa perlu mengkhawatirkan backend atau infrastruktur yang mendasarinya.

Solusi ini hadir dengan dasbor yang kaya fitur dan mudah digunakan serta antarmuka baris perintah (CLI). Mereka juga menyediakan SDK untuk semua alat favorit Anda seperti Flutter, React Native, Node.js, Angular, Android, iOS & banyak lagi!

Fitur-fitur utama Back4app meliputi:

  • Basis data seperti spreadsheet
  • API REST dan GraphQL
  • Pertanyaan Langsung
  • Autentikasi (termasuk autentikasi sosial)
  • Hosting yang dapat diskalakan
  • Pemberitahuan Push dan Email

Untuk informasi lebih lanjut tentang fitur-fitur mereka, lihat Fitur Back4app.

Back4app mengikuti model harga yang sederhana dan mudah yang dapat disesuaikan dengan aplikasi dengan berbagai ukuran. Mereka menawarkan paket gratis yang murah hati (tidak perlu kartu kredit) yang sangat bagus untuk membuat prototipe dan menguji coba platform. Paket ini mencakup:

  • 25 ribu permintaan
  • Penyimpanan data 250 MB
  • Transfer 1 GB
  • Penyimpanan file 1 GB

Untuk informasi lebih lanjut tentang harga Back4app, lihatlah halaman Harga.

Pengenalan Proyek

Kita akan membuat kode dan menerapkan aplikasi web TODO sederhana. Aplikasi web ini akan mendukung operasi dasar CRUD – membuat, mengambil, memperbarui, dan menghapus. Kita akan mengkodekannya di Node.js menggunakan kerangka kerja web Express, penyimpanan data akan ditangani oleh Parse, dan kita akan menggunakan Twig sebagai mesin templating.

Klik di sini untuk melihat aplikasi yang digunakan beraksi!

Prasyarat:

  • Pemahaman dasar tentang Node.js
  • Pemahaman dasar tentang Express
  • Pengalaman dengan mesin templating
  • Pemahaman dasar tentang basis data dan ParseJS

CLI Back4app

Langkah-langkah berikut ini mengharuskan Anda memiliki akun Back4app. Jika Anda sudah memilikinya, silakan masuk dan mendaftar untuk akun gratis.

Back4app CLI adalah antarmuka baris perintah yang memungkinkan Anda untuk berinteraksi dengan platform Back4app.

Untuk menginstalnya di Mac/Linux, jalankan:

$ curl https://raw.githubusercontent.com/back4app/parse-cli/back4app/installer.sh | sudo /bin/bash

Perintah ini akan mengunduh biner CLI terbaru dan menyimpannya di /usr/local/bin/b4a.

Untuk sistem operasi lain, silakan merujuk ke dokumen resmi.

Untuk menggunakan CLI, Anda harus mengautentikasi dengan akun Anda. Untuk melakukannya, pertama-tama Anda harus membuat kunci akun. Buka dasbor Back4app Anda dan klik nama pengguna Anda (kanan atas layar), lalu “Kunci Akun”:

Kunci akun Back4app

Untuk menambahkan kunci akun baru, masukkan nama kunci khusus lalu tekan “+”. Catat kunci tersebut karena kita akan membutuhkannya di langkah berikutnya:

Kunci akun Back4app

Setelah Anda berhasil membuat kunci, kembali ke terminal dan jalankan:

$ b4a configure accountkey

Input your account key or press ENTER to generate a new one.       
NOTE: on pressing ENTER we'll try to open the url:                 
        "http://dashboard.back4app.com/classic#/wizard/account-key"
in default browser.
Account Key: <YOUR_GENERATED_ACCOUNT_KEY>
Successfully stored account key for: "<YOUR_EMAIL>".

Untuk memastikan autentikasi berhasil, coba daftarkan aplikasi Anda:

$ b4a list

These are the apps you currently have access to:

Jika akun Anda masih baru seperti akun saya, tidak ada aplikasi yang akan terdaftar.

Buat Aplikasi

Selanjutnya, mari kita buat aplikasi Back4app.

Lari:

$ b4a new

Would you like to create a new app, or add Cloud Code to an existing app?
Type "(n)ew" or "(e)xisting": n
Please choose a name for your Parse app.
Note that this name will appear on the Back4App website,
but it does not have to be the same as your mobile app's public name.
Name: nodejs-back4app
Awesome! Now it's time to set up some Cloud Code for the app: "nodejs-back4app",
Next we will create a directory to hold your Cloud Code.
Please enter the name to use for this directory,
or hit ENTER to use "nodejs-back4app" as the directory name.

Directory Name:
You can either set up a blank project or create a sample Cloud Code project
Please type "(b)lank" if you wish to setup a blank project, otherwise press ENTER: 
Successfully configured email for current project to: "<YOUR_EMAIL>"
Your Cloud Code has been created at /dev/nodejs-back4app.
  1. Membuat aplikasi baru atau yang sudah ada: baru
  2. Memilih nama aplikasi: Memilih nama khusus
  3. Nama direktori: tekan ENTER
  4. Kosong atau contoh Proyek Kode Cloud: tekan ENTER

Perintah ini akan membuat direktori dengan struktur sebagai berikut:

nodejs-back4app/
├── cloud/
│   └── main.js
├── public/
│   └── index.html
├── .parse.local
└── .parse.project
  1. cloud adalah direktori untuk semua kode dan fungsi cloud
  2. public adalah direktori untuk file-file publik seperti gambar, lembar gaya, dan lainnya
  3. .parse.local dan .parse.project digunakan untuk menyimpan konfigurasi Parse

Hapus file main.js dan index.html karena kita tidak akan membutuhkannya.

Hosting Web

Karena kita membuat aplikasi Node.js, kita perlu mengaktifkan web hosting untuk Back4app untuk menghosting aplikasi kita dan membuatnya dapat diakses secara publik di internet.

Untuk mengaktifkan fitur web hosting, buka dasbor Back4app Anda, pilih aplikasi Anda, klik “Pengaturan Aplikasi” di sisi kiri layar, lalu “Pengaturan Server”. Cari “Webhosting dan Domain Khusus” dan klik “Pengaturan” lagi.

Klik “Aktifkan Hosting Back4app” dan pilih nama subdomain. Saya akan menggunakan nodejsback4app:

Hosting web Back4app

Terakhir, klik “Simpan”.

Aplikasi Anda kemudian akan dapat diakses di:

https://<your_subdomain>.b4a.app/

Jangan ragu untuk menautkan domain khusus ke aplikasi web Anda juga!

Ekspresikan dengan Fungsi Kode Cloud

Selanjutnya, mari kita mulai mengerjakan kode yang sebenarnya.

Ubah direktori Anda menjadi cloud dan buat file package.json di dalamnya:

Back4app menggunakan file ini untuk mengunduh modul melalui npm. Kami menambahkan pengurai-badan karena kita akan membutuhkannya nanti untuk mengurai permintaan.

Selanjutnya, buat file lain di folder awan bernama app.js:

File ini digunakan untuk menginisialisasi dan mengkonfigurasi Express. Kami juga mendefinisikan titik akhir yang akan digunakan sebagai pemeriksaan kewarasan pada langkah berikutnya. Seperti yang Anda lihat, kita tidak perlu mendefinisikan aplikasi atau memerlukan dependensi apa pun karena Back4app melakukannya secara otomatis.

Selanjutnya, terapkan aplikasi:

$ b4a deploy

Uploading source files
Uploading recent changes to scripts...
Finished uploading files
New release is named v1 (using Parse JavaScript SDK v2.2.25)

Perintah ini akan mengunggah file sumber Anda ke Back4app, mengonfigurasi semuanya, dan membuat aplikasi Anda tersedia di subdomain yang telah Anda pilih di bagian sebelumnya.

Untuk memastikannya berfungsi, buka browser web favorit Anda dan buka aplikasi Anda:

https://<your_subdomain>.b4a.app/

# Example
https://nodejsback4app.b4a.app/

Anda akan mendapatkan respons berikut:

Kerja bagus!

Pada bagian berikutnya, kita akan mulai mengerjakan aplikasi TODO yang sebenarnya.

Basis data dengan ParseJS

Mari kita tentukan model basis data untuk aplikasi TODO.

Masuk ke dasbor Back4app dan pilih “Database” di sisi kiri layar. Setelah itu klik “Buat kelas baru”, beri nama Task dan pastikan Anda mencentang “Public Read and Write diaktifkan”:

Back4app membuat kelas baru

Selanjutnya, tambahkan kolom-kolom berikut:

+-----------+-------------+---------------+----------+
| Data type | Name        | Default value | Required |
+-----------+-------------+---------------+----------+
| String    | name        | <leave blank> | yes      |
+-----------+-------------+---------------+----------+
| String    | description | <leave blank> | no       |
+-----------+-------------+---------------+----------+
| Boolean   | isDone      | false         | yes      |
+-----------+-------------+---------------+----------+

Logika Aplikasi

Aplikasi ini akan memiliki titik akhir sebagai berikut:

  1. / menampilkan daftar tugas
  2. /create membuat tugas
  3. /<ID> menampilkan detail tugas
  4. /<ID>/delete menghapus tugas
  5. /<ID>/toggle untuk beralih status tugas — selesai/terbengkalai

Mari kita ciptakan mereka.

Agar kode cloud kita lebih mudah dikelola, kita akan membaginya menjadi dua file.

  1. app.js – menginisialisasi dan mengonfigurasi server Express
  2. routes.js – mendefinisikan titik akhir dan logikanya

Pendekatan yang lebih baik lagi untuk membangun aplikasi web modern adalah dengan menggunakan pola arsitektur Model-View-Controller (MVC ). Awal yang baik dengan Express adalah dengan menggunakan express-generator.

Lanjutkan dan ganti konten app.js dengan yang berikut ini:

  1. Kami menetapkan Twig sebagai mesin tampilan default.
  2. Rute tidak lagi didefinisikan dalam berkas ini, melainkan dalam routes.js.

Selanjutnya, buatlah routes.js dan masukkan kode berikut:

Kita telah mendefinisikan semua rute yang disebutkan di atas dan menggunakan Parse untuk memanipulasi dan menyimpan data. Seperti yang Anda lihat, semua rute bersifat asinkron karena kita harus menunggu Parse merespons. Selain itu, sebagian besar kode dibungkus dalam blok try-catch untuk berjaga-jaga jika terjadi kesalahan.

Untuk informasi tambahan tentang ParseJS, lihatlah Panduan JavaScript.

Berikutnya, mari kita menyertai titik akhir dengan templat tampilan.

Buat folder views di dalam folder clouds, unduh file template dari repo GitHub dan letakkan di direktori views.

Struktur direktori akhir Anda akan terlihat seperti ini:

nodejs-back4app/
├── cloud/
│   ├── views/
│   │   ├── base.twig
│   │   ├── create.twig
│   │   ├── error.twig
│   │   ├── index.twig
│   │   └── task.twig
│   ├── app.js
│   ├── routes.js
│   └── package.json
├── public
├── parse.local
└── parse.project

Terakhir, tambahkan twing ke package.json untuk mengaktifkan dukungan Twig:

Menerapkan aplikasi:

$ b4a deploy

Uploading source files
Uploading recent changes to scripts...
Finished uploading files
New release is named v2 (using Parse JavaScript SDK v2.2.25)

Dan Anda sudah selesai. Tunggu beberapa menit dan kemudian kunjungi aplikasi web untuk memastikan semuanya berfungsi.

File Publik

Seperti yang telah disebutkan pada bagian sebelumnya, Back4app secara otomatis menyajikan file-file yang berada di folder publik. Untuk menggunakannya dalam templat Anda, Anda harus sedikit memodifikasi pengaturan Express Anda.

Buka app.js dan tambahkan baris berikut:

Anda kemudian dapat mereferensikan file publik di template Anda melalui jalur relatif:

<img src="/back4app.png" alt="Back4app Logo">

Menampilkan gambar yang terletak di public/back4app.png.

Kesimpulan

Node terus berkembang dan meningkat sejak dirilis pada tahun 2009. Node adalah salah satu alat terbaik yang memungkinkan pengembang untuk dengan mudah membangun aplikasi berkinerja tinggi yang dapat diskalakan.

Aplikasi Node dapat digunakan pada solusi yang berbeda seperti IaaS, PaaS & SaaS. Masing-masing memiliki kelebihan dan kekurangan yang harus dipertimbangkan ketika memilih opsi penerapan.

Salah satu cara termudah untuk menerapkan aplikasi Node adalah dengan menggunakan Back4app – sebuah solusi BaaS sumber terbuka dengan banyak fitur. Back4app sangat bagus karena memungkinkan Anda untuk fokus pada hal-hal yang tidak penting sambil mengalihdayakan backend dan penerapannya.

Dapatkan kode sumber akhir dari repo back4app-nodejs.

Untuk mempelajari lebih lanjut tentang opsi hosting Node.js, silakan lihat Cara meng-host aplikasi Node.js menggunakan kontainer.


Leave a reply

Your email address will not be published.